diff --git a/Edikoyo/Animals/Slime.md b/.hugo_build.lock
similarity index 100%
rename from Edikoyo/Animals/Slime.md
rename to .hugo_build.lock
diff --git a/.husky/pre-commit b/.husky/pre-commit
index dd6adc0..c520184 100644
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1,3 +1,3 @@
-rm -rf content/*
-./obsidian-export/obsidian-export Edikoyo/ content/ --frontmatter always
-git add -A content/
\ No newline at end of file
+rm -rf content/docs/*
+./obsidian-export/obsidian-export Edikoyo/ content/docs --frontmatter always
+git add -A content/docs
\ No newline at end of file
diff --git a/.obsidian/app.json b/.obsidian/app.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/.obsidian/app.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json
new file mode 100644
index 0000000..9e26dfe
--- /dev/null
+++ b/.obsidian/appearance.json
@@ -0,0 +1 @@
+{}
\ No newline at end of file
diff --git a/.obsidian/core-plugins-migration.json b/.obsidian/core-plugins-migration.json
new file mode 100644
index 0000000..436f43c
--- /dev/null
+++ b/.obsidian/core-plugins-migration.json
@@ -0,0 +1,30 @@
+{
+  "file-explorer": true,
+  "global-search": true,
+  "switcher": true,
+  "graph": true,
+  "backlink": true,
+  "canvas": true,
+  "outgoing-link": true,
+  "tag-pane": true,
+  "properties": false,
+  "page-preview": true,
+  "daily-notes": true,
+  "templates": true,
+  "note-composer": true,
+  "command-palette": true,
+  "slash-command": false,
+  "editor-status": true,
+  "bookmarks": true,
+  "markdown-importer": false,
+  "zk-prefixer": false,
+  "random-note": false,
+  "outline": true,
+  "word-count": true,
+  "slides": false,
+  "audio-recorder": false,
+  "workspaces": false,
+  "file-recovery": true,
+  "publish": false,
+  "sync": false
+}
\ No newline at end of file
diff --git a/.obsidian/core-plugins.json b/.obsidian/core-plugins.json
new file mode 100644
index 0000000..9405bfd
--- /dev/null
+++ b/.obsidian/core-plugins.json
@@ -0,0 +1,20 @@
+[
+  "file-explorer",
+  "global-search",
+  "switcher",
+  "graph",
+  "backlink",
+  "canvas",
+  "outgoing-link",
+  "tag-pane",
+  "page-preview",
+  "daily-notes",
+  "templates",
+  "note-composer",
+  "command-palette",
+  "editor-status",
+  "bookmarks",
+  "outline",
+  "word-count",
+  "file-recovery"
+]
\ No newline at end of file
diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json
new file mode 100644
index 0000000..35f1f2f
--- /dev/null
+++ b/.obsidian/workspace.json
@@ -0,0 +1,143 @@
+{
+  "main": {
+    "id": "4a96e683bcc3917a",
+    "type": "split",
+    "children": [
+      {
+        "id": "cb55624c143cb72b",
+        "type": "tabs",
+        "children": [
+          {
+            "id": "79467bf8877ff0ae",
+            "type": "leaf",
+            "state": {
+              "type": "empty",
+              "state": {}
+            }
+          }
+        ]
+      }
+    ],
+    "direction": "vertical"
+  },
+  "left": {
+    "id": "bace2f79a9ebebc6",
+    "type": "split",
+    "children": [
+      {
+        "id": "a4ebd70a266e4840",
+        "type": "tabs",
+        "children": [
+          {
+            "id": "5c07944960de0cab",
+            "type": "leaf",
+            "state": {
+              "type": "file-explorer",
+              "state": {
+                "sortOrder": "alphabetical"
+              }
+            }
+          },
+          {
+            "id": "3616bb138b5f3cce",
+            "type": "leaf",
+            "state": {
+              "type": "search",
+              "state": {
+                "query": "",
+                "matchingCase": false,
+                "explainSearch": false,
+                "collapseAll": false,
+                "extraContext": false,
+                "sortOrder": "alphabetical"
+              }
+            }
+          },
+          {
+            "id": "88b10434eca97572",
+            "type": "leaf",
+            "state": {
+              "type": "bookmarks",
+              "state": {}
+            }
+          }
+        ]
+      }
+    ],
+    "direction": "horizontal",
+    "width": 300
+  },
+  "right": {
+    "id": "95af2a70cc54f629",
+    "type": "split",
+    "children": [
+      {
+        "id": "b015b1d7897cced8",
+        "type": "tabs",
+        "children": [
+          {
+            "id": "4245ea7e59f60df5",
+            "type": "leaf",
+            "state": {
+              "type": "backlink",
+              "state": {
+                "collapseAll": false,
+                "extraContext": false,
+                "sortOrder": "alphabetical",
+                "showSearch": false,
+                "searchQuery": "",
+                "backlinkCollapsed": false,
+                "unlinkedCollapsed": true
+              }
+            }
+          },
+          {
+            "id": "c08ba89855e0d67d",
+            "type": "leaf",
+            "state": {
+              "type": "outgoing-link",
+              "state": {
+                "linksCollapsed": false,
+                "unlinkedCollapsed": true
+              }
+            }
+          },
+          {
+            "id": "51ff367f5634ee8d",
+            "type": "leaf",
+            "state": {
+              "type": "tag",
+              "state": {
+                "sortOrder": "frequency",
+                "useHierarchy": true
+              }
+            }
+          },
+          {
+            "id": "44652229b85787be",
+            "type": "leaf",
+            "state": {
+              "type": "outline",
+              "state": {}
+            }
+          }
+        ]
+      }
+    ],
+    "direction": "horizontal",
+    "width": 300,
+    "collapsed": true
+  },
+  "left-ribbon": {
+    "hiddenItems": {
+      "switcher:Abrir selector rápido": false,
+      "graph:Abrir vista gráfica": false,
+      "canvas:Crear nuevo lienzo": false,
+      "daily-notes:Abrir la nota de hoy": false,
+      "templates:Insertar plantilla": false,
+      "command-palette:Abrir paleta de comandos": false
+    }
+  },
+  "active": "79467bf8877ff0ae",
+  "lastOpenFiles": []
+}
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/app.json b/Edikoyo/.obsidian/app.json
index 9e26dfe..8a4430d 100644
--- a/Edikoyo/.obsidian/app.json
+++ b/Edikoyo/.obsidian/app.json
@@ -1 +1,4 @@
-{}
\ No newline at end of file
+{
+  "alwaysUpdateLinks": true,
+  "showInlineTitle": false
+}
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/community-plugins.json b/Edikoyo/.obsidian/community-plugins.json
index 87f1594..657aa43 100644
--- a/Edikoyo/.obsidian/community-plugins.json
+++ b/Edikoyo/.obsidian/community-plugins.json
@@ -1,6 +1,10 @@
 [
   "obsidian-git",
-  "iconic",
   "better-word-count",
-  "obsidian-linter"
+  "obsidian-linter",
+  "dataview",
+  "dataview-serializer",
+  "iconic",
+  "ribbon-divider",
+  "pinned-notes"
 ]
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/graph.json b/Edikoyo/.obsidian/graph.json
new file mode 100644
index 0000000..6d77620
--- /dev/null
+++ b/Edikoyo/.obsidian/graph.json
@@ -0,0 +1,22 @@
+{
+  "collapse-filter": true,
+  "search": "",
+  "showTags": false,
+  "showAttachments": false,
+  "hideUnresolved": false,
+  "showOrphans": true,
+  "collapse-color-groups": true,
+  "colorGroups": [],
+  "collapse-display": true,
+  "showArrow": false,
+  "textFadeMultiplier": 0,
+  "nodeSizeMultiplier": 1,
+  "lineSizeMultiplier": 1,
+  "collapse-forces": true,
+  "centerStrength": 0.518713248970312,
+  "repelStrength": 10,
+  "linkStrength": 1,
+  "linkDistance": 250,
+  "scale": 0.655498353494692,
+  "close": false
+}
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Barrowmaw.svg b/Edikoyo/.obsidian/icons/flags/Barrowmaw.svg
new file mode 100644
index 0000000..68cfa1d
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Barrowmaw.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#342556" />
+<rect x="3" y="0" width="1" height="1" fill="#342556" />
+<rect x="4" y="0" width="1" height="1" fill="#342556" />
+<rect x="5" y="0" width="1" height="1" fill="#342556" />
+<rect x="6" y="0" width="1" height="1" fill="#342556" />
+<rect x="7" y="0" width="1" height="1" fill="#342556" />
+<rect x="8" y="0" width="1" height="1" fill="#342556" />
+<rect x="9" y="0" width="1" height="1" fill="#342556" />
+<rect x="10" y="0" width="1" height="1" fill="#342556" />
+<rect x="11" y="0" width="1" height="1" fill="#342556" />
+<rect x="12" y="0" width="1" height="1" fill="#342556" />
+<rect x="13" y="0" width="1" height="1" fill="#342556" />
+<rect x="14" y="0" width="1" height="1" fill="#342556" />
+<rect x="15" y="0" width="1" height="1" fill="#342556" />
+<rect x="16" y="0" width="1" height="1" fill="#342556" />
+<rect x="17" y="0" width="1" height="1" fill="#342556" />
+<rect x="18" y="0" width="1" height="1" fill="#342556" />
+<rect x="19" y="0" width="1" height="1" fill="#342556" />
+<rect x="20" y="0" width="1" height="1" fill="#342556" />
+<rect x="21" y="0" width="1" height="1" fill="#342556" />
+<rect x="22" y="0" width="1" height="1" fill="#342556" />
+<rect x="23" y="0" width="1" height="1" fill="#342556" />
+<rect x="24" y="0" width="1" height="1" fill="#342556" />
+<rect x="25" y="0" width="1" height="1" fill="#342556" />
+<rect x="26" y="0" width="1" height="1" fill="#342556" />
+<rect x="27" y="0" width="1" height="1" fill="#342556" />
+<rect x="28" y="0" width="1" height="1" fill="#342556" />
+<rect x="29" y="0" width="1" height="1" fill="#342556" />
+<rect x="30" y="0" width="1" height="1" fill="#342556" />
+<rect x="31" y="0" width="1" height="1" fill="#342556" />
+<rect x="32" y="0" width="1" height="1" fill="#342556" />
+<rect x="33" y="0" width="1" height="1" fill="#342556" />
+<rect x="34" y="0" width="1" height="1" fill="#342556" />
+<rect x="35" y="0" width="1" height="1" fill="#342556" />
+<rect x="36" y="0" width="1" height="1" fill="#342556" />
+<rect x="37" y="0" width="1" height="1" fill="#342556" />
+<rect x="38" y="0" width="1" height="1" fill="#342556" />
+<rect x="39" y="0" width="1" height="1" fill="#342556" />
+<rect x="40" y="0" width="1" height="1" fill="#342556" />
+<rect x="41" y="0" width="1" height="1" fill="#342556" />
+<rect x="42" y="0" width="1" height="1" fill="#342556" />
+<rect x="43" y="0" width="1" height="1" fill="#342556" />
+<rect x="44" y="0" width="1" height="1" fill="#342556" />
+<rect x="45" y="0" width="1" height="1" fill="#342556" />
+<rect x="1" y="1" width="1" height="1" fill="#342556" />
+<rect x="2" y="1" width="1" height="1" fill="#342556" />
+<rect x="3" y="1" width="1" height="1" fill="#342556" />
+<rect x="4" y="1" width="1" height="1" fill="#342556" />
+<rect x="5" y="1" width="1" height="1" fill="#342556" />
+<rect x="6" y="1" width="1" height="1" fill="#342556" />
+<rect x="7" y="1" width="1" height="1" fill="#342556" />
+<rect x="8" y="1" width="1" height="1" fill="#342556" />
+<rect x="9" y="1" width="1" height="1" fill="#342556" />
+<rect x="10" y="1" width="1" height="1" fill="#44316E" />
+<rect x="11" y="1" width="1" height="1" fill="#44316E" />
+<rect x="12" y="1" width="1" height="1" fill="#44316E" />
+<rect x="13" y="1" width="1" height="1" fill="#44316E" />
+<rect x="14" y="1" width="1" height="1" fill="#44316E" />
+<rect x="15" y="1" width="1" height="1" fill="#44316E" />
+<rect x="16" y="1" width="1" height="1" fill="#44316E" />
+<rect x="17" y="1" width="1" height="1" fill="#44316E" />
+<rect x="18" y="1" width="1" height="1" fill="#44316E" />
+<rect x="19" y="1" width="1" height="1" fill="#44316E" />
+<rect x="20" y="1" width="1" height="1" fill="#44316E" />
+<rect x="21" y="1" width="1" height="1" fill="#44316E" />
+<rect x="22" y="1" width="1" height="1" fill="#44316E" />
+<rect x="23" y="1" width="1" height="1" fill="#44316E" />
+<rect x="24" y="1" width="1" height="1" fill="#44316E" />
+<rect x="25" y="1" width="1" height="1" fill="#44316E" />
+<rect x="26" y="1" width="1" height="1" fill="#44316E" />
+<rect x="27" y="1" width="1" height="1" fill="#44316E" />
+<rect x="28" y="1" width="1" height="1" fill="#44316E" />
+<rect x="29" y="1" width="1" height="1" fill="#44316E" />
+<rect x="30" y="1" width="1" height="1" fill="#44316E" />
+<rect x="31" y="1" width="1" height="1" fill="#44316E" />
+<rect x="32" y="1" width="1" height="1" fill="#44316E" />
+<rect x="33" y="1" width="1" height="1" fill="#342556" />
+<rect x="34" y="1" width="1" height="1" fill="#342556" />
+<rect x="35" y="1" width="1" height="1" fill="#342556" />
+<rect x="36" y="1" width="1" height="1" fill="#342556" />
+<rect x="37" y="1" width="1" height="1" fill="#342556" />
+<rect x="38" y="1" width="1" height="1" fill="#342556" />
+<rect x="39" y="1" width="1" height="1" fill="#342556" />
+<rect x="40" y="1" width="1" height="1" fill="#44316E" />
+<rect x="41" y="1" width="1" height="1" fill="#342556" />
+<rect x="42" y="1" width="1" height="1" fill="#342556" />
+<rect x="43" y="1" width="1" height="1" fill="#342556" />
+<rect x="44" y="1" width="1" height="1" fill="#342556" />
+<rect x="45" y="1" width="1" height="1" fill="#342556" />
+<rect x="46" y="1" width="1" height="1" fill="#342556" />
+<rect x="0" y="2" width="1" height="1" fill="#342556" />
+<rect x="1" y="2" width="1" height="1" fill="#342556" />
+<rect x="2" y="2" width="1" height="1" fill="#342556" />
+<rect x="3" y="2" width="1" height="1" fill="#342556" />
+<rect x="4" y="2" width="1" height="1" fill="#342556" />
+<rect x="5" y="2" width="1" height="1" fill="#342556" />
+<rect x="6" y="2" width="1" height="1" fill="#44316E" />
+<rect x="7" y="2" width="1" height="1" fill="#44316E" />
+<rect x="8" y="2" width="1" height="1" fill="#44316E" />
+<rect x="9" y="2" width="1" height="1" fill="#44316E" />
+<rect x="10" y="2" width="1" height="1" fill="#44316E" />
+<rect x="11" y="2" width="1" height="1" fill="#44316E" />
+<rect x="12" y="2" width="1" height="1" fill="#44316E" />
+<rect x="13" y="2" width="1" height="1" fill="#44316E" />
+<rect x="14" y="2" width="1" height="1" fill="#44316E" />
+<rect x="15" y="2" width="1" height="1" fill="#44316E" />
+<rect x="16" y="2" width="1" height="1" fill="#44316E" />
+<rect x="17" y="2" width="1" height="1" fill="#44316E" />
+<rect x="18" y="2" width="1" height="1" fill="#44316E" />
+<rect x="19" y="2" width="1" height="1" fill="#44316E" />
+<rect x="20" y="2" width="1" height="1" fill="#44316E" />
+<rect x="21" y="2" width="1" height="1" fill="#44316E" />
+<rect x="22" y="2" width="1" height="1" fill="#44316E" />
+<rect x="23" y="2" width="1" height="1" fill="#44316E" />
+<rect x="24" y="2" width="1" height="1" fill="#44316E" />
+<rect x="25" y="2" width="1" height="1" fill="#44316E" />
+<rect x="26" y="2" width="1" height="1" fill="#44316E" />
+<rect x="27" y="2" width="1" height="1" fill="#44316E" />
+<rect x="28" y="2" width="1" height="1" fill="#44316E" />
+<rect x="29" y="2" width="1" height="1" fill="#44316E" />
+<rect x="30" y="2" width="1" height="1" fill="#44316E" />
+<rect x="31" y="2" width="1" height="1" fill="#44316E" />
+<rect x="32" y="2" width="1" height="1" fill="#44316E" />
+<rect x="33" y="2" width="1" height="1" fill="#44316E" />
+<rect x="34" y="2" width="1" height="1" fill="#44316E" />
+<rect x="35" y="2" width="1" height="1" fill="#44316E" />
+<rect x="36" y="2" width="1" height="1" fill="#44316E" />
+<rect x="37" y="2" width="1" height="1" fill="#342556" />
+<rect x="38" y="2" width="1" height="1" fill="#342556" />
+<rect x="39" y="2" width="1" height="1" fill="#342556" />
+<rect x="40" y="2" width="1" height="1" fill="#342556" />
+<rect x="41" y="2" width="1" height="1" fill="#44316E" />
+<rect x="42" y="2" width="1" height="1" fill="#342556" />
+<rect x="43" y="2" width="1" height="1" fill="#342556" />
+<rect x="44" y="2" width="1" height="1" fill="#342556" />
+<rect x="45" y="2" width="1" height="1" fill="#342556" />
+<rect x="46" y="2" width="1" height="1" fill="#342556" />
+<rect x="47" y="2" width="1" height="1" fill="#342556" />
+<rect x="0" y="3" width="1" height="1" fill="#342556" />
+<rect x="1" y="3" width="1" height="1" fill="#342556" />
+<rect x="2" y="3" width="1" height="1" fill="#342556" />
+<rect x="3" y="3" width="1" height="1" fill="#342556" />
+<rect x="4" y="3" width="1" height="1" fill="#342556" />
+<rect x="5" y="3" width="1" height="1" fill="#342556" />
+<rect x="6" y="3" width="1" height="1" fill="#342556" />
+<rect x="7" y="3" width="1" height="1" fill="#44316E" />
+<rect x="8" y="3" width="1" height="1" fill="#44316E" />
+<rect x="9" y="3" width="1" height="1" fill="#44316E" />
+<rect x="10" y="3" width="1" height="1" fill="#44316E" />
+<rect x="11" y="3" width="1" height="1" fill="#44316E" />
+<rect x="12" y="3" width="1" height="1" fill="#44316E" />
+<rect x="13" y="3" width="1" height="1" fill="#44316E" />
+<rect x="14" y="3" width="1" height="1" fill="#44316E" />
+<rect x="15" y="3" width="1" height="1" fill="#44316E" />
+<rect x="16" y="3" width="1" height="1" fill="#44316E" />
+<rect x="17" y="3" width="1" height="1" fill="#44316E" />
+<rect x="18" y="3" width="1" height="1" fill="#44316E" />
+<rect x="19" y="3" width="1" height="1" fill="#44316E" />
+<rect x="20" y="3" width="1" height="1" fill="#44316E" />
+<rect x="21" y="3" width="1" height="1" fill="#44316E" />
+<rect x="22" y="3" width="1" height="1" fill="#44316E" />
+<rect x="23" y="3" width="1" height="1" fill="#714091" />
+<rect x="24" y="3" width="1" height="1" fill="#714091" />
+<rect x="25" y="3" width="1" height="1" fill="#44316E" />
+<rect x="26" y="3" width="1" height="1" fill="#44316E" />
+<rect x="27" y="3" width="1" height="1" fill="#44316E" />
+<rect x="28" y="3" width="1" height="1" fill="#44316E" />
+<rect x="29" y="3" width="1" height="1" fill="#44316E" />
+<rect x="30" y="3" width="1" height="1" fill="#44316E" />
+<rect x="31" y="3" width="1" height="1" fill="#44316E" />
+<rect x="32" y="3" width="1" height="1" fill="#44316E" />
+<rect x="33" y="3" width="1" height="1" fill="#44316E" />
+<rect x="34" y="3" width="1" height="1" fill="#44316E" />
+<rect x="35" y="3" width="1" height="1" fill="#342556" />
+<rect x="36" y="3" width="1" height="1" fill="#342556" />
+<rect x="37" y="3" width="1" height="1" fill="#342556" />
+<rect x="38" y="3" width="1" height="1" fill="#342556" />
+<rect x="39" y="3" width="1" height="1" fill="#342556" />
+<rect x="40" y="3" width="1" height="1" fill="#342556" />
+<rect x="41" y="3" width="1" height="1" fill="#342556" />
+<rect x="42" y="3" width="1" height="1" fill="#342556" />
+<rect x="43" y="3" width="1" height="1" fill="#342556" />
+<rect x="44" y="3" width="1" height="1" fill="#342556" />
+<rect x="45" y="3" width="1" height="1" fill="#342556" />
+<rect x="46" y="3" width="1" height="1" fill="#342556" />
+<rect x="47" y="3" width="1" height="1" fill="#342556" />
+<rect x="0" y="4" width="1" height="1" fill="#553179" />
+<rect x="1" y="4" width="1" height="1" fill="#553179" />
+<rect x="2" y="4" width="1" height="1" fill="#714091" />
+<rect x="3" y="4" width="1" height="1" fill="#714091" />
+<rect x="4" y="4" width="1" height="1" fill="#553179" />
+<rect x="5" y="4" width="1" height="1" fill="#553179" />
+<rect x="6" y="4" width="1" height="1" fill="#553179" />
+<rect x="7" y="4" width="1" height="1" fill="#714091" />
+<rect x="8" y="4" width="1" height="1" fill="#714091" />
+<rect x="9" y="4" width="1" height="1" fill="#714091" />
+<rect x="10" y="4" width="1" height="1" fill="#714091" />
+<rect x="11" y="4" width="1" height="1" fill="#714091" />
+<rect x="12" y="4" width="1" height="1" fill="#714091" />
+<rect x="13" y="4" width="1" height="1" fill="#714091" />
+<rect x="14" y="4" width="1" height="1" fill="#714091" />
+<rect x="15" y="4" width="1" height="1" fill="#714091" />
+<rect x="16" y="4" width="1" height="1" fill="#714091" />
+<rect x="17" y="4" width="1" height="1" fill="#714091" />
+<rect x="18" y="4" width="1" height="1" fill="#714091" />
+<rect x="19" y="4" width="1" height="1" fill="#44316E" />
+<rect x="20" y="4" width="1" height="1" fill="#44316E" />
+<rect x="21" y="4" width="1" height="1" fill="#44316E" />
+<rect x="22" y="4" width="1" height="1" fill="#44316E" />
+<rect x="23" y="4" width="1" height="1" fill="#714091" />
+<rect x="24" y="4" width="1" height="1" fill="#714091" />
+<rect x="25" y="4" width="1" height="1" fill="#44316E" />
+<rect x="26" y="4" width="1" height="1" fill="#44316E" />
+<rect x="27" y="4" width="1" height="1" fill="#44316E" />
+<rect x="28" y="4" width="1" height="1" fill="#44316E" />
+<rect x="29" y="4" width="1" height="1" fill="#714091" />
+<rect x="30" y="4" width="1" height="1" fill="#714091" />
+<rect x="31" y="4" width="1" height="1" fill="#714091" />
+<rect x="32" y="4" width="1" height="1" fill="#714091" />
+<rect x="33" y="4" width="1" height="1" fill="#714091" />
+<rect x="34" y="4" width="1" height="1" fill="#714091" />
+<rect x="35" y="4" width="1" height="1" fill="#714091" />
+<rect x="36" y="4" width="1" height="1" fill="#553179" />
+<rect x="37" y="4" width="1" height="1" fill="#553179" />
+<rect x="38" y="4" width="1" height="1" fill="#553179" />
+<rect x="39" y="4" width="1" height="1" fill="#553179" />
+<rect x="40" y="4" width="1" height="1" fill="#553179" />
+<rect x="41" y="4" width="1" height="1" fill="#553179" />
+<rect x="42" y="4" width="1" height="1" fill="#553179" />
+<rect x="43" y="4" width="1" height="1" fill="#553179" />
+<rect x="44" y="4" width="1" height="1" fill="#553179" />
+<rect x="45" y="4" width="1" height="1" fill="#553179" />
+<rect x="46" y="4" width="1" height="1" fill="#553179" />
+<rect x="47" y="4" width="1" height="1" fill="#553179" />
+<rect x="0" y="5" width="1" height="1" fill="#553179" />
+<rect x="1" y="5" width="1" height="1" fill="#553179" />
+<rect x="2" y="5" width="1" height="1" fill="#553179" />
+<rect x="3" y="5" width="1" height="1" fill="#714091" />
+<rect x="4" y="5" width="1" height="1" fill="#714091" />
+<rect x="5" y="5" width="1" height="1" fill="#714091" />
+<rect x="6" y="5" width="1" height="1" fill="#553179" />
+<rect x="7" y="5" width="1" height="1" fill="#714091" />
+<rect x="8" y="5" width="1" height="1" fill="#714091" />
+<rect x="9" y="5" width="1" height="1" fill="#714091" />
+<rect x="10" y="5" width="1" height="1" fill="#714091" />
+<rect x="11" y="5" width="1" height="1" fill="#714091" />
+<rect x="12" y="5" width="1" height="1" fill="#714091" />
+<rect x="13" y="5" width="1" height="1" fill="#714091" />
+<rect x="14" y="5" width="1" height="1" fill="#714091" />
+<rect x="15" y="5" width="1" height="1" fill="#714091" />
+<rect x="16" y="5" width="1" height="1" fill="#714091" />
+<rect x="17" y="5" width="1" height="1" fill="#714091" />
+<rect x="18" y="5" width="1" height="1" fill="#714091" />
+<rect x="19" y="5" width="1" height="1" fill="#714091" />
+<rect x="20" y="5" width="1" height="1" fill="#44316E" />
+<rect x="21" y="5" width="1" height="1" fill="#44316E" />
+<rect x="22" y="5" width="1" height="1" fill="#44316E" />
+<rect x="23" y="5" width="1" height="1" fill="#44316E" />
+<rect x="24" y="5" width="1" height="1" fill="#44316E" />
+<rect x="25" y="5" width="1" height="1" fill="#44316E" />
+<rect x="26" y="5" width="1" height="1" fill="#44316E" />
+<rect x="27" y="5" width="1" height="1" fill="#44316E" />
+<rect x="28" y="5" width="1" height="1" fill="#714091" />
+<rect x="29" y="5" width="1" height="1" fill="#714091" />
+<rect x="30" y="5" width="1" height="1" fill="#714091" />
+<rect x="31" y="5" width="1" height="1" fill="#714091" />
+<rect x="32" y="5" width="1" height="1" fill="#714091" />
+<rect x="33" y="5" width="1" height="1" fill="#714091" />
+<rect x="34" y="5" width="1" height="1" fill="#714091" />
+<rect x="35" y="5" width="1" height="1" fill="#714091" />
+<rect x="36" y="5" width="1" height="1" fill="#714091" />
+<rect x="37" y="5" width="1" height="1" fill="#714091" />
+<rect x="38" y="5" width="1" height="1" fill="#553179" />
+<rect x="39" y="5" width="1" height="1" fill="#553179" />
+<rect x="40" y="5" width="1" height="1" fill="#553179" />
+<rect x="41" y="5" width="1" height="1" fill="#553179" />
+<rect x="42" y="5" width="1" height="1" fill="#714091" />
+<rect x="43" y="5" width="1" height="1" fill="#553179" />
+<rect x="44" y="5" width="1" height="1" fill="#553179" />
+<rect x="45" y="5" width="1" height="1" fill="#553179" />
+<rect x="46" y="5" width="1" height="1" fill="#553179" />
+<rect x="47" y="5" width="1" height="1" fill="#553179" />
+<rect x="0" y="6" width="1" height="1" fill="#553179" />
+<rect x="1" y="6" width="1" height="1" fill="#553179" />
+<rect x="2" y="6" width="1" height="1" fill="#553179" />
+<rect x="3" y="6" width="1" height="1" fill="#553179" />
+<rect x="4" y="6" width="1" height="1" fill="#714091" />
+<rect x="5" y="6" width="1" height="1" fill="#714091" />
+<rect x="6" y="6" width="1" height="1" fill="#714091" />
+<rect x="7" y="6" width="1" height="1" fill="#714091" />
+<rect x="8" y="6" width="1" height="1" fill="#714091" />
+<rect x="9" y="6" width="1" height="1" fill="#714091" />
+<rect x="10" y="6" width="1" height="1" fill="#714091" />
+<rect x="11" y="6" width="1" height="1" fill="#714091" />
+<rect x="12" y="6" width="1" height="1" fill="#714091" />
+<rect x="13" y="6" width="1" height="1" fill="#714091" />
+<rect x="14" y="6" width="1" height="1" fill="#714091" />
+<rect x="15" y="6" width="1" height="1" fill="#714091" />
+<rect x="16" y="6" width="1" height="1" fill="#714091" />
+<rect x="17" y="6" width="1" height="1" fill="#714091" />
+<rect x="18" y="6" width="1" height="1" fill="#714091" />
+<rect x="19" y="6" width="1" height="1" fill="#714091" />
+<rect x="20" y="6" width="1" height="1" fill="#44316E" />
+<rect x="21" y="6" width="1" height="1" fill="#44316E" />
+<rect x="22" y="6" width="1" height="1" fill="#44316E" />
+<rect x="23" y="6" width="1" height="1" fill="#714091" />
+<rect x="24" y="6" width="1" height="1" fill="#714091" />
+<rect x="25" y="6" width="1" height="1" fill="#44316E" />
+<rect x="26" y="6" width="1" height="1" fill="#44316E" />
+<rect x="27" y="6" width="1" height="1" fill="#44316E" />
+<rect x="28" y="6" width="1" height="1" fill="#714091" />
+<rect x="29" y="6" width="1" height="1" fill="#714091" />
+<rect x="30" y="6" width="1" height="1" fill="#714091" />
+<rect x="31" y="6" width="1" height="1" fill="#714091" />
+<rect x="32" y="6" width="1" height="1" fill="#714091" />
+<rect x="33" y="6" width="1" height="1" fill="#714091" />
+<rect x="34" y="6" width="1" height="1" fill="#714091" />
+<rect x="35" y="6" width="1" height="1" fill="#714091" />
+<rect x="36" y="6" width="1" height="1" fill="#714091" />
+<rect x="37" y="6" width="1" height="1" fill="#714091" />
+<rect x="38" y="6" width="1" height="1" fill="#714091" />
+<rect x="39" y="6" width="1" height="1" fill="#553179" />
+<rect x="40" y="6" width="1" height="1" fill="#553179" />
+<rect x="41" y="6" width="1" height="1" fill="#553179" />
+<rect x="42" y="6" width="1" height="1" fill="#714091" />
+<rect x="43" y="6" width="1" height="1" fill="#714091" />
+<rect x="44" y="6" width="1" height="1" fill="#553179" />
+<rect x="45" y="6" width="1" height="1" fill="#553179" />
+<rect x="46" y="6" width="1" height="1" fill="#553179" />
+<rect x="47" y="6" width="1" height="1" fill="#553179" />
+<rect x="0" y="7" width="1" height="1" fill="#553179" />
+<rect x="1" y="7" width="1" height="1" fill="#553179" />
+<rect x="2" y="7" width="1" height="1" fill="#553179" />
+<rect x="3" y="7" width="1" height="1" fill="#553179" />
+<rect x="4" y="7" width="1" height="1" fill="#553179" />
+<rect x="5" y="7" width="1" height="1" fill="#553179" />
+<rect x="6" y="7" width="1" height="1" fill="#714091" />
+<rect x="7" y="7" width="1" height="1" fill="#714091" />
+<rect x="8" y="7" width="1" height="1" fill="#714091" />
+<rect x="9" y="7" width="1" height="1" fill="#714091" />
+<rect x="10" y="7" width="1" height="1" fill="#714091" />
+<rect x="11" y="7" width="1" height="1" fill="#714091" />
+<rect x="12" y="7" width="1" height="1" fill="#714091" />
+<rect x="13" y="7" width="1" height="1" fill="#714091" />
+<rect x="14" y="7" width="1" height="1" fill="#714091" />
+<rect x="15" y="7" width="1" height="1" fill="#714091" />
+<rect x="16" y="7" width="1" height="1" fill="#714091" />
+<rect x="17" y="7" width="1" height="1" fill="#714091" />
+<rect x="18" y="7" width="1" height="1" fill="#714091" />
+<rect x="19" y="7" width="1" height="1" fill="#714091" />
+<rect x="20" y="7" width="1" height="1" fill="#44316E" />
+<rect x="21" y="7" width="1" height="1" fill="#44316E" />
+<rect x="22" y="7" width="1" height="1" fill="#44316E" />
+<rect x="23" y="7" width="1" height="1" fill="#714091" />
+<rect x="24" y="7" width="1" height="1" fill="#714091" />
+<rect x="25" y="7" width="1" height="1" fill="#44316E" />
+<rect x="26" y="7" width="1" height="1" fill="#44316E" />
+<rect x="27" y="7" width="1" height="1" fill="#44316E" />
+<rect x="28" y="7" width="1" height="1" fill="#714091" />
+<rect x="29" y="7" width="1" height="1" fill="#714091" />
+<rect x="30" y="7" width="1" height="1" fill="#714091" />
+<rect x="31" y="7" width="1" height="1" fill="#714091" />
+<rect x="32" y="7" width="1" height="1" fill="#714091" />
+<rect x="33" y="7" width="1" height="1" fill="#714091" />
+<rect x="34" y="7" width="1" height="1" fill="#714091" />
+<rect x="35" y="7" width="1" height="1" fill="#714091" />
+<rect x="36" y="7" width="1" height="1" fill="#714091" />
+<rect x="37" y="7" width="1" height="1" fill="#714091" />
+<rect x="38" y="7" width="1" height="1" fill="#714091" />
+<rect x="39" y="7" width="1" height="1" fill="#553179" />
+<rect x="40" y="7" width="1" height="1" fill="#553179" />
+<rect x="41" y="7" width="1" height="1" fill="#714091" />
+<rect x="42" y="7" width="1" height="1" fill="#714091" />
+<rect x="43" y="7" width="1" height="1" fill="#714091" />
+<rect x="44" y="7" width="1" height="1" fill="#553179" />
+<rect x="45" y="7" width="1" height="1" fill="#553179" />
+<rect x="46" y="7" width="1" height="1" fill="#553179" />
+<rect x="47" y="7" width="1" height="1" fill="#553179" />
+<rect x="0" y="8" width="1" height="1" fill="#553179" />
+<rect x="1" y="8" width="1" height="1" fill="#553179" />
+<rect x="2" y="8" width="1" height="1" fill="#714091" />
+<rect x="3" y="8" width="1" height="1" fill="#714091" />
+<rect x="4" y="8" width="1" height="1" fill="#714091" />
+<rect x="5" y="8" width="1" height="1" fill="#553179" />
+<rect x="6" y="8" width="1" height="1" fill="#553179" />
+<rect x="7" y="8" width="1" height="1" fill="#714091" />
+<rect x="8" y="8" width="1" height="1" fill="#714091" />
+<rect x="9" y="8" width="1" height="1" fill="#714091" />
+<rect x="10" y="8" width="1" height="1" fill="#714091" />
+<rect x="11" y="8" width="1" height="1" fill="#714091" />
+<rect x="12" y="8" width="1" height="1" fill="#714091" />
+<rect x="13" y="8" width="1" height="1" fill="#714091" />
+<rect x="14" y="8" width="1" height="1" fill="#714091" />
+<rect x="15" y="8" width="1" height="1" fill="#714091" />
+<rect x="16" y="8" width="1" height="1" fill="#714091" />
+<rect x="17" y="8" width="1" height="1" fill="#714091" />
+<rect x="18" y="8" width="1" height="1" fill="#714091" />
+<rect x="19" y="8" width="1" height="1" fill="#714091" />
+<rect x="20" y="8" width="1" height="1" fill="#44316E" />
+<rect x="21" y="8" width="1" height="1" fill="#44316E" />
+<rect x="22" y="8" width="1" height="1" fill="#44316E" />
+<rect x="23" y="8" width="1" height="1" fill="#714091" />
+<rect x="24" y="8" width="1" height="1" fill="#714091" />
+<rect x="25" y="8" width="1" height="1" fill="#44316E" />
+<rect x="26" y="8" width="1" height="1" fill="#44316E" />
+<rect x="27" y="8" width="1" height="1" fill="#44316E" />
+<rect x="28" y="8" width="1" height="1" fill="#714091" />
+<rect x="29" y="8" width="1" height="1" fill="#714091" />
+<rect x="30" y="8" width="1" height="1" fill="#714091" />
+<rect x="31" y="8" width="1" height="1" fill="#714091" />
+<rect x="32" y="8" width="1" height="1" fill="#714091" />
+<rect x="33" y="8" width="1" height="1" fill="#714091" />
+<rect x="34" y="8" width="1" height="1" fill="#714091" />
+<rect x="35" y="8" width="1" height="1" fill="#714091" />
+<rect x="36" y="8" width="1" height="1" fill="#714091" />
+<rect x="37" y="8" width="1" height="1" fill="#714091" />
+<rect x="38" y="8" width="1" height="1" fill="#714091" />
+<rect x="39" y="8" width="1" height="1" fill="#553179" />
+<rect x="40" y="8" width="1" height="1" fill="#553179" />
+<rect x="41" y="8" width="1" height="1" fill="#714091" />
+<rect x="42" y="8" width="1" height="1" fill="#714091" />
+<rect x="43" y="8" width="1" height="1" fill="#714091" />
+<rect x="44" y="8" width="1" height="1" fill="#714091" />
+<rect x="45" y="8" width="1" height="1" fill="#553179" />
+<rect x="46" y="8" width="1" height="1" fill="#553179" />
+<rect x="47" y="8" width="1" height="1" fill="#553179" />
+<rect x="0" y="9" width="1" height="1" fill="#553179" />
+<rect x="1" y="9" width="1" height="1" fill="#553179" />
+<rect x="2" y="9" width="1" height="1" fill="#714091" />
+<rect x="3" y="9" width="1" height="1" fill="#714091" />
+<rect x="4" y="9" width="1" height="1" fill="#714091" />
+<rect x="5" y="9" width="1" height="1" fill="#714091" />
+<rect x="6" y="9" width="1" height="1" fill="#714091" />
+<rect x="7" y="9" width="1" height="1" fill="#714091" />
+<rect x="8" y="9" width="1" height="1" fill="#714091" />
+<rect x="9" y="9" width="1" height="1" fill="#714091" />
+<rect x="10" y="9" width="1" height="1" fill="#714091" />
+<rect x="11" y="9" width="1" height="1" fill="#714091" />
+<rect x="12" y="9" width="1" height="1" fill="#714091" />
+<rect x="13" y="9" width="1" height="1" fill="#714091" />
+<rect x="14" y="9" width="1" height="1" fill="#714091" />
+<rect x="15" y="9" width="1" height="1" fill="#714091" />
+<rect x="16" y="9" width="1" height="1" fill="#714091" />
+<rect x="17" y="9" width="1" height="1" fill="#714091" />
+<rect x="18" y="9" width="1" height="1" fill="#714091" />
+<rect x="19" y="9" width="1" height="1" fill="#714091" />
+<rect x="20" y="9" width="1" height="1" fill="#44316E" />
+<rect x="21" y="9" width="1" height="1" fill="#44316E" />
+<rect x="22" y="9" width="1" height="1" fill="#44316E" />
+<rect x="23" y="9" width="1" height="1" fill="#44316E" />
+<rect x="24" y="9" width="1" height="1" fill="#44316E" />
+<rect x="25" y="9" width="1" height="1" fill="#44316E" />
+<rect x="26" y="9" width="1" height="1" fill="#44316E" />
+<rect x="27" y="9" width="1" height="1" fill="#44316E" />
+<rect x="28" y="9" width="1" height="1" fill="#714091" />
+<rect x="29" y="9" width="1" height="1" fill="#714091" />
+<rect x="30" y="9" width="1" height="1" fill="#714091" />
+<rect x="31" y="9" width="1" height="1" fill="#714091" />
+<rect x="32" y="9" width="1" height="1" fill="#714091" />
+<rect x="33" y="9" width="1" height="1" fill="#714091" />
+<rect x="34" y="9" width="1" height="1" fill="#714091" />
+<rect x="35" y="9" width="1" height="1" fill="#714091" />
+<rect x="36" y="9" width="1" height="1" fill="#714091" />
+<rect x="37" y="9" width="1" height="1" fill="#714091" />
+<rect x="38" y="9" width="1" height="1" fill="#714091" />
+<rect x="39" y="9" width="1" height="1" fill="#553179" />
+<rect x="40" y="9" width="1" height="1" fill="#553179" />
+<rect x="41" y="9" width="1" height="1" fill="#714091" />
+<rect x="42" y="9" width="1" height="1" fill="#714091" />
+<rect x="43" y="9" width="1" height="1" fill="#714091" />
+<rect x="44" y="9" width="1" height="1" fill="#714091" />
+<rect x="45" y="9" width="1" height="1" fill="#553179" />
+<rect x="46" y="9" width="1" height="1" fill="#553179" />
+<rect x="47" y="9" width="1" height="1" fill="#553179" />
+<rect x="0" y="10" width="1" height="1" fill="#553179" />
+<rect x="1" y="10" width="1" height="1" fill="#553179" />
+<rect x="2" y="10" width="1" height="1" fill="#714091" />
+<rect x="3" y="10" width="1" height="1" fill="#714091" />
+<rect x="4" y="10" width="1" height="1" fill="#714091" />
+<rect x="5" y="10" width="1" height="1" fill="#714091" />
+<rect x="6" y="10" width="1" height="1" fill="#714091" />
+<rect x="7" y="10" width="1" height="1" fill="#714091" />
+<rect x="8" y="10" width="1" height="1" fill="#714091" />
+<rect x="9" y="10" width="1" height="1" fill="#714091" />
+<rect x="10" y="10" width="1" height="1" fill="#714091" />
+<rect x="11" y="10" width="1" height="1" fill="#714091" />
+<rect x="12" y="10" width="1" height="1" fill="#714091" />
+<rect x="13" y="10" width="1" height="1" fill="#714091" />
+<rect x="14" y="10" width="1" height="1" fill="#714091" />
+<rect x="15" y="10" width="1" height="1" fill="#714091" />
+<rect x="16" y="10" width="1" height="1" fill="#714091" />
+<rect x="17" y="10" width="1" height="1" fill="#714091" />
+<rect x="18" y="10" width="1" height="1" fill="#714091" />
+<rect x="19" y="10" width="1" height="1" fill="#714091" />
+<rect x="20" y="10" width="1" height="1" fill="#44316E" />
+<rect x="21" y="10" width="1" height="1" fill="#44316E" />
+<rect x="22" y="10" width="1" height="1" fill="#44316E" />
+<rect x="23" y="10" width="1" height="1" fill="#44316E" />
+<rect x="24" y="10" width="1" height="1" fill="#44316E" />
+<rect x="25" y="10" width="1" height="1" fill="#44316E" />
+<rect x="26" y="10" width="1" height="1" fill="#44316E" />
+<rect x="27" y="10" width="1" height="1" fill="#44316E" />
+<rect x="28" y="10" width="1" height="1" fill="#714091" />
+<rect x="29" y="10" width="1" height="1" fill="#714091" />
+<rect x="30" y="10" width="1" height="1" fill="#714091" />
+<rect x="31" y="10" width="1" height="1" fill="#714091" />
+<rect x="32" y="10" width="1" height="1" fill="#714091" />
+<rect x="33" y="10" width="1" height="1" fill="#714091" />
+<rect x="34" y="10" width="1" height="1" fill="#714091" />
+<rect x="35" y="10" width="1" height="1" fill="#714091" />
+<rect x="36" y="10" width="1" height="1" fill="#714091" />
+<rect x="37" y="10" width="1" height="1" fill="#714091" />
+<rect x="38" y="10" width="1" height="1" fill="#714091" />
+<rect x="39" y="10" width="1" height="1" fill="#714091" />
+<rect x="40" y="10" width="1" height="1" fill="#553179" />
+<rect x="41" y="10" width="1" height="1" fill="#714091" />
+<rect x="42" y="10" width="1" height="1" fill="#714091" />
+<rect x="43" y="10" width="1" height="1" fill="#714091" />
+<rect x="44" y="10" width="1" height="1" fill="#714091" />
+<rect x="45" y="10" width="1" height="1" fill="#714091" />
+<rect x="46" y="10" width="1" height="1" fill="#553179" />
+<rect x="47" y="10" width="1" height="1" fill="#553179" />
+<rect x="0" y="11" width="1" height="1" fill="#553179" />
+<rect x="1" y="11" width="1" height="1" fill="#553179" />
+<rect x="2" y="11" width="1" height="1" fill="#714091" />
+<rect x="3" y="11" width="1" height="1" fill="#714091" />
+<rect x="4" y="11" width="1" height="1" fill="#714091" />
+<rect x="5" y="11" width="1" height="1" fill="#714091" />
+<rect x="6" y="11" width="1" height="1" fill="#714091" />
+<rect x="7" y="11" width="1" height="1" fill="#714091" />
+<rect x="8" y="11" width="1" height="1" fill="#714091" />
+<rect x="9" y="11" width="1" height="1" fill="#714091" />
+<rect x="10" y="11" width="1" height="1" fill="#714091" />
+<rect x="11" y="11" width="1" height="1" fill="#714091" />
+<rect x="12" y="11" width="1" height="1" fill="#714091" />
+<rect x="13" y="11" width="1" height="1" fill="#714091" />
+<rect x="14" y="11" width="1" height="1" fill="#714091" />
+<rect x="15" y="11" width="1" height="1" fill="#714091" />
+<rect x="16" y="11" width="1" height="1" fill="#714091" />
+<rect x="17" y="11" width="1" height="1" fill="#714091" />
+<rect x="18" y="11" width="1" height="1" fill="#714091" />
+<rect x="19" y="11" width="1" height="1" fill="#714091" />
+<rect x="20" y="11" width="1" height="1" fill="#44316E" />
+<rect x="21" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="11" width="1" height="1" fill="#44316E" />
+<rect x="28" y="11" width="1" height="1" fill="#714091" />
+<rect x="29" y="11" width="1" height="1" fill="#714091" />
+<rect x="30" y="11" width="1" height="1" fill="#714091" />
+<rect x="31" y="11" width="1" height="1" fill="#714091" />
+<rect x="32" y="11" width="1" height="1" fill="#714091" />
+<rect x="33" y="11" width="1" height="1" fill="#714091" />
+<rect x="34" y="11" width="1" height="1" fill="#714091" />
+<rect x="35" y="11" width="1" height="1" fill="#714091" />
+<rect x="36" y="11" width="1" height="1" fill="#714091" />
+<rect x="37" y="11" width="1" height="1" fill="#714091" />
+<rect x="38" y="11" width="1" height="1" fill="#714091" />
+<rect x="39" y="11" width="1" height="1" fill="#714091" />
+<rect x="40" y="11" width="1" height="1" fill="#553179" />
+<rect x="41" y="11" width="1" height="1" fill="#714091" />
+<rect x="42" y="11" width="1" height="1" fill="#714091" />
+<rect x="43" y="11" width="1" height="1" fill="#714091" />
+<rect x="44" y="11" width="1" height="1" fill="#714091" />
+<rect x="45" y="11" width="1" height="1" fill="#714091" />
+<rect x="46" y="11" width="1" height="1" fill="#553179" />
+<rect x="47" y="11" width="1" height="1" fill="#553179" />
+<rect x="0" y="12" width="1" height="1" fill="#553179" />
+<rect x="1" y="12" width="1" height="1" fill="#714091" />
+<rect x="2" y="12" width="1" height="1" fill="#714091" />
+<rect x="3" y="12" width="1" height="1" fill="#714091" />
+<rect x="4" y="12" width="1" height="1" fill="#714091" />
+<rect x="5" y="12" width="1" height="1" fill="#714091" />
+<rect x="6" y="12" width="1" height="1" fill="#714091" />
+<rect x="7" y="12" width="1" height="1" fill="#714091" />
+<rect x="8" y="12" width="1" height="1" fill="#714091" />
+<rect x="9" y="12" width="1" height="1" fill="#714091" />
+<rect x="10" y="12" width="1" height="1" fill="#714091" />
+<rect x="11" y="12" width="1" height="1" fill="#714091" />
+<rect x="12" y="12" width="1" height="1" fill="#714091" />
+<rect x="13" y="12" width="1" height="1" fill="#714091" />
+<rect x="14" y="12" width="1" height="1" fill="#714091" />
+<rect x="15" y="12" width="1" height="1" fill="#714091" />
+<rect x="16" y="12" width="1" height="1" fill="#714091" />
+<rect x="17" y="12" width="1" height="1" fill="#714091" />
+<rect x="18" y="12" width="1" height="1" fill="#714091" />
+<rect x="19" y="12" width="1" height="1" fill="#44316E" />
+<rect x="20" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="12" width="1" height="1" fill="#44316E" />
+<rect x="29" y="12" width="1" height="1" fill="#714091" />
+<rect x="30" y="12" width="1" height="1" fill="#714091" />
+<rect x="31" y="12" width="1" height="1" fill="#714091" />
+<rect x="32" y="12" width="1" height="1" fill="#714091" />
+<rect x="33" y="12" width="1" height="1" fill="#714091" />
+<rect x="34" y="12" width="1" height="1" fill="#714091" />
+<rect x="35" y="12" width="1" height="1" fill="#714091" />
+<rect x="36" y="12" width="1" height="1" fill="#714091" />
+<rect x="37" y="12" width="1" height="1" fill="#714091" />
+<rect x="38" y="12" width="1" height="1" fill="#714091" />
+<rect x="39" y="12" width="1" height="1" fill="#714091" />
+<rect x="40" y="12" width="1" height="1" fill="#714091" />
+<rect x="41" y="12" width="1" height="1" fill="#714091" />
+<rect x="42" y="12" width="1" height="1" fill="#714091" />
+<rect x="43" y="12" width="1" height="1" fill="#714091" />
+<rect x="44" y="12" width="1" height="1" fill="#714091" />
+<rect x="45" y="12" width="1" height="1" fill="#714091" />
+<rect x="46" y="12" width="1" height="1" fill="#553179" />
+<rect x="47" y="12" width="1" height="1" fill="#553179" />
+<rect x="0" y="13" width="1" height="1" fill="#553179" />
+<rect x="1" y="13" width="1" height="1" fill="#714091" />
+<rect x="2" y="13" width="1" height="1" fill="#714091" />
+<rect x="3" y="13" width="1" height="1" fill="#714091" />
+<rect x="4" y="13" width="1" height="1" fill="#714091" />
+<rect x="5" y="13" width="1" height="1" fill="#714091" />
+<rect x="6" y="13" width="1" height="1" fill="#714091" />
+<rect x="7" y="13" width="1" height="1" fill="#714091" />
+<rect x="8" y="13" width="1" height="1" fill="#714091" />
+<rect x="9" y="13" width="1" height="1" fill="#714091" />
+<rect x="10" y="13" width="1" height="1" fill="#714091" />
+<rect x="11" y="13" width="1" height="1" fill="#714091" />
+<rect x="12" y="13" width="1" height="1" fill="#714091" />
+<rect x="13" y="13" width="1" height="1" fill="#714091" />
+<rect x="14" y="13" width="1" height="1" fill="#714091" />
+<rect x="15" y="13" width="1" height="1" fill="#714091" />
+<rect x="16" y="13" width="1" height="1" fill="#714091" />
+<rect x="17" y="13" width="1" height="1" fill="#714091" />
+<rect x="18" y="13" width="1" height="1" fill="#714091" />
+<rect x="19" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="13" width="1" height="1" fill="#714091" />
+<rect x="30" y="13" width="1" height="1" fill="#714091" />
+<rect x="31" y="13" width="1" height="1" fill="#714091" />
+<rect x="32" y="13" width="1" height="1" fill="#714091" />
+<rect x="33" y="13" width="1" height="1" fill="#714091" />
+<rect x="34" y="13" width="1" height="1" fill="#714091" />
+<rect x="35" y="13" width="1" height="1" fill="#714091" />
+<rect x="36" y="13" width="1" height="1" fill="#714091" />
+<rect x="37" y="13" width="1" height="1" fill="#714091" />
+<rect x="38" y="13" width="1" height="1" fill="#714091" />
+<rect x="39" y="13" width="1" height="1" fill="#714091" />
+<rect x="40" y="13" width="1" height="1" fill="#714091" />
+<rect x="41" y="13" width="1" height="1" fill="#714091" />
+<rect x="42" y="13" width="1" height="1" fill="#714091" />
+<rect x="43" y="13" width="1" height="1" fill="#714091" />
+<rect x="44" y="13" width="1" height="1" fill="#714091" />
+<rect x="45" y="13" width="1" height="1" fill="#714091" />
+<rect x="46" y="13" width="1" height="1" fill="#553179" />
+<rect x="47" y="13" width="1" height="1" fill="#553179" />
+<rect x="0" y="14" width="1" height="1" fill="#342556" />
+<rect x="1" y="14" width="1" height="1" fill="#44316E" />
+<rect x="2" y="14" width="1" height="1" fill="#44316E" />
+<rect x="3" y="14" width="1" height="1" fill="#44316E" />
+<rect x="4" y="14" width="1" height="1" fill="#44316E" />
+<rect x="5" y="14" width="1" height="1" fill="#44316E" />
+<rect x="6" y="14" width="1" height="1" fill="#44316E" />
+<rect x="7" y="14" width="1" height="1" fill="#44316E" />
+<rect x="8" y="14" width="1" height="1" fill="#44316E" />
+<rect x="9" y="14" width="1" height="1" fill="#44316E" />
+<rect x="10" y="14" width="1" height="1" fill="#44316E" />
+<rect x="11" y="14" width="1" height="1" fill="#44316E" />
+<rect x="12" y="14" width="1" height="1" fill="#44316E" />
+<rect x="13" y="14" width="1" height="1" fill="#44316E" />
+<rect x="14" y="14" width="1" height="1" fill="#44316E" />
+<rect x="15" y="14" width="1" height="1" fill="#44316E" />
+<rect x="16" y="14" width="1" height="1" fill="#44316E" />
+<rect x="17" y="14" width="1" height="1" fill="#44316E" />
+<rect x="18" y="14" width="1" height="1" fill="#44316E" />
+<rect x="19" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="14" width="1" height="1" fill="#44316E" />
+<rect x="22" y="14" width="1" height="1" fill="#44316E" />
+<rect x="23" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="14" width="1" height="1" fill="#44316E" />
+<rect x="26" y="14" width="1" height="1" fill="#44316E" />
+<rect x="27" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="14" width="1" height="1" fill="#44316E" />
+<rect x="30" y="14" width="1" height="1" fill="#44316E" />
+<rect x="31" y="14" width="1" height="1" fill="#44316E" />
+<rect x="32" y="14" width="1" height="1" fill="#44316E" />
+<rect x="33" y="14" width="1" height="1" fill="#44316E" />
+<rect x="34" y="14" width="1" height="1" fill="#44316E" />
+<rect x="35" y="14" width="1" height="1" fill="#44316E" />
+<rect x="36" y="14" width="1" height="1" fill="#44316E" />
+<rect x="37" y="14" width="1" height="1" fill="#44316E" />
+<rect x="38" y="14" width="1" height="1" fill="#44316E" />
+<rect x="39" y="14" width="1" height="1" fill="#44316E" />
+<rect x="40" y="14" width="1" height="1" fill="#44316E" />
+<rect x="41" y="14" width="1" height="1" fill="#44316E" />
+<rect x="42" y="14" width="1" height="1" fill="#44316E" />
+<rect x="43" y="14" width="1" height="1" fill="#44316E" />
+<rect x="44" y="14" width="1" height="1" fill="#44316E" />
+<rect x="45" y="14" width="1" height="1" fill="#44316E" />
+<rect x="46" y="14" width="1" height="1" fill="#342556" />
+<rect x="47" y="14" width="1" height="1" fill="#342556" />
+<rect x="0" y="15" width="1" height="1" fill="#342556" />
+<rect x="1" y="15" width="1" height="1" fill="#44316E" />
+<rect x="2" y="15" width="1" height="1" fill="#44316E" />
+<rect x="3" y="15" width="1" height="1" fill="#44316E" />
+<rect x="4" y="15" width="1" height="1" fill="#44316E" />
+<rect x="5" y="15" width="1" height="1" fill="#44316E" />
+<rect x="6" y="15" width="1" height="1" fill="#44316E" />
+<rect x="7" y="15" width="1" height="1" fill="#44316E" />
+<rect x="8" y="15" width="1" height="1" fill="#44316E" />
+<rect x="9" y="15" width="1" height="1" fill="#44316E" />
+<rect x="10" y="15" width="1" height="1" fill="#44316E" />
+<rect x="11" y="15" width="1" height="1" fill="#44316E" />
+<rect x="12" y="15" width="1" height="1" fill="#44316E" />
+<rect x="13" y="15" width="1" height="1" fill="#44316E" />
+<rect x="14" y="15" width="1" height="1" fill="#44316E" />
+<rect x="15" y="15" width="1" height="1" fill="#44316E" />
+<rect x="16" y="15" width="1" height="1" fill="#44316E" />
+<rect x="17" y="15" width="1" height="1" fill="#44316E" />
+<rect x="18" y="15" width="1" height="1" fill="#44316E" />
+<rect x="19" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="15" width="1" height="1" fill="#44316E" />
+<rect x="22" y="15" width="1" height="1" fill="#44316E" />
+<rect x="23" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="15" width="1" height="1" fill="#44316E" />
+<rect x="26" y="15" width="1" height="1" fill="#44316E" />
+<rect x="27" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="15" width="1" height="1" fill="#44316E" />
+<rect x="30" y="15" width="1" height="1" fill="#44316E" />
+<rect x="31" y="15" width="1" height="1" fill="#44316E" />
+<rect x="32" y="15" width="1" height="1" fill="#44316E" />
+<rect x="33" y="15" width="1" height="1" fill="#44316E" />
+<rect x="34" y="15" width="1" height="1" fill="#44316E" />
+<rect x="35" y="15" width="1" height="1" fill="#44316E" />
+<rect x="36" y="15" width="1" height="1" fill="#44316E" />
+<rect x="37" y="15" width="1" height="1" fill="#44316E" />
+<rect x="38" y="15" width="1" height="1" fill="#44316E" />
+<rect x="39" y="15" width="1" height="1" fill="#44316E" />
+<rect x="40" y="15" width="1" height="1" fill="#44316E" />
+<rect x="41" y="15" width="1" height="1" fill="#44316E" />
+<rect x="42" y="15" width="1" height="1" fill="#44316E" />
+<rect x="43" y="15" width="1" height="1" fill="#44316E" />
+<rect x="44" y="15" width="1" height="1" fill="#44316E" />
+<rect x="45" y="15" width="1" height="1" fill="#44316E" />
+<rect x="46" y="15" width="1" height="1" fill="#342556" />
+<rect x="47" y="15" width="1" height="1" fill="#342556" />
+<rect x="0" y="16" width="1" height="1" fill="#342556" />
+<rect x="1" y="16" width="1" height="1" fill="#44316E" />
+<rect x="2" y="16" width="1" height="1" fill="#44316E" />
+<rect x="3" y="16" width="1" height="1" fill="#44316E" />
+<rect x="4" y="16" width="1" height="1" fill="#44316E" />
+<rect x="5" y="16" width="1" height="1" fill="#44316E" />
+<rect x="6" y="16" width="1" height="1" fill="#44316E" />
+<rect x="7" y="16" width="1" height="1" fill="#44316E" />
+<rect x="8" y="16" width="1" height="1" fill="#44316E" />
+<rect x="9" y="16" width="1" height="1" fill="#44316E" />
+<rect x="10" y="16" width="1" height="1" fill="#44316E" />
+<rect x="11" y="16" width="1" height="1" fill="#44316E" />
+<rect x="12" y="16" width="1" height="1" fill="#44316E" />
+<rect x="13" y="16" width="1" height="1" fill="#44316E" />
+<rect x="14" y="16" width="1" height="1" fill="#44316E" />
+<rect x="15" y="16" width="1" height="1" fill="#44316E" />
+<rect x="16" y="16" width="1" height="1" fill="#44316E" />
+<rect x="17" y="16" width="1" height="1" fill="#44316E" />
+<rect x="18" y="16" width="1" height="1" fill="#44316E" />
+<rect x="19" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="16" width="1" height="1" fill="#44316E" />
+<rect x="22" y="16" width="1" height="1" fill="#44316E" />
+<rect x="23" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="16" width="1" height="1" fill="#44316E" />
+<rect x="26" y="16" width="1" height="1" fill="#44316E" />
+<rect x="27" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="16" width="1" height="1" fill="#44316E" />
+<rect x="30" y="16" width="1" height="1" fill="#44316E" />
+<rect x="31" y="16" width="1" height="1" fill="#44316E" />
+<rect x="32" y="16" width="1" height="1" fill="#44316E" />
+<rect x="33" y="16" width="1" height="1" fill="#44316E" />
+<rect x="34" y="16" width="1" height="1" fill="#44316E" />
+<rect x="35" y="16" width="1" height="1" fill="#44316E" />
+<rect x="36" y="16" width="1" height="1" fill="#44316E" />
+<rect x="37" y="16" width="1" height="1" fill="#44316E" />
+<rect x="38" y="16" width="1" height="1" fill="#44316E" />
+<rect x="39" y="16" width="1" height="1" fill="#44316E" />
+<rect x="40" y="16" width="1" height="1" fill="#44316E" />
+<rect x="41" y="16" width="1" height="1" fill="#44316E" />
+<rect x="42" y="16" width="1" height="1" fill="#44316E" />
+<rect x="43" y="16" width="1" height="1" fill="#44316E" />
+<rect x="44" y="16" width="1" height="1" fill="#44316E" />
+<rect x="45" y="16" width="1" height="1" fill="#44316E" />
+<rect x="46" y="16" width="1" height="1" fill="#342556" />
+<rect x="47" y="16" width="1" height="1" fill="#342556" />
+<rect x="0" y="17" width="1" height="1" fill="#342556" />
+<rect x="1" y="17" width="1" height="1" fill="#44316E" />
+<rect x="2" y="17" width="1" height="1" fill="#44316E" />
+<rect x="3" y="17" width="1" height="1" fill="#44316E" />
+<rect x="4" y="17" width="1" height="1" fill="#44316E" />
+<rect x="5" y="17" width="1" height="1" fill="#44316E" />
+<rect x="6" y="17" width="1" height="1" fill="#44316E" />
+<rect x="7" y="17" width="1" height="1" fill="#44316E" />
+<rect x="8" y="17" width="1" height="1" fill="#44316E" />
+<rect x="9" y="17" width="1" height="1" fill="#44316E" />
+<rect x="10" y="17" width="1" height="1" fill="#44316E" />
+<rect x="11" y="17" width="1" height="1" fill="#44316E" />
+<rect x="12" y="17" width="1" height="1" fill="#44316E" />
+<rect x="13" y="17" width="1" height="1" fill="#44316E" />
+<rect x="14" y="17" width="1" height="1" fill="#44316E" />
+<rect x="15" y="17" width="1" height="1" fill="#44316E" />
+<rect x="16" y="17" width="1" height="1" fill="#44316E" />
+<rect x="17" y="17" width="1" height="1" fill="#44316E" />
+<rect x="18" y="17" width="1" height="1" fill="#44316E" />
+<rect x="19" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="17" width="1" height="1" fill="#44316E" />
+<rect x="24" y="17" width="1" height="1" fill="#44316E" />
+<rect x="25" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="17" width="1" height="1" fill="#44316E" />
+<rect x="30" y="17" width="1" height="1" fill="#44316E" />
+<rect x="31" y="17" width="1" height="1" fill="#44316E" />
+<rect x="32" y="17" width="1" height="1" fill="#44316E" />
+<rect x="33" y="17" width="1" height="1" fill="#44316E" />
+<rect x="34" y="17" width="1" height="1" fill="#44316E" />
+<rect x="35" y="17" width="1" height="1" fill="#44316E" />
+<rect x="36" y="17" width="1" height="1" fill="#44316E" />
+<rect x="37" y="17" width="1" height="1" fill="#44316E" />
+<rect x="38" y="17" width="1" height="1" fill="#44316E" />
+<rect x="39" y="17" width="1" height="1" fill="#44316E" />
+<rect x="40" y="17" width="1" height="1" fill="#44316E" />
+<rect x="41" y="17" width="1" height="1" fill="#44316E" />
+<rect x="42" y="17" width="1" height="1" fill="#44316E" />
+<rect x="43" y="17" width="1" height="1" fill="#44316E" />
+<rect x="44" y="17" width="1" height="1" fill="#44316E" />
+<rect x="45" y="17" width="1" height="1" fill="#342556" />
+<rect x="46" y="17" width="1" height="1" fill="#342556" />
+<rect x="47" y="17" width="1" height="1" fill="#342556" />
+<rect x="0" y="18" width="1" height="1" fill="#553179" />
+<rect x="1" y="18" width="1" height="1" fill="#714091" />
+<rect x="2" y="18" width="1" height="1" fill="#714091" />
+<rect x="3" y="18" width="1" height="1" fill="#714091" />
+<rect x="4" y="18" width="1" height="1" fill="#714091" />
+<rect x="5" y="18" width="1" height="1" fill="#714091" />
+<rect x="6" y="18" width="1" height="1" fill="#714091" />
+<rect x="7" y="18" width="1" height="1" fill="#714091" />
+<rect x="8" y="18" width="1" height="1" fill="#714091" />
+<rect x="9" y="18" width="1" height="1" fill="#714091" />
+<rect x="10" y="18" width="1" height="1" fill="#714091" />
+<rect x="11" y="18" width="1" height="1" fill="#714091" />
+<rect x="12" y="18" width="1" height="1" fill="#714091" />
+<rect x="13" y="18" width="1" height="1" fill="#714091" />
+<rect x="14" y="18" width="1" height="1" fill="#714091" />
+<rect x="15" y="18" width="1" height="1" fill="#714091" />
+<rect x="16" y="18" width="1" height="1" fill="#714091" />
+<rect x="17" y="18" width="1" height="1" fill="#714091" />
+<rect x="18" y="18" width="1" height="1" fill="#714091" />
+<rect x="19" y="18" width="1" height="1" fill="#44316E" />
+<rect x="20" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="18" width="1" height="1" fill="#44316E" />
+<rect x="29" y="18" width="1" height="1" fill="#714091" />
+<rect x="30" y="18" width="1" height="1" fill="#714091" />
+<rect x="31" y="18" width="1" height="1" fill="#714091" />
+<rect x="32" y="18" width="1" height="1" fill="#714091" />
+<rect x="33" y="18" width="1" height="1" fill="#714091" />
+<rect x="34" y="18" width="1" height="1" fill="#714091" />
+<rect x="35" y="18" width="1" height="1" fill="#714091" />
+<rect x="36" y="18" width="1" height="1" fill="#714091" />
+<rect x="37" y="18" width="1" height="1" fill="#714091" />
+<rect x="38" y="18" width="1" height="1" fill="#714091" />
+<rect x="39" y="18" width="1" height="1" fill="#714091" />
+<rect x="40" y="18" width="1" height="1" fill="#714091" />
+<rect x="41" y="18" width="1" height="1" fill="#714091" />
+<rect x="42" y="18" width="1" height="1" fill="#714091" />
+<rect x="43" y="18" width="1" height="1" fill="#714091" />
+<rect x="44" y="18" width="1" height="1" fill="#714091" />
+<rect x="45" y="18" width="1" height="1" fill="#553179" />
+<rect x="46" y="18" width="1" height="1" fill="#553179" />
+<rect x="47" y="18" width="1" height="1" fill="#553179" />
+<rect x="0" y="19" width="1" height="1" fill="#553179" />
+<rect x="1" y="19" width="1" height="1" fill="#714091" />
+<rect x="2" y="19" width="1" height="1" fill="#714091" />
+<rect x="3" y="19" width="1" height="1" fill="#714091" />
+<rect x="4" y="19" width="1" height="1" fill="#714091" />
+<rect x="5" y="19" width="1" height="1" fill="#714091" />
+<rect x="6" y="19" width="1" height="1" fill="#714091" />
+<rect x="7" y="19" width="1" height="1" fill="#714091" />
+<rect x="8" y="19" width="1" height="1" fill="#714091" />
+<rect x="9" y="19" width="1" height="1" fill="#714091" />
+<rect x="10" y="19" width="1" height="1" fill="#714091" />
+<rect x="11" y="19" width="1" height="1" fill="#714091" />
+<rect x="12" y="19" width="1" height="1" fill="#714091" />
+<rect x="13" y="19" width="1" height="1" fill="#714091" />
+<rect x="14" y="19" width="1" height="1" fill="#714091" />
+<rect x="15" y="19" width="1" height="1" fill="#714091" />
+<rect x="16" y="19" width="1" height="1" fill="#714091" />
+<rect x="17" y="19" width="1" height="1" fill="#714091" />
+<rect x="18" y="19" width="1" height="1" fill="#714091" />
+<rect x="19" y="19" width="1" height="1" fill="#714091" />
+<rect x="20" y="19" width="1" height="1" fill="#44316E" />
+<rect x="21" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="19" width="1" height="1" fill="#44316E" />
+<rect x="28" y="19" width="1" height="1" fill="#714091" />
+<rect x="29" y="19" width="1" height="1" fill="#714091" />
+<rect x="30" y="19" width="1" height="1" fill="#714091" />
+<rect x="31" y="19" width="1" height="1" fill="#714091" />
+<rect x="32" y="19" width="1" height="1" fill="#714091" />
+<rect x="33" y="19" width="1" height="1" fill="#714091" />
+<rect x="34" y="19" width="1" height="1" fill="#714091" />
+<rect x="35" y="19" width="1" height="1" fill="#714091" />
+<rect x="36" y="19" width="1" height="1" fill="#714091" />
+<rect x="37" y="19" width="1" height="1" fill="#714091" />
+<rect x="38" y="19" width="1" height="1" fill="#714091" />
+<rect x="39" y="19" width="1" height="1" fill="#714091" />
+<rect x="40" y="19" width="1" height="1" fill="#714091" />
+<rect x="41" y="19" width="1" height="1" fill="#714091" />
+<rect x="42" y="19" width="1" height="1" fill="#714091" />
+<rect x="43" y="19" width="1" height="1" fill="#714091" />
+<rect x="44" y="19" width="1" height="1" fill="#714091" />
+<rect x="45" y="19" width="1" height="1" fill="#553179" />
+<rect x="46" y="19" width="1" height="1" fill="#553179" />
+<rect x="47" y="19" width="1" height="1" fill="#553179" />
+<rect x="0" y="20" width="1" height="1" fill="#553179" />
+<rect x="1" y="20" width="1" height="1" fill="#714091" />
+<rect x="2" y="20" width="1" height="1" fill="#714091" />
+<rect x="3" y="20" width="1" height="1" fill="#714091" />
+<rect x="4" y="20" width="1" height="1" fill="#714091" />
+<rect x="5" y="20" width="1" height="1" fill="#714091" />
+<rect x="6" y="20" width="1" height="1" fill="#714091" />
+<rect x="7" y="20" width="1" height="1" fill="#714091" />
+<rect x="8" y="20" width="1" height="1" fill="#714091" />
+<rect x="9" y="20" width="1" height="1" fill="#714091" />
+<rect x="10" y="20" width="1" height="1" fill="#714091" />
+<rect x="11" y="20" width="1" height="1" fill="#714091" />
+<rect x="12" y="20" width="1" height="1" fill="#714091" />
+<rect x="13" y="20" width="1" height="1" fill="#714091" />
+<rect x="14" y="20" width="1" height="1" fill="#714091" />
+<rect x="15" y="20" width="1" height="1" fill="#714091" />
+<rect x="16" y="20" width="1" height="1" fill="#714091" />
+<rect x="17" y="20" width="1" height="1" fill="#714091" />
+<rect x="18" y="20" width="1" height="1" fill="#714091" />
+<rect x="19" y="20" width="1" height="1" fill="#714091" />
+<rect x="20" y="20" width="1" height="1" fill="#44316E" />
+<rect x="21" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="20" width="1" height="1" fill="#44316E" />
+<rect x="23" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="20" width="1" height="1" fill="#44316E" />
+<rect x="26" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="20" width="1" height="1" fill="#44316E" />
+<rect x="28" y="20" width="1" height="1" fill="#714091" />
+<rect x="29" y="20" width="1" height="1" fill="#714091" />
+<rect x="30" y="20" width="1" height="1" fill="#714091" />
+<rect x="31" y="20" width="1" height="1" fill="#714091" />
+<rect x="32" y="20" width="1" height="1" fill="#714091" />
+<rect x="33" y="20" width="1" height="1" fill="#714091" />
+<rect x="34" y="20" width="1" height="1" fill="#714091" />
+<rect x="35" y="20" width="1" height="1" fill="#714091" />
+<rect x="36" y="20" width="1" height="1" fill="#714091" />
+<rect x="37" y="20" width="1" height="1" fill="#714091" />
+<rect x="38" y="20" width="1" height="1" fill="#714091" />
+<rect x="39" y="20" width="1" height="1" fill="#714091" />
+<rect x="40" y="20" width="1" height="1" fill="#714091" />
+<rect x="41" y="20" width="1" height="1" fill="#714091" />
+<rect x="42" y="20" width="1" height="1" fill="#714091" />
+<rect x="43" y="20" width="1" height="1" fill="#714091" />
+<rect x="44" y="20" width="1" height="1" fill="#553179" />
+<rect x="45" y="20" width="1" height="1" fill="#553179" />
+<rect x="46" y="20" width="1" height="1" fill="#553179" />
+<rect x="47" y="20" width="1" height="1" fill="#553179" />
+<rect x="0" y="21" width="1" height="1" fill="#553179" />
+<rect x="1" y="21" width="1" height="1" fill="#714091" />
+<rect x="2" y="21" width="1" height="1" fill="#714091" />
+<rect x="3" y="21" width="1" height="1" fill="#714091" />
+<rect x="4" y="21" width="1" height="1" fill="#714091" />
+<rect x="5" y="21" width="1" height="1" fill="#714091" />
+<rect x="6" y="21" width="1" height="1" fill="#714091" />
+<rect x="7" y="21" width="1" height="1" fill="#714091" />
+<rect x="8" y="21" width="1" height="1" fill="#714091" />
+<rect x="9" y="21" width="1" height="1" fill="#714091" />
+<rect x="10" y="21" width="1" height="1" fill="#714091" />
+<rect x="11" y="21" width="1" height="1" fill="#714091" />
+<rect x="12" y="21" width="1" height="1" fill="#714091" />
+<rect x="13" y="21" width="1" height="1" fill="#714091" />
+<rect x="14" y="21" width="1" height="1" fill="#714091" />
+<rect x="15" y="21" width="1" height="1" fill="#714091" />
+<rect x="16" y="21" width="1" height="1" fill="#714091" />
+<rect x="17" y="21" width="1" height="1" fill="#714091" />
+<rect x="18" y="21" width="1" height="1" fill="#714091" />
+<rect x="19" y="21" width="1" height="1" fill="#714091" />
+<rect x="20" y="21" width="1" height="1" fill="#44316E" />
+<rect x="21" y="21" width="1" height="1" fill="#44316E" />
+<rect x="22" y="21" width="1" height="1" fill="#44316E" />
+<rect x="23" y="21" width="1" height="1" fill="#44316E" />
+<rect x="24" y="21" width="1" height="1" fill="#44316E" />
+<rect x="25" y="21" width="1" height="1" fill="#44316E" />
+<rect x="26" y="21" width="1" height="1" fill="#44316E" />
+<rect x="27" y="21" width="1" height="1" fill="#44316E" />
+<rect x="28" y="21" width="1" height="1" fill="#714091" />
+<rect x="29" y="21" width="1" height="1" fill="#714091" />
+<rect x="30" y="21" width="1" height="1" fill="#714091" />
+<rect x="31" y="21" width="1" height="1" fill="#714091" />
+<rect x="32" y="21" width="1" height="1" fill="#714091" />
+<rect x="33" y="21" width="1" height="1" fill="#714091" />
+<rect x="34" y="21" width="1" height="1" fill="#714091" />
+<rect x="35" y="21" width="1" height="1" fill="#714091" />
+<rect x="36" y="21" width="1" height="1" fill="#714091" />
+<rect x="37" y="21" width="1" height="1" fill="#714091" />
+<rect x="38" y="21" width="1" height="1" fill="#714091" />
+<rect x="39" y="21" width="1" height="1" fill="#714091" />
+<rect x="40" y="21" width="1" height="1" fill="#714091" />
+<rect x="41" y="21" width="1" height="1" fill="#714091" />
+<rect x="42" y="21" width="1" height="1" fill="#714091" />
+<rect x="43" y="21" width="1" height="1" fill="#714091" />
+<rect x="44" y="21" width="1" height="1" fill="#553179" />
+<rect x="45" y="21" width="1" height="1" fill="#714091" />
+<rect x="46" y="21" width="1" height="1" fill="#553179" />
+<rect x="47" y="21" width="1" height="1" fill="#553179" />
+<rect x="0" y="22" width="1" height="1" fill="#553179" />
+<rect x="1" y="22" width="1" height="1" fill="#714091" />
+<rect x="2" y="22" width="1" height="1" fill="#553179" />
+<rect x="3" y="22" width="1" height="1" fill="#714091" />
+<rect x="4" y="22" width="1" height="1" fill="#714091" />
+<rect x="5" y="22" width="1" height="1" fill="#714091" />
+<rect x="6" y="22" width="1" height="1" fill="#714091" />
+<rect x="7" y="22" width="1" height="1" fill="#714091" />
+<rect x="8" y="22" width="1" height="1" fill="#714091" />
+<rect x="9" y="22" width="1" height="1" fill="#714091" />
+<rect x="10" y="22" width="1" height="1" fill="#714091" />
+<rect x="11" y="22" width="1" height="1" fill="#714091" />
+<rect x="12" y="22" width="1" height="1" fill="#714091" />
+<rect x="13" y="22" width="1" height="1" fill="#714091" />
+<rect x="14" y="22" width="1" height="1" fill="#714091" />
+<rect x="15" y="22" width="1" height="1" fill="#714091" />
+<rect x="16" y="22" width="1" height="1" fill="#714091" />
+<rect x="17" y="22" width="1" height="1" fill="#714091" />
+<rect x="18" y="22" width="1" height="1" fill="#714091" />
+<rect x="19" y="22" width="1" height="1" fill="#714091" />
+<rect x="20" y="22" width="1" height="1" fill="#44316E" />
+<rect x="21" y="22" width="1" height="1" fill="#44316E" />
+<rect x="22" y="22" width="1" height="1" fill="#44316E" />
+<rect x="23" y="22" width="1" height="1" fill="#44316E" />
+<rect x="24" y="22" width="1" height="1" fill="#44316E" />
+<rect x="25" y="22" width="1" height="1" fill="#44316E" />
+<rect x="26" y="22" width="1" height="1" fill="#44316E" />
+<rect x="27" y="22" width="1" height="1" fill="#44316E" />
+<rect x="28" y="22" width="1" height="1" fill="#714091" />
+<rect x="29" y="22" width="1" height="1" fill="#714091" />
+<rect x="30" y="22" width="1" height="1" fill="#714091" />
+<rect x="31" y="22" width="1" height="1" fill="#714091" />
+<rect x="32" y="22" width="1" height="1" fill="#714091" />
+<rect x="33" y="22" width="1" height="1" fill="#714091" />
+<rect x="34" y="22" width="1" height="1" fill="#714091" />
+<rect x="35" y="22" width="1" height="1" fill="#714091" />
+<rect x="36" y="22" width="1" height="1" fill="#714091" />
+<rect x="37" y="22" width="1" height="1" fill="#714091" />
+<rect x="38" y="22" width="1" height="1" fill="#714091" />
+<rect x="39" y="22" width="1" height="1" fill="#714091" />
+<rect x="40" y="22" width="1" height="1" fill="#714091" />
+<rect x="41" y="22" width="1" height="1" fill="#714091" />
+<rect x="42" y="22" width="1" height="1" fill="#714091" />
+<rect x="43" y="22" width="1" height="1" fill="#714091" />
+<rect x="44" y="22" width="1" height="1" fill="#714091" />
+<rect x="45" y="22" width="1" height="1" fill="#714091" />
+<rect x="46" y="22" width="1" height="1" fill="#553179" />
+<rect x="47" y="22" width="1" height="1" fill="#553179" />
+<rect x="0" y="23" width="1" height="1" fill="#553179" />
+<rect x="1" y="23" width="1" height="1" fill="#714091" />
+<rect x="2" y="23" width="1" height="1" fill="#553179" />
+<rect x="3" y="23" width="1" height="1" fill="#714091" />
+<rect x="4" y="23" width="1" height="1" fill="#714091" />
+<rect x="5" y="23" width="1" height="1" fill="#714091" />
+<rect x="6" y="23" width="1" height="1" fill="#714091" />
+<rect x="7" y="23" width="1" height="1" fill="#714091" />
+<rect x="8" y="23" width="1" height="1" fill="#714091" />
+<rect x="9" y="23" width="1" height="1" fill="#714091" />
+<rect x="10" y="23" width="1" height="1" fill="#714091" />
+<rect x="11" y="23" width="1" height="1" fill="#714091" />
+<rect x="12" y="23" width="1" height="1" fill="#714091" />
+<rect x="13" y="23" width="1" height="1" fill="#714091" />
+<rect x="14" y="23" width="1" height="1" fill="#714091" />
+<rect x="15" y="23" width="1" height="1" fill="#714091" />
+<rect x="16" y="23" width="1" height="1" fill="#714091" />
+<rect x="17" y="23" width="1" height="1" fill="#714091" />
+<rect x="18" y="23" width="1" height="1" fill="#714091" />
+<rect x="19" y="23" width="1" height="1" fill="#714091" />
+<rect x="20" y="23" width="1" height="1" fill="#44316E" />
+<rect x="21" y="23" width="1" height="1" fill="#44316E" />
+<rect x="22" y="23" width="1" height="1" fill="#44316E" />
+<rect x="23" y="23" width="1" height="1" fill="#714091" />
+<rect x="24" y="23" width="1" height="1" fill="#714091" />
+<rect x="25" y="23" width="1" height="1" fill="#44316E" />
+<rect x="26" y="23" width="1" height="1" fill="#44316E" />
+<rect x="27" y="23" width="1" height="1" fill="#44316E" />
+<rect x="28" y="23" width="1" height="1" fill="#714091" />
+<rect x="29" y="23" width="1" height="1" fill="#714091" />
+<rect x="30" y="23" width="1" height="1" fill="#714091" />
+<rect x="31" y="23" width="1" height="1" fill="#714091" />
+<rect x="32" y="23" width="1" height="1" fill="#714091" />
+<rect x="33" y="23" width="1" height="1" fill="#714091" />
+<rect x="34" y="23" width="1" height="1" fill="#714091" />
+<rect x="35" y="23" width="1" height="1" fill="#714091" />
+<rect x="36" y="23" width="1" height="1" fill="#714091" />
+<rect x="37" y="23" width="1" height="1" fill="#714091" />
+<rect x="38" y="23" width="1" height="1" fill="#714091" />
+<rect x="39" y="23" width="1" height="1" fill="#714091" />
+<rect x="40" y="23" width="1" height="1" fill="#714091" />
+<rect x="41" y="23" width="1" height="1" fill="#714091" />
+<rect x="42" y="23" width="1" height="1" fill="#714091" />
+<rect x="43" y="23" width="1" height="1" fill="#714091" />
+<rect x="44" y="23" width="1" height="1" fill="#714091" />
+<rect x="45" y="23" width="1" height="1" fill="#553179" />
+<rect x="46" y="23" width="1" height="1" fill="#553179" />
+<rect x="47" y="23" width="1" height="1" fill="#553179" />
+<rect x="0" y="24" width="1" height="1" fill="#553179" />
+<rect x="1" y="24" width="1" height="1" fill="#714091" />
+<rect x="2" y="24" width="1" height="1" fill="#553179" />
+<rect x="3" y="24" width="1" height="1" fill="#553179" />
+<rect x="4" y="24" width="1" height="1" fill="#714091" />
+<rect x="5" y="24" width="1" height="1" fill="#714091" />
+<rect x="6" y="24" width="1" height="1" fill="#714091" />
+<rect x="7" y="24" width="1" height="1" fill="#714091" />
+<rect x="8" y="24" width="1" height="1" fill="#714091" />
+<rect x="9" y="24" width="1" height="1" fill="#714091" />
+<rect x="10" y="24" width="1" height="1" fill="#714091" />
+<rect x="11" y="24" width="1" height="1" fill="#714091" />
+<rect x="12" y="24" width="1" height="1" fill="#714091" />
+<rect x="13" y="24" width="1" height="1" fill="#714091" />
+<rect x="14" y="24" width="1" height="1" fill="#714091" />
+<rect x="15" y="24" width="1" height="1" fill="#714091" />
+<rect x="16" y="24" width="1" height="1" fill="#714091" />
+<rect x="17" y="24" width="1" height="1" fill="#714091" />
+<rect x="18" y="24" width="1" height="1" fill="#714091" />
+<rect x="19" y="24" width="1" height="1" fill="#714091" />
+<rect x="20" y="24" width="1" height="1" fill="#44316E" />
+<rect x="21" y="24" width="1" height="1" fill="#44316E" />
+<rect x="22" y="24" width="1" height="1" fill="#44316E" />
+<rect x="23" y="24" width="1" height="1" fill="#714091" />
+<rect x="24" y="24" width="1" height="1" fill="#714091" />
+<rect x="25" y="24" width="1" height="1" fill="#44316E" />
+<rect x="26" y="24" width="1" height="1" fill="#44316E" />
+<rect x="27" y="24" width="1" height="1" fill="#44316E" />
+<rect x="28" y="24" width="1" height="1" fill="#714091" />
+<rect x="29" y="24" width="1" height="1" fill="#714091" />
+<rect x="30" y="24" width="1" height="1" fill="#714091" />
+<rect x="31" y="24" width="1" height="1" fill="#714091" />
+<rect x="32" y="24" width="1" height="1" fill="#714091" />
+<rect x="33" y="24" width="1" height="1" fill="#714091" />
+<rect x="34" y="24" width="1" height="1" fill="#714091" />
+<rect x="35" y="24" width="1" height="1" fill="#714091" />
+<rect x="36" y="24" width="1" height="1" fill="#714091" />
+<rect x="37" y="24" width="1" height="1" fill="#714091" />
+<rect x="38" y="24" width="1" height="1" fill="#714091" />
+<rect x="39" y="24" width="1" height="1" fill="#714091" />
+<rect x="40" y="24" width="1" height="1" fill="#714091" />
+<rect x="41" y="24" width="1" height="1" fill="#553179" />
+<rect x="42" y="24" width="1" height="1" fill="#714091" />
+<rect x="43" y="24" width="1" height="1" fill="#714091" />
+<rect x="44" y="24" width="1" height="1" fill="#714091" />
+<rect x="45" y="24" width="1" height="1" fill="#553179" />
+<rect x="46" y="24" width="1" height="1" fill="#553179" />
+<rect x="47" y="24" width="1" height="1" fill="#553179" />
+<rect x="0" y="25" width="1" height="1" fill="#553179" />
+<rect x="1" y="25" width="1" height="1" fill="#553179" />
+<rect x="2" y="25" width="1" height="1" fill="#553179" />
+<rect x="3" y="25" width="1" height="1" fill="#553179" />
+<rect x="4" y="25" width="1" height="1" fill="#553179" />
+<rect x="5" y="25" width="1" height="1" fill="#714091" />
+<rect x="6" y="25" width="1" height="1" fill="#714091" />
+<rect x="7" y="25" width="1" height="1" fill="#714091" />
+<rect x="8" y="25" width="1" height="1" fill="#714091" />
+<rect x="9" y="25" width="1" height="1" fill="#714091" />
+<rect x="10" y="25" width="1" height="1" fill="#714091" />
+<rect x="11" y="25" width="1" height="1" fill="#714091" />
+<rect x="12" y="25" width="1" height="1" fill="#714091" />
+<rect x="13" y="25" width="1" height="1" fill="#714091" />
+<rect x="14" y="25" width="1" height="1" fill="#714091" />
+<rect x="15" y="25" width="1" height="1" fill="#714091" />
+<rect x="16" y="25" width="1" height="1" fill="#714091" />
+<rect x="17" y="25" width="1" height="1" fill="#714091" />
+<rect x="18" y="25" width="1" height="1" fill="#714091" />
+<rect x="19" y="25" width="1" height="1" fill="#714091" />
+<rect x="20" y="25" width="1" height="1" fill="#44316E" />
+<rect x="21" y="25" width="1" height="1" fill="#44316E" />
+<rect x="22" y="25" width="1" height="1" fill="#44316E" />
+<rect x="23" y="25" width="1" height="1" fill="#714091" />
+<rect x="24" y="25" width="1" height="1" fill="#714091" />
+<rect x="25" y="25" width="1" height="1" fill="#44316E" />
+<rect x="26" y="25" width="1" height="1" fill="#44316E" />
+<rect x="27" y="25" width="1" height="1" fill="#44316E" />
+<rect x="28" y="25" width="1" height="1" fill="#714091" />
+<rect x="29" y="25" width="1" height="1" fill="#714091" />
+<rect x="30" y="25" width="1" height="1" fill="#714091" />
+<rect x="31" y="25" width="1" height="1" fill="#714091" />
+<rect x="32" y="25" width="1" height="1" fill="#714091" />
+<rect x="33" y="25" width="1" height="1" fill="#714091" />
+<rect x="34" y="25" width="1" height="1" fill="#714091" />
+<rect x="35" y="25" width="1" height="1" fill="#714091" />
+<rect x="36" y="25" width="1" height="1" fill="#714091" />
+<rect x="37" y="25" width="1" height="1" fill="#714091" />
+<rect x="38" y="25" width="1" height="1" fill="#714091" />
+<rect x="39" y="25" width="1" height="1" fill="#553179" />
+<rect x="40" y="25" width="1" height="1" fill="#553179" />
+<rect x="41" y="25" width="1" height="1" fill="#553179" />
+<rect x="42" y="25" width="1" height="1" fill="#714091" />
+<rect x="43" y="25" width="1" height="1" fill="#714091" />
+<rect x="44" y="25" width="1" height="1" fill="#553179" />
+<rect x="45" y="25" width="1" height="1" fill="#553179" />
+<rect x="46" y="25" width="1" height="1" fill="#553179" />
+<rect x="47" y="25" width="1" height="1" fill="#553179" />
+<rect x="0" y="26" width="1" height="1" fill="#553179" />
+<rect x="1" y="26" width="1" height="1" fill="#553179" />
+<rect x="2" y="26" width="1" height="1" fill="#714091" />
+<rect x="3" y="26" width="1" height="1" fill="#553179" />
+<rect x="4" y="26" width="1" height="1" fill="#553179" />
+<rect x="5" y="26" width="1" height="1" fill="#553179" />
+<rect x="6" y="26" width="1" height="1" fill="#714091" />
+<rect x="7" y="26" width="1" height="1" fill="#714091" />
+<rect x="8" y="26" width="1" height="1" fill="#714091" />
+<rect x="9" y="26" width="1" height="1" fill="#714091" />
+<rect x="10" y="26" width="1" height="1" fill="#714091" />
+<rect x="11" y="26" width="1" height="1" fill="#714091" />
+<rect x="12" y="26" width="1" height="1" fill="#714091" />
+<rect x="13" y="26" width="1" height="1" fill="#714091" />
+<rect x="14" y="26" width="1" height="1" fill="#714091" />
+<rect x="15" y="26" width="1" height="1" fill="#714091" />
+<rect x="16" y="26" width="1" height="1" fill="#714091" />
+<rect x="17" y="26" width="1" height="1" fill="#714091" />
+<rect x="18" y="26" width="1" height="1" fill="#714091" />
+<rect x="19" y="26" width="1" height="1" fill="#714091" />
+<rect x="20" y="26" width="1" height="1" fill="#44316E" />
+<rect x="21" y="26" width="1" height="1" fill="#44316E" />
+<rect x="22" y="26" width="1" height="1" fill="#44316E" />
+<rect x="23" y="26" width="1" height="1" fill="#44316E" />
+<rect x="24" y="26" width="1" height="1" fill="#44316E" />
+<rect x="25" y="26" width="1" height="1" fill="#44316E" />
+<rect x="26" y="26" width="1" height="1" fill="#44316E" />
+<rect x="27" y="26" width="1" height="1" fill="#44316E" />
+<rect x="28" y="26" width="1" height="1" fill="#714091" />
+<rect x="29" y="26" width="1" height="1" fill="#714091" />
+<rect x="30" y="26" width="1" height="1" fill="#714091" />
+<rect x="31" y="26" width="1" height="1" fill="#714091" />
+<rect x="32" y="26" width="1" height="1" fill="#714091" />
+<rect x="33" y="26" width="1" height="1" fill="#714091" />
+<rect x="34" y="26" width="1" height="1" fill="#714091" />
+<rect x="35" y="26" width="1" height="1" fill="#714091" />
+<rect x="36" y="26" width="1" height="1" fill="#714091" />
+<rect x="37" y="26" width="1" height="1" fill="#553179" />
+<rect x="38" y="26" width="1" height="1" fill="#553179" />
+<rect x="39" y="26" width="1" height="1" fill="#553179" />
+<rect x="40" y="26" width="1" height="1" fill="#553179" />
+<rect x="41" y="26" width="1" height="1" fill="#553179" />
+<rect x="42" y="26" width="1" height="1" fill="#553179" />
+<rect x="43" y="26" width="1" height="1" fill="#714091" />
+<rect x="44" y="26" width="1" height="1" fill="#553179" />
+<rect x="45" y="26" width="1" height="1" fill="#553179" />
+<rect x="46" y="26" width="1" height="1" fill="#553179" />
+<rect x="47" y="26" width="1" height="1" fill="#553179" />
+<rect x="0" y="27" width="1" height="1" fill="#553179" />
+<rect x="1" y="27" width="1" height="1" fill="#553179" />
+<rect x="2" y="27" width="1" height="1" fill="#714091" />
+<rect x="3" y="27" width="1" height="1" fill="#714091" />
+<rect x="4" y="27" width="1" height="1" fill="#553179" />
+<rect x="5" y="27" width="1" height="1" fill="#553179" />
+<rect x="6" y="27" width="1" height="1" fill="#553179" />
+<rect x="7" y="27" width="1" height="1" fill="#553179" />
+<rect x="8" y="27" width="1" height="1" fill="#714091" />
+<rect x="9" y="27" width="1" height="1" fill="#714091" />
+<rect x="10" y="27" width="1" height="1" fill="#714091" />
+<rect x="11" y="27" width="1" height="1" fill="#714091" />
+<rect x="12" y="27" width="1" height="1" fill="#714091" />
+<rect x="13" y="27" width="1" height="1" fill="#714091" />
+<rect x="14" y="27" width="1" height="1" fill="#714091" />
+<rect x="15" y="27" width="1" height="1" fill="#714091" />
+<rect x="16" y="27" width="1" height="1" fill="#714091" />
+<rect x="17" y="27" width="1" height="1" fill="#714091" />
+<rect x="18" y="27" width="1" height="1" fill="#714091" />
+<rect x="19" y="27" width="1" height="1" fill="#44316E" />
+<rect x="20" y="27" width="1" height="1" fill="#44316E" />
+<rect x="21" y="27" width="1" height="1" fill="#44316E" />
+<rect x="22" y="27" width="1" height="1" fill="#44316E" />
+<rect x="23" y="27" width="1" height="1" fill="#714091" />
+<rect x="24" y="27" width="1" height="1" fill="#714091" />
+<rect x="25" y="27" width="1" height="1" fill="#44316E" />
+<rect x="26" y="27" width="1" height="1" fill="#44316E" />
+<rect x="27" y="27" width="1" height="1" fill="#44316E" />
+<rect x="28" y="27" width="1" height="1" fill="#44316E" />
+<rect x="29" y="27" width="1" height="1" fill="#714091" />
+<rect x="30" y="27" width="1" height="1" fill="#714091" />
+<rect x="31" y="27" width="1" height="1" fill="#714091" />
+<rect x="32" y="27" width="1" height="1" fill="#714091" />
+<rect x="33" y="27" width="1" height="1" fill="#714091" />
+<rect x="34" y="27" width="1" height="1" fill="#714091" />
+<rect x="35" y="27" width="1" height="1" fill="#553179" />
+<rect x="36" y="27" width="1" height="1" fill="#553179" />
+<rect x="37" y="27" width="1" height="1" fill="#553179" />
+<rect x="38" y="27" width="1" height="1" fill="#553179" />
+<rect x="39" y="27" width="1" height="1" fill="#553179" />
+<rect x="40" y="27" width="1" height="1" fill="#553179" />
+<rect x="41" y="27" width="1" height="1" fill="#553179" />
+<rect x="42" y="27" width="1" height="1" fill="#714091" />
+<rect x="43" y="27" width="1" height="1" fill="#714091" />
+<rect x="44" y="27" width="1" height="1" fill="#553179" />
+<rect x="45" y="27" width="1" height="1" fill="#553179" />
+<rect x="46" y="27" width="1" height="1" fill="#714091" />
+<rect x="47" y="27" width="1" height="1" fill="#553179" />
+<rect x="0" y="28" width="1" height="1" fill="#342556" />
+<rect x="1" y="28" width="1" height="1" fill="#342556" />
+<rect x="2" y="28" width="1" height="1" fill="#342556" />
+<rect x="3" y="28" width="1" height="1" fill="#44316E" />
+<rect x="4" y="28" width="1" height="1" fill="#342556" />
+<rect x="5" y="28" width="1" height="1" fill="#342556" />
+<rect x="6" y="28" width="1" height="1" fill="#342556" />
+<rect x="7" y="28" width="1" height="1" fill="#342556" />
+<rect x="8" y="28" width="1" height="1" fill="#342556" />
+<rect x="9" y="28" width="1" height="1" fill="#44316E" />
+<rect x="10" y="28" width="1" height="1" fill="#44316E" />
+<rect x="11" y="28" width="1" height="1" fill="#44316E" />
+<rect x="12" y="28" width="1" height="1" fill="#44316E" />
+<rect x="13" y="28" width="1" height="1" fill="#44316E" />
+<rect x="14" y="28" width="1" height="1" fill="#44316E" />
+<rect x="15" y="28" width="1" height="1" fill="#44316E" />
+<rect x="16" y="28" width="1" height="1" fill="#44316E" />
+<rect x="17" y="28" width="1" height="1" fill="#44316E" />
+<rect x="18" y="28" width="1" height="1" fill="#44316E" />
+<rect x="19" y="28" width="1" height="1" fill="#44316E" />
+<rect x="20" y="28" width="1" height="1" fill="#44316E" />
+<rect x="21" y="28" width="1" height="1" fill="#44316E" />
+<rect x="22" y="28" width="1" height="1" fill="#44316E" />
+<rect x="23" y="28" width="1" height="1" fill="#714091" />
+<rect x="24" y="28" width="1" height="1" fill="#714091" />
+<rect x="25" y="28" width="1" height="1" fill="#44316E" />
+<rect x="26" y="28" width="1" height="1" fill="#44316E" />
+<rect x="27" y="28" width="1" height="1" fill="#44316E" />
+<rect x="28" y="28" width="1" height="1" fill="#44316E" />
+<rect x="29" y="28" width="1" height="1" fill="#44316E" />
+<rect x="30" y="28" width="1" height="1" fill="#44316E" />
+<rect x="31" y="28" width="1" height="1" fill="#44316E" />
+<rect x="32" y="28" width="1" height="1" fill="#342556" />
+<rect x="33" y="28" width="1" height="1" fill="#342556" />
+<rect x="34" y="28" width="1" height="1" fill="#342556" />
+<rect x="35" y="28" width="1" height="1" fill="#342556" />
+<rect x="36" y="28" width="1" height="1" fill="#342556" />
+<rect x="37" y="28" width="1" height="1" fill="#342556" />
+<rect x="38" y="28" width="1" height="1" fill="#44316E" />
+<rect x="39" y="28" width="1" height="1" fill="#342556" />
+<rect x="40" y="28" width="1" height="1" fill="#342556" />
+<rect x="41" y="28" width="1" height="1" fill="#44316E" />
+<rect x="42" y="28" width="1" height="1" fill="#44316E" />
+<rect x="43" y="28" width="1" height="1" fill="#342556" />
+<rect x="44" y="28" width="1" height="1" fill="#342556" />
+<rect x="45" y="28" width="1" height="1" fill="#44316E" />
+<rect x="46" y="28" width="1" height="1" fill="#44316E" />
+<rect x="47" y="28" width="1" height="1" fill="#342556" />
+<rect x="0" y="29" width="1" height="1" fill="#342556" />
+<rect x="1" y="29" width="1" height="1" fill="#342556" />
+<rect x="2" y="29" width="1" height="1" fill="#342556" />
+<rect x="3" y="29" width="1" height="1" fill="#342556" />
+<rect x="4" y="29" width="1" height="1" fill="#342556" />
+<rect x="5" y="29" width="1" height="1" fill="#342556" />
+<rect x="6" y="29" width="1" height="1" fill="#342556" />
+<rect x="7" y="29" width="1" height="1" fill="#342556" />
+<rect x="8" y="29" width="1" height="1" fill="#342556" />
+<rect x="9" y="29" width="1" height="1" fill="#342556" />
+<rect x="10" y="29" width="1" height="1" fill="#342556" />
+<rect x="11" y="29" width="1" height="1" fill="#342556" />
+<rect x="12" y="29" width="1" height="1" fill="#44316E" />
+<rect x="13" y="29" width="1" height="1" fill="#44316E" />
+<rect x="14" y="29" width="1" height="1" fill="#44316E" />
+<rect x="15" y="29" width="1" height="1" fill="#44316E" />
+<rect x="16" y="29" width="1" height="1" fill="#44316E" />
+<rect x="17" y="29" width="1" height="1" fill="#44316E" />
+<rect x="18" y="29" width="1" height="1" fill="#44316E" />
+<rect x="19" y="29" width="1" height="1" fill="#44316E" />
+<rect x="20" y="29" width="1" height="1" fill="#44316E" />
+<rect x="21" y="29" width="1" height="1" fill="#44316E" />
+<rect x="22" y="29" width="1" height="1" fill="#44316E" />
+<rect x="23" y="29" width="1" height="1" fill="#44316E" />
+<rect x="24" y="29" width="1" height="1" fill="#44316E" />
+<rect x="25" y="29" width="1" height="1" fill="#44316E" />
+<rect x="26" y="29" width="1" height="1" fill="#44316E" />
+<rect x="27" y="29" width="1" height="1" fill="#44316E" />
+<rect x="28" y="29" width="1" height="1" fill="#44316E" />
+<rect x="29" y="29" width="1" height="1" fill="#44316E" />
+<rect x="30" y="29" width="1" height="1" fill="#342556" />
+<rect x="31" y="29" width="1" height="1" fill="#342556" />
+<rect x="32" y="29" width="1" height="1" fill="#342556" />
+<rect x="33" y="29" width="1" height="1" fill="#342556" />
+<rect x="34" y="29" width="1" height="1" fill="#342556" />
+<rect x="35" y="29" width="1" height="1" fill="#342556" />
+<rect x="36" y="29" width="1" height="1" fill="#44316E" />
+<rect x="37" y="29" width="1" height="1" fill="#44316E" />
+<rect x="38" y="29" width="1" height="1" fill="#342556" />
+<rect x="39" y="29" width="1" height="1" fill="#342556" />
+<rect x="40" y="29" width="1" height="1" fill="#342556" />
+<rect x="41" y="29" width="1" height="1" fill="#44316E" />
+<rect x="42" y="29" width="1" height="1" fill="#342556" />
+<rect x="43" y="29" width="1" height="1" fill="#342556" />
+<rect x="44" y="29" width="1" height="1" fill="#342556" />
+<rect x="45" y="29" width="1" height="1" fill="#44316E" />
+<rect x="46" y="29" width="1" height="1" fill="#342556" />
+<rect x="47" y="29" width="1" height="1" fill="#342556" />
+<rect x="1" y="30" width="1" height="1" fill="#342556" />
+<rect x="2" y="30" width="1" height="1" fill="#342556" />
+<rect x="3" y="30" width="1" height="1" fill="#342556" />
+<rect x="4" y="30" width="1" height="1" fill="#342556" />
+<rect x="5" y="30" width="1" height="1" fill="#342556" />
+<rect x="6" y="30" width="1" height="1" fill="#342556" />
+<rect x="7" y="30" width="1" height="1" fill="#342556" />
+<rect x="8" y="30" width="1" height="1" fill="#342556" />
+<rect x="9" y="30" width="1" height="1" fill="#44316E" />
+<rect x="10" y="30" width="1" height="1" fill="#44316E" />
+<rect x="11" y="30" width="1" height="1" fill="#44316E" />
+<rect x="12" y="30" width="1" height="1" fill="#44316E" />
+<rect x="13" y="30" width="1" height="1" fill="#44316E" />
+<rect x="14" y="30" width="1" height="1" fill="#44316E" />
+<rect x="15" y="30" width="1" height="1" fill="#44316E" />
+<rect x="16" y="30" width="1" height="1" fill="#44316E" />
+<rect x="17" y="30" width="1" height="1" fill="#44316E" />
+<rect x="18" y="30" width="1" height="1" fill="#44316E" />
+<rect x="19" y="30" width="1" height="1" fill="#44316E" />
+<rect x="20" y="30" width="1" height="1" fill="#44316E" />
+<rect x="21" y="30" width="1" height="1" fill="#44316E" />
+<rect x="22" y="30" width="1" height="1" fill="#44316E" />
+<rect x="23" y="30" width="1" height="1" fill="#44316E" />
+<rect x="24" y="30" width="1" height="1" fill="#44316E" />
+<rect x="25" y="30" width="1" height="1" fill="#44316E" />
+<rect x="26" y="30" width="1" height="1" fill="#44316E" />
+<rect x="27" y="30" width="1" height="1" fill="#44316E" />
+<rect x="28" y="30" width="1" height="1" fill="#44316E" />
+<rect x="29" y="30" width="1" height="1" fill="#44316E" />
+<rect x="30" y="30" width="1" height="1" fill="#44316E" />
+<rect x="31" y="30" width="1" height="1" fill="#44316E" />
+<rect x="32" y="30" width="1" height="1" fill="#44316E" />
+<rect x="33" y="30" width="1" height="1" fill="#44316E" />
+<rect x="34" y="30" width="1" height="1" fill="#44316E" />
+<rect x="35" y="30" width="1" height="1" fill="#44316E" />
+<rect x="36" y="30" width="1" height="1" fill="#44316E" />
+<rect x="37" y="30" width="1" height="1" fill="#44316E" />
+<rect x="38" y="30" width="1" height="1" fill="#342556" />
+<rect x="39" y="30" width="1" height="1" fill="#342556" />
+<rect x="40" y="30" width="1" height="1" fill="#342556" />
+<rect x="41" y="30" width="1" height="1" fill="#342556" />
+<rect x="42" y="30" width="1" height="1" fill="#342556" />
+<rect x="43" y="30" width="1" height="1" fill="#342556" />
+<rect x="44" y="30" width="1" height="1" fill="#342556" />
+<rect x="45" y="30" width="1" height="1" fill="#342556" />
+<rect x="46" y="30" width="1" height="1" fill="#342556" />
+<rect x="2" y="31" width="1" height="1" fill="#342556" />
+<rect x="3" y="31" width="1" height="1" fill="#342556" />
+<rect x="4" y="31" width="1" height="1" fill="#342556" />
+<rect x="5" y="31" width="1" height="1" fill="#342556" />
+<rect x="6" y="31" width="1" height="1" fill="#342556" />
+<rect x="7" y="31" width="1" height="1" fill="#342556" />
+<rect x="8" y="31" width="1" height="1" fill="#342556" />
+<rect x="9" y="31" width="1" height="1" fill="#342556" />
+<rect x="10" y="31" width="1" height="1" fill="#342556" />
+<rect x="11" y="31" width="1" height="1" fill="#342556" />
+<rect x="12" y="31" width="1" height="1" fill="#342556" />
+<rect x="13" y="31" width="1" height="1" fill="#342556" />
+<rect x="14" y="31" width="1" height="1" fill="#342556" />
+<rect x="15" y="31" width="1" height="1" fill="#342556" />
+<rect x="16" y="31" width="1" height="1" fill="#342556" />
+<rect x="17" y="31" width="1" height="1" fill="#342556" />
+<rect x="18" y="31" width="1" height="1" fill="#342556" />
+<rect x="19" y="31" width="1" height="1" fill="#342556" />
+<rect x="20" y="31" width="1" height="1" fill="#342556" />
+<rect x="21" y="31" width="1" height="1" fill="#342556" />
+<rect x="22" y="31" width="1" height="1" fill="#342556" />
+<rect x="23" y="31" width="1" height="1" fill="#342556" />
+<rect x="24" y="31" width="1" height="1" fill="#342556" />
+<rect x="25" y="31" width="1" height="1" fill="#342556" />
+<rect x="26" y="31" width="1" height="1" fill="#342556" />
+<rect x="27" y="31" width="1" height="1" fill="#342556" />
+<rect x="28" y="31" width="1" height="1" fill="#342556" />
+<rect x="29" y="31" width="1" height="1" fill="#342556" />
+<rect x="30" y="31" width="1" height="1" fill="#342556" />
+<rect x="31" y="31" width="1" height="1" fill="#342556" />
+<rect x="32" y="31" width="1" height="1" fill="#342556" />
+<rect x="33" y="31" width="1" height="1" fill="#342556" />
+<rect x="34" y="31" width="1" height="1" fill="#342556" />
+<rect x="35" y="31" width="1" height="1" fill="#342556" />
+<rect x="36" y="31" width="1" height="1" fill="#342556" />
+<rect x="37" y="31" width="1" height="1" fill="#342556" />
+<rect x="38" y="31" width="1" height="1" fill="#342556" />
+<rect x="39" y="31" width="1" height="1" fill="#342556" />
+<rect x="40" y="31" width="1" height="1" fill="#342556" />
+<rect x="41" y="31" width="1" height="1" fill="#342556" />
+<rect x="42" y="31" width="1" height="1" fill="#342556" />
+<rect x="43" y="31" width="1" height="1" fill="#342556" />
+<rect x="44" y="31" width="1" height="1" fill="#342556" />
+<rect x="45" y="31" width="1" height="1" fill="#342556" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Batanoka.svg b/Edikoyo/.obsidian/icons/flags/Batanoka.svg
new file mode 100644
index 0000000..97f2b94
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Batanoka.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="4" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="7" y="0" width="1" height="1" fill="#C65933" />
+<rect x="8" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="9" y="0" width="1" height="1" fill="#C65933" />
+<rect x="10" y="0" width="1" height="1" fill="#C65933" />
+<rect x="11" y="0" width="1" height="1" fill="#C65933" />
+<rect x="12" y="0" width="1" height="1" fill="#C65933" />
+<rect x="13" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="14" y="0" width="1" height="1" fill="#C65933" />
+<rect x="15" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="16" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="17" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="18" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="19" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="20" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="21" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="22" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="23" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="24" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="25" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="26" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="27" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="28" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="29" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="30" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="31" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="32" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="33" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="34" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="35" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="36" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="37" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="38" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="39" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="42" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="43" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="44" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="0" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="4" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="7" y="1" width="1" height="1" fill="#C65933" />
+<rect x="8" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="9" y="1" width="1" height="1" fill="#C65933" />
+<rect x="10" y="1" width="1" height="1" fill="#D17641" />
+<rect x="11" y="1" width="1" height="1" fill="#D17641" />
+<rect x="12" y="1" width="1" height="1" fill="#D17641" />
+<rect x="13" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="1" width="1" height="1" fill="#D17641" />
+<rect x="15" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="34" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="35" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="36" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="37" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="38" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="39" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="1" width="1" height="1" fill="#7A367B" />
+<rect x="41" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="42" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="43" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="44" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="1" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="4" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="2" width="1" height="1" fill="#D17641" />
+<rect x="8" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="2" width="1" height="1" fill="#D17641" />
+<rect x="10" y="2" width="1" height="1" fill="#D17641" />
+<rect x="11" y="2" width="1" height="1" fill="#D17641" />
+<rect x="12" y="2" width="1" height="1" fill="#D17641" />
+<rect x="13" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="2" width="1" height="1" fill="#D17641" />
+<rect x="15" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="38" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="39" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="2" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="43" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="44" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="2" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="4" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="7" y="3" width="1" height="1" fill="#D17641" />
+<rect x="8" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="3" width="1" height="1" fill="#D17641" />
+<rect x="10" y="3" width="1" height="1" fill="#D17641" />
+<rect x="11" y="3" width="1" height="1" fill="#D17641" />
+<rect x="12" y="3" width="1" height="1" fill="#D17641" />
+<rect x="13" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="3" width="1" height="1" fill="#D17641" />
+<rect x="15" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="3" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="36" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="37" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="38" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="39" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="42" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="43" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="44" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="3" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="3" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="7" y="4" width="1" height="1" fill="#D17641" />
+<rect x="8" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="4" width="1" height="1" fill="#D17641" />
+<rect x="10" y="4" width="1" height="1" fill="#D17641" />
+<rect x="11" y="4" width="1" height="1" fill="#D17641" />
+<rect x="12" y="4" width="1" height="1" fill="#D17641" />
+<rect x="13" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="4" width="1" height="1" fill="#D17641" />
+<rect x="15" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="4" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="37" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="38" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="39" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="42" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="43" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="44" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="4" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="7" y="5" width="1" height="1" fill="#D17641" />
+<rect x="8" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="5" width="1" height="1" fill="#D17641" />
+<rect x="10" y="5" width="1" height="1" fill="#D17641" />
+<rect x="11" y="5" width="1" height="1" fill="#D17641" />
+<rect x="12" y="5" width="1" height="1" fill="#D17641" />
+<rect x="13" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="5" width="1" height="1" fill="#D17641" />
+<rect x="15" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="39" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="42" y="5" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="44" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="5" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="6" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="6" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="6" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="6" width="1" height="1" fill="#5C2960" />
+<rect x="4" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="6" width="1" height="1" fill="#D17641" />
+<rect x="8" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="6" width="1" height="1" fill="#D17641" />
+<rect x="10" y="6" width="1" height="1" fill="#D17641" />
+<rect x="11" y="6" width="1" height="1" fill="#D17641" />
+<rect x="12" y="6" width="1" height="1" fill="#D17641" />
+<rect x="13" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="6" width="1" height="1" fill="#D17641" />
+<rect x="15" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="6" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="6" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="6" width="1" height="1" fill="#5C2960" />
+<rect x="42" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="6" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="6" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="6" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="6" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="6" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="7" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="7" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="7" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="7" width="1" height="1" fill="#5C2960" />
+<rect x="4" y="7" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="7" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="7" width="1" height="1" fill="#D17641" />
+<rect x="8" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="7" width="1" height="1" fill="#D17641" />
+<rect x="10" y="7" width="1" height="1" fill="#D17641" />
+<rect x="11" y="7" width="1" height="1" fill="#D17641" />
+<rect x="12" y="7" width="1" height="1" fill="#D17641" />
+<rect x="13" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="7" width="1" height="1" fill="#D17641" />
+<rect x="15" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="7" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="7" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="7" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="7" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="7" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="7" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="7" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="8" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="8" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="3" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="8" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="8" width="1" height="1" fill="#5C2960" />
+<rect x="7" y="8" width="1" height="1" fill="#D17641" />
+<rect x="8" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="8" width="1" height="1" fill="#D17641" />
+<rect x="10" y="8" width="1" height="1" fill="#D17641" />
+<rect x="11" y="8" width="1" height="1" fill="#D17641" />
+<rect x="12" y="8" width="1" height="1" fill="#D17641" />
+<rect x="13" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="8" width="1" height="1" fill="#D17641" />
+<rect x="15" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="8" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="8" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="8" width="1" height="1" fill="#7A367B" />
+<rect x="45" y="8" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="8" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="8" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="9" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="9" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="3" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="9" width="1" height="1" fill="#D17641" />
+<rect x="8" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="9" width="1" height="1" fill="#D17641" />
+<rect x="10" y="9" width="1" height="1" fill="#D17641" />
+<rect x="11" y="9" width="1" height="1" fill="#D17641" />
+<rect x="12" y="9" width="1" height="1" fill="#D17641" />
+<rect x="13" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="9" width="1" height="1" fill="#D17641" />
+<rect x="15" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="9" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="9" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="45" y="9" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="9" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="9" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="10" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="10" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="3" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="10" width="1" height="1" fill="#D17641" />
+<rect x="8" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="10" width="1" height="1" fill="#D17641" />
+<rect x="10" y="10" width="1" height="1" fill="#D17641" />
+<rect x="11" y="10" width="1" height="1" fill="#D17641" />
+<rect x="12" y="10" width="1" height="1" fill="#D17641" />
+<rect x="13" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="10" width="1" height="1" fill="#D17641" />
+<rect x="15" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="40" y="10" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="45" y="10" width="1" height="1" fill="#7A367B" />
+<rect x="46" y="10" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="10" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="11" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="11" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="3" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="11" width="1" height="1" fill="#D17641" />
+<rect x="8" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="11" width="1" height="1" fill="#D17641" />
+<rect x="10" y="11" width="1" height="1" fill="#D17641" />
+<rect x="11" y="11" width="1" height="1" fill="#D17641" />
+<rect x="12" y="11" width="1" height="1" fill="#D17641" />
+<rect x="13" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="11" width="1" height="1" fill="#D17641" />
+<rect x="15" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="40" y="11" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="45" y="11" width="1" height="1" fill="#7A367B" />
+<rect x="46" y="11" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="11" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="12" width="1" height="1" fill="#C65933" />
+<rect x="1" y="12" width="1" height="1" fill="#D17641" />
+<rect x="2" y="12" width="1" height="1" fill="#D17641" />
+<rect x="3" y="12" width="1" height="1" fill="#D17641" />
+<rect x="4" y="12" width="1" height="1" fill="#D17641" />
+<rect x="5" y="12" width="1" height="1" fill="#D17641" />
+<rect x="6" y="12" width="1" height="1" fill="#D17641" />
+<rect x="7" y="12" width="1" height="1" fill="#D17641" />
+<rect x="8" y="12" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="12" width="1" height="1" fill="#D17641" />
+<rect x="10" y="12" width="1" height="1" fill="#D17641" />
+<rect x="11" y="12" width="1" height="1" fill="#D17641" />
+<rect x="12" y="12" width="1" height="1" fill="#D17641" />
+<rect x="13" y="12" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="12" width="1" height="1" fill="#D17641" />
+<rect x="15" y="12" width="1" height="1" fill="#D17641" />
+<rect x="16" y="12" width="1" height="1" fill="#D17641" />
+<rect x="17" y="12" width="1" height="1" fill="#D17641" />
+<rect x="18" y="12" width="1" height="1" fill="#D17641" />
+<rect x="19" y="12" width="1" height="1" fill="#D17641" />
+<rect x="20" y="12" width="1" height="1" fill="#D17641" />
+<rect x="21" y="12" width="1" height="1" fill="#D17641" />
+<rect x="22" y="12" width="1" height="1" fill="#D17641" />
+<rect x="23" y="12" width="1" height="1" fill="#D17641" />
+<rect x="24" y="12" width="1" height="1" fill="#D17641" />
+<rect x="25" y="12" width="1" height="1" fill="#D17641" />
+<rect x="26" y="12" width="1" height="1" fill="#D17641" />
+<rect x="27" y="12" width="1" height="1" fill="#D17641" />
+<rect x="28" y="12" width="1" height="1" fill="#D17641" />
+<rect x="29" y="12" width="1" height="1" fill="#D17641" />
+<rect x="30" y="12" width="1" height="1" fill="#D17641" />
+<rect x="31" y="12" width="1" height="1" fill="#D17641" />
+<rect x="32" y="12" width="1" height="1" fill="#D17641" />
+<rect x="33" y="12" width="1" height="1" fill="#D17641" />
+<rect x="34" y="12" width="1" height="1" fill="#D17641" />
+<rect x="35" y="12" width="1" height="1" fill="#D17641" />
+<rect x="36" y="12" width="1" height="1" fill="#D17641" />
+<rect x="37" y="12" width="1" height="1" fill="#D17641" />
+<rect x="38" y="12" width="1" height="1" fill="#D17641" />
+<rect x="39" y="12" width="1" height="1" fill="#D17641" />
+<rect x="40" y="12" width="1" height="1" fill="#D17641" />
+<rect x="41" y="12" width="1" height="1" fill="#D17641" />
+<rect x="42" y="12" width="1" height="1" fill="#D17641" />
+<rect x="43" y="12" width="1" height="1" fill="#D17641" />
+<rect x="44" y="12" width="1" height="1" fill="#D17641" />
+<rect x="45" y="12" width="1" height="1" fill="#D17641" />
+<rect x="46" y="12" width="1" height="1" fill="#C65933" />
+<rect x="47" y="12" width="1" height="1" fill="#C65933" />
+<rect x="0" y="13" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="2" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="3" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="8" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="13" width="1" height="1" fill="#D17641" />
+<rect x="10" y="13" width="1" height="1" fill="#D17641" />
+<rect x="11" y="13" width="1" height="1" fill="#D17641" />
+<rect x="12" y="13" width="1" height="1" fill="#D17641" />
+<rect x="13" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="15" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="40" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="41" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="45" y="13" width="1" height="1" fill="#7A367B" />
+<rect x="46" y="13" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="13" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="14" width="1" height="1" fill="#C65933" />
+<rect x="1" y="14" width="1" height="1" fill="#D17641" />
+<rect x="2" y="14" width="1" height="1" fill="#D17641" />
+<rect x="3" y="14" width="1" height="1" fill="#D17641" />
+<rect x="4" y="14" width="1" height="1" fill="#D17641" />
+<rect x="5" y="14" width="1" height="1" fill="#D17641" />
+<rect x="6" y="14" width="1" height="1" fill="#D17641" />
+<rect x="7" y="14" width="1" height="1" fill="#D17641" />
+<rect x="8" y="14" width="1" height="1" fill="#D17641" />
+<rect x="9" y="14" width="1" height="1" fill="#D17641" />
+<rect x="10" y="14" width="1" height="1" fill="#D17641" />
+<rect x="11" y="14" width="1" height="1" fill="#D17641" />
+<rect x="12" y="14" width="1" height="1" fill="#D17641" />
+<rect x="13" y="14" width="1" height="1" fill="#D17641" />
+<rect x="14" y="14" width="1" height="1" fill="#D17641" />
+<rect x="15" y="14" width="1" height="1" fill="#D17641" />
+<rect x="16" y="14" width="1" height="1" fill="#D17641" />
+<rect x="17" y="14" width="1" height="1" fill="#D17641" />
+<rect x="18" y="14" width="1" height="1" fill="#D17641" />
+<rect x="19" y="14" width="1" height="1" fill="#D17641" />
+<rect x="20" y="14" width="1" height="1" fill="#D17641" />
+<rect x="21" y="14" width="1" height="1" fill="#D17641" />
+<rect x="22" y="14" width="1" height="1" fill="#D17641" />
+<rect x="23" y="14" width="1" height="1" fill="#D17641" />
+<rect x="24" y="14" width="1" height="1" fill="#D17641" />
+<rect x="25" y="14" width="1" height="1" fill="#D17641" />
+<rect x="26" y="14" width="1" height="1" fill="#D17641" />
+<rect x="27" y="14" width="1" height="1" fill="#D17641" />
+<rect x="28" y="14" width="1" height="1" fill="#D17641" />
+<rect x="29" y="14" width="1" height="1" fill="#D17641" />
+<rect x="30" y="14" width="1" height="1" fill="#D17641" />
+<rect x="31" y="14" width="1" height="1" fill="#D17641" />
+<rect x="32" y="14" width="1" height="1" fill="#D17641" />
+<rect x="33" y="14" width="1" height="1" fill="#D17641" />
+<rect x="34" y="14" width="1" height="1" fill="#D17641" />
+<rect x="35" y="14" width="1" height="1" fill="#D17641" />
+<rect x="36" y="14" width="1" height="1" fill="#D17641" />
+<rect x="37" y="14" width="1" height="1" fill="#D17641" />
+<rect x="38" y="14" width="1" height="1" fill="#D17641" />
+<rect x="39" y="14" width="1" height="1" fill="#D17641" />
+<rect x="40" y="14" width="1" height="1" fill="#D17641" />
+<rect x="41" y="14" width="1" height="1" fill="#D17641" />
+<rect x="42" y="14" width="1" height="1" fill="#D17641" />
+<rect x="43" y="14" width="1" height="1" fill="#D17641" />
+<rect x="44" y="14" width="1" height="1" fill="#D17641" />
+<rect x="45" y="14" width="1" height="1" fill="#D17641" />
+<rect x="46" y="14" width="1" height="1" fill="#C65933" />
+<rect x="47" y="14" width="1" height="1" fill="#C65933" />
+<rect x="0" y="15" width="1" height="1" fill="#C65933" />
+<rect x="1" y="15" width="1" height="1" fill="#D17641" />
+<rect x="2" y="15" width="1" height="1" fill="#D17641" />
+<rect x="3" y="15" width="1" height="1" fill="#D17641" />
+<rect x="4" y="15" width="1" height="1" fill="#D17641" />
+<rect x="5" y="15" width="1" height="1" fill="#D17641" />
+<rect x="6" y="15" width="1" height="1" fill="#D17641" />
+<rect x="7" y="15" width="1" height="1" fill="#D17641" />
+<rect x="8" y="15" width="1" height="1" fill="#D17641" />
+<rect x="9" y="15" width="1" height="1" fill="#D17641" />
+<rect x="10" y="15" width="1" height="1" fill="#D17641" />
+<rect x="11" y="15" width="1" height="1" fill="#D17641" />
+<rect x="12" y="15" width="1" height="1" fill="#D17641" />
+<rect x="13" y="15" width="1" height="1" fill="#D17641" />
+<rect x="14" y="15" width="1" height="1" fill="#D17641" />
+<rect x="15" y="15" width="1" height="1" fill="#D17641" />
+<rect x="16" y="15" width="1" height="1" fill="#D17641" />
+<rect x="17" y="15" width="1" height="1" fill="#D17641" />
+<rect x="18" y="15" width="1" height="1" fill="#D17641" />
+<rect x="19" y="15" width="1" height="1" fill="#D17641" />
+<rect x="20" y="15" width="1" height="1" fill="#D17641" />
+<rect x="21" y="15" width="1" height="1" fill="#D17641" />
+<rect x="22" y="15" width="1" height="1" fill="#D17641" />
+<rect x="23" y="15" width="1" height="1" fill="#D17641" />
+<rect x="24" y="15" width="1" height="1" fill="#D17641" />
+<rect x="25" y="15" width="1" height="1" fill="#D17641" />
+<rect x="26" y="15" width="1" height="1" fill="#D17641" />
+<rect x="27" y="15" width="1" height="1" fill="#D17641" />
+<rect x="28" y="15" width="1" height="1" fill="#D17641" />
+<rect x="29" y="15" width="1" height="1" fill="#D17641" />
+<rect x="30" y="15" width="1" height="1" fill="#D17641" />
+<rect x="31" y="15" width="1" height="1" fill="#D17641" />
+<rect x="32" y="15" width="1" height="1" fill="#D17641" />
+<rect x="33" y="15" width="1" height="1" fill="#D17641" />
+<rect x="34" y="15" width="1" height="1" fill="#D17641" />
+<rect x="35" y="15" width="1" height="1" fill="#D17641" />
+<rect x="36" y="15" width="1" height="1" fill="#D17641" />
+<rect x="37" y="15" width="1" height="1" fill="#D17641" />
+<rect x="38" y="15" width="1" height="1" fill="#D17641" />
+<rect x="39" y="15" width="1" height="1" fill="#D17641" />
+<rect x="40" y="15" width="1" height="1" fill="#D17641" />
+<rect x="41" y="15" width="1" height="1" fill="#D17641" />
+<rect x="42" y="15" width="1" height="1" fill="#D17641" />
+<rect x="43" y="15" width="1" height="1" fill="#D17641" />
+<rect x="44" y="15" width="1" height="1" fill="#D17641" />
+<rect x="45" y="15" width="1" height="1" fill="#D17641" />
+<rect x="46" y="15" width="1" height="1" fill="#C65933" />
+<rect x="47" y="15" width="1" height="1" fill="#C65933" />
+<rect x="0" y="16" width="1" height="1" fill="#C65933" />
+<rect x="1" y="16" width="1" height="1" fill="#D17641" />
+<rect x="2" y="16" width="1" height="1" fill="#D17641" />
+<rect x="3" y="16" width="1" height="1" fill="#D17641" />
+<rect x="4" y="16" width="1" height="1" fill="#D17641" />
+<rect x="5" y="16" width="1" height="1" fill="#D17641" />
+<rect x="6" y="16" width="1" height="1" fill="#D17641" />
+<rect x="7" y="16" width="1" height="1" fill="#D17641" />
+<rect x="8" y="16" width="1" height="1" fill="#D17641" />
+<rect x="9" y="16" width="1" height="1" fill="#D17641" />
+<rect x="10" y="16" width="1" height="1" fill="#D17641" />
+<rect x="11" y="16" width="1" height="1" fill="#D17641" />
+<rect x="12" y="16" width="1" height="1" fill="#D17641" />
+<rect x="13" y="16" width="1" height="1" fill="#D17641" />
+<rect x="14" y="16" width="1" height="1" fill="#D17641" />
+<rect x="15" y="16" width="1" height="1" fill="#D17641" />
+<rect x="16" y="16" width="1" height="1" fill="#D17641" />
+<rect x="17" y="16" width="1" height="1" fill="#D17641" />
+<rect x="18" y="16" width="1" height="1" fill="#D17641" />
+<rect x="19" y="16" width="1" height="1" fill="#D17641" />
+<rect x="20" y="16" width="1" height="1" fill="#D17641" />
+<rect x="21" y="16" width="1" height="1" fill="#D17641" />
+<rect x="22" y="16" width="1" height="1" fill="#D17641" />
+<rect x="23" y="16" width="1" height="1" fill="#D17641" />
+<rect x="24" y="16" width="1" height="1" fill="#D17641" />
+<rect x="25" y="16" width="1" height="1" fill="#D17641" />
+<rect x="26" y="16" width="1" height="1" fill="#D17641" />
+<rect x="27" y="16" width="1" height="1" fill="#D17641" />
+<rect x="28" y="16" width="1" height="1" fill="#D17641" />
+<rect x="29" y="16" width="1" height="1" fill="#D17641" />
+<rect x="30" y="16" width="1" height="1" fill="#D17641" />
+<rect x="31" y="16" width="1" height="1" fill="#D17641" />
+<rect x="32" y="16" width="1" height="1" fill="#D17641" />
+<rect x="33" y="16" width="1" height="1" fill="#D17641" />
+<rect x="34" y="16" width="1" height="1" fill="#D17641" />
+<rect x="35" y="16" width="1" height="1" fill="#D17641" />
+<rect x="36" y="16" width="1" height="1" fill="#D17641" />
+<rect x="37" y="16" width="1" height="1" fill="#D17641" />
+<rect x="38" y="16" width="1" height="1" fill="#D17641" />
+<rect x="39" y="16" width="1" height="1" fill="#D17641" />
+<rect x="40" y="16" width="1" height="1" fill="#D17641" />
+<rect x="41" y="16" width="1" height="1" fill="#D17641" />
+<rect x="42" y="16" width="1" height="1" fill="#D17641" />
+<rect x="43" y="16" width="1" height="1" fill="#D17641" />
+<rect x="44" y="16" width="1" height="1" fill="#D17641" />
+<rect x="45" y="16" width="1" height="1" fill="#D17641" />
+<rect x="46" y="16" width="1" height="1" fill="#C65933" />
+<rect x="47" y="16" width="1" height="1" fill="#C65933" />
+<rect x="0" y="17" width="1" height="1" fill="#C65933" />
+<rect x="1" y="17" width="1" height="1" fill="#D17641" />
+<rect x="2" y="17" width="1" height="1" fill="#D17641" />
+<rect x="3" y="17" width="1" height="1" fill="#D17641" />
+<rect x="4" y="17" width="1" height="1" fill="#D17641" />
+<rect x="5" y="17" width="1" height="1" fill="#D17641" />
+<rect x="6" y="17" width="1" height="1" fill="#D17641" />
+<rect x="7" y="17" width="1" height="1" fill="#D17641" />
+<rect x="8" y="17" width="1" height="1" fill="#D17641" />
+<rect x="9" y="17" width="1" height="1" fill="#D17641" />
+<rect x="10" y="17" width="1" height="1" fill="#D17641" />
+<rect x="11" y="17" width="1" height="1" fill="#D17641" />
+<rect x="12" y="17" width="1" height="1" fill="#D17641" />
+<rect x="13" y="17" width="1" height="1" fill="#D17641" />
+<rect x="14" y="17" width="1" height="1" fill="#D17641" />
+<rect x="15" y="17" width="1" height="1" fill="#D17641" />
+<rect x="16" y="17" width="1" height="1" fill="#D17641" />
+<rect x="17" y="17" width="1" height="1" fill="#D17641" />
+<rect x="18" y="17" width="1" height="1" fill="#D17641" />
+<rect x="19" y="17" width="1" height="1" fill="#D17641" />
+<rect x="20" y="17" width="1" height="1" fill="#D17641" />
+<rect x="21" y="17" width="1" height="1" fill="#D17641" />
+<rect x="22" y="17" width="1" height="1" fill="#D17641" />
+<rect x="23" y="17" width="1" height="1" fill="#D17641" />
+<rect x="24" y="17" width="1" height="1" fill="#D17641" />
+<rect x="25" y="17" width="1" height="1" fill="#D17641" />
+<rect x="26" y="17" width="1" height="1" fill="#D17641" />
+<rect x="27" y="17" width="1" height="1" fill="#D17641" />
+<rect x="28" y="17" width="1" height="1" fill="#D17641" />
+<rect x="29" y="17" width="1" height="1" fill="#D17641" />
+<rect x="30" y="17" width="1" height="1" fill="#D17641" />
+<rect x="31" y="17" width="1" height="1" fill="#D17641" />
+<rect x="32" y="17" width="1" height="1" fill="#D17641" />
+<rect x="33" y="17" width="1" height="1" fill="#D17641" />
+<rect x="34" y="17" width="1" height="1" fill="#D17641" />
+<rect x="35" y="17" width="1" height="1" fill="#D17641" />
+<rect x="36" y="17" width="1" height="1" fill="#D17641" />
+<rect x="37" y="17" width="1" height="1" fill="#D17641" />
+<rect x="38" y="17" width="1" height="1" fill="#D17641" />
+<rect x="39" y="17" width="1" height="1" fill="#D17641" />
+<rect x="40" y="17" width="1" height="1" fill="#D17641" />
+<rect x="41" y="17" width="1" height="1" fill="#D17641" />
+<rect x="42" y="17" width="1" height="1" fill="#D17641" />
+<rect x="43" y="17" width="1" height="1" fill="#D17641" />
+<rect x="44" y="17" width="1" height="1" fill="#D17641" />
+<rect x="45" y="17" width="1" height="1" fill="#C65933" />
+<rect x="46" y="17" width="1" height="1" fill="#C65933" />
+<rect x="47" y="17" width="1" height="1" fill="#C65933" />
+<rect x="0" y="18" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="2" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="3" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="8" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="18" width="1" height="1" fill="#D17641" />
+<rect x="10" y="18" width="1" height="1" fill="#D17641" />
+<rect x="11" y="18" width="1" height="1" fill="#D17641" />
+<rect x="12" y="18" width="1" height="1" fill="#D17641" />
+<rect x="13" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="15" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="40" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="41" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="45" y="18" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="18" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="18" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="19" width="1" height="1" fill="#C65933" />
+<rect x="1" y="19" width="1" height="1" fill="#D17641" />
+<rect x="2" y="19" width="1" height="1" fill="#D17641" />
+<rect x="3" y="19" width="1" height="1" fill="#D17641" />
+<rect x="4" y="19" width="1" height="1" fill="#D17641" />
+<rect x="5" y="19" width="1" height="1" fill="#D17641" />
+<rect x="6" y="19" width="1" height="1" fill="#D17641" />
+<rect x="7" y="19" width="1" height="1" fill="#D17641" />
+<rect x="8" y="19" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="19" width="1" height="1" fill="#D17641" />
+<rect x="10" y="19" width="1" height="1" fill="#D17641" />
+<rect x="11" y="19" width="1" height="1" fill="#D17641" />
+<rect x="12" y="19" width="1" height="1" fill="#D17641" />
+<rect x="13" y="19" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="19" width="1" height="1" fill="#D17641" />
+<rect x="15" y="19" width="1" height="1" fill="#D17641" />
+<rect x="16" y="19" width="1" height="1" fill="#D17641" />
+<rect x="17" y="19" width="1" height="1" fill="#D17641" />
+<rect x="18" y="19" width="1" height="1" fill="#D17641" />
+<rect x="19" y="19" width="1" height="1" fill="#D17641" />
+<rect x="20" y="19" width="1" height="1" fill="#D17641" />
+<rect x="21" y="19" width="1" height="1" fill="#D17641" />
+<rect x="22" y="19" width="1" height="1" fill="#D17641" />
+<rect x="23" y="19" width="1" height="1" fill="#D17641" />
+<rect x="24" y="19" width="1" height="1" fill="#D17641" />
+<rect x="25" y="19" width="1" height="1" fill="#D17641" />
+<rect x="26" y="19" width="1" height="1" fill="#D17641" />
+<rect x="27" y="19" width="1" height="1" fill="#D17641" />
+<rect x="28" y="19" width="1" height="1" fill="#D17641" />
+<rect x="29" y="19" width="1" height="1" fill="#D17641" />
+<rect x="30" y="19" width="1" height="1" fill="#D17641" />
+<rect x="31" y="19" width="1" height="1" fill="#D17641" />
+<rect x="32" y="19" width="1" height="1" fill="#D17641" />
+<rect x="33" y="19" width="1" height="1" fill="#D17641" />
+<rect x="34" y="19" width="1" height="1" fill="#D17641" />
+<rect x="35" y="19" width="1" height="1" fill="#D17641" />
+<rect x="36" y="19" width="1" height="1" fill="#D17641" />
+<rect x="37" y="19" width="1" height="1" fill="#D17641" />
+<rect x="38" y="19" width="1" height="1" fill="#D17641" />
+<rect x="39" y="19" width="1" height="1" fill="#D17641" />
+<rect x="40" y="19" width="1" height="1" fill="#D17641" />
+<rect x="41" y="19" width="1" height="1" fill="#D17641" />
+<rect x="42" y="19" width="1" height="1" fill="#D17641" />
+<rect x="43" y="19" width="1" height="1" fill="#D17641" />
+<rect x="44" y="19" width="1" height="1" fill="#D17641" />
+<rect x="45" y="19" width="1" height="1" fill="#C65933" />
+<rect x="46" y="19" width="1" height="1" fill="#C65933" />
+<rect x="47" y="19" width="1" height="1" fill="#C65933" />
+<rect x="0" y="20" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="2" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="3" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="20" width="1" height="1" fill="#D17641" />
+<rect x="8" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="20" width="1" height="1" fill="#D17641" />
+<rect x="10" y="20" width="1" height="1" fill="#D17641" />
+<rect x="11" y="20" width="1" height="1" fill="#D17641" />
+<rect x="12" y="20" width="1" height="1" fill="#D17641" />
+<rect x="13" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="20" width="1" height="1" fill="#D17641" />
+<rect x="15" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="40" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="41" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="20" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="20" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="20" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="20" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="21" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="2" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="3" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="21" width="1" height="1" fill="#D17641" />
+<rect x="8" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="21" width="1" height="1" fill="#D17641" />
+<rect x="10" y="21" width="1" height="1" fill="#D17641" />
+<rect x="11" y="21" width="1" height="1" fill="#D17641" />
+<rect x="12" y="21" width="1" height="1" fill="#D17641" />
+<rect x="13" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="21" width="1" height="1" fill="#D17641" />
+<rect x="15" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="40" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="41" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="21" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="46" y="21" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="21" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="22" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="2" y="22" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="22" width="1" height="1" fill="#D17641" />
+<rect x="8" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="22" width="1" height="1" fill="#D17641" />
+<rect x="10" y="22" width="1" height="1" fill="#D17641" />
+<rect x="11" y="22" width="1" height="1" fill="#D17641" />
+<rect x="12" y="22" width="1" height="1" fill="#D17641" />
+<rect x="13" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="22" width="1" height="1" fill="#D17641" />
+<rect x="15" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="40" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="41" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="45" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="46" y="22" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="22" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="23" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="2" y="23" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="23" width="1" height="1" fill="#D17641" />
+<rect x="8" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="23" width="1" height="1" fill="#D17641" />
+<rect x="10" y="23" width="1" height="1" fill="#D17641" />
+<rect x="11" y="23" width="1" height="1" fill="#D17641" />
+<rect x="12" y="23" width="1" height="1" fill="#D17641" />
+<rect x="13" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="23" width="1" height="1" fill="#D17641" />
+<rect x="15" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="40" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="41" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="45" y="23" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="23" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="23" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="24" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="2" y="24" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="24" width="1" height="1" fill="#5C2960" />
+<rect x="4" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="24" width="1" height="1" fill="#D17641" />
+<rect x="8" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="24" width="1" height="1" fill="#D17641" />
+<rect x="10" y="24" width="1" height="1" fill="#D17641" />
+<rect x="11" y="24" width="1" height="1" fill="#D17641" />
+<rect x="12" y="24" width="1" height="1" fill="#D17641" />
+<rect x="13" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="24" width="1" height="1" fill="#D17641" />
+<rect x="15" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="40" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="41" y="24" width="1" height="1" fill="#5C2960" />
+<rect x="42" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="45" y="24" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="24" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="24" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="25" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="25" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="25" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="25" width="1" height="1" fill="#5C2960" />
+<rect x="4" y="25" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="25" width="1" height="1" fill="#D17641" />
+<rect x="8" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="25" width="1" height="1" fill="#D17641" />
+<rect x="10" y="25" width="1" height="1" fill="#D17641" />
+<rect x="11" y="25" width="1" height="1" fill="#D17641" />
+<rect x="12" y="25" width="1" height="1" fill="#D17641" />
+<rect x="13" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="25" width="1" height="1" fill="#D17641" />
+<rect x="15" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="25" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="25" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="25" width="1" height="1" fill="#5C2960" />
+<rect x="42" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="25" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="25" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="25" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="25" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="3" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="4" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="26" width="1" height="1" fill="#D17641" />
+<rect x="8" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="26" width="1" height="1" fill="#D17641" />
+<rect x="10" y="26" width="1" height="1" fill="#D17641" />
+<rect x="11" y="26" width="1" height="1" fill="#D17641" />
+<rect x="12" y="26" width="1" height="1" fill="#D17641" />
+<rect x="13" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="26" width="1" height="1" fill="#D17641" />
+<rect x="15" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="38" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="39" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="42" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="43" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="26" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="3" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="7" y="27" width="1" height="1" fill="#C65933" />
+<rect x="8" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="27" width="1" height="1" fill="#D17641" />
+<rect x="10" y="27" width="1" height="1" fill="#D17641" />
+<rect x="11" y="27" width="1" height="1" fill="#D17641" />
+<rect x="12" y="27" width="1" height="1" fill="#D17641" />
+<rect x="13" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="27" width="1" height="1" fill="#D17641" />
+<rect x="15" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="36" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="37" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="38" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="39" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="42" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="44" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="47" y="27" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="7" y="28" width="1" height="1" fill="#C65933" />
+<rect x="8" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="9" y="28" width="1" height="1" fill="#D17641" />
+<rect x="10" y="28" width="1" height="1" fill="#D17641" />
+<rect x="11" y="28" width="1" height="1" fill="#D17641" />
+<rect x="12" y="28" width="1" height="1" fill="#D17641" />
+<rect x="13" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="28" width="1" height="1" fill="#D17641" />
+<rect x="15" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="33" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="34" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="35" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="36" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="37" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="38" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="39" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="43" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="44" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="46" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="47" y="28" width="1" height="1" fill="#5C2960" />
+<rect x="0" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="4" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="7" y="29" width="1" height="1" fill="#C65933" />
+<rect x="8" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="9" y="29" width="1" height="1" fill="#C65933" />
+<rect x="10" y="29" width="1" height="1" fill="#C65933" />
+<rect x="11" y="29" width="1" height="1" fill="#C65933" />
+<rect x="12" y="29" width="1" height="1" fill="#D17641" />
+<rect x="13" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="29" width="1" height="1" fill="#D17641" />
+<rect x="15" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="31" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="32" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="33" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="34" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="35" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="36" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="39" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="42" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="43" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="44" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="29" width="1" height="1" fill="#7A367B" />
+<rect x="46" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="47" y="29" width="1" height="1" fill="#5C2960" />
+<rect x="1" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="4" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="7" y="30" width="1" height="1" fill="#C65933" />
+<rect x="8" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="9" y="30" width="1" height="1" fill="#D17641" />
+<rect x="10" y="30" width="1" height="1" fill="#D17641" />
+<rect x="11" y="30" width="1" height="1" fill="#D17641" />
+<rect x="12" y="30" width="1" height="1" fill="#D17641" />
+<rect x="13" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="14" y="30" width="1" height="1" fill="#D17641" />
+<rect x="15" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="16" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="17" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="18" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="19" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="20" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="21" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="22" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="23" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="24" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="25" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="26" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="27" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="28" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="29" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="30" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="31" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="32" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="33" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="34" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="35" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="36" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="37" y="30" width="1" height="1" fill="#7A367B" />
+<rect x="38" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="39" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="42" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="43" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="44" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="46" y="30" width="1" height="1" fill="#5C2960" />
+<rect x="2" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="3" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="4" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="5" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="6" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="7" y="31" width="1" height="1" fill="#C65933" />
+<rect x="8" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="9" y="31" width="1" height="1" fill="#C65933" />
+<rect x="10" y="31" width="1" height="1" fill="#C65933" />
+<rect x="11" y="31" width="1" height="1" fill="#C65933" />
+<rect x="12" y="31" width="1" height="1" fill="#C65933" />
+<rect x="13" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="14" y="31" width="1" height="1" fill="#C65933" />
+<rect x="15" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="16" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="17" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="18" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="19" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="20" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="21" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="22" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="23" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="24" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="25" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="26" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="27" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="28" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="29" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="30" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="31" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="32" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="33" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="34" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="35" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="36" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="37" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="38" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="39" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="40" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="41" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="42" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="43" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="44" y="31" width="1" height="1" fill="#5C2960" />
+<rect x="45" y="31" width="1" height="1" fill="#5C2960" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Blanchister.svg b/Edikoyo/.obsidian/icons/flags/Blanchister.svg
new file mode 100644
index 0000000..263dd3c
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Blanchister.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="8" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="9" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="10" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="11" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="12" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="13" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="14" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="15" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="16" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="17" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="18" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="19" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="20" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="21" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="22" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="23" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="24" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="25" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="26" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="27" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="28" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="29" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="30" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="31" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="32" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="33" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="8" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="9" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="10" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="1" width="1" height="1" fill="#8ED5D3" />
+<rect x="0" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="2" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="2" width="1" height="1" fill="#8ED5D3" />
+<rect x="45" y="2" width="1" height="1" fill="#8ED5D3" />
+<rect x="46" y="2" width="1" height="1" fill="#8ED5D3" />
+<rect x="47" y="2" width="1" height="1" fill="#8ED5D3" />
+<rect x="0" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="3" width="1" height="1" fill="#8ED5D3" />
+<rect x="4" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="3" width="1" height="1" fill="#8ED5D3" />
+<rect x="6" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="3" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="3" width="1" height="1" fill="#A4DDDB" />
+<rect x="10" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="3" width="1" height="1" fill="#A4DDDB" />
+<rect x="12" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="3" width="1" height="1" fill="#8ED5D3" />
+<rect x="43" y="3" width="1" height="1" fill="#8ED5D3" />
+<rect x="44" y="3" width="1" height="1" fill="#8ED5D3" />
+<rect x="45" y="3" width="1" height="1" fill="#8ED5D3" />
+<rect x="46" y="3" width="1" height="1" fill="#8ED5D3" />
+<rect x="47" y="3" width="1" height="1" fill="#8ED5D3" />
+<rect x="0" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="4" width="1" height="1" fill="#8ED5D3" />
+<rect x="5" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="4" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="4" width="1" height="1" fill="#A4DDDB" />
+<rect x="11" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="4" width="1" height="1" fill="#8ED5D3" />
+<rect x="41" y="4" width="1" height="1" fill="#8ED5D3" />
+<rect x="42" y="4" width="1" height="1" fill="#8ED5D3" />
+<rect x="43" y="4" width="1" height="1" fill="#8ED5D3" />
+<rect x="44" y="4" width="1" height="1" fill="#8ED5D3" />
+<rect x="45" y="4" width="1" height="1" fill="#8ED5D3" />
+<rect x="46" y="4" width="1" height="1" fill="#8ED5D3" />
+<rect x="47" y="4" width="1" height="1" fill="#8ED5D3" />
+<rect x="0" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="5" width="1" height="1" fill="#A4DDDB" />
+<rect x="4" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="5" width="1" height="1" fill="#A4DDDB" />
+<rect x="6" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="5" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="5" width="1" height="1" fill="#A4DDDB" />
+<rect x="10" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="5" width="1" height="1" fill="#A4DDDB" />
+<rect x="12" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="5" width="1" height="1" fill="#8ED5D3" />
+<rect x="39" y="5" width="1" height="1" fill="#8ED5D3" />
+<rect x="40" y="5" width="1" height="1" fill="#8ED5D3" />
+<rect x="41" y="5" width="1" height="1" fill="#8ED5D3" />
+<rect x="42" y="5" width="1" height="1" fill="#A4DDDB" />
+<rect x="43" y="5" width="1" height="1" fill="#8ED5D3" />
+<rect x="44" y="5" width="1" height="1" fill="#8ED5D3" />
+<rect x="45" y="5" width="1" height="1" fill="#8ED5D3" />
+<rect x="46" y="5" width="1" height="1" fill="#8ED5D3" />
+<rect x="47" y="5" width="1" height="1" fill="#8ED5D3" />
+<rect x="0" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="6" width="1" height="1" fill="#A4DDDB" />
+<rect x="7" y="6" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="6" width="1" height="1" fill="#A4DDDB" />
+<rect x="9" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="6" width="1" height="1" fill="#A4DDDB" />
+<rect x="37" y="6" width="1" height="1" fill="#A4DDDB" />
+<rect x="38" y="6" width="1" height="1" fill="#A4DDDB" />
+<rect x="39" y="6" width="1" height="1" fill="#8ED5D3" />
+<rect x="40" y="6" width="1" height="1" fill="#8ED5D3" />
+<rect x="41" y="6" width="1" height="1" fill="#8ED5D3" />
+<rect x="42" y="6" width="1" height="1" fill="#A4DDDB" />
+<rect x="43" y="6" width="1" height="1" fill="#A4DDDB" />
+<rect x="44" y="6" width="1" height="1" fill="#8ED5D3" />
+<rect x="45" y="6" width="1" height="1" fill="#8ED5D3" />
+<rect x="46" y="6" width="1" height="1" fill="#8ED5D3" />
+<rect x="47" y="6" width="1" height="1" fill="#8ED5D3" />
+<rect x="0" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="7" width="1" height="1" fill="#8ED5D3" />
+<rect x="3" y="7" width="1" height="1" fill="#8ED5D3" />
+<rect x="4" y="7" width="1" height="1" fill="#8ED5D3" />
+<rect x="5" y="7" width="1" height="1" fill="#8ED5D3" />
+<rect x="6" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="7" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="9" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="10" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="11" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="12" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="13" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="35" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="36" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="37" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="38" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="39" y="7" width="1" height="1" fill="#8ED5D3" />
+<rect x="40" y="7" width="1" height="1" fill="#8ED5D3" />
+<rect x="41" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="42" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="43" y="7" width="1" height="1" fill="#A4DDDB" />
+<rect x="44" y="7" width="1" height="1" fill="#8ED5D3" />
+<rect x="45" y="7" width="1" height="1" fill="#8ED5D3" />
+<rect x="46" y="7" width="1" height="1" fill="#8ED5D3" />
+<rect x="47" y="7" width="1" height="1" fill="#8ED5D3" />
+<rect x="0" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="8" width="1" height="1" fill="#8ED5D3" />
+<rect x="7" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="9" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="33" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="34" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="35" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="36" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="37" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="38" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="39" y="8" width="1" height="1" fill="#8ED5D3" />
+<rect x="40" y="8" width="1" height="1" fill="#8ED5D3" />
+<rect x="41" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="42" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="43" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="44" y="8" width="1" height="1" fill="#A4DDDB" />
+<rect x="45" y="8" width="1" height="1" fill="#8ED5D3" />
+<rect x="46" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="4" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="6" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="10" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="12" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="31" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="32" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="33" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="34" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="35" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="36" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="37" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="38" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="39" y="9" width="1" height="1" fill="#8ED5D3" />
+<rect x="40" y="9" width="1" height="1" fill="#8ED5D3" />
+<rect x="41" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="42" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="43" y="9" width="1" height="1" fill="#A4DDDB" />
+<rect x="44" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="5" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="11" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="29" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="30" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="31" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="32" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="33" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="34" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="35" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="36" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="37" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="38" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="39" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="40" y="10" width="1" height="1" fill="#8ED5D3" />
+<rect x="41" y="10" width="1" height="1" fill="#A4DDDB" />
+<rect x="42" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="4" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="6" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="10" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="12" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="27" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="28" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="29" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="30" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="31" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="32" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="33" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="34" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="35" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="36" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="37" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="38" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="39" y="11" width="1" height="1" fill="#A4DDDB" />
+<rect x="40" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="12" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="25" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="26" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="27" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="28" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="29" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="30" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="31" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="32" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="33" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="34" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="35" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="36" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="37" y="12" width="1" height="1" fill="#A4DDDB" />
+<rect x="38" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="12" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="12" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="13" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="23" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="24" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="25" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="26" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="27" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="28" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="29" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="30" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="31" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="32" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="33" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="34" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="35" y="13" width="1" height="1" fill="#A4DDDB" />
+<rect x="36" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="13" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="13" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="14" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="21" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="22" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="23" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="24" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="25" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="26" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="27" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="28" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="29" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="30" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="31" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="32" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="33" y="14" width="1" height="1" fill="#A4DDDB" />
+<rect x="34" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="14" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="14" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="15" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="19" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="20" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="21" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="22" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="23" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="24" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="25" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="26" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="27" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="28" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="29" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="30" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="31" y="15" width="1" height="1" fill="#A4DDDB" />
+<rect x="32" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="15" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="15" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="16" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="17" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="18" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="19" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="20" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="21" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="22" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="23" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="24" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="25" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="26" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="27" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="28" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="29" y="16" width="1" height="1" fill="#A4DDDB" />
+<rect x="30" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="16" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="16" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="15" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="16" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="17" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="18" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="19" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="20" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="21" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="22" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="23" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="24" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="25" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="26" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="27" y="17" width="1" height="1" fill="#A4DDDB" />
+<rect x="28" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="13" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="14" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="15" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="16" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="17" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="18" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="19" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="20" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="21" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="22" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="23" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="24" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="25" y="18" width="1" height="1" fill="#A4DDDB" />
+<rect x="26" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="11" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="12" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="13" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="14" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="15" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="16" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="17" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="18" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="19" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="20" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="21" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="22" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="23" y="19" width="1" height="1" fill="#A4DDDB" />
+<rect x="24" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="9" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="10" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="11" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="12" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="13" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="14" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="15" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="16" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="17" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="18" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="19" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="20" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="21" y="20" width="1" height="1" fill="#A4DDDB" />
+<rect x="22" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="7" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="9" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="10" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="11" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="12" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="13" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="14" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="15" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="16" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="17" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="18" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="19" y="21" width="1" height="1" fill="#A4DDDB" />
+<rect x="20" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="22" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="22" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="5" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="6" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="7" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="9" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="10" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="11" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="12" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="13" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="14" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="15" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="16" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="17" y="22" width="1" height="1" fill="#A4DDDB" />
+<rect x="18" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="22" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="22" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="23" width="1" height="1" fill="#8ED5D3" />
+<rect x="3" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="4" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="5" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="6" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="7" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="9" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="10" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="11" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="12" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="13" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="14" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="15" y="23" width="1" height="1" fill="#A4DDDB" />
+<rect x="16" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="23" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="24" width="1" height="1" fill="#8ED5D3" />
+<rect x="1" y="24" width="1" height="1" fill="#A4DDDB" />
+<rect x="2" y="24" width="1" height="1" fill="#8ED5D3" />
+<rect x="3" y="24" width="1" height="1" fill="#8ED5D3" />
+<rect x="4" y="24" width="1" height="1" fill="#A4DDDB" />
+<rect x="5" y="24" width="1" height="1" fill="#A4DDDB" />
+<rect x="6" y="24" width="1" height="1" fill="#A4DDDB" />
+<rect x="7" y="24" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="24" width="1" height="1" fill="#A4DDDB" />
+<rect x="9" y="24" width="1" height="1" fill="#A4DDDB" />
+<rect x="10" y="24" width="1" height="1" fill="#A4DDDB" />
+<rect x="11" y="24" width="1" height="1" fill="#A4DDDB" />
+<rect x="12" y="24" width="1" height="1" fill="#A4DDDB" />
+<rect x="13" y="24" width="1" height="1" fill="#A4DDDB" />
+<rect x="14" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="25" width="1" height="1" fill="#8ED5D3" />
+<rect x="1" y="25" width="1" height="1" fill="#8ED5D3" />
+<rect x="2" y="25" width="1" height="1" fill="#8ED5D3" />
+<rect x="3" y="25" width="1" height="1" fill="#8ED5D3" />
+<rect x="4" y="25" width="1" height="1" fill="#8ED5D3" />
+<rect x="5" y="25" width="1" height="1" fill="#A4DDDB" />
+<rect x="6" y="25" width="1" height="1" fill="#A4DDDB" />
+<rect x="7" y="25" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="25" width="1" height="1" fill="#A4DDDB" />
+<rect x="9" y="25" width="1" height="1" fill="#A4DDDB" />
+<rect x="10" y="25" width="1" height="1" fill="#A4DDDB" />
+<rect x="11" y="25" width="1" height="1" fill="#A4DDDB" />
+<rect x="12" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="26" width="1" height="1" fill="#8ED5D3" />
+<rect x="1" y="26" width="1" height="1" fill="#8ED5D3" />
+<rect x="2" y="26" width="1" height="1" fill="#A4DDDB" />
+<rect x="3" y="26" width="1" height="1" fill="#8ED5D3" />
+<rect x="4" y="26" width="1" height="1" fill="#8ED5D3" />
+<rect x="5" y="26" width="1" height="1" fill="#8ED5D3" />
+<rect x="6" y="26" width="1" height="1" fill="#A4DDDB" />
+<rect x="7" y="26" width="1" height="1" fill="#A4DDDB" />
+<rect x="8" y="26" width="1" height="1" fill="#A4DDDB" />
+<rect x="9" y="26" width="1" height="1" fill="#A4DDDB" />
+<rect x="10" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="27" width="1" height="1" fill="#8ED5D3" />
+<rect x="1" y="27" width="1" height="1" fill="#8ED5D3" />
+<rect x="2" y="27" width="1" height="1" fill="#A4DDDB" />
+<rect x="3" y="27" width="1" height="1" fill="#A4DDDB" />
+<rect x="4" y="27" width="1" height="1" fill="#8ED5D3" />
+<rect x="5" y="27" width="1" height="1" fill="#8ED5D3" />
+<rect x="6" y="27" width="1" height="1" fill="#8ED5D3" />
+<rect x="7" y="27" width="1" height="1" fill="#8ED5D3" />
+<rect x="8" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="47" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="28" width="1" height="1" fill="#8ED5D3" />
+<rect x="1" y="28" width="1" height="1" fill="#8ED5D3" />
+<rect x="2" y="28" width="1" height="1" fill="#8ED5D3" />
+<rect x="3" y="28" width="1" height="1" fill="#A4DDDB" />
+<rect x="4" y="28" width="1" height="1" fill="#8ED5D3" />
+<rect x="5" y="28" width="1" height="1" fill="#8ED5D3" />
+<rect x="6" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="8" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="9" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="33" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="47" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="29" width="1" height="1" fill="#8ED5D3" />
+<rect x="1" y="29" width="1" height="1" fill="#8ED5D3" />
+<rect x="2" y="29" width="1" height="1" fill="#8ED5D3" />
+<rect x="3" y="29" width="1" height="1" fill="#8ED5D3" />
+<rect x="4" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="8" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="9" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="10" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="11" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="12" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="31" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="32" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="33" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="30" width="1" height="1" fill="#8ED5D3" />
+<rect x="2" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="8" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="9" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="8" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="9" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="10" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="11" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="12" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="13" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="14" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="15" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="16" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="17" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="18" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="19" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="20" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="21" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="22" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="23" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="24" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="25" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="26" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="27" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="28" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="29" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="30" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="31" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="32" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="33" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="31" width="1" height="1" fill="#3C74AB" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Calcetron.svg b/Edikoyo/.obsidian/icons/flags/Calcetron.svg
new file mode 100644
index 0000000..20248d1
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Calcetron.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#10161F" />
+<rect x="3" y="0" width="1" height="1" fill="#10161F" />
+<rect x="4" y="0" width="1" height="1" fill="#10161F" />
+<rect x="5" y="0" width="1" height="1" fill="#10161F" />
+<rect x="6" y="0" width="1" height="1" fill="#10161F" />
+<rect x="7" y="0" width="1" height="1" fill="#10161F" />
+<rect x="8" y="0" width="1" height="1" fill="#10161F" />
+<rect x="9" y="0" width="1" height="1" fill="#D68733" />
+<rect x="10" y="0" width="1" height="1" fill="#D68733" />
+<rect x="11" y="0" width="1" height="1" fill="#D68733" />
+<rect x="12" y="0" width="1" height="1" fill="#D68733" />
+<rect x="13" y="0" width="1" height="1" fill="#10161F" />
+<rect x="14" y="0" width="1" height="1" fill="#10161F" />
+<rect x="15" y="0" width="1" height="1" fill="#10161F" />
+<rect x="16" y="0" width="1" height="1" fill="#10161F" />
+<rect x="17" y="0" width="1" height="1" fill="#10161F" />
+<rect x="18" y="0" width="1" height="1" fill="#10161F" />
+<rect x="19" y="0" width="1" height="1" fill="#10161F" />
+<rect x="20" y="0" width="1" height="1" fill="#10161F" />
+<rect x="21" y="0" width="1" height="1" fill="#10161F" />
+<rect x="22" y="0" width="1" height="1" fill="#10161F" />
+<rect x="23" y="0" width="1" height="1" fill="#10161F" />
+<rect x="24" y="0" width="1" height="1" fill="#10161F" />
+<rect x="25" y="0" width="1" height="1" fill="#10161F" />
+<rect x="26" y="0" width="1" height="1" fill="#10161F" />
+<rect x="27" y="0" width="1" height="1" fill="#10161F" />
+<rect x="28" y="0" width="1" height="1" fill="#10161F" />
+<rect x="29" y="0" width="1" height="1" fill="#10161F" />
+<rect x="30" y="0" width="1" height="1" fill="#10161F" />
+<rect x="31" y="0" width="1" height="1" fill="#10161F" />
+<rect x="32" y="0" width="1" height="1" fill="#10161F" />
+<rect x="33" y="0" width="1" height="1" fill="#10161F" />
+<rect x="34" y="0" width="1" height="1" fill="#10161F" />
+<rect x="35" y="0" width="1" height="1" fill="#10161F" />
+<rect x="36" y="0" width="1" height="1" fill="#10161F" />
+<rect x="37" y="0" width="1" height="1" fill="#10161F" />
+<rect x="38" y="0" width="1" height="1" fill="#10161F" />
+<rect x="39" y="0" width="1" height="1" fill="#10161F" />
+<rect x="40" y="0" width="1" height="1" fill="#10161F" />
+<rect x="41" y="0" width="1" height="1" fill="#10161F" />
+<rect x="42" y="0" width="1" height="1" fill="#10161F" />
+<rect x="43" y="0" width="1" height="1" fill="#10161F" />
+<rect x="44" y="0" width="1" height="1" fill="#10161F" />
+<rect x="45" y="0" width="1" height="1" fill="#10161F" />
+<rect x="1" y="1" width="1" height="1" fill="#10161F" />
+<rect x="2" y="1" width="1" height="1" fill="#10161F" />
+<rect x="3" y="1" width="1" height="1" fill="#10161F" />
+<rect x="4" y="1" width="1" height="1" fill="#10161F" />
+<rect x="5" y="1" width="1" height="1" fill="#10161F" />
+<rect x="6" y="1" width="1" height="1" fill="#10161F" />
+<rect x="7" y="1" width="1" height="1" fill="#10161F" />
+<rect x="8" y="1" width="1" height="1" fill="#10161F" />
+<rect x="9" y="1" width="1" height="1" fill="#D68733" />
+<rect x="10" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="1" width="1" height="1" fill="#151D28" />
+<rect x="14" y="1" width="1" height="1" fill="#151D28" />
+<rect x="15" y="1" width="1" height="1" fill="#151D28" />
+<rect x="16" y="1" width="1" height="1" fill="#151D28" />
+<rect x="17" y="1" width="1" height="1" fill="#151D28" />
+<rect x="18" y="1" width="1" height="1" fill="#151D28" />
+<rect x="19" y="1" width="1" height="1" fill="#151D28" />
+<rect x="20" y="1" width="1" height="1" fill="#151D28" />
+<rect x="21" y="1" width="1" height="1" fill="#151D28" />
+<rect x="22" y="1" width="1" height="1" fill="#151D28" />
+<rect x="23" y="1" width="1" height="1" fill="#151D28" />
+<rect x="24" y="1" width="1" height="1" fill="#151D28" />
+<rect x="25" y="1" width="1" height="1" fill="#151D28" />
+<rect x="26" y="1" width="1" height="1" fill="#151D28" />
+<rect x="27" y="1" width="1" height="1" fill="#151D28" />
+<rect x="28" y="1" width="1" height="1" fill="#151D28" />
+<rect x="29" y="1" width="1" height="1" fill="#151D28" />
+<rect x="30" y="1" width="1" height="1" fill="#151D28" />
+<rect x="31" y="1" width="1" height="1" fill="#151D28" />
+<rect x="32" y="1" width="1" height="1" fill="#151D28" />
+<rect x="33" y="1" width="1" height="1" fill="#10161F" />
+<rect x="34" y="1" width="1" height="1" fill="#10161F" />
+<rect x="35" y="1" width="1" height="1" fill="#10161F" />
+<rect x="36" y="1" width="1" height="1" fill="#10161F" />
+<rect x="37" y="1" width="1" height="1" fill="#10161F" />
+<rect x="38" y="1" width="1" height="1" fill="#10161F" />
+<rect x="39" y="1" width="1" height="1" fill="#10161F" />
+<rect x="40" y="1" width="1" height="1" fill="#151D28" />
+<rect x="41" y="1" width="1" height="1" fill="#10161F" />
+<rect x="42" y="1" width="1" height="1" fill="#10161F" />
+<rect x="43" y="1" width="1" height="1" fill="#10161F" />
+<rect x="44" y="1" width="1" height="1" fill="#10161F" />
+<rect x="45" y="1" width="1" height="1" fill="#10161F" />
+<rect x="46" y="1" width="1" height="1" fill="#10161F" />
+<rect x="0" y="2" width="1" height="1" fill="#10161F" />
+<rect x="1" y="2" width="1" height="1" fill="#10161F" />
+<rect x="2" y="2" width="1" height="1" fill="#10161F" />
+<rect x="3" y="2" width="1" height="1" fill="#10161F" />
+<rect x="4" y="2" width="1" height="1" fill="#10161F" />
+<rect x="5" y="2" width="1" height="1" fill="#10161F" />
+<rect x="6" y="2" width="1" height="1" fill="#151D28" />
+<rect x="7" y="2" width="1" height="1" fill="#151D28" />
+<rect x="8" y="2" width="1" height="1" fill="#151D28" />
+<rect x="9" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="2" width="1" height="1" fill="#151D28" />
+<rect x="14" y="2" width="1" height="1" fill="#151D28" />
+<rect x="15" y="2" width="1" height="1" fill="#151D28" />
+<rect x="16" y="2" width="1" height="1" fill="#151D28" />
+<rect x="17" y="2" width="1" height="1" fill="#151D28" />
+<rect x="18" y="2" width="1" height="1" fill="#151D28" />
+<rect x="19" y="2" width="1" height="1" fill="#151D28" />
+<rect x="20" y="2" width="1" height="1" fill="#151D28" />
+<rect x="21" y="2" width="1" height="1" fill="#151D28" />
+<rect x="22" y="2" width="1" height="1" fill="#151D28" />
+<rect x="23" y="2" width="1" height="1" fill="#151D28" />
+<rect x="24" y="2" width="1" height="1" fill="#151D28" />
+<rect x="25" y="2" width="1" height="1" fill="#151D28" />
+<rect x="26" y="2" width="1" height="1" fill="#151D28" />
+<rect x="27" y="2" width="1" height="1" fill="#151D28" />
+<rect x="28" y="2" width="1" height="1" fill="#151D28" />
+<rect x="29" y="2" width="1" height="1" fill="#151D28" />
+<rect x="30" y="2" width="1" height="1" fill="#151D28" />
+<rect x="31" y="2" width="1" height="1" fill="#151D28" />
+<rect x="32" y="2" width="1" height="1" fill="#151D28" />
+<rect x="33" y="2" width="1" height="1" fill="#151D28" />
+<rect x="34" y="2" width="1" height="1" fill="#151D28" />
+<rect x="35" y="2" width="1" height="1" fill="#151D28" />
+<rect x="36" y="2" width="1" height="1" fill="#151D28" />
+<rect x="37" y="2" width="1" height="1" fill="#10161F" />
+<rect x="38" y="2" width="1" height="1" fill="#10161F" />
+<rect x="39" y="2" width="1" height="1" fill="#10161F" />
+<rect x="40" y="2" width="1" height="1" fill="#10161F" />
+<rect x="41" y="2" width="1" height="1" fill="#151D28" />
+<rect x="42" y="2" width="1" height="1" fill="#10161F" />
+<rect x="43" y="2" width="1" height="1" fill="#10161F" />
+<rect x="44" y="2" width="1" height="1" fill="#10161F" />
+<rect x="45" y="2" width="1" height="1" fill="#10161F" />
+<rect x="46" y="2" width="1" height="1" fill="#10161F" />
+<rect x="47" y="2" width="1" height="1" fill="#10161F" />
+<rect x="0" y="3" width="1" height="1" fill="#10161F" />
+<rect x="1" y="3" width="1" height="1" fill="#10161F" />
+<rect x="2" y="3" width="1" height="1" fill="#10161F" />
+<rect x="3" y="3" width="1" height="1" fill="#10161F" />
+<rect x="4" y="3" width="1" height="1" fill="#10161F" />
+<rect x="5" y="3" width="1" height="1" fill="#10161F" />
+<rect x="6" y="3" width="1" height="1" fill="#10161F" />
+<rect x="7" y="3" width="1" height="1" fill="#151D28" />
+<rect x="8" y="3" width="1" height="1" fill="#151D28" />
+<rect x="9" y="3" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="3" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="3" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="3" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="3" width="1" height="1" fill="#151D28" />
+<rect x="14" y="3" width="1" height="1" fill="#151D28" />
+<rect x="15" y="3" width="1" height="1" fill="#151D28" />
+<rect x="16" y="3" width="1" height="1" fill="#151D28" />
+<rect x="17" y="3" width="1" height="1" fill="#151D28" />
+<rect x="18" y="3" width="1" height="1" fill="#151D28" />
+<rect x="19" y="3" width="1" height="1" fill="#151D28" />
+<rect x="20" y="3" width="1" height="1" fill="#151D28" />
+<rect x="21" y="3" width="1" height="1" fill="#151D28" />
+<rect x="22" y="3" width="1" height="1" fill="#151D28" />
+<rect x="23" y="3" width="1" height="1" fill="#151D28" />
+<rect x="24" y="3" width="1" height="1" fill="#151D28" />
+<rect x="25" y="3" width="1" height="1" fill="#151D28" />
+<rect x="26" y="3" width="1" height="1" fill="#151D28" />
+<rect x="27" y="3" width="1" height="1" fill="#151D28" />
+<rect x="28" y="3" width="1" height="1" fill="#151D28" />
+<rect x="29" y="3" width="1" height="1" fill="#151D28" />
+<rect x="30" y="3" width="1" height="1" fill="#151D28" />
+<rect x="31" y="3" width="1" height="1" fill="#151D28" />
+<rect x="32" y="3" width="1" height="1" fill="#151D28" />
+<rect x="33" y="3" width="1" height="1" fill="#151D28" />
+<rect x="34" y="3" width="1" height="1" fill="#151D28" />
+<rect x="35" y="3" width="1" height="1" fill="#10161F" />
+<rect x="36" y="3" width="1" height="1" fill="#10161F" />
+<rect x="37" y="3" width="1" height="1" fill="#10161F" />
+<rect x="38" y="3" width="1" height="1" fill="#10161F" />
+<rect x="39" y="3" width="1" height="1" fill="#10161F" />
+<rect x="40" y="3" width="1" height="1" fill="#10161F" />
+<rect x="41" y="3" width="1" height="1" fill="#10161F" />
+<rect x="42" y="3" width="1" height="1" fill="#10161F" />
+<rect x="43" y="3" width="1" height="1" fill="#10161F" />
+<rect x="44" y="3" width="1" height="1" fill="#10161F" />
+<rect x="45" y="3" width="1" height="1" fill="#10161F" />
+<rect x="46" y="3" width="1" height="1" fill="#10161F" />
+<rect x="47" y="3" width="1" height="1" fill="#10161F" />
+<rect x="0" y="4" width="1" height="1" fill="#10161F" />
+<rect x="1" y="4" width="1" height="1" fill="#10161F" />
+<rect x="2" y="4" width="1" height="1" fill="#151D28" />
+<rect x="3" y="4" width="1" height="1" fill="#151D28" />
+<rect x="4" y="4" width="1" height="1" fill="#10161F" />
+<rect x="5" y="4" width="1" height="1" fill="#10161F" />
+<rect x="6" y="4" width="1" height="1" fill="#10161F" />
+<rect x="7" y="4" width="1" height="1" fill="#151D28" />
+<rect x="8" y="4" width="1" height="1" fill="#151D28" />
+<rect x="9" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="4" width="1" height="1" fill="#151D28" />
+<rect x="14" y="4" width="1" height="1" fill="#151D28" />
+<rect x="15" y="4" width="1" height="1" fill="#151D28" />
+<rect x="16" y="4" width="1" height="1" fill="#151D28" />
+<rect x="17" y="4" width="1" height="1" fill="#151D28" />
+<rect x="18" y="4" width="1" height="1" fill="#151D28" />
+<rect x="19" y="4" width="1" height="1" fill="#151D28" />
+<rect x="20" y="4" width="1" height="1" fill="#151D28" />
+<rect x="21" y="4" width="1" height="1" fill="#151D28" />
+<rect x="22" y="4" width="1" height="1" fill="#151D28" />
+<rect x="23" y="4" width="1" height="1" fill="#151D28" />
+<rect x="24" y="4" width="1" height="1" fill="#151D28" />
+<rect x="25" y="4" width="1" height="1" fill="#151D28" />
+<rect x="26" y="4" width="1" height="1" fill="#151D28" />
+<rect x="27" y="4" width="1" height="1" fill="#151D28" />
+<rect x="28" y="4" width="1" height="1" fill="#151D28" />
+<rect x="29" y="4" width="1" height="1" fill="#151D28" />
+<rect x="30" y="4" width="1" height="1" fill="#151D28" />
+<rect x="31" y="4" width="1" height="1" fill="#151D28" />
+<rect x="32" y="4" width="1" height="1" fill="#151D28" />
+<rect x="33" y="4" width="1" height="1" fill="#151D28" />
+<rect x="34" y="4" width="1" height="1" fill="#151D28" />
+<rect x="35" y="4" width="1" height="1" fill="#151D28" />
+<rect x="36" y="4" width="1" height="1" fill="#10161F" />
+<rect x="37" y="4" width="1" height="1" fill="#10161F" />
+<rect x="38" y="4" width="1" height="1" fill="#10161F" />
+<rect x="39" y="4" width="1" height="1" fill="#10161F" />
+<rect x="40" y="4" width="1" height="1" fill="#10161F" />
+<rect x="41" y="4" width="1" height="1" fill="#10161F" />
+<rect x="42" y="4" width="1" height="1" fill="#10161F" />
+<rect x="43" y="4" width="1" height="1" fill="#10161F" />
+<rect x="44" y="4" width="1" height="1" fill="#10161F" />
+<rect x="45" y="4" width="1" height="1" fill="#10161F" />
+<rect x="46" y="4" width="1" height="1" fill="#10161F" />
+<rect x="47" y="4" width="1" height="1" fill="#10161F" />
+<rect x="0" y="5" width="1" height="1" fill="#10161F" />
+<rect x="1" y="5" width="1" height="1" fill="#10161F" />
+<rect x="2" y="5" width="1" height="1" fill="#10161F" />
+<rect x="3" y="5" width="1" height="1" fill="#151D28" />
+<rect x="4" y="5" width="1" height="1" fill="#151D28" />
+<rect x="5" y="5" width="1" height="1" fill="#151D28" />
+<rect x="6" y="5" width="1" height="1" fill="#10161F" />
+<rect x="7" y="5" width="1" height="1" fill="#151D28" />
+<rect x="8" y="5" width="1" height="1" fill="#151D28" />
+<rect x="9" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="5" width="1" height="1" fill="#151D28" />
+<rect x="14" y="5" width="1" height="1" fill="#151D28" />
+<rect x="15" y="5" width="1" height="1" fill="#151D28" />
+<rect x="16" y="5" width="1" height="1" fill="#151D28" />
+<rect x="17" y="5" width="1" height="1" fill="#151D28" />
+<rect x="18" y="5" width="1" height="1" fill="#151D28" />
+<rect x="19" y="5" width="1" height="1" fill="#151D28" />
+<rect x="20" y="5" width="1" height="1" fill="#151D28" />
+<rect x="21" y="5" width="1" height="1" fill="#151D28" />
+<rect x="22" y="5" width="1" height="1" fill="#151D28" />
+<rect x="23" y="5" width="1" height="1" fill="#151D28" />
+<rect x="24" y="5" width="1" height="1" fill="#151D28" />
+<rect x="25" y="5" width="1" height="1" fill="#151D28" />
+<rect x="26" y="5" width="1" height="1" fill="#151D28" />
+<rect x="27" y="5" width="1" height="1" fill="#151D28" />
+<rect x="28" y="5" width="1" height="1" fill="#151D28" />
+<rect x="29" y="5" width="1" height="1" fill="#151D28" />
+<rect x="30" y="5" width="1" height="1" fill="#151D28" />
+<rect x="31" y="5" width="1" height="1" fill="#151D28" />
+<rect x="32" y="5" width="1" height="1" fill="#151D28" />
+<rect x="33" y="5" width="1" height="1" fill="#151D28" />
+<rect x="34" y="5" width="1" height="1" fill="#151D28" />
+<rect x="35" y="5" width="1" height="1" fill="#151D28" />
+<rect x="36" y="5" width="1" height="1" fill="#151D28" />
+<rect x="37" y="5" width="1" height="1" fill="#151D28" />
+<rect x="38" y="5" width="1" height="1" fill="#10161F" />
+<rect x="39" y="5" width="1" height="1" fill="#10161F" />
+<rect x="40" y="5" width="1" height="1" fill="#10161F" />
+<rect x="41" y="5" width="1" height="1" fill="#10161F" />
+<rect x="42" y="5" width="1" height="1" fill="#151D28" />
+<rect x="43" y="5" width="1" height="1" fill="#10161F" />
+<rect x="44" y="5" width="1" height="1" fill="#10161F" />
+<rect x="45" y="5" width="1" height="1" fill="#10161F" />
+<rect x="46" y="5" width="1" height="1" fill="#10161F" />
+<rect x="47" y="5" width="1" height="1" fill="#10161F" />
+<rect x="0" y="6" width="1" height="1" fill="#10161F" />
+<rect x="1" y="6" width="1" height="1" fill="#10161F" />
+<rect x="2" y="6" width="1" height="1" fill="#10161F" />
+<rect x="3" y="6" width="1" height="1" fill="#10161F" />
+<rect x="4" y="6" width="1" height="1" fill="#151D28" />
+<rect x="5" y="6" width="1" height="1" fill="#151D28" />
+<rect x="6" y="6" width="1" height="1" fill="#151D28" />
+<rect x="7" y="6" width="1" height="1" fill="#151D28" />
+<rect x="8" y="6" width="1" height="1" fill="#151D28" />
+<rect x="9" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="6" width="1" height="1" fill="#151D28" />
+<rect x="14" y="6" width="1" height="1" fill="#151D28" />
+<rect x="15" y="6" width="1" height="1" fill="#151D28" />
+<rect x="16" y="6" width="1" height="1" fill="#151D28" />
+<rect x="17" y="6" width="1" height="1" fill="#151D28" />
+<rect x="18" y="6" width="1" height="1" fill="#151D28" />
+<rect x="19" y="6" width="1" height="1" fill="#151D28" />
+<rect x="20" y="6" width="1" height="1" fill="#151D28" />
+<rect x="21" y="6" width="1" height="1" fill="#151D28" />
+<rect x="22" y="6" width="1" height="1" fill="#151D28" />
+<rect x="23" y="6" width="1" height="1" fill="#151D28" />
+<rect x="24" y="6" width="1" height="1" fill="#151D28" />
+<rect x="25" y="6" width="1" height="1" fill="#151D28" />
+<rect x="26" y="6" width="1" height="1" fill="#151D28" />
+<rect x="27" y="6" width="1" height="1" fill="#151D28" />
+<rect x="28" y="6" width="1" height="1" fill="#151D28" />
+<rect x="29" y="6" width="1" height="1" fill="#151D28" />
+<rect x="30" y="6" width="1" height="1" fill="#151D28" />
+<rect x="31" y="6" width="1" height="1" fill="#151D28" />
+<rect x="32" y="6" width="1" height="1" fill="#151D28" />
+<rect x="33" y="6" width="1" height="1" fill="#151D28" />
+<rect x="34" y="6" width="1" height="1" fill="#151D28" />
+<rect x="35" y="6" width="1" height="1" fill="#151D28" />
+<rect x="36" y="6" width="1" height="1" fill="#151D28" />
+<rect x="37" y="6" width="1" height="1" fill="#151D28" />
+<rect x="38" y="6" width="1" height="1" fill="#151D28" />
+<rect x="39" y="6" width="1" height="1" fill="#10161F" />
+<rect x="40" y="6" width="1" height="1" fill="#10161F" />
+<rect x="41" y="6" width="1" height="1" fill="#10161F" />
+<rect x="42" y="6" width="1" height="1" fill="#151D28" />
+<rect x="43" y="6" width="1" height="1" fill="#151D28" />
+<rect x="44" y="6" width="1" height="1" fill="#10161F" />
+<rect x="45" y="6" width="1" height="1" fill="#10161F" />
+<rect x="46" y="6" width="1" height="1" fill="#10161F" />
+<rect x="47" y="6" width="1" height="1" fill="#10161F" />
+<rect x="0" y="7" width="1" height="1" fill="#10161F" />
+<rect x="1" y="7" width="1" height="1" fill="#10161F" />
+<rect x="2" y="7" width="1" height="1" fill="#10161F" />
+<rect x="3" y="7" width="1" height="1" fill="#10161F" />
+<rect x="4" y="7" width="1" height="1" fill="#10161F" />
+<rect x="5" y="7" width="1" height="1" fill="#10161F" />
+<rect x="6" y="7" width="1" height="1" fill="#151D28" />
+<rect x="7" y="7" width="1" height="1" fill="#151D28" />
+<rect x="8" y="7" width="1" height="1" fill="#151D28" />
+<rect x="9" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="7" width="1" height="1" fill="#151D28" />
+<rect x="14" y="7" width="1" height="1" fill="#151D28" />
+<rect x="15" y="7" width="1" height="1" fill="#151D28" />
+<rect x="16" y="7" width="1" height="1" fill="#151D28" />
+<rect x="17" y="7" width="1" height="1" fill="#151D28" />
+<rect x="18" y="7" width="1" height="1" fill="#151D28" />
+<rect x="19" y="7" width="1" height="1" fill="#151D28" />
+<rect x="20" y="7" width="1" height="1" fill="#151D28" />
+<rect x="21" y="7" width="1" height="1" fill="#151D28" />
+<rect x="22" y="7" width="1" height="1" fill="#151D28" />
+<rect x="23" y="7" width="1" height="1" fill="#151D28" />
+<rect x="24" y="7" width="1" height="1" fill="#151D28" />
+<rect x="25" y="7" width="1" height="1" fill="#151D28" />
+<rect x="26" y="7" width="1" height="1" fill="#151D28" />
+<rect x="27" y="7" width="1" height="1" fill="#151D28" />
+<rect x="28" y="7" width="1" height="1" fill="#151D28" />
+<rect x="29" y="7" width="1" height="1" fill="#151D28" />
+<rect x="30" y="7" width="1" height="1" fill="#151D28" />
+<rect x="31" y="7" width="1" height="1" fill="#151D28" />
+<rect x="32" y="7" width="1" height="1" fill="#151D28" />
+<rect x="33" y="7" width="1" height="1" fill="#151D28" />
+<rect x="34" y="7" width="1" height="1" fill="#151D28" />
+<rect x="35" y="7" width="1" height="1" fill="#151D28" />
+<rect x="36" y="7" width="1" height="1" fill="#151D28" />
+<rect x="37" y="7" width="1" height="1" fill="#151D28" />
+<rect x="38" y="7" width="1" height="1" fill="#151D28" />
+<rect x="39" y="7" width="1" height="1" fill="#10161F" />
+<rect x="40" y="7" width="1" height="1" fill="#10161F" />
+<rect x="41" y="7" width="1" height="1" fill="#151D28" />
+<rect x="42" y="7" width="1" height="1" fill="#151D28" />
+<rect x="43" y="7" width="1" height="1" fill="#151D28" />
+<rect x="44" y="7" width="1" height="1" fill="#10161F" />
+<rect x="45" y="7" width="1" height="1" fill="#10161F" />
+<rect x="46" y="7" width="1" height="1" fill="#10161F" />
+<rect x="47" y="7" width="1" height="1" fill="#10161F" />
+<rect x="0" y="8" width="1" height="1" fill="#10161F" />
+<rect x="1" y="8" width="1" height="1" fill="#10161F" />
+<rect x="2" y="8" width="1" height="1" fill="#151D28" />
+<rect x="3" y="8" width="1" height="1" fill="#151D28" />
+<rect x="4" y="8" width="1" height="1" fill="#151D28" />
+<rect x="5" y="8" width="1" height="1" fill="#10161F" />
+<rect x="6" y="8" width="1" height="1" fill="#10161F" />
+<rect x="7" y="8" width="1" height="1" fill="#151D28" />
+<rect x="8" y="8" width="1" height="1" fill="#151D28" />
+<rect x="9" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="8" width="1" height="1" fill="#151D28" />
+<rect x="14" y="8" width="1" height="1" fill="#151D28" />
+<rect x="15" y="8" width="1" height="1" fill="#151D28" />
+<rect x="16" y="8" width="1" height="1" fill="#151D28" />
+<rect x="17" y="8" width="1" height="1" fill="#151D28" />
+<rect x="18" y="8" width="1" height="1" fill="#151D28" />
+<rect x="19" y="8" width="1" height="1" fill="#151D28" />
+<rect x="20" y="8" width="1" height="1" fill="#151D28" />
+<rect x="21" y="8" width="1" height="1" fill="#151D28" />
+<rect x="22" y="8" width="1" height="1" fill="#151D28" />
+<rect x="23" y="8" width="1" height="1" fill="#151D28" />
+<rect x="24" y="8" width="1" height="1" fill="#151D28" />
+<rect x="25" y="8" width="1" height="1" fill="#151D28" />
+<rect x="26" y="8" width="1" height="1" fill="#151D28" />
+<rect x="27" y="8" width="1" height="1" fill="#151D28" />
+<rect x="28" y="8" width="1" height="1" fill="#151D28" />
+<rect x="29" y="8" width="1" height="1" fill="#151D28" />
+<rect x="30" y="8" width="1" height="1" fill="#151D28" />
+<rect x="31" y="8" width="1" height="1" fill="#151D28" />
+<rect x="32" y="8" width="1" height="1" fill="#151D28" />
+<rect x="33" y="8" width="1" height="1" fill="#151D28" />
+<rect x="34" y="8" width="1" height="1" fill="#151D28" />
+<rect x="35" y="8" width="1" height="1" fill="#151D28" />
+<rect x="36" y="8" width="1" height="1" fill="#151D28" />
+<rect x="37" y="8" width="1" height="1" fill="#151D28" />
+<rect x="38" y="8" width="1" height="1" fill="#151D28" />
+<rect x="39" y="8" width="1" height="1" fill="#10161F" />
+<rect x="40" y="8" width="1" height="1" fill="#10161F" />
+<rect x="41" y="8" width="1" height="1" fill="#151D28" />
+<rect x="42" y="8" width="1" height="1" fill="#151D28" />
+<rect x="43" y="8" width="1" height="1" fill="#151D28" />
+<rect x="44" y="8" width="1" height="1" fill="#151D28" />
+<rect x="45" y="8" width="1" height="1" fill="#10161F" />
+<rect x="46" y="8" width="1" height="1" fill="#10161F" />
+<rect x="47" y="8" width="1" height="1" fill="#10161F" />
+<rect x="0" y="9" width="1" height="1" fill="#10161F" />
+<rect x="1" y="9" width="1" height="1" fill="#10161F" />
+<rect x="2" y="9" width="1" height="1" fill="#151D28" />
+<rect x="3" y="9" width="1" height="1" fill="#151D28" />
+<rect x="4" y="9" width="1" height="1" fill="#151D28" />
+<rect x="5" y="9" width="1" height="1" fill="#151D28" />
+<rect x="6" y="9" width="1" height="1" fill="#151D28" />
+<rect x="7" y="9" width="1" height="1" fill="#151D28" />
+<rect x="8" y="9" width="1" height="1" fill="#151D28" />
+<rect x="9" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="9" width="1" height="1" fill="#151D28" />
+<rect x="14" y="9" width="1" height="1" fill="#151D28" />
+<rect x="15" y="9" width="1" height="1" fill="#151D28" />
+<rect x="16" y="9" width="1" height="1" fill="#151D28" />
+<rect x="17" y="9" width="1" height="1" fill="#151D28" />
+<rect x="18" y="9" width="1" height="1" fill="#151D28" />
+<rect x="19" y="9" width="1" height="1" fill="#151D28" />
+<rect x="20" y="9" width="1" height="1" fill="#151D28" />
+<rect x="21" y="9" width="1" height="1" fill="#151D28" />
+<rect x="22" y="9" width="1" height="1" fill="#151D28" />
+<rect x="23" y="9" width="1" height="1" fill="#151D28" />
+<rect x="24" y="9" width="1" height="1" fill="#151D28" />
+<rect x="25" y="9" width="1" height="1" fill="#151D28" />
+<rect x="26" y="9" width="1" height="1" fill="#151D28" />
+<rect x="27" y="9" width="1" height="1" fill="#151D28" />
+<rect x="28" y="9" width="1" height="1" fill="#151D28" />
+<rect x="29" y="9" width="1" height="1" fill="#151D28" />
+<rect x="30" y="9" width="1" height="1" fill="#151D28" />
+<rect x="31" y="9" width="1" height="1" fill="#151D28" />
+<rect x="32" y="9" width="1" height="1" fill="#151D28" />
+<rect x="33" y="9" width="1" height="1" fill="#151D28" />
+<rect x="34" y="9" width="1" height="1" fill="#151D28" />
+<rect x="35" y="9" width="1" height="1" fill="#151D28" />
+<rect x="36" y="9" width="1" height="1" fill="#151D28" />
+<rect x="37" y="9" width="1" height="1" fill="#151D28" />
+<rect x="38" y="9" width="1" height="1" fill="#151D28" />
+<rect x="39" y="9" width="1" height="1" fill="#10161F" />
+<rect x="40" y="9" width="1" height="1" fill="#10161F" />
+<rect x="41" y="9" width="1" height="1" fill="#151D28" />
+<rect x="42" y="9" width="1" height="1" fill="#151D28" />
+<rect x="43" y="9" width="1" height="1" fill="#151D28" />
+<rect x="44" y="9" width="1" height="1" fill="#151D28" />
+<rect x="45" y="9" width="1" height="1" fill="#10161F" />
+<rect x="46" y="9" width="1" height="1" fill="#10161F" />
+<rect x="47" y="9" width="1" height="1" fill="#10161F" />
+<rect x="0" y="10" width="1" height="1" fill="#10161F" />
+<rect x="1" y="10" width="1" height="1" fill="#10161F" />
+<rect x="2" y="10" width="1" height="1" fill="#151D28" />
+<rect x="3" y="10" width="1" height="1" fill="#151D28" />
+<rect x="4" y="10" width="1" height="1" fill="#151D28" />
+<rect x="5" y="10" width="1" height="1" fill="#151D28" />
+<rect x="6" y="10" width="1" height="1" fill="#151D28" />
+<rect x="7" y="10" width="1" height="1" fill="#151D28" />
+<rect x="8" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="10" width="1" height="1" fill="#151D28" />
+<rect x="15" y="10" width="1" height="1" fill="#151D28" />
+<rect x="16" y="10" width="1" height="1" fill="#151D28" />
+<rect x="17" y="10" width="1" height="1" fill="#151D28" />
+<rect x="18" y="10" width="1" height="1" fill="#151D28" />
+<rect x="19" y="10" width="1" height="1" fill="#151D28" />
+<rect x="20" y="10" width="1" height="1" fill="#151D28" />
+<rect x="21" y="10" width="1" height="1" fill="#151D28" />
+<rect x="22" y="10" width="1" height="1" fill="#151D28" />
+<rect x="23" y="10" width="1" height="1" fill="#151D28" />
+<rect x="24" y="10" width="1" height="1" fill="#151D28" />
+<rect x="25" y="10" width="1" height="1" fill="#151D28" />
+<rect x="26" y="10" width="1" height="1" fill="#151D28" />
+<rect x="27" y="10" width="1" height="1" fill="#151D28" />
+<rect x="28" y="10" width="1" height="1" fill="#151D28" />
+<rect x="29" y="10" width="1" height="1" fill="#151D28" />
+<rect x="30" y="10" width="1" height="1" fill="#151D28" />
+<rect x="31" y="10" width="1" height="1" fill="#151D28" />
+<rect x="32" y="10" width="1" height="1" fill="#151D28" />
+<rect x="33" y="10" width="1" height="1" fill="#151D28" />
+<rect x="34" y="10" width="1" height="1" fill="#151D28" />
+<rect x="35" y="10" width="1" height="1" fill="#151D28" />
+<rect x="36" y="10" width="1" height="1" fill="#151D28" />
+<rect x="37" y="10" width="1" height="1" fill="#151D28" />
+<rect x="38" y="10" width="1" height="1" fill="#151D28" />
+<rect x="39" y="10" width="1" height="1" fill="#151D28" />
+<rect x="40" y="10" width="1" height="1" fill="#10161F" />
+<rect x="41" y="10" width="1" height="1" fill="#151D28" />
+<rect x="42" y="10" width="1" height="1" fill="#151D28" />
+<rect x="43" y="10" width="1" height="1" fill="#151D28" />
+<rect x="44" y="10" width="1" height="1" fill="#151D28" />
+<rect x="45" y="10" width="1" height="1" fill="#151D28" />
+<rect x="46" y="10" width="1" height="1" fill="#10161F" />
+<rect x="47" y="10" width="1" height="1" fill="#10161F" />
+<rect x="0" y="11" width="1" height="1" fill="#10161F" />
+<rect x="1" y="11" width="1" height="1" fill="#10161F" />
+<rect x="2" y="11" width="1" height="1" fill="#151D28" />
+<rect x="3" y="11" width="1" height="1" fill="#151D28" />
+<rect x="4" y="11" width="1" height="1" fill="#151D28" />
+<rect x="5" y="11" width="1" height="1" fill="#151D28" />
+<rect x="6" y="11" width="1" height="1" fill="#151D28" />
+<rect x="7" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="11" width="1" height="1" fill="#151D28" />
+<rect x="16" y="11" width="1" height="1" fill="#151D28" />
+<rect x="17" y="11" width="1" height="1" fill="#151D28" />
+<rect x="18" y="11" width="1" height="1" fill="#151D28" />
+<rect x="19" y="11" width="1" height="1" fill="#151D28" />
+<rect x="20" y="11" width="1" height="1" fill="#151D28" />
+<rect x="21" y="11" width="1" height="1" fill="#151D28" />
+<rect x="22" y="11" width="1" height="1" fill="#151D28" />
+<rect x="23" y="11" width="1" height="1" fill="#151D28" />
+<rect x="24" y="11" width="1" height="1" fill="#151D28" />
+<rect x="25" y="11" width="1" height="1" fill="#151D28" />
+<rect x="26" y="11" width="1" height="1" fill="#151D28" />
+<rect x="27" y="11" width="1" height="1" fill="#151D28" />
+<rect x="28" y="11" width="1" height="1" fill="#151D28" />
+<rect x="29" y="11" width="1" height="1" fill="#151D28" />
+<rect x="30" y="11" width="1" height="1" fill="#151D28" />
+<rect x="31" y="11" width="1" height="1" fill="#151D28" />
+<rect x="32" y="11" width="1" height="1" fill="#151D28" />
+<rect x="33" y="11" width="1" height="1" fill="#151D28" />
+<rect x="34" y="11" width="1" height="1" fill="#151D28" />
+<rect x="35" y="11" width="1" height="1" fill="#151D28" />
+<rect x="36" y="11" width="1" height="1" fill="#151D28" />
+<rect x="37" y="11" width="1" height="1" fill="#151D28" />
+<rect x="38" y="11" width="1" height="1" fill="#151D28" />
+<rect x="39" y="11" width="1" height="1" fill="#151D28" />
+<rect x="40" y="11" width="1" height="1" fill="#10161F" />
+<rect x="41" y="11" width="1" height="1" fill="#151D28" />
+<rect x="42" y="11" width="1" height="1" fill="#151D28" />
+<rect x="43" y="11" width="1" height="1" fill="#151D28" />
+<rect x="44" y="11" width="1" height="1" fill="#151D28" />
+<rect x="45" y="11" width="1" height="1" fill="#151D28" />
+<rect x="46" y="11" width="1" height="1" fill="#10161F" />
+<rect x="47" y="11" width="1" height="1" fill="#10161F" />
+<rect x="0" y="12" width="1" height="1" fill="#10161F" />
+<rect x="1" y="12" width="1" height="1" fill="#151D28" />
+<rect x="2" y="12" width="1" height="1" fill="#151D28" />
+<rect x="3" y="12" width="1" height="1" fill="#151D28" />
+<rect x="4" y="12" width="1" height="1" fill="#151D28" />
+<rect x="5" y="12" width="1" height="1" fill="#151D28" />
+<rect x="6" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="12" width="1" height="1" fill="#10141F" />
+<rect x="10" y="12" width="1" height="1" fill="#10141F" />
+<rect x="11" y="12" width="1" height="1" fill="#10141F" />
+<rect x="12" y="12" width="1" height="1" fill="#10141F" />
+<rect x="13" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="12" width="1" height="1" fill="#151D28" />
+<rect x="17" y="12" width="1" height="1" fill="#151D28" />
+<rect x="18" y="12" width="1" height="1" fill="#151D28" />
+<rect x="19" y="12" width="1" height="1" fill="#151D28" />
+<rect x="20" y="12" width="1" height="1" fill="#151D28" />
+<rect x="21" y="12" width="1" height="1" fill="#151D28" />
+<rect x="22" y="12" width="1" height="1" fill="#151D28" />
+<rect x="23" y="12" width="1" height="1" fill="#151D28" />
+<rect x="24" y="12" width="1" height="1" fill="#151D28" />
+<rect x="25" y="12" width="1" height="1" fill="#151D28" />
+<rect x="26" y="12" width="1" height="1" fill="#151D28" />
+<rect x="27" y="12" width="1" height="1" fill="#151D28" />
+<rect x="28" y="12" width="1" height="1" fill="#151D28" />
+<rect x="29" y="12" width="1" height="1" fill="#151D28" />
+<rect x="30" y="12" width="1" height="1" fill="#151D28" />
+<rect x="31" y="12" width="1" height="1" fill="#151D28" />
+<rect x="32" y="12" width="1" height="1" fill="#151D28" />
+<rect x="33" y="12" width="1" height="1" fill="#151D28" />
+<rect x="34" y="12" width="1" height="1" fill="#151D28" />
+<rect x="35" y="12" width="1" height="1" fill="#151D28" />
+<rect x="36" y="12" width="1" height="1" fill="#151D28" />
+<rect x="37" y="12" width="1" height="1" fill="#151D28" />
+<rect x="38" y="12" width="1" height="1" fill="#151D28" />
+<rect x="39" y="12" width="1" height="1" fill="#151D28" />
+<rect x="40" y="12" width="1" height="1" fill="#151D28" />
+<rect x="41" y="12" width="1" height="1" fill="#151D28" />
+<rect x="42" y="12" width="1" height="1" fill="#151D28" />
+<rect x="43" y="12" width="1" height="1" fill="#151D28" />
+<rect x="44" y="12" width="1" height="1" fill="#151D28" />
+<rect x="45" y="12" width="1" height="1" fill="#151D28" />
+<rect x="46" y="12" width="1" height="1" fill="#10161F" />
+<rect x="47" y="12" width="1" height="1" fill="#10161F" />
+<rect x="0" y="13" width="1" height="1" fill="#10161F" />
+<rect x="1" y="13" width="1" height="1" fill="#151D28" />
+<rect x="2" y="13" width="1" height="1" fill="#151D28" />
+<rect x="3" y="13" width="1" height="1" fill="#151D28" />
+<rect x="4" y="13" width="1" height="1" fill="#151D28" />
+<rect x="5" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="13" width="1" height="1" fill="#10141F" />
+<rect x="9" y="13" width="1" height="1" fill="#151D28" />
+<rect x="10" y="13" width="1" height="1" fill="#151D28" />
+<rect x="11" y="13" width="1" height="1" fill="#151D28" />
+<rect x="12" y="13" width="1" height="1" fill="#151D28" />
+<rect x="13" y="13" width="1" height="1" fill="#10141F" />
+<rect x="14" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="13" width="1" height="1" fill="#151D28" />
+<rect x="18" y="13" width="1" height="1" fill="#151D28" />
+<rect x="19" y="13" width="1" height="1" fill="#151D28" />
+<rect x="20" y="13" width="1" height="1" fill="#151D28" />
+<rect x="21" y="13" width="1" height="1" fill="#151D28" />
+<rect x="22" y="13" width="1" height="1" fill="#151D28" />
+<rect x="23" y="13" width="1" height="1" fill="#151D28" />
+<rect x="24" y="13" width="1" height="1" fill="#151D28" />
+<rect x="25" y="13" width="1" height="1" fill="#151D28" />
+<rect x="26" y="13" width="1" height="1" fill="#151D28" />
+<rect x="27" y="13" width="1" height="1" fill="#151D28" />
+<rect x="28" y="13" width="1" height="1" fill="#151D28" />
+<rect x="29" y="13" width="1" height="1" fill="#151D28" />
+<rect x="30" y="13" width="1" height="1" fill="#151D28" />
+<rect x="31" y="13" width="1" height="1" fill="#151D28" />
+<rect x="32" y="13" width="1" height="1" fill="#151D28" />
+<rect x="33" y="13" width="1" height="1" fill="#151D28" />
+<rect x="34" y="13" width="1" height="1" fill="#151D28" />
+<rect x="35" y="13" width="1" height="1" fill="#151D28" />
+<rect x="36" y="13" width="1" height="1" fill="#151D28" />
+<rect x="37" y="13" width="1" height="1" fill="#151D28" />
+<rect x="38" y="13" width="1" height="1" fill="#151D28" />
+<rect x="39" y="13" width="1" height="1" fill="#151D28" />
+<rect x="40" y="13" width="1" height="1" fill="#151D28" />
+<rect x="41" y="13" width="1" height="1" fill="#151D28" />
+<rect x="42" y="13" width="1" height="1" fill="#151D28" />
+<rect x="43" y="13" width="1" height="1" fill="#151D28" />
+<rect x="44" y="13" width="1" height="1" fill="#151D28" />
+<rect x="45" y="13" width="1" height="1" fill="#151D28" />
+<rect x="46" y="13" width="1" height="1" fill="#10161F" />
+<rect x="47" y="13" width="1" height="1" fill="#10161F" />
+<rect x="0" y="14" width="1" height="1" fill="#D68733" />
+<rect x="1" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="14" width="1" height="1" fill="#10141F" />
+<rect x="8" y="14" width="1" height="1" fill="#151D28" />
+<rect x="9" y="14" width="1" height="1" fill="#151D28" />
+<rect x="10" y="14" width="1" height="1" fill="#151D28" />
+<rect x="11" y="14" width="1" height="1" fill="#151D28" />
+<rect x="12" y="14" width="1" height="1" fill="#151D28" />
+<rect x="13" y="14" width="1" height="1" fill="#151D28" />
+<rect x="14" y="14" width="1" height="1" fill="#10141F" />
+<rect x="15" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="14" width="1" height="1" fill="#D68733" />
+<rect x="47" y="14" width="1" height="1" fill="#D68733" />
+<rect x="0" y="15" width="1" height="1" fill="#D68733" />
+<rect x="1" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="15" width="1" height="1" fill="#10141F" />
+<rect x="8" y="15" width="1" height="1" fill="#151D28" />
+<rect x="9" y="15" width="1" height="1" fill="#151D28" />
+<rect x="10" y="15" width="1" height="1" fill="#151D28" />
+<rect x="11" y="15" width="1" height="1" fill="#151D28" />
+<rect x="12" y="15" width="1" height="1" fill="#151D28" />
+<rect x="13" y="15" width="1" height="1" fill="#151D28" />
+<rect x="14" y="15" width="1" height="1" fill="#10141F" />
+<rect x="15" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="15" width="1" height="1" fill="#D68733" />
+<rect x="47" y="15" width="1" height="1" fill="#D68733" />
+<rect x="0" y="16" width="1" height="1" fill="#D68733" />
+<rect x="1" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="16" width="1" height="1" fill="#10141F" />
+<rect x="8" y="16" width="1" height="1" fill="#151D28" />
+<rect x="9" y="16" width="1" height="1" fill="#151D28" />
+<rect x="10" y="16" width="1" height="1" fill="#151D28" />
+<rect x="11" y="16" width="1" height="1" fill="#151D28" />
+<rect x="12" y="16" width="1" height="1" fill="#151D28" />
+<rect x="13" y="16" width="1" height="1" fill="#151D28" />
+<rect x="14" y="16" width="1" height="1" fill="#10141F" />
+<rect x="15" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="16" width="1" height="1" fill="#D68733" />
+<rect x="47" y="16" width="1" height="1" fill="#D68733" />
+<rect x="0" y="17" width="1" height="1" fill="#D68733" />
+<rect x="1" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="17" width="1" height="1" fill="#10141F" />
+<rect x="8" y="17" width="1" height="1" fill="#151D28" />
+<rect x="9" y="17" width="1" height="1" fill="#151D28" />
+<rect x="10" y="17" width="1" height="1" fill="#151D28" />
+<rect x="11" y="17" width="1" height="1" fill="#151D28" />
+<rect x="12" y="17" width="1" height="1" fill="#151D28" />
+<rect x="13" y="17" width="1" height="1" fill="#151D28" />
+<rect x="14" y="17" width="1" height="1" fill="#10141F" />
+<rect x="15" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="17" width="1" height="1" fill="#D68733" />
+<rect x="46" y="17" width="1" height="1" fill="#D68733" />
+<rect x="47" y="17" width="1" height="1" fill="#D68733" />
+<rect x="0" y="18" width="1" height="1" fill="#10161F" />
+<rect x="1" y="18" width="1" height="1" fill="#151D28" />
+<rect x="2" y="18" width="1" height="1" fill="#151D28" />
+<rect x="3" y="18" width="1" height="1" fill="#151D28" />
+<rect x="4" y="18" width="1" height="1" fill="#151D28" />
+<rect x="5" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="18" width="1" height="1" fill="#10141F" />
+<rect x="9" y="18" width="1" height="1" fill="#151D28" />
+<rect x="10" y="18" width="1" height="1" fill="#151D28" />
+<rect x="11" y="18" width="1" height="1" fill="#151D28" />
+<rect x="12" y="18" width="1" height="1" fill="#151D28" />
+<rect x="13" y="18" width="1" height="1" fill="#10141F" />
+<rect x="14" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="18" width="1" height="1" fill="#151D28" />
+<rect x="18" y="18" width="1" height="1" fill="#151D28" />
+<rect x="19" y="18" width="1" height="1" fill="#151D28" />
+<rect x="20" y="18" width="1" height="1" fill="#151D28" />
+<rect x="21" y="18" width="1" height="1" fill="#151D28" />
+<rect x="22" y="18" width="1" height="1" fill="#151D28" />
+<rect x="23" y="18" width="1" height="1" fill="#151D28" />
+<rect x="24" y="18" width="1" height="1" fill="#151D28" />
+<rect x="25" y="18" width="1" height="1" fill="#151D28" />
+<rect x="26" y="18" width="1" height="1" fill="#151D28" />
+<rect x="27" y="18" width="1" height="1" fill="#151D28" />
+<rect x="28" y="18" width="1" height="1" fill="#151D28" />
+<rect x="29" y="18" width="1" height="1" fill="#151D28" />
+<rect x="30" y="18" width="1" height="1" fill="#151D28" />
+<rect x="31" y="18" width="1" height="1" fill="#151D28" />
+<rect x="32" y="18" width="1" height="1" fill="#151D28" />
+<rect x="33" y="18" width="1" height="1" fill="#151D28" />
+<rect x="34" y="18" width="1" height="1" fill="#151D28" />
+<rect x="35" y="18" width="1" height="1" fill="#151D28" />
+<rect x="36" y="18" width="1" height="1" fill="#151D28" />
+<rect x="37" y="18" width="1" height="1" fill="#151D28" />
+<rect x="38" y="18" width="1" height="1" fill="#151D28" />
+<rect x="39" y="18" width="1" height="1" fill="#151D28" />
+<rect x="40" y="18" width="1" height="1" fill="#151D28" />
+<rect x="41" y="18" width="1" height="1" fill="#151D28" />
+<rect x="42" y="18" width="1" height="1" fill="#151D28" />
+<rect x="43" y="18" width="1" height="1" fill="#151D28" />
+<rect x="44" y="18" width="1" height="1" fill="#151D28" />
+<rect x="45" y="18" width="1" height="1" fill="#10161F" />
+<rect x="46" y="18" width="1" height="1" fill="#10161F" />
+<rect x="47" y="18" width="1" height="1" fill="#10161F" />
+<rect x="0" y="19" width="1" height="1" fill="#10161F" />
+<rect x="1" y="19" width="1" height="1" fill="#151D28" />
+<rect x="2" y="19" width="1" height="1" fill="#151D28" />
+<rect x="3" y="19" width="1" height="1" fill="#151D28" />
+<rect x="4" y="19" width="1" height="1" fill="#151D28" />
+<rect x="5" y="19" width="1" height="1" fill="#151D28" />
+<rect x="6" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="19" width="1" height="1" fill="#10141F" />
+<rect x="10" y="19" width="1" height="1" fill="#10141F" />
+<rect x="11" y="19" width="1" height="1" fill="#10141F" />
+<rect x="12" y="19" width="1" height="1" fill="#10141F" />
+<rect x="13" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="19" width="1" height="1" fill="#151D28" />
+<rect x="17" y="19" width="1" height="1" fill="#151D28" />
+<rect x="18" y="19" width="1" height="1" fill="#151D28" />
+<rect x="19" y="19" width="1" height="1" fill="#151D28" />
+<rect x="20" y="19" width="1" height="1" fill="#151D28" />
+<rect x="21" y="19" width="1" height="1" fill="#151D28" />
+<rect x="22" y="19" width="1" height="1" fill="#151D28" />
+<rect x="23" y="19" width="1" height="1" fill="#151D28" />
+<rect x="24" y="19" width="1" height="1" fill="#151D28" />
+<rect x="25" y="19" width="1" height="1" fill="#151D28" />
+<rect x="26" y="19" width="1" height="1" fill="#151D28" />
+<rect x="27" y="19" width="1" height="1" fill="#151D28" />
+<rect x="28" y="19" width="1" height="1" fill="#151D28" />
+<rect x="29" y="19" width="1" height="1" fill="#151D28" />
+<rect x="30" y="19" width="1" height="1" fill="#151D28" />
+<rect x="31" y="19" width="1" height="1" fill="#151D28" />
+<rect x="32" y="19" width="1" height="1" fill="#151D28" />
+<rect x="33" y="19" width="1" height="1" fill="#151D28" />
+<rect x="34" y="19" width="1" height="1" fill="#151D28" />
+<rect x="35" y="19" width="1" height="1" fill="#151D28" />
+<rect x="36" y="19" width="1" height="1" fill="#151D28" />
+<rect x="37" y="19" width="1" height="1" fill="#151D28" />
+<rect x="38" y="19" width="1" height="1" fill="#151D28" />
+<rect x="39" y="19" width="1" height="1" fill="#151D28" />
+<rect x="40" y="19" width="1" height="1" fill="#151D28" />
+<rect x="41" y="19" width="1" height="1" fill="#151D28" />
+<rect x="42" y="19" width="1" height="1" fill="#151D28" />
+<rect x="43" y="19" width="1" height="1" fill="#151D28" />
+<rect x="44" y="19" width="1" height="1" fill="#151D28" />
+<rect x="45" y="19" width="1" height="1" fill="#10161F" />
+<rect x="46" y="19" width="1" height="1" fill="#10161F" />
+<rect x="47" y="19" width="1" height="1" fill="#10161F" />
+<rect x="0" y="20" width="1" height="1" fill="#10161F" />
+<rect x="1" y="20" width="1" height="1" fill="#151D28" />
+<rect x="2" y="20" width="1" height="1" fill="#151D28" />
+<rect x="3" y="20" width="1" height="1" fill="#151D28" />
+<rect x="4" y="20" width="1" height="1" fill="#151D28" />
+<rect x="5" y="20" width="1" height="1" fill="#151D28" />
+<rect x="6" y="20" width="1" height="1" fill="#151D28" />
+<rect x="7" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="20" width="1" height="1" fill="#151D28" />
+<rect x="16" y="20" width="1" height="1" fill="#151D28" />
+<rect x="17" y="20" width="1" height="1" fill="#151D28" />
+<rect x="18" y="20" width="1" height="1" fill="#151D28" />
+<rect x="19" y="20" width="1" height="1" fill="#151D28" />
+<rect x="20" y="20" width="1" height="1" fill="#151D28" />
+<rect x="21" y="20" width="1" height="1" fill="#151D28" />
+<rect x="22" y="20" width="1" height="1" fill="#151D28" />
+<rect x="23" y="20" width="1" height="1" fill="#151D28" />
+<rect x="24" y="20" width="1" height="1" fill="#151D28" />
+<rect x="25" y="20" width="1" height="1" fill="#151D28" />
+<rect x="26" y="20" width="1" height="1" fill="#151D28" />
+<rect x="27" y="20" width="1" height="1" fill="#151D28" />
+<rect x="28" y="20" width="1" height="1" fill="#151D28" />
+<rect x="29" y="20" width="1" height="1" fill="#151D28" />
+<rect x="30" y="20" width="1" height="1" fill="#151D28" />
+<rect x="31" y="20" width="1" height="1" fill="#151D28" />
+<rect x="32" y="20" width="1" height="1" fill="#151D28" />
+<rect x="33" y="20" width="1" height="1" fill="#151D28" />
+<rect x="34" y="20" width="1" height="1" fill="#151D28" />
+<rect x="35" y="20" width="1" height="1" fill="#151D28" />
+<rect x="36" y="20" width="1" height="1" fill="#151D28" />
+<rect x="37" y="20" width="1" height="1" fill="#151D28" />
+<rect x="38" y="20" width="1" height="1" fill="#151D28" />
+<rect x="39" y="20" width="1" height="1" fill="#151D28" />
+<rect x="40" y="20" width="1" height="1" fill="#151D28" />
+<rect x="41" y="20" width="1" height="1" fill="#151D28" />
+<rect x="42" y="20" width="1" height="1" fill="#151D28" />
+<rect x="43" y="20" width="1" height="1" fill="#151D28" />
+<rect x="44" y="20" width="1" height="1" fill="#10161F" />
+<rect x="45" y="20" width="1" height="1" fill="#10161F" />
+<rect x="46" y="20" width="1" height="1" fill="#10161F" />
+<rect x="47" y="20" width="1" height="1" fill="#10161F" />
+<rect x="0" y="21" width="1" height="1" fill="#10161F" />
+<rect x="1" y="21" width="1" height="1" fill="#151D28" />
+<rect x="2" y="21" width="1" height="1" fill="#151D28" />
+<rect x="3" y="21" width="1" height="1" fill="#151D28" />
+<rect x="4" y="21" width="1" height="1" fill="#151D28" />
+<rect x="5" y="21" width="1" height="1" fill="#151D28" />
+<rect x="6" y="21" width="1" height="1" fill="#151D28" />
+<rect x="7" y="21" width="1" height="1" fill="#151D28" />
+<rect x="8" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="21" width="1" height="1" fill="#151D28" />
+<rect x="15" y="21" width="1" height="1" fill="#151D28" />
+<rect x="16" y="21" width="1" height="1" fill="#151D28" />
+<rect x="17" y="21" width="1" height="1" fill="#151D28" />
+<rect x="18" y="21" width="1" height="1" fill="#151D28" />
+<rect x="19" y="21" width="1" height="1" fill="#151D28" />
+<rect x="20" y="21" width="1" height="1" fill="#151D28" />
+<rect x="21" y="21" width="1" height="1" fill="#151D28" />
+<rect x="22" y="21" width="1" height="1" fill="#151D28" />
+<rect x="23" y="21" width="1" height="1" fill="#151D28" />
+<rect x="24" y="21" width="1" height="1" fill="#151D28" />
+<rect x="25" y="21" width="1" height="1" fill="#151D28" />
+<rect x="26" y="21" width="1" height="1" fill="#151D28" />
+<rect x="27" y="21" width="1" height="1" fill="#151D28" />
+<rect x="28" y="21" width="1" height="1" fill="#151D28" />
+<rect x="29" y="21" width="1" height="1" fill="#151D28" />
+<rect x="30" y="21" width="1" height="1" fill="#151D28" />
+<rect x="31" y="21" width="1" height="1" fill="#151D28" />
+<rect x="32" y="21" width="1" height="1" fill="#151D28" />
+<rect x="33" y="21" width="1" height="1" fill="#151D28" />
+<rect x="34" y="21" width="1" height="1" fill="#151D28" />
+<rect x="35" y="21" width="1" height="1" fill="#151D28" />
+<rect x="36" y="21" width="1" height="1" fill="#151D28" />
+<rect x="37" y="21" width="1" height="1" fill="#151D28" />
+<rect x="38" y="21" width="1" height="1" fill="#151D28" />
+<rect x="39" y="21" width="1" height="1" fill="#151D28" />
+<rect x="40" y="21" width="1" height="1" fill="#151D28" />
+<rect x="41" y="21" width="1" height="1" fill="#151D28" />
+<rect x="42" y="21" width="1" height="1" fill="#151D28" />
+<rect x="43" y="21" width="1" height="1" fill="#151D28" />
+<rect x="44" y="21" width="1" height="1" fill="#10161F" />
+<rect x="45" y="21" width="1" height="1" fill="#151D28" />
+<rect x="46" y="21" width="1" height="1" fill="#10161F" />
+<rect x="47" y="21" width="1" height="1" fill="#10161F" />
+<rect x="0" y="22" width="1" height="1" fill="#10161F" />
+<rect x="1" y="22" width="1" height="1" fill="#151D28" />
+<rect x="2" y="22" width="1" height="1" fill="#10161F" />
+<rect x="3" y="22" width="1" height="1" fill="#151D28" />
+<rect x="4" y="22" width="1" height="1" fill="#151D28" />
+<rect x="5" y="22" width="1" height="1" fill="#151D28" />
+<rect x="6" y="22" width="1" height="1" fill="#151D28" />
+<rect x="7" y="22" width="1" height="1" fill="#151D28" />
+<rect x="8" y="22" width="1" height="1" fill="#151D28" />
+<rect x="9" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="22" width="1" height="1" fill="#151D28" />
+<rect x="14" y="22" width="1" height="1" fill="#151D28" />
+<rect x="15" y="22" width="1" height="1" fill="#151D28" />
+<rect x="16" y="22" width="1" height="1" fill="#151D28" />
+<rect x="17" y="22" width="1" height="1" fill="#151D28" />
+<rect x="18" y="22" width="1" height="1" fill="#151D28" />
+<rect x="19" y="22" width="1" height="1" fill="#151D28" />
+<rect x="20" y="22" width="1" height="1" fill="#151D28" />
+<rect x="21" y="22" width="1" height="1" fill="#151D28" />
+<rect x="22" y="22" width="1" height="1" fill="#151D28" />
+<rect x="23" y="22" width="1" height="1" fill="#151D28" />
+<rect x="24" y="22" width="1" height="1" fill="#151D28" />
+<rect x="25" y="22" width="1" height="1" fill="#151D28" />
+<rect x="26" y="22" width="1" height="1" fill="#151D28" />
+<rect x="27" y="22" width="1" height="1" fill="#151D28" />
+<rect x="28" y="22" width="1" height="1" fill="#151D28" />
+<rect x="29" y="22" width="1" height="1" fill="#151D28" />
+<rect x="30" y="22" width="1" height="1" fill="#151D28" />
+<rect x="31" y="22" width="1" height="1" fill="#151D28" />
+<rect x="32" y="22" width="1" height="1" fill="#151D28" />
+<rect x="33" y="22" width="1" height="1" fill="#151D28" />
+<rect x="34" y="22" width="1" height="1" fill="#151D28" />
+<rect x="35" y="22" width="1" height="1" fill="#151D28" />
+<rect x="36" y="22" width="1" height="1" fill="#151D28" />
+<rect x="37" y="22" width="1" height="1" fill="#151D28" />
+<rect x="38" y="22" width="1" height="1" fill="#151D28" />
+<rect x="39" y="22" width="1" height="1" fill="#151D28" />
+<rect x="40" y="22" width="1" height="1" fill="#151D28" />
+<rect x="41" y="22" width="1" height="1" fill="#151D28" />
+<rect x="42" y="22" width="1" height="1" fill="#151D28" />
+<rect x="43" y="22" width="1" height="1" fill="#151D28" />
+<rect x="44" y="22" width="1" height="1" fill="#151D28" />
+<rect x="45" y="22" width="1" height="1" fill="#151D28" />
+<rect x="46" y="22" width="1" height="1" fill="#10161F" />
+<rect x="47" y="22" width="1" height="1" fill="#10161F" />
+<rect x="0" y="23" width="1" height="1" fill="#10161F" />
+<rect x="1" y="23" width="1" height="1" fill="#151D28" />
+<rect x="2" y="23" width="1" height="1" fill="#10161F" />
+<rect x="3" y="23" width="1" height="1" fill="#151D28" />
+<rect x="4" y="23" width="1" height="1" fill="#151D28" />
+<rect x="5" y="23" width="1" height="1" fill="#151D28" />
+<rect x="6" y="23" width="1" height="1" fill="#151D28" />
+<rect x="7" y="23" width="1" height="1" fill="#151D28" />
+<rect x="8" y="23" width="1" height="1" fill="#151D28" />
+<rect x="9" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="23" width="1" height="1" fill="#151D28" />
+<rect x="14" y="23" width="1" height="1" fill="#151D28" />
+<rect x="15" y="23" width="1" height="1" fill="#151D28" />
+<rect x="16" y="23" width="1" height="1" fill="#151D28" />
+<rect x="17" y="23" width="1" height="1" fill="#151D28" />
+<rect x="18" y="23" width="1" height="1" fill="#151D28" />
+<rect x="19" y="23" width="1" height="1" fill="#151D28" />
+<rect x="20" y="23" width="1" height="1" fill="#151D28" />
+<rect x="21" y="23" width="1" height="1" fill="#151D28" />
+<rect x="22" y="23" width="1" height="1" fill="#151D28" />
+<rect x="23" y="23" width="1" height="1" fill="#151D28" />
+<rect x="24" y="23" width="1" height="1" fill="#151D28" />
+<rect x="25" y="23" width="1" height="1" fill="#151D28" />
+<rect x="26" y="23" width="1" height="1" fill="#151D28" />
+<rect x="27" y="23" width="1" height="1" fill="#151D28" />
+<rect x="28" y="23" width="1" height="1" fill="#151D28" />
+<rect x="29" y="23" width="1" height="1" fill="#151D28" />
+<rect x="30" y="23" width="1" height="1" fill="#151D28" />
+<rect x="31" y="23" width="1" height="1" fill="#151D28" />
+<rect x="32" y="23" width="1" height="1" fill="#151D28" />
+<rect x="33" y="23" width="1" height="1" fill="#151D28" />
+<rect x="34" y="23" width="1" height="1" fill="#151D28" />
+<rect x="35" y="23" width="1" height="1" fill="#151D28" />
+<rect x="36" y="23" width="1" height="1" fill="#151D28" />
+<rect x="37" y="23" width="1" height="1" fill="#151D28" />
+<rect x="38" y="23" width="1" height="1" fill="#151D28" />
+<rect x="39" y="23" width="1" height="1" fill="#151D28" />
+<rect x="40" y="23" width="1" height="1" fill="#151D28" />
+<rect x="41" y="23" width="1" height="1" fill="#151D28" />
+<rect x="42" y="23" width="1" height="1" fill="#151D28" />
+<rect x="43" y="23" width="1" height="1" fill="#151D28" />
+<rect x="44" y="23" width="1" height="1" fill="#151D28" />
+<rect x="45" y="23" width="1" height="1" fill="#10161F" />
+<rect x="46" y="23" width="1" height="1" fill="#10161F" />
+<rect x="47" y="23" width="1" height="1" fill="#10161F" />
+<rect x="0" y="24" width="1" height="1" fill="#10161F" />
+<rect x="1" y="24" width="1" height="1" fill="#151D28" />
+<rect x="2" y="24" width="1" height="1" fill="#10161F" />
+<rect x="3" y="24" width="1" height="1" fill="#10161F" />
+<rect x="4" y="24" width="1" height="1" fill="#151D28" />
+<rect x="5" y="24" width="1" height="1" fill="#151D28" />
+<rect x="6" y="24" width="1" height="1" fill="#151D28" />
+<rect x="7" y="24" width="1" height="1" fill="#151D28" />
+<rect x="8" y="24" width="1" height="1" fill="#151D28" />
+<rect x="9" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="24" width="1" height="1" fill="#151D28" />
+<rect x="14" y="24" width="1" height="1" fill="#151D28" />
+<rect x="15" y="24" width="1" height="1" fill="#151D28" />
+<rect x="16" y="24" width="1" height="1" fill="#151D28" />
+<rect x="17" y="24" width="1" height="1" fill="#151D28" />
+<rect x="18" y="24" width="1" height="1" fill="#151D28" />
+<rect x="19" y="24" width="1" height="1" fill="#151D28" />
+<rect x="20" y="24" width="1" height="1" fill="#151D28" />
+<rect x="21" y="24" width="1" height="1" fill="#151D28" />
+<rect x="22" y="24" width="1" height="1" fill="#151D28" />
+<rect x="23" y="24" width="1" height="1" fill="#151D28" />
+<rect x="24" y="24" width="1" height="1" fill="#151D28" />
+<rect x="25" y="24" width="1" height="1" fill="#151D28" />
+<rect x="26" y="24" width="1" height="1" fill="#151D28" />
+<rect x="27" y="24" width="1" height="1" fill="#151D28" />
+<rect x="28" y="24" width="1" height="1" fill="#151D28" />
+<rect x="29" y="24" width="1" height="1" fill="#151D28" />
+<rect x="30" y="24" width="1" height="1" fill="#151D28" />
+<rect x="31" y="24" width="1" height="1" fill="#151D28" />
+<rect x="32" y="24" width="1" height="1" fill="#151D28" />
+<rect x="33" y="24" width="1" height="1" fill="#151D28" />
+<rect x="34" y="24" width="1" height="1" fill="#151D28" />
+<rect x="35" y="24" width="1" height="1" fill="#151D28" />
+<rect x="36" y="24" width="1" height="1" fill="#151D28" />
+<rect x="37" y="24" width="1" height="1" fill="#151D28" />
+<rect x="38" y="24" width="1" height="1" fill="#151D28" />
+<rect x="39" y="24" width="1" height="1" fill="#151D28" />
+<rect x="40" y="24" width="1" height="1" fill="#151D28" />
+<rect x="41" y="24" width="1" height="1" fill="#10161F" />
+<rect x="42" y="24" width="1" height="1" fill="#151D28" />
+<rect x="43" y="24" width="1" height="1" fill="#151D28" />
+<rect x="44" y="24" width="1" height="1" fill="#151D28" />
+<rect x="45" y="24" width="1" height="1" fill="#10161F" />
+<rect x="46" y="24" width="1" height="1" fill="#10161F" />
+<rect x="47" y="24" width="1" height="1" fill="#10161F" />
+<rect x="0" y="25" width="1" height="1" fill="#10161F" />
+<rect x="1" y="25" width="1" height="1" fill="#10161F" />
+<rect x="2" y="25" width="1" height="1" fill="#10161F" />
+<rect x="3" y="25" width="1" height="1" fill="#10161F" />
+<rect x="4" y="25" width="1" height="1" fill="#10161F" />
+<rect x="5" y="25" width="1" height="1" fill="#151D28" />
+<rect x="6" y="25" width="1" height="1" fill="#151D28" />
+<rect x="7" y="25" width="1" height="1" fill="#151D28" />
+<rect x="8" y="25" width="1" height="1" fill="#151D28" />
+<rect x="9" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="25" width="1" height="1" fill="#151D28" />
+<rect x="14" y="25" width="1" height="1" fill="#151D28" />
+<rect x="15" y="25" width="1" height="1" fill="#151D28" />
+<rect x="16" y="25" width="1" height="1" fill="#151D28" />
+<rect x="17" y="25" width="1" height="1" fill="#151D28" />
+<rect x="18" y="25" width="1" height="1" fill="#151D28" />
+<rect x="19" y="25" width="1" height="1" fill="#151D28" />
+<rect x="20" y="25" width="1" height="1" fill="#151D28" />
+<rect x="21" y="25" width="1" height="1" fill="#151D28" />
+<rect x="22" y="25" width="1" height="1" fill="#151D28" />
+<rect x="23" y="25" width="1" height="1" fill="#151D28" />
+<rect x="24" y="25" width="1" height="1" fill="#151D28" />
+<rect x="25" y="25" width="1" height="1" fill="#151D28" />
+<rect x="26" y="25" width="1" height="1" fill="#151D28" />
+<rect x="27" y="25" width="1" height="1" fill="#151D28" />
+<rect x="28" y="25" width="1" height="1" fill="#151D28" />
+<rect x="29" y="25" width="1" height="1" fill="#151D28" />
+<rect x="30" y="25" width="1" height="1" fill="#151D28" />
+<rect x="31" y="25" width="1" height="1" fill="#151D28" />
+<rect x="32" y="25" width="1" height="1" fill="#151D28" />
+<rect x="33" y="25" width="1" height="1" fill="#151D28" />
+<rect x="34" y="25" width="1" height="1" fill="#151D28" />
+<rect x="35" y="25" width="1" height="1" fill="#151D28" />
+<rect x="36" y="25" width="1" height="1" fill="#151D28" />
+<rect x="37" y="25" width="1" height="1" fill="#151D28" />
+<rect x="38" y="25" width="1" height="1" fill="#151D28" />
+<rect x="39" y="25" width="1" height="1" fill="#10161F" />
+<rect x="40" y="25" width="1" height="1" fill="#10161F" />
+<rect x="41" y="25" width="1" height="1" fill="#10161F" />
+<rect x="42" y="25" width="1" height="1" fill="#151D28" />
+<rect x="43" y="25" width="1" height="1" fill="#151D28" />
+<rect x="44" y="25" width="1" height="1" fill="#10161F" />
+<rect x="45" y="25" width="1" height="1" fill="#10161F" />
+<rect x="46" y="25" width="1" height="1" fill="#10161F" />
+<rect x="47" y="25" width="1" height="1" fill="#10161F" />
+<rect x="0" y="26" width="1" height="1" fill="#10161F" />
+<rect x="1" y="26" width="1" height="1" fill="#10161F" />
+<rect x="2" y="26" width="1" height="1" fill="#151D28" />
+<rect x="3" y="26" width="1" height="1" fill="#10161F" />
+<rect x="4" y="26" width="1" height="1" fill="#10161F" />
+<rect x="5" y="26" width="1" height="1" fill="#10161F" />
+<rect x="6" y="26" width="1" height="1" fill="#151D28" />
+<rect x="7" y="26" width="1" height="1" fill="#151D28" />
+<rect x="8" y="26" width="1" height="1" fill="#151D28" />
+<rect x="9" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="26" width="1" height="1" fill="#151D28" />
+<rect x="14" y="26" width="1" height="1" fill="#151D28" />
+<rect x="15" y="26" width="1" height="1" fill="#151D28" />
+<rect x="16" y="26" width="1" height="1" fill="#151D28" />
+<rect x="17" y="26" width="1" height="1" fill="#151D28" />
+<rect x="18" y="26" width="1" height="1" fill="#151D28" />
+<rect x="19" y="26" width="1" height="1" fill="#151D28" />
+<rect x="20" y="26" width="1" height="1" fill="#151D28" />
+<rect x="21" y="26" width="1" height="1" fill="#151D28" />
+<rect x="22" y="26" width="1" height="1" fill="#151D28" />
+<rect x="23" y="26" width="1" height="1" fill="#151D28" />
+<rect x="24" y="26" width="1" height="1" fill="#151D28" />
+<rect x="25" y="26" width="1" height="1" fill="#151D28" />
+<rect x="26" y="26" width="1" height="1" fill="#151D28" />
+<rect x="27" y="26" width="1" height="1" fill="#151D28" />
+<rect x="28" y="26" width="1" height="1" fill="#151D28" />
+<rect x="29" y="26" width="1" height="1" fill="#151D28" />
+<rect x="30" y="26" width="1" height="1" fill="#151D28" />
+<rect x="31" y="26" width="1" height="1" fill="#151D28" />
+<rect x="32" y="26" width="1" height="1" fill="#151D28" />
+<rect x="33" y="26" width="1" height="1" fill="#151D28" />
+<rect x="34" y="26" width="1" height="1" fill="#151D28" />
+<rect x="35" y="26" width="1" height="1" fill="#151D28" />
+<rect x="36" y="26" width="1" height="1" fill="#151D28" />
+<rect x="37" y="26" width="1" height="1" fill="#10161F" />
+<rect x="38" y="26" width="1" height="1" fill="#10161F" />
+<rect x="39" y="26" width="1" height="1" fill="#10161F" />
+<rect x="40" y="26" width="1" height="1" fill="#10161F" />
+<rect x="41" y="26" width="1" height="1" fill="#10161F" />
+<rect x="42" y="26" width="1" height="1" fill="#10161F" />
+<rect x="43" y="26" width="1" height="1" fill="#151D28" />
+<rect x="44" y="26" width="1" height="1" fill="#10161F" />
+<rect x="45" y="26" width="1" height="1" fill="#10161F" />
+<rect x="46" y="26" width="1" height="1" fill="#10161F" />
+<rect x="47" y="26" width="1" height="1" fill="#10161F" />
+<rect x="0" y="27" width="1" height="1" fill="#10161F" />
+<rect x="1" y="27" width="1" height="1" fill="#10161F" />
+<rect x="2" y="27" width="1" height="1" fill="#151D28" />
+<rect x="3" y="27" width="1" height="1" fill="#151D28" />
+<rect x="4" y="27" width="1" height="1" fill="#10161F" />
+<rect x="5" y="27" width="1" height="1" fill="#10161F" />
+<rect x="6" y="27" width="1" height="1" fill="#10161F" />
+<rect x="7" y="27" width="1" height="1" fill="#10161F" />
+<rect x="8" y="27" width="1" height="1" fill="#151D28" />
+<rect x="9" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="27" width="1" height="1" fill="#151D28" />
+<rect x="14" y="27" width="1" height="1" fill="#151D28" />
+<rect x="15" y="27" width="1" height="1" fill="#151D28" />
+<rect x="16" y="27" width="1" height="1" fill="#151D28" />
+<rect x="17" y="27" width="1" height="1" fill="#151D28" />
+<rect x="18" y="27" width="1" height="1" fill="#151D28" />
+<rect x="19" y="27" width="1" height="1" fill="#151D28" />
+<rect x="20" y="27" width="1" height="1" fill="#151D28" />
+<rect x="21" y="27" width="1" height="1" fill="#151D28" />
+<rect x="22" y="27" width="1" height="1" fill="#151D28" />
+<rect x="23" y="27" width="1" height="1" fill="#151D28" />
+<rect x="24" y="27" width="1" height="1" fill="#151D28" />
+<rect x="25" y="27" width="1" height="1" fill="#151D28" />
+<rect x="26" y="27" width="1" height="1" fill="#151D28" />
+<rect x="27" y="27" width="1" height="1" fill="#151D28" />
+<rect x="28" y="27" width="1" height="1" fill="#151D28" />
+<rect x="29" y="27" width="1" height="1" fill="#151D28" />
+<rect x="30" y="27" width="1" height="1" fill="#151D28" />
+<rect x="31" y="27" width="1" height="1" fill="#151D28" />
+<rect x="32" y="27" width="1" height="1" fill="#151D28" />
+<rect x="33" y="27" width="1" height="1" fill="#151D28" />
+<rect x="34" y="27" width="1" height="1" fill="#151D28" />
+<rect x="35" y="27" width="1" height="1" fill="#10161F" />
+<rect x="36" y="27" width="1" height="1" fill="#10161F" />
+<rect x="37" y="27" width="1" height="1" fill="#10161F" />
+<rect x="38" y="27" width="1" height="1" fill="#10161F" />
+<rect x="39" y="27" width="1" height="1" fill="#10161F" />
+<rect x="40" y="27" width="1" height="1" fill="#10161F" />
+<rect x="41" y="27" width="1" height="1" fill="#10161F" />
+<rect x="42" y="27" width="1" height="1" fill="#151D28" />
+<rect x="43" y="27" width="1" height="1" fill="#151D28" />
+<rect x="44" y="27" width="1" height="1" fill="#10161F" />
+<rect x="45" y="27" width="1" height="1" fill="#10161F" />
+<rect x="46" y="27" width="1" height="1" fill="#151D28" />
+<rect x="47" y="27" width="1" height="1" fill="#10161F" />
+<rect x="0" y="28" width="1" height="1" fill="#10161F" />
+<rect x="1" y="28" width="1" height="1" fill="#10161F" />
+<rect x="2" y="28" width="1" height="1" fill="#10161F" />
+<rect x="3" y="28" width="1" height="1" fill="#151D28" />
+<rect x="4" y="28" width="1" height="1" fill="#10161F" />
+<rect x="5" y="28" width="1" height="1" fill="#10161F" />
+<rect x="6" y="28" width="1" height="1" fill="#10161F" />
+<rect x="7" y="28" width="1" height="1" fill="#10161F" />
+<rect x="8" y="28" width="1" height="1" fill="#10161F" />
+<rect x="9" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="28" width="1" height="1" fill="#151D28" />
+<rect x="14" y="28" width="1" height="1" fill="#151D28" />
+<rect x="15" y="28" width="1" height="1" fill="#151D28" />
+<rect x="16" y="28" width="1" height="1" fill="#151D28" />
+<rect x="17" y="28" width="1" height="1" fill="#151D28" />
+<rect x="18" y="28" width="1" height="1" fill="#151D28" />
+<rect x="19" y="28" width="1" height="1" fill="#151D28" />
+<rect x="20" y="28" width="1" height="1" fill="#151D28" />
+<rect x="21" y="28" width="1" height="1" fill="#151D28" />
+<rect x="22" y="28" width="1" height="1" fill="#151D28" />
+<rect x="23" y="28" width="1" height="1" fill="#151D28" />
+<rect x="24" y="28" width="1" height="1" fill="#151D28" />
+<rect x="25" y="28" width="1" height="1" fill="#151D28" />
+<rect x="26" y="28" width="1" height="1" fill="#151D28" />
+<rect x="27" y="28" width="1" height="1" fill="#151D28" />
+<rect x="28" y="28" width="1" height="1" fill="#151D28" />
+<rect x="29" y="28" width="1" height="1" fill="#151D28" />
+<rect x="30" y="28" width="1" height="1" fill="#151D28" />
+<rect x="31" y="28" width="1" height="1" fill="#151D28" />
+<rect x="32" y="28" width="1" height="1" fill="#10161F" />
+<rect x="33" y="28" width="1" height="1" fill="#10161F" />
+<rect x="34" y="28" width="1" height="1" fill="#10161F" />
+<rect x="35" y="28" width="1" height="1" fill="#10161F" />
+<rect x="36" y="28" width="1" height="1" fill="#10161F" />
+<rect x="37" y="28" width="1" height="1" fill="#10161F" />
+<rect x="38" y="28" width="1" height="1" fill="#151D28" />
+<rect x="39" y="28" width="1" height="1" fill="#10161F" />
+<rect x="40" y="28" width="1" height="1" fill="#10161F" />
+<rect x="41" y="28" width="1" height="1" fill="#151D28" />
+<rect x="42" y="28" width="1" height="1" fill="#151D28" />
+<rect x="43" y="28" width="1" height="1" fill="#10161F" />
+<rect x="44" y="28" width="1" height="1" fill="#10161F" />
+<rect x="45" y="28" width="1" height="1" fill="#151D28" />
+<rect x="46" y="28" width="1" height="1" fill="#151D28" />
+<rect x="47" y="28" width="1" height="1" fill="#10161F" />
+<rect x="0" y="29" width="1" height="1" fill="#10161F" />
+<rect x="1" y="29" width="1" height="1" fill="#10161F" />
+<rect x="2" y="29" width="1" height="1" fill="#10161F" />
+<rect x="3" y="29" width="1" height="1" fill="#10161F" />
+<rect x="4" y="29" width="1" height="1" fill="#10161F" />
+<rect x="5" y="29" width="1" height="1" fill="#10161F" />
+<rect x="6" y="29" width="1" height="1" fill="#10161F" />
+<rect x="7" y="29" width="1" height="1" fill="#10161F" />
+<rect x="8" y="29" width="1" height="1" fill="#10161F" />
+<rect x="9" y="29" width="1" height="1" fill="#D68733" />
+<rect x="10" y="29" width="1" height="1" fill="#D68733" />
+<rect x="11" y="29" width="1" height="1" fill="#D68733" />
+<rect x="12" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="29" width="1" height="1" fill="#151D28" />
+<rect x="14" y="29" width="1" height="1" fill="#151D28" />
+<rect x="15" y="29" width="1" height="1" fill="#151D28" />
+<rect x="16" y="29" width="1" height="1" fill="#151D28" />
+<rect x="17" y="29" width="1" height="1" fill="#151D28" />
+<rect x="18" y="29" width="1" height="1" fill="#151D28" />
+<rect x="19" y="29" width="1" height="1" fill="#151D28" />
+<rect x="20" y="29" width="1" height="1" fill="#151D28" />
+<rect x="21" y="29" width="1" height="1" fill="#151D28" />
+<rect x="22" y="29" width="1" height="1" fill="#151D28" />
+<rect x="23" y="29" width="1" height="1" fill="#151D28" />
+<rect x="24" y="29" width="1" height="1" fill="#151D28" />
+<rect x="25" y="29" width="1" height="1" fill="#151D28" />
+<rect x="26" y="29" width="1" height="1" fill="#151D28" />
+<rect x="27" y="29" width="1" height="1" fill="#151D28" />
+<rect x="28" y="29" width="1" height="1" fill="#151D28" />
+<rect x="29" y="29" width="1" height="1" fill="#151D28" />
+<rect x="30" y="29" width="1" height="1" fill="#10161F" />
+<rect x="31" y="29" width="1" height="1" fill="#10161F" />
+<rect x="32" y="29" width="1" height="1" fill="#10161F" />
+<rect x="33" y="29" width="1" height="1" fill="#10161F" />
+<rect x="34" y="29" width="1" height="1" fill="#10161F" />
+<rect x="35" y="29" width="1" height="1" fill="#10161F" />
+<rect x="36" y="29" width="1" height="1" fill="#151D28" />
+<rect x="37" y="29" width="1" height="1" fill="#151D28" />
+<rect x="38" y="29" width="1" height="1" fill="#10161F" />
+<rect x="39" y="29" width="1" height="1" fill="#10161F" />
+<rect x="40" y="29" width="1" height="1" fill="#10161F" />
+<rect x="41" y="29" width="1" height="1" fill="#151D28" />
+<rect x="42" y="29" width="1" height="1" fill="#10161F" />
+<rect x="43" y="29" width="1" height="1" fill="#10161F" />
+<rect x="44" y="29" width="1" height="1" fill="#10161F" />
+<rect x="45" y="29" width="1" height="1" fill="#151D28" />
+<rect x="46" y="29" width="1" height="1" fill="#10161F" />
+<rect x="47" y="29" width="1" height="1" fill="#10161F" />
+<rect x="1" y="30" width="1" height="1" fill="#10161F" />
+<rect x="2" y="30" width="1" height="1" fill="#10161F" />
+<rect x="3" y="30" width="1" height="1" fill="#10161F" />
+<rect x="4" y="30" width="1" height="1" fill="#10161F" />
+<rect x="5" y="30" width="1" height="1" fill="#10161F" />
+<rect x="6" y="30" width="1" height="1" fill="#10161F" />
+<rect x="7" y="30" width="1" height="1" fill="#10161F" />
+<rect x="8" y="30" width="1" height="1" fill="#10161F" />
+<rect x="9" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="30" width="1" height="1" fill="#151D28" />
+<rect x="14" y="30" width="1" height="1" fill="#151D28" />
+<rect x="15" y="30" width="1" height="1" fill="#151D28" />
+<rect x="16" y="30" width="1" height="1" fill="#151D28" />
+<rect x="17" y="30" width="1" height="1" fill="#151D28" />
+<rect x="18" y="30" width="1" height="1" fill="#151D28" />
+<rect x="19" y="30" width="1" height="1" fill="#151D28" />
+<rect x="20" y="30" width="1" height="1" fill="#151D28" />
+<rect x="21" y="30" width="1" height="1" fill="#151D28" />
+<rect x="22" y="30" width="1" height="1" fill="#151D28" />
+<rect x="23" y="30" width="1" height="1" fill="#151D28" />
+<rect x="24" y="30" width="1" height="1" fill="#151D28" />
+<rect x="25" y="30" width="1" height="1" fill="#151D28" />
+<rect x="26" y="30" width="1" height="1" fill="#151D28" />
+<rect x="27" y="30" width="1" height="1" fill="#151D28" />
+<rect x="28" y="30" width="1" height="1" fill="#151D28" />
+<rect x="29" y="30" width="1" height="1" fill="#151D28" />
+<rect x="30" y="30" width="1" height="1" fill="#151D28" />
+<rect x="31" y="30" width="1" height="1" fill="#151D28" />
+<rect x="32" y="30" width="1" height="1" fill="#151D28" />
+<rect x="33" y="30" width="1" height="1" fill="#151D28" />
+<rect x="34" y="30" width="1" height="1" fill="#151D28" />
+<rect x="35" y="30" width="1" height="1" fill="#151D28" />
+<rect x="36" y="30" width="1" height="1" fill="#151D28" />
+<rect x="37" y="30" width="1" height="1" fill="#151D28" />
+<rect x="38" y="30" width="1" height="1" fill="#10161F" />
+<rect x="39" y="30" width="1" height="1" fill="#10161F" />
+<rect x="40" y="30" width="1" height="1" fill="#10161F" />
+<rect x="41" y="30" width="1" height="1" fill="#10161F" />
+<rect x="42" y="30" width="1" height="1" fill="#10161F" />
+<rect x="43" y="30" width="1" height="1" fill="#10161F" />
+<rect x="44" y="30" width="1" height="1" fill="#10161F" />
+<rect x="45" y="30" width="1" height="1" fill="#10161F" />
+<rect x="46" y="30" width="1" height="1" fill="#10161F" />
+<rect x="2" y="31" width="1" height="1" fill="#10161F" />
+<rect x="3" y="31" width="1" height="1" fill="#10161F" />
+<rect x="4" y="31" width="1" height="1" fill="#10161F" />
+<rect x="5" y="31" width="1" height="1" fill="#10161F" />
+<rect x="6" y="31" width="1" height="1" fill="#10161F" />
+<rect x="7" y="31" width="1" height="1" fill="#10161F" />
+<rect x="8" y="31" width="1" height="1" fill="#10161F" />
+<rect x="9" y="31" width="1" height="1" fill="#D68733" />
+<rect x="10" y="31" width="1" height="1" fill="#D68733" />
+<rect x="11" y="31" width="1" height="1" fill="#D68733" />
+<rect x="12" y="31" width="1" height="1" fill="#D68733" />
+<rect x="13" y="31" width="1" height="1" fill="#10161F" />
+<rect x="14" y="31" width="1" height="1" fill="#10161F" />
+<rect x="15" y="31" width="1" height="1" fill="#10161F" />
+<rect x="16" y="31" width="1" height="1" fill="#10161F" />
+<rect x="17" y="31" width="1" height="1" fill="#10161F" />
+<rect x="18" y="31" width="1" height="1" fill="#10161F" />
+<rect x="19" y="31" width="1" height="1" fill="#10161F" />
+<rect x="20" y="31" width="1" height="1" fill="#10161F" />
+<rect x="21" y="31" width="1" height="1" fill="#10161F" />
+<rect x="22" y="31" width="1" height="1" fill="#10161F" />
+<rect x="23" y="31" width="1" height="1" fill="#10161F" />
+<rect x="24" y="31" width="1" height="1" fill="#10161F" />
+<rect x="25" y="31" width="1" height="1" fill="#10161F" />
+<rect x="26" y="31" width="1" height="1" fill="#10161F" />
+<rect x="27" y="31" width="1" height="1" fill="#10161F" />
+<rect x="28" y="31" width="1" height="1" fill="#10161F" />
+<rect x="29" y="31" width="1" height="1" fill="#10161F" />
+<rect x="30" y="31" width="1" height="1" fill="#10161F" />
+<rect x="31" y="31" width="1" height="1" fill="#10161F" />
+<rect x="32" y="31" width="1" height="1" fill="#10161F" />
+<rect x="33" y="31" width="1" height="1" fill="#10161F" />
+<rect x="34" y="31" width="1" height="1" fill="#10161F" />
+<rect x="35" y="31" width="1" height="1" fill="#10161F" />
+<rect x="36" y="31" width="1" height="1" fill="#10161F" />
+<rect x="37" y="31" width="1" height="1" fill="#10161F" />
+<rect x="38" y="31" width="1" height="1" fill="#10161F" />
+<rect x="39" y="31" width="1" height="1" fill="#10161F" />
+<rect x="40" y="31" width="1" height="1" fill="#10161F" />
+<rect x="41" y="31" width="1" height="1" fill="#10161F" />
+<rect x="42" y="31" width="1" height="1" fill="#10161F" />
+<rect x="43" y="31" width="1" height="1" fill="#10161F" />
+<rect x="44" y="31" width="1" height="1" fill="#10161F" />
+<rect x="45" y="31" width="1" height="1" fill="#10161F" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Dahallow.svg b/Edikoyo/.obsidian/icons/flags/Dahallow.svg
new file mode 100644
index 0000000..7397950
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Dahallow.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="8" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="9" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="10" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="11" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="12" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="13" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="14" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="15" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="16" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="17" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="18" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="19" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="20" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="21" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="22" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="23" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="24" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="25" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="26" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="27" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="28" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="29" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="30" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="31" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="32" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="33" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="34" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="35" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="36" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="8" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="9" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="10" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="34" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="35" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="36" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="36" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="10" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="10" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="10" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="10" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="10" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="11" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="11" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="11" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="11" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="11" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="12" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="12" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="12" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="13" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="13" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="13" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="14" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="14" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="14" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="15" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="15" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="15" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="16" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="16" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="16" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="31" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="18" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="29" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="31" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="18" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="18" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="18" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="29" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="20" width="1" height="1" fill="#D76691" />
+<rect x="1" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="35" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="36" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="37" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="38" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="39" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="40" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="41" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="42" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="43" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="44" y="20" width="1" height="1" fill="#D76691" />
+<rect x="45" y="20" width="1" height="1" fill="#D76691" />
+<rect x="46" y="20" width="1" height="1" fill="#D76691" />
+<rect x="47" y="20" width="1" height="1" fill="#D76691" />
+<rect x="0" y="21" width="1" height="1" fill="#D76691" />
+<rect x="1" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="32" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="33" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="34" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="35" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="36" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="37" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="38" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="39" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="40" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="41" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="42" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="43" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="44" y="21" width="1" height="1" fill="#D76691" />
+<rect x="45" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="46" y="21" width="1" height="1" fill="#D76691" />
+<rect x="47" y="21" width="1" height="1" fill="#D76691" />
+<rect x="0" y="22" width="1" height="1" fill="#D76691" />
+<rect x="1" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="22" width="1" height="1" fill="#D76691" />
+<rect x="3" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="31" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="32" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="33" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="34" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="35" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="36" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="37" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="38" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="39" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="40" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="41" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="42" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="43" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="44" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="45" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="46" y="22" width="1" height="1" fill="#D76691" />
+<rect x="47" y="22" width="1" height="1" fill="#D76691" />
+<rect x="0" y="23" width="1" height="1" fill="#D76691" />
+<rect x="1" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="23" width="1" height="1" fill="#D76691" />
+<rect x="3" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="29" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="31" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="32" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="33" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="34" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="35" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="36" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="37" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="38" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="39" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="40" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="41" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="42" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="43" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="44" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="45" y="23" width="1" height="1" fill="#D76691" />
+<rect x="46" y="23" width="1" height="1" fill="#D76691" />
+<rect x="47" y="23" width="1" height="1" fill="#D76691" />
+<rect x="0" y="24" width="1" height="1" fill="#D76691" />
+<rect x="1" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="24" width="1" height="1" fill="#D76691" />
+<rect x="3" y="24" width="1" height="1" fill="#D76691" />
+<rect x="4" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="29" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="31" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="32" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="33" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="34" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="35" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="36" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="37" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="38" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="39" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="40" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="41" y="24" width="1" height="1" fill="#D76691" />
+<rect x="42" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="43" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="44" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="45" y="24" width="1" height="1" fill="#D76691" />
+<rect x="46" y="24" width="1" height="1" fill="#D76691" />
+<rect x="47" y="24" width="1" height="1" fill="#D76691" />
+<rect x="0" y="25" width="1" height="1" fill="#D76691" />
+<rect x="1" y="25" width="1" height="1" fill="#D76691" />
+<rect x="2" y="25" width="1" height="1" fill="#D76691" />
+<rect x="3" y="25" width="1" height="1" fill="#D76691" />
+<rect x="4" y="25" width="1" height="1" fill="#D76691" />
+<rect x="5" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="29" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="31" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="32" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="33" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="34" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="35" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="36" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="37" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="38" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="39" y="25" width="1" height="1" fill="#D76691" />
+<rect x="40" y="25" width="1" height="1" fill="#D76691" />
+<rect x="41" y="25" width="1" height="1" fill="#D76691" />
+<rect x="42" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="43" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="44" y="25" width="1" height="1" fill="#D76691" />
+<rect x="45" y="25" width="1" height="1" fill="#D76691" />
+<rect x="46" y="25" width="1" height="1" fill="#D76691" />
+<rect x="47" y="25" width="1" height="1" fill="#D76691" />
+<rect x="0" y="26" width="1" height="1" fill="#D76691" />
+<rect x="1" y="26" width="1" height="1" fill="#D76691" />
+<rect x="2" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="26" width="1" height="1" fill="#D76691" />
+<rect x="4" y="26" width="1" height="1" fill="#D76691" />
+<rect x="5" y="26" width="1" height="1" fill="#D76691" />
+<rect x="6" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="29" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="31" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="32" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="33" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="34" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="35" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="36" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="37" y="26" width="1" height="1" fill="#D76691" />
+<rect x="38" y="26" width="1" height="1" fill="#D76691" />
+<rect x="39" y="26" width="1" height="1" fill="#D76691" />
+<rect x="40" y="26" width="1" height="1" fill="#D76691" />
+<rect x="41" y="26" width="1" height="1" fill="#D76691" />
+<rect x="42" y="26" width="1" height="1" fill="#D76691" />
+<rect x="43" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="44" y="26" width="1" height="1" fill="#D76691" />
+<rect x="45" y="26" width="1" height="1" fill="#D76691" />
+<rect x="46" y="26" width="1" height="1" fill="#D76691" />
+<rect x="47" y="26" width="1" height="1" fill="#D76691" />
+<rect x="0" y="27" width="1" height="1" fill="#D76691" />
+<rect x="1" y="27" width="1" height="1" fill="#D76691" />
+<rect x="2" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="27" width="1" height="1" fill="#D76691" />
+<rect x="5" y="27" width="1" height="1" fill="#D76691" />
+<rect x="6" y="27" width="1" height="1" fill="#D76691" />
+<rect x="7" y="27" width="1" height="1" fill="#D76691" />
+<rect x="8" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="29" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="31" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="32" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="33" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="34" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="35" y="27" width="1" height="1" fill="#D76691" />
+<rect x="36" y="27" width="1" height="1" fill="#D76691" />
+<rect x="37" y="27" width="1" height="1" fill="#D76691" />
+<rect x="38" y="27" width="1" height="1" fill="#D76691" />
+<rect x="39" y="27" width="1" height="1" fill="#D76691" />
+<rect x="40" y="27" width="1" height="1" fill="#D76691" />
+<rect x="41" y="27" width="1" height="1" fill="#D76691" />
+<rect x="42" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="43" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="44" y="27" width="1" height="1" fill="#D76691" />
+<rect x="45" y="27" width="1" height="1" fill="#D76691" />
+<rect x="46" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="47" y="27" width="1" height="1" fill="#D76691" />
+<rect x="0" y="28" width="1" height="1" fill="#D76691" />
+<rect x="1" y="28" width="1" height="1" fill="#D76691" />
+<rect x="2" y="28" width="1" height="1" fill="#D76691" />
+<rect x="3" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="28" width="1" height="1" fill="#D76691" />
+<rect x="5" y="28" width="1" height="1" fill="#D76691" />
+<rect x="6" y="28" width="1" height="1" fill="#D76691" />
+<rect x="7" y="28" width="1" height="1" fill="#D76691" />
+<rect x="8" y="28" width="1" height="1" fill="#D76691" />
+<rect x="9" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="29" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="31" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="32" y="28" width="1" height="1" fill="#D76691" />
+<rect x="33" y="28" width="1" height="1" fill="#D76691" />
+<rect x="34" y="28" width="1" height="1" fill="#D76691" />
+<rect x="35" y="28" width="1" height="1" fill="#D76691" />
+<rect x="36" y="28" width="1" height="1" fill="#D76691" />
+<rect x="37" y="28" width="1" height="1" fill="#D76691" />
+<rect x="38" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="39" y="28" width="1" height="1" fill="#D76691" />
+<rect x="40" y="28" width="1" height="1" fill="#D76691" />
+<rect x="41" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="42" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="43" y="28" width="1" height="1" fill="#D76691" />
+<rect x="44" y="28" width="1" height="1" fill="#D76691" />
+<rect x="45" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="46" y="28" width="1" height="1" fill="#DF84A5" />
+<rect x="47" y="28" width="1" height="1" fill="#D76691" />
+<rect x="0" y="29" width="1" height="1" fill="#D76691" />
+<rect x="1" y="29" width="1" height="1" fill="#D76691" />
+<rect x="2" y="29" width="1" height="1" fill="#D76691" />
+<rect x="3" y="29" width="1" height="1" fill="#D76691" />
+<rect x="4" y="29" width="1" height="1" fill="#D76691" />
+<rect x="5" y="29" width="1" height="1" fill="#D76691" />
+<rect x="6" y="29" width="1" height="1" fill="#D76691" />
+<rect x="7" y="29" width="1" height="1" fill="#D76691" />
+<rect x="8" y="29" width="1" height="1" fill="#D76691" />
+<rect x="9" y="29" width="1" height="1" fill="#D76691" />
+<rect x="10" y="29" width="1" height="1" fill="#D76691" />
+<rect x="11" y="29" width="1" height="1" fill="#D76691" />
+<rect x="12" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="29" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="29" width="1" height="1" fill="#D76691" />
+<rect x="31" y="29" width="1" height="1" fill="#D76691" />
+<rect x="32" y="29" width="1" height="1" fill="#D76691" />
+<rect x="33" y="29" width="1" height="1" fill="#D76691" />
+<rect x="34" y="29" width="1" height="1" fill="#D76691" />
+<rect x="35" y="29" width="1" height="1" fill="#D76691" />
+<rect x="36" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="37" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="38" y="29" width="1" height="1" fill="#D76691" />
+<rect x="39" y="29" width="1" height="1" fill="#D76691" />
+<rect x="40" y="29" width="1" height="1" fill="#D76691" />
+<rect x="41" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="42" y="29" width="1" height="1" fill="#D76691" />
+<rect x="43" y="29" width="1" height="1" fill="#D76691" />
+<rect x="44" y="29" width="1" height="1" fill="#D76691" />
+<rect x="45" y="29" width="1" height="1" fill="#DF84A5" />
+<rect x="46" y="29" width="1" height="1" fill="#D76691" />
+<rect x="47" y="29" width="1" height="1" fill="#D76691" />
+<rect x="1" y="30" width="1" height="1" fill="#D76691" />
+<rect x="2" y="30" width="1" height="1" fill="#D76691" />
+<rect x="3" y="30" width="1" height="1" fill="#D76691" />
+<rect x="4" y="30" width="1" height="1" fill="#D76691" />
+<rect x="5" y="30" width="1" height="1" fill="#D76691" />
+<rect x="6" y="30" width="1" height="1" fill="#D76691" />
+<rect x="7" y="30" width="1" height="1" fill="#D76691" />
+<rect x="8" y="30" width="1" height="1" fill="#D76691" />
+<rect x="9" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="29" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="31" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="32" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="33" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="34" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="35" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="36" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="37" y="30" width="1" height="1" fill="#DF84A5" />
+<rect x="38" y="30" width="1" height="1" fill="#D76691" />
+<rect x="39" y="30" width="1" height="1" fill="#D76691" />
+<rect x="40" y="30" width="1" height="1" fill="#D76691" />
+<rect x="41" y="30" width="1" height="1" fill="#D76691" />
+<rect x="42" y="30" width="1" height="1" fill="#D76691" />
+<rect x="43" y="30" width="1" height="1" fill="#D76691" />
+<rect x="44" y="30" width="1" height="1" fill="#D76691" />
+<rect x="45" y="30" width="1" height="1" fill="#D76691" />
+<rect x="46" y="30" width="1" height="1" fill="#D76691" />
+<rect x="2" y="31" width="1" height="1" fill="#D76691" />
+<rect x="3" y="31" width="1" height="1" fill="#D76691" />
+<rect x="4" y="31" width="1" height="1" fill="#D76691" />
+<rect x="5" y="31" width="1" height="1" fill="#D76691" />
+<rect x="6" y="31" width="1" height="1" fill="#D76691" />
+<rect x="7" y="31" width="1" height="1" fill="#D76691" />
+<rect x="8" y="31" width="1" height="1" fill="#D76691" />
+<rect x="9" y="31" width="1" height="1" fill="#D76691" />
+<rect x="10" y="31" width="1" height="1" fill="#D76691" />
+<rect x="11" y="31" width="1" height="1" fill="#D76691" />
+<rect x="12" y="31" width="1" height="1" fill="#D76691" />
+<rect x="13" y="31" width="1" height="1" fill="#D76691" />
+<rect x="14" y="31" width="1" height="1" fill="#D76691" />
+<rect x="15" y="31" width="1" height="1" fill="#D76691" />
+<rect x="16" y="31" width="1" height="1" fill="#D76691" />
+<rect x="17" y="31" width="1" height="1" fill="#D76691" />
+<rect x="18" y="31" width="1" height="1" fill="#D76691" />
+<rect x="19" y="31" width="1" height="1" fill="#D76691" />
+<rect x="20" y="31" width="1" height="1" fill="#D76691" />
+<rect x="21" y="31" width="1" height="1" fill="#D76691" />
+<rect x="22" y="31" width="1" height="1" fill="#D76691" />
+<rect x="23" y="31" width="1" height="1" fill="#D76691" />
+<rect x="24" y="31" width="1" height="1" fill="#D76691" />
+<rect x="25" y="31" width="1" height="1" fill="#D76691" />
+<rect x="26" y="31" width="1" height="1" fill="#D76691" />
+<rect x="27" y="31" width="1" height="1" fill="#D76691" />
+<rect x="28" y="31" width="1" height="1" fill="#D76691" />
+<rect x="29" y="31" width="1" height="1" fill="#D76691" />
+<rect x="30" y="31" width="1" height="1" fill="#D76691" />
+<rect x="31" y="31" width="1" height="1" fill="#D76691" />
+<rect x="32" y="31" width="1" height="1" fill="#D76691" />
+<rect x="33" y="31" width="1" height="1" fill="#D76691" />
+<rect x="34" y="31" width="1" height="1" fill="#D76691" />
+<rect x="35" y="31" width="1" height="1" fill="#D76691" />
+<rect x="36" y="31" width="1" height="1" fill="#D76691" />
+<rect x="37" y="31" width="1" height="1" fill="#D76691" />
+<rect x="38" y="31" width="1" height="1" fill="#D76691" />
+<rect x="39" y="31" width="1" height="1" fill="#D76691" />
+<rect x="40" y="31" width="1" height="1" fill="#D76691" />
+<rect x="41" y="31" width="1" height="1" fill="#D76691" />
+<rect x="42" y="31" width="1" height="1" fill="#D76691" />
+<rect x="43" y="31" width="1" height="1" fill="#D76691" />
+<rect x="44" y="31" width="1" height="1" fill="#D76691" />
+<rect x="45" y="31" width="1" height="1" fill="#D76691" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Dasona.svg b/Edikoyo/.obsidian/icons/flags/Dasona.svg
new file mode 100644
index 0000000..ced413e
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Dasona.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#356427" />
+<rect x="3" y="0" width="1" height="1" fill="#356427" />
+<rect x="4" y="0" width="1" height="1" fill="#356427" />
+<rect x="5" y="0" width="1" height="1" fill="#356427" />
+<rect x="6" y="0" width="1" height="1" fill="#356427" />
+<rect x="7" y="0" width="1" height="1" fill="#356427" />
+<rect x="8" y="0" width="1" height="1" fill="#356427" />
+<rect x="9" y="0" width="1" height="1" fill="#356427" />
+<rect x="10" y="0" width="1" height="1" fill="#356427" />
+<rect x="11" y="0" width="1" height="1" fill="#356427" />
+<rect x="12" y="0" width="1" height="1" fill="#356427" />
+<rect x="13" y="0" width="1" height="1" fill="#356427" />
+<rect x="14" y="0" width="1" height="1" fill="#356427" />
+<rect x="15" y="0" width="1" height="1" fill="#356427" />
+<rect x="16" y="0" width="1" height="1" fill="#356427" />
+<rect x="17" y="0" width="1" height="1" fill="#356427" />
+<rect x="18" y="0" width="1" height="1" fill="#356427" />
+<rect x="19" y="0" width="1" height="1" fill="#356427" />
+<rect x="20" y="0" width="1" height="1" fill="#356427" />
+<rect x="21" y="0" width="1" height="1" fill="#356427" />
+<rect x="22" y="0" width="1" height="1" fill="#356427" />
+<rect x="23" y="0" width="1" height="1" fill="#356427" />
+<rect x="24" y="0" width="1" height="1" fill="#356427" />
+<rect x="25" y="0" width="1" height="1" fill="#356427" />
+<rect x="26" y="0" width="1" height="1" fill="#356427" />
+<rect x="27" y="0" width="1" height="1" fill="#356427" />
+<rect x="28" y="0" width="1" height="1" fill="#356427" />
+<rect x="29" y="0" width="1" height="1" fill="#356427" />
+<rect x="30" y="0" width="1" height="1" fill="#356427" />
+<rect x="31" y="0" width="1" height="1" fill="#356427" />
+<rect x="32" y="0" width="1" height="1" fill="#356427" />
+<rect x="33" y="0" width="1" height="1" fill="#356427" />
+<rect x="34" y="0" width="1" height="1" fill="#356427" />
+<rect x="35" y="0" width="1" height="1" fill="#356427" />
+<rect x="36" y="0" width="1" height="1" fill="#356427" />
+<rect x="37" y="0" width="1" height="1" fill="#356427" />
+<rect x="38" y="0" width="1" height="1" fill="#356427" />
+<rect x="39" y="0" width="1" height="1" fill="#356427" />
+<rect x="40" y="0" width="1" height="1" fill="#356427" />
+<rect x="41" y="0" width="1" height="1" fill="#356427" />
+<rect x="42" y="0" width="1" height="1" fill="#356427" />
+<rect x="43" y="0" width="1" height="1" fill="#356427" />
+<rect x="44" y="0" width="1" height="1" fill="#356427" />
+<rect x="45" y="0" width="1" height="1" fill="#356427" />
+<rect x="1" y="1" width="1" height="1" fill="#356427" />
+<rect x="2" y="1" width="1" height="1" fill="#356427" />
+<rect x="3" y="1" width="1" height="1" fill="#356427" />
+<rect x="4" y="1" width="1" height="1" fill="#356427" />
+<rect x="5" y="1" width="1" height="1" fill="#356427" />
+<rect x="6" y="1" width="1" height="1" fill="#356427" />
+<rect x="7" y="1" width="1" height="1" fill="#356427" />
+<rect x="8" y="1" width="1" height="1" fill="#356427" />
+<rect x="9" y="1" width="1" height="1" fill="#356427" />
+<rect x="10" y="1" width="1" height="1" fill="#468232" />
+<rect x="11" y="1" width="1" height="1" fill="#468232" />
+<rect x="12" y="1" width="1" height="1" fill="#468232" />
+<rect x="13" y="1" width="1" height="1" fill="#468232" />
+<rect x="14" y="1" width="1" height="1" fill="#468232" />
+<rect x="15" y="1" width="1" height="1" fill="#468232" />
+<rect x="16" y="1" width="1" height="1" fill="#468232" />
+<rect x="17" y="1" width="1" height="1" fill="#468232" />
+<rect x="18" y="1" width="1" height="1" fill="#468232" />
+<rect x="19" y="1" width="1" height="1" fill="#468232" />
+<rect x="20" y="1" width="1" height="1" fill="#468232" />
+<rect x="21" y="1" width="1" height="1" fill="#468232" />
+<rect x="22" y="1" width="1" height="1" fill="#468232" />
+<rect x="23" y="1" width="1" height="1" fill="#468232" />
+<rect x="24" y="1" width="1" height="1" fill="#468232" />
+<rect x="25" y="1" width="1" height="1" fill="#468232" />
+<rect x="26" y="1" width="1" height="1" fill="#468232" />
+<rect x="27" y="1" width="1" height="1" fill="#468232" />
+<rect x="28" y="1" width="1" height="1" fill="#468232" />
+<rect x="29" y="1" width="1" height="1" fill="#468232" />
+<rect x="30" y="1" width="1" height="1" fill="#468232" />
+<rect x="31" y="1" width="1" height="1" fill="#468232" />
+<rect x="32" y="1" width="1" height="1" fill="#468232" />
+<rect x="33" y="1" width="1" height="1" fill="#356427" />
+<rect x="34" y="1" width="1" height="1" fill="#356427" />
+<rect x="35" y="1" width="1" height="1" fill="#356427" />
+<rect x="36" y="1" width="1" height="1" fill="#356427" />
+<rect x="37" y="1" width="1" height="1" fill="#356427" />
+<rect x="38" y="1" width="1" height="1" fill="#356427" />
+<rect x="39" y="1" width="1" height="1" fill="#356427" />
+<rect x="40" y="1" width="1" height="1" fill="#468232" />
+<rect x="41" y="1" width="1" height="1" fill="#356427" />
+<rect x="42" y="1" width="1" height="1" fill="#356427" />
+<rect x="43" y="1" width="1" height="1" fill="#356427" />
+<rect x="44" y="1" width="1" height="1" fill="#356427" />
+<rect x="45" y="1" width="1" height="1" fill="#356427" />
+<rect x="46" y="1" width="1" height="1" fill="#356427" />
+<rect x="0" y="2" width="1" height="1" fill="#356427" />
+<rect x="1" y="2" width="1" height="1" fill="#356427" />
+<rect x="2" y="2" width="1" height="1" fill="#356427" />
+<rect x="3" y="2" width="1" height="1" fill="#356427" />
+<rect x="4" y="2" width="1" height="1" fill="#356427" />
+<rect x="5" y="2" width="1" height="1" fill="#356427" />
+<rect x="6" y="2" width="1" height="1" fill="#468232" />
+<rect x="7" y="2" width="1" height="1" fill="#468232" />
+<rect x="8" y="2" width="1" height="1" fill="#468232" />
+<rect x="9" y="2" width="1" height="1" fill="#468232" />
+<rect x="10" y="2" width="1" height="1" fill="#468232" />
+<rect x="11" y="2" width="1" height="1" fill="#468232" />
+<rect x="12" y="2" width="1" height="1" fill="#468232" />
+<rect x="13" y="2" width="1" height="1" fill="#468232" />
+<rect x="14" y="2" width="1" height="1" fill="#468232" />
+<rect x="15" y="2" width="1" height="1" fill="#468232" />
+<rect x="16" y="2" width="1" height="1" fill="#468232" />
+<rect x="17" y="2" width="1" height="1" fill="#468232" />
+<rect x="18" y="2" width="1" height="1" fill="#468232" />
+<rect x="19" y="2" width="1" height="1" fill="#468232" />
+<rect x="20" y="2" width="1" height="1" fill="#468232" />
+<rect x="21" y="2" width="1" height="1" fill="#468232" />
+<rect x="22" y="2" width="1" height="1" fill="#468232" />
+<rect x="23" y="2" width="1" height="1" fill="#468232" />
+<rect x="24" y="2" width="1" height="1" fill="#468232" />
+<rect x="25" y="2" width="1" height="1" fill="#468232" />
+<rect x="26" y="2" width="1" height="1" fill="#468232" />
+<rect x="27" y="2" width="1" height="1" fill="#468232" />
+<rect x="28" y="2" width="1" height="1" fill="#468232" />
+<rect x="29" y="2" width="1" height="1" fill="#468232" />
+<rect x="30" y="2" width="1" height="1" fill="#468232" />
+<rect x="31" y="2" width="1" height="1" fill="#468232" />
+<rect x="32" y="2" width="1" height="1" fill="#468232" />
+<rect x="33" y="2" width="1" height="1" fill="#468232" />
+<rect x="34" y="2" width="1" height="1" fill="#468232" />
+<rect x="35" y="2" width="1" height="1" fill="#468232" />
+<rect x="36" y="2" width="1" height="1" fill="#468232" />
+<rect x="37" y="2" width="1" height="1" fill="#356427" />
+<rect x="38" y="2" width="1" height="1" fill="#356427" />
+<rect x="39" y="2" width="1" height="1" fill="#356427" />
+<rect x="40" y="2" width="1" height="1" fill="#356427" />
+<rect x="41" y="2" width="1" height="1" fill="#468232" />
+<rect x="42" y="2" width="1" height="1" fill="#356427" />
+<rect x="43" y="2" width="1" height="1" fill="#356427" />
+<rect x="44" y="2" width="1" height="1" fill="#356427" />
+<rect x="45" y="2" width="1" height="1" fill="#356427" />
+<rect x="46" y="2" width="1" height="1" fill="#356427" />
+<rect x="47" y="2" width="1" height="1" fill="#356427" />
+<rect x="0" y="3" width="1" height="1" fill="#356427" />
+<rect x="1" y="3" width="1" height="1" fill="#356427" />
+<rect x="2" y="3" width="1" height="1" fill="#356427" />
+<rect x="3" y="3" width="1" height="1" fill="#356427" />
+<rect x="4" y="3" width="1" height="1" fill="#356427" />
+<rect x="5" y="3" width="1" height="1" fill="#356427" />
+<rect x="6" y="3" width="1" height="1" fill="#356427" />
+<rect x="7" y="3" width="1" height="1" fill="#468232" />
+<rect x="8" y="3" width="1" height="1" fill="#468232" />
+<rect x="9" y="3" width="1" height="1" fill="#468232" />
+<rect x="10" y="3" width="1" height="1" fill="#468232" />
+<rect x="11" y="3" width="1" height="1" fill="#468232" />
+<rect x="12" y="3" width="1" height="1" fill="#468232" />
+<rect x="13" y="3" width="1" height="1" fill="#468232" />
+<rect x="14" y="3" width="1" height="1" fill="#468232" />
+<rect x="15" y="3" width="1" height="1" fill="#468232" />
+<rect x="16" y="3" width="1" height="1" fill="#468232" />
+<rect x="17" y="3" width="1" height="1" fill="#468232" />
+<rect x="18" y="3" width="1" height="1" fill="#468232" />
+<rect x="19" y="3" width="1" height="1" fill="#468232" />
+<rect x="20" y="3" width="1" height="1" fill="#468232" />
+<rect x="21" y="3" width="1" height="1" fill="#468232" />
+<rect x="22" y="3" width="1" height="1" fill="#468232" />
+<rect x="23" y="3" width="1" height="1" fill="#468232" />
+<rect x="24" y="3" width="1" height="1" fill="#468232" />
+<rect x="25" y="3" width="1" height="1" fill="#468232" />
+<rect x="26" y="3" width="1" height="1" fill="#468232" />
+<rect x="27" y="3" width="1" height="1" fill="#468232" />
+<rect x="28" y="3" width="1" height="1" fill="#468232" />
+<rect x="29" y="3" width="1" height="1" fill="#468232" />
+<rect x="30" y="3" width="1" height="1" fill="#468232" />
+<rect x="31" y="3" width="1" height="1" fill="#468232" />
+<rect x="32" y="3" width="1" height="1" fill="#468232" />
+<rect x="33" y="3" width="1" height="1" fill="#468232" />
+<rect x="34" y="3" width="1" height="1" fill="#468232" />
+<rect x="35" y="3" width="1" height="1" fill="#356427" />
+<rect x="36" y="3" width="1" height="1" fill="#356427" />
+<rect x="37" y="3" width="1" height="1" fill="#356427" />
+<rect x="38" y="3" width="1" height="1" fill="#356427" />
+<rect x="39" y="3" width="1" height="1" fill="#356427" />
+<rect x="40" y="3" width="1" height="1" fill="#356427" />
+<rect x="41" y="3" width="1" height="1" fill="#356427" />
+<rect x="42" y="3" width="1" height="1" fill="#356427" />
+<rect x="43" y="3" width="1" height="1" fill="#356427" />
+<rect x="44" y="3" width="1" height="1" fill="#356427" />
+<rect x="45" y="3" width="1" height="1" fill="#356427" />
+<rect x="46" y="3" width="1" height="1" fill="#356427" />
+<rect x="47" y="3" width="1" height="1" fill="#356427" />
+<rect x="0" y="4" width="1" height="1" fill="#356427" />
+<rect x="1" y="4" width="1" height="1" fill="#356427" />
+<rect x="2" y="4" width="1" height="1" fill="#468232" />
+<rect x="3" y="4" width="1" height="1" fill="#468232" />
+<rect x="4" y="4" width="1" height="1" fill="#356427" />
+<rect x="5" y="4" width="1" height="1" fill="#356427" />
+<rect x="6" y="4" width="1" height="1" fill="#356427" />
+<rect x="7" y="4" width="1" height="1" fill="#468232" />
+<rect x="8" y="4" width="1" height="1" fill="#468232" />
+<rect x="9" y="4" width="1" height="1" fill="#468232" />
+<rect x="10" y="4" width="1" height="1" fill="#468232" />
+<rect x="11" y="4" width="1" height="1" fill="#468232" />
+<rect x="12" y="4" width="1" height="1" fill="#468232" />
+<rect x="13" y="4" width="1" height="1" fill="#468232" />
+<rect x="14" y="4" width="1" height="1" fill="#468232" />
+<rect x="15" y="4" width="1" height="1" fill="#468232" />
+<rect x="16" y="4" width="1" height="1" fill="#468232" />
+<rect x="17" y="4" width="1" height="1" fill="#468232" />
+<rect x="18" y="4" width="1" height="1" fill="#468232" />
+<rect x="19" y="4" width="1" height="1" fill="#468232" />
+<rect x="20" y="4" width="1" height="1" fill="#468232" />
+<rect x="21" y="4" width="1" height="1" fill="#468232" />
+<rect x="22" y="4" width="1" height="1" fill="#468232" />
+<rect x="23" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="4" width="1" height="1" fill="#468232" />
+<rect x="26" y="4" width="1" height="1" fill="#468232" />
+<rect x="27" y="4" width="1" height="1" fill="#468232" />
+<rect x="28" y="4" width="1" height="1" fill="#468232" />
+<rect x="29" y="4" width="1" height="1" fill="#468232" />
+<rect x="30" y="4" width="1" height="1" fill="#468232" />
+<rect x="31" y="4" width="1" height="1" fill="#468232" />
+<rect x="32" y="4" width="1" height="1" fill="#468232" />
+<rect x="33" y="4" width="1" height="1" fill="#468232" />
+<rect x="34" y="4" width="1" height="1" fill="#468232" />
+<rect x="35" y="4" width="1" height="1" fill="#468232" />
+<rect x="36" y="4" width="1" height="1" fill="#356427" />
+<rect x="37" y="4" width="1" height="1" fill="#356427" />
+<rect x="38" y="4" width="1" height="1" fill="#356427" />
+<rect x="39" y="4" width="1" height="1" fill="#356427" />
+<rect x="40" y="4" width="1" height="1" fill="#356427" />
+<rect x="41" y="4" width="1" height="1" fill="#356427" />
+<rect x="42" y="4" width="1" height="1" fill="#356427" />
+<rect x="43" y="4" width="1" height="1" fill="#356427" />
+<rect x="44" y="4" width="1" height="1" fill="#356427" />
+<rect x="45" y="4" width="1" height="1" fill="#356427" />
+<rect x="46" y="4" width="1" height="1" fill="#356427" />
+<rect x="47" y="4" width="1" height="1" fill="#356427" />
+<rect x="0" y="5" width="1" height="1" fill="#356427" />
+<rect x="1" y="5" width="1" height="1" fill="#356427" />
+<rect x="2" y="5" width="1" height="1" fill="#356427" />
+<rect x="3" y="5" width="1" height="1" fill="#468232" />
+<rect x="4" y="5" width="1" height="1" fill="#468232" />
+<rect x="5" y="5" width="1" height="1" fill="#468232" />
+<rect x="6" y="5" width="1" height="1" fill="#356427" />
+<rect x="7" y="5" width="1" height="1" fill="#468232" />
+<rect x="8" y="5" width="1" height="1" fill="#468232" />
+<rect x="9" y="5" width="1" height="1" fill="#468232" />
+<rect x="10" y="5" width="1" height="1" fill="#468232" />
+<rect x="11" y="5" width="1" height="1" fill="#468232" />
+<rect x="12" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="5" width="1" height="1" fill="#468232" />
+<rect x="14" y="5" width="1" height="1" fill="#468232" />
+<rect x="15" y="5" width="1" height="1" fill="#468232" />
+<rect x="16" y="5" width="1" height="1" fill="#468232" />
+<rect x="17" y="5" width="1" height="1" fill="#468232" />
+<rect x="18" y="5" width="1" height="1" fill="#468232" />
+<rect x="19" y="5" width="1" height="1" fill="#468232" />
+<rect x="20" y="5" width="1" height="1" fill="#468232" />
+<rect x="21" y="5" width="1" height="1" fill="#468232" />
+<rect x="22" y="5" width="1" height="1" fill="#468232" />
+<rect x="23" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="5" width="1" height="1" fill="#468232" />
+<rect x="26" y="5" width="1" height="1" fill="#468232" />
+<rect x="27" y="5" width="1" height="1" fill="#468232" />
+<rect x="28" y="5" width="1" height="1" fill="#468232" />
+<rect x="29" y="5" width="1" height="1" fill="#468232" />
+<rect x="30" y="5" width="1" height="1" fill="#468232" />
+<rect x="31" y="5" width="1" height="1" fill="#468232" />
+<rect x="32" y="5" width="1" height="1" fill="#468232" />
+<rect x="33" y="5" width="1" height="1" fill="#468232" />
+<rect x="34" y="5" width="1" height="1" fill="#468232" />
+<rect x="35" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="5" width="1" height="1" fill="#468232" />
+<rect x="37" y="5" width="1" height="1" fill="#468232" />
+<rect x="38" y="5" width="1" height="1" fill="#356427" />
+<rect x="39" y="5" width="1" height="1" fill="#356427" />
+<rect x="40" y="5" width="1" height="1" fill="#356427" />
+<rect x="41" y="5" width="1" height="1" fill="#356427" />
+<rect x="42" y="5" width="1" height="1" fill="#468232" />
+<rect x="43" y="5" width="1" height="1" fill="#356427" />
+<rect x="44" y="5" width="1" height="1" fill="#356427" />
+<rect x="45" y="5" width="1" height="1" fill="#356427" />
+<rect x="46" y="5" width="1" height="1" fill="#356427" />
+<rect x="47" y="5" width="1" height="1" fill="#356427" />
+<rect x="0" y="6" width="1" height="1" fill="#356427" />
+<rect x="1" y="6" width="1" height="1" fill="#356427" />
+<rect x="2" y="6" width="1" height="1" fill="#356427" />
+<rect x="3" y="6" width="1" height="1" fill="#356427" />
+<rect x="4" y="6" width="1" height="1" fill="#468232" />
+<rect x="5" y="6" width="1" height="1" fill="#468232" />
+<rect x="6" y="6" width="1" height="1" fill="#468232" />
+<rect x="7" y="6" width="1" height="1" fill="#468232" />
+<rect x="8" y="6" width="1" height="1" fill="#468232" />
+<rect x="9" y="6" width="1" height="1" fill="#468232" />
+<rect x="10" y="6" width="1" height="1" fill="#468232" />
+<rect x="11" y="6" width="1" height="1" fill="#468232" />
+<rect x="12" y="6" width="1" height="1" fill="#468232" />
+<rect x="13" y="6" width="1" height="1" fill="#468232" />
+<rect x="14" y="6" width="1" height="1" fill="#468232" />
+<rect x="15" y="6" width="1" height="1" fill="#468232" />
+<rect x="16" y="6" width="1" height="1" fill="#468232" />
+<rect x="17" y="6" width="1" height="1" fill="#468232" />
+<rect x="18" y="6" width="1" height="1" fill="#468232" />
+<rect x="19" y="6" width="1" height="1" fill="#468232" />
+<rect x="20" y="6" width="1" height="1" fill="#468232" />
+<rect x="21" y="6" width="1" height="1" fill="#468232" />
+<rect x="22" y="6" width="1" height="1" fill="#468232" />
+<rect x="23" y="6" width="1" height="1" fill="#468232" />
+<rect x="24" y="6" width="1" height="1" fill="#468232" />
+<rect x="25" y="6" width="1" height="1" fill="#468232" />
+<rect x="26" y="6" width="1" height="1" fill="#468232" />
+<rect x="27" y="6" width="1" height="1" fill="#468232" />
+<rect x="28" y="6" width="1" height="1" fill="#468232" />
+<rect x="29" y="6" width="1" height="1" fill="#468232" />
+<rect x="30" y="6" width="1" height="1" fill="#468232" />
+<rect x="31" y="6" width="1" height="1" fill="#468232" />
+<rect x="32" y="6" width="1" height="1" fill="#468232" />
+<rect x="33" y="6" width="1" height="1" fill="#468232" />
+<rect x="34" y="6" width="1" height="1" fill="#468232" />
+<rect x="35" y="6" width="1" height="1" fill="#468232" />
+<rect x="36" y="6" width="1" height="1" fill="#468232" />
+<rect x="37" y="6" width="1" height="1" fill="#468232" />
+<rect x="38" y="6" width="1" height="1" fill="#468232" />
+<rect x="39" y="6" width="1" height="1" fill="#356427" />
+<rect x="40" y="6" width="1" height="1" fill="#356427" />
+<rect x="41" y="6" width="1" height="1" fill="#356427" />
+<rect x="42" y="6" width="1" height="1" fill="#468232" />
+<rect x="43" y="6" width="1" height="1" fill="#468232" />
+<rect x="44" y="6" width="1" height="1" fill="#356427" />
+<rect x="45" y="6" width="1" height="1" fill="#356427" />
+<rect x="46" y="6" width="1" height="1" fill="#356427" />
+<rect x="47" y="6" width="1" height="1" fill="#356427" />
+<rect x="0" y="7" width="1" height="1" fill="#356427" />
+<rect x="1" y="7" width="1" height="1" fill="#356427" />
+<rect x="2" y="7" width="1" height="1" fill="#356427" />
+<rect x="3" y="7" width="1" height="1" fill="#356427" />
+<rect x="4" y="7" width="1" height="1" fill="#356427" />
+<rect x="5" y="7" width="1" height="1" fill="#356427" />
+<rect x="6" y="7" width="1" height="1" fill="#468232" />
+<rect x="7" y="7" width="1" height="1" fill="#468232" />
+<rect x="8" y="7" width="1" height="1" fill="#468232" />
+<rect x="9" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="7" width="1" height="1" fill="#468232" />
+<rect x="11" y="7" width="1" height="1" fill="#468232" />
+<rect x="12" y="7" width="1" height="1" fill="#468232" />
+<rect x="13" y="7" width="1" height="1" fill="#468232" />
+<rect x="14" y="7" width="1" height="1" fill="#468232" />
+<rect x="15" y="7" width="1" height="1" fill="#468232" />
+<rect x="16" y="7" width="1" height="1" fill="#468232" />
+<rect x="17" y="7" width="1" height="1" fill="#468232" />
+<rect x="18" y="7" width="1" height="1" fill="#468232" />
+<rect x="19" y="7" width="1" height="1" fill="#468232" />
+<rect x="20" y="7" width="1" height="1" fill="#468232" />
+<rect x="21" y="7" width="1" height="1" fill="#468232" />
+<rect x="22" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="7" width="1" height="1" fill="#468232" />
+<rect x="27" y="7" width="1" height="1" fill="#468232" />
+<rect x="28" y="7" width="1" height="1" fill="#468232" />
+<rect x="29" y="7" width="1" height="1" fill="#468232" />
+<rect x="30" y="7" width="1" height="1" fill="#468232" />
+<rect x="31" y="7" width="1" height="1" fill="#468232" />
+<rect x="32" y="7" width="1" height="1" fill="#468232" />
+<rect x="33" y="7" width="1" height="1" fill="#468232" />
+<rect x="34" y="7" width="1" height="1" fill="#468232" />
+<rect x="35" y="7" width="1" height="1" fill="#468232" />
+<rect x="36" y="7" width="1" height="1" fill="#468232" />
+<rect x="37" y="7" width="1" height="1" fill="#468232" />
+<rect x="38" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="7" width="1" height="1" fill="#356427" />
+<rect x="40" y="7" width="1" height="1" fill="#356427" />
+<rect x="41" y="7" width="1" height="1" fill="#468232" />
+<rect x="42" y="7" width="1" height="1" fill="#468232" />
+<rect x="43" y="7" width="1" height="1" fill="#468232" />
+<rect x="44" y="7" width="1" height="1" fill="#356427" />
+<rect x="45" y="7" width="1" height="1" fill="#356427" />
+<rect x="46" y="7" width="1" height="1" fill="#356427" />
+<rect x="47" y="7" width="1" height="1" fill="#356427" />
+<rect x="0" y="8" width="1" height="1" fill="#356427" />
+<rect x="1" y="8" width="1" height="1" fill="#356427" />
+<rect x="2" y="8" width="1" height="1" fill="#468232" />
+<rect x="3" y="8" width="1" height="1" fill="#468232" />
+<rect x="4" y="8" width="1" height="1" fill="#468232" />
+<rect x="5" y="8" width="1" height="1" fill="#356427" />
+<rect x="6" y="8" width="1" height="1" fill="#356427" />
+<rect x="7" y="8" width="1" height="1" fill="#468232" />
+<rect x="8" y="8" width="1" height="1" fill="#468232" />
+<rect x="9" y="8" width="1" height="1" fill="#468232" />
+<rect x="10" y="8" width="1" height="1" fill="#468232" />
+<rect x="11" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="8" width="1" height="1" fill="#468232" />
+<rect x="13" y="8" width="1" height="1" fill="#468232" />
+<rect x="14" y="8" width="1" height="1" fill="#468232" />
+<rect x="15" y="8" width="1" height="1" fill="#468232" />
+<rect x="16" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="8" width="1" height="1" fill="#468232" />
+<rect x="19" y="8" width="1" height="1" fill="#468232" />
+<rect x="20" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="8" width="1" height="1" fill="#468232" />
+<rect x="23" y="8" width="1" height="1" fill="#468232" />
+<rect x="24" y="8" width="1" height="1" fill="#468232" />
+<rect x="25" y="8" width="1" height="1" fill="#468232" />
+<rect x="26" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="8" width="1" height="1" fill="#468232" />
+<rect x="29" y="8" width="1" height="1" fill="#468232" />
+<rect x="30" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="8" width="1" height="1" fill="#468232" />
+<rect x="33" y="8" width="1" height="1" fill="#468232" />
+<rect x="34" y="8" width="1" height="1" fill="#468232" />
+<rect x="35" y="8" width="1" height="1" fill="#468232" />
+<rect x="36" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="8" width="1" height="1" fill="#468232" />
+<rect x="38" y="8" width="1" height="1" fill="#468232" />
+<rect x="39" y="8" width="1" height="1" fill="#356427" />
+<rect x="40" y="8" width="1" height="1" fill="#356427" />
+<rect x="41" y="8" width="1" height="1" fill="#468232" />
+<rect x="42" y="8" width="1" height="1" fill="#468232" />
+<rect x="43" y="8" width="1" height="1" fill="#468232" />
+<rect x="44" y="8" width="1" height="1" fill="#468232" />
+<rect x="45" y="8" width="1" height="1" fill="#356427" />
+<rect x="46" y="8" width="1" height="1" fill="#356427" />
+<rect x="47" y="8" width="1" height="1" fill="#356427" />
+<rect x="0" y="9" width="1" height="1" fill="#356427" />
+<rect x="1" y="9" width="1" height="1" fill="#356427" />
+<rect x="2" y="9" width="1" height="1" fill="#468232" />
+<rect x="3" y="9" width="1" height="1" fill="#468232" />
+<rect x="4" y="9" width="1" height="1" fill="#468232" />
+<rect x="5" y="9" width="1" height="1" fill="#468232" />
+<rect x="6" y="9" width="1" height="1" fill="#468232" />
+<rect x="7" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="9" width="1" height="1" fill="#468232" />
+<rect x="9" y="9" width="1" height="1" fill="#468232" />
+<rect x="10" y="9" width="1" height="1" fill="#468232" />
+<rect x="11" y="9" width="1" height="1" fill="#468232" />
+<rect x="12" y="9" width="1" height="1" fill="#468232" />
+<rect x="13" y="9" width="1" height="1" fill="#468232" />
+<rect x="14" y="9" width="1" height="1" fill="#468232" />
+<rect x="15" y="9" width="1" height="1" fill="#468232" />
+<rect x="16" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="9" width="1" height="1" fill="#468232" />
+<rect x="18" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="9" width="1" height="1" fill="#468232" />
+<rect x="21" y="9" width="1" height="1" fill="#468232" />
+<rect x="22" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="9" width="1" height="1" fill="#468232" />
+<rect x="27" y="9" width="1" height="1" fill="#468232" />
+<rect x="28" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="9" width="1" height="1" fill="#468232" />
+<rect x="31" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="9" width="1" height="1" fill="#468232" />
+<rect x="33" y="9" width="1" height="1" fill="#468232" />
+<rect x="34" y="9" width="1" height="1" fill="#468232" />
+<rect x="35" y="9" width="1" height="1" fill="#468232" />
+<rect x="36" y="9" width="1" height="1" fill="#468232" />
+<rect x="37" y="9" width="1" height="1" fill="#468232" />
+<rect x="38" y="9" width="1" height="1" fill="#468232" />
+<rect x="39" y="9" width="1" height="1" fill="#356427" />
+<rect x="40" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="9" width="1" height="1" fill="#468232" />
+<rect x="42" y="9" width="1" height="1" fill="#468232" />
+<rect x="43" y="9" width="1" height="1" fill="#468232" />
+<rect x="44" y="9" width="1" height="1" fill="#468232" />
+<rect x="45" y="9" width="1" height="1" fill="#356427" />
+<rect x="46" y="9" width="1" height="1" fill="#356427" />
+<rect x="47" y="9" width="1" height="1" fill="#356427" />
+<rect x="0" y="10" width="1" height="1" fill="#356427" />
+<rect x="1" y="10" width="1" height="1" fill="#356427" />
+<rect x="2" y="10" width="1" height="1" fill="#468232" />
+<rect x="3" y="10" width="1" height="1" fill="#468232" />
+<rect x="4" y="10" width="1" height="1" fill="#468232" />
+<rect x="5" y="10" width="1" height="1" fill="#468232" />
+<rect x="6" y="10" width="1" height="1" fill="#468232" />
+<rect x="7" y="10" width="1" height="1" fill="#468232" />
+<rect x="8" y="10" width="1" height="1" fill="#468232" />
+<rect x="9" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="10" width="1" height="1" fill="#468232" />
+<rect x="11" y="10" width="1" height="1" fill="#468232" />
+<rect x="12" y="10" width="1" height="1" fill="#468232" />
+<rect x="13" y="10" width="1" height="1" fill="#468232" />
+<rect x="14" y="10" width="1" height="1" fill="#468232" />
+<rect x="15" y="10" width="1" height="1" fill="#468232" />
+<rect x="16" y="10" width="1" height="1" fill="#468232" />
+<rect x="17" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="10" width="1" height="1" fill="#468232" />
+<rect x="19" y="10" width="1" height="1" fill="#468232" />
+<rect x="20" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="10" width="1" height="1" fill="#468232" />
+<rect x="29" y="10" width="1" height="1" fill="#468232" />
+<rect x="30" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="10" width="1" height="1" fill="#468232" />
+<rect x="32" y="10" width="1" height="1" fill="#468232" />
+<rect x="33" y="10" width="1" height="1" fill="#468232" />
+<rect x="34" y="10" width="1" height="1" fill="#468232" />
+<rect x="35" y="10" width="1" height="1" fill="#468232" />
+<rect x="36" y="10" width="1" height="1" fill="#468232" />
+<rect x="37" y="10" width="1" height="1" fill="#468232" />
+<rect x="38" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="10" width="1" height="1" fill="#468232" />
+<rect x="40" y="10" width="1" height="1" fill="#356427" />
+<rect x="41" y="10" width="1" height="1" fill="#468232" />
+<rect x="42" y="10" width="1" height="1" fill="#468232" />
+<rect x="43" y="10" width="1" height="1" fill="#468232" />
+<rect x="44" y="10" width="1" height="1" fill="#468232" />
+<rect x="45" y="10" width="1" height="1" fill="#468232" />
+<rect x="46" y="10" width="1" height="1" fill="#356427" />
+<rect x="47" y="10" width="1" height="1" fill="#356427" />
+<rect x="0" y="11" width="1" height="1" fill="#356427" />
+<rect x="1" y="11" width="1" height="1" fill="#356427" />
+<rect x="2" y="11" width="1" height="1" fill="#468232" />
+<rect x="3" y="11" width="1" height="1" fill="#468232" />
+<rect x="4" y="11" width="1" height="1" fill="#468232" />
+<rect x="5" y="11" width="1" height="1" fill="#468232" />
+<rect x="6" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="11" width="1" height="1" fill="#468232" />
+<rect x="8" y="11" width="1" height="1" fill="#468232" />
+<rect x="9" y="11" width="1" height="1" fill="#468232" />
+<rect x="10" y="11" width="1" height="1" fill="#468232" />
+<rect x="11" y="11" width="1" height="1" fill="#468232" />
+<rect x="12" y="11" width="1" height="1" fill="#468232" />
+<rect x="13" y="11" width="1" height="1" fill="#468232" />
+<rect x="14" y="11" width="1" height="1" fill="#468232" />
+<rect x="15" y="11" width="1" height="1" fill="#468232" />
+<rect x="16" y="11" width="1" height="1" fill="#468232" />
+<rect x="17" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="11" width="1" height="1" fill="#468232" />
+<rect x="19" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="11" width="1" height="1" fill="#468232" />
+<rect x="30" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="11" width="1" height="1" fill="#468232" />
+<rect x="32" y="11" width="1" height="1" fill="#468232" />
+<rect x="33" y="11" width="1" height="1" fill="#468232" />
+<rect x="34" y="11" width="1" height="1" fill="#468232" />
+<rect x="35" y="11" width="1" height="1" fill="#468232" />
+<rect x="36" y="11" width="1" height="1" fill="#468232" />
+<rect x="37" y="11" width="1" height="1" fill="#468232" />
+<rect x="38" y="11" width="1" height="1" fill="#468232" />
+<rect x="39" y="11" width="1" height="1" fill="#468232" />
+<rect x="40" y="11" width="1" height="1" fill="#356427" />
+<rect x="41" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="11" width="1" height="1" fill="#468232" />
+<rect x="43" y="11" width="1" height="1" fill="#468232" />
+<rect x="44" y="11" width="1" height="1" fill="#468232" />
+<rect x="45" y="11" width="1" height="1" fill="#468232" />
+<rect x="46" y="11" width="1" height="1" fill="#356427" />
+<rect x="47" y="11" width="1" height="1" fill="#356427" />
+<rect x="0" y="12" width="1" height="1" fill="#356427" />
+<rect x="1" y="12" width="1" height="1" fill="#468232" />
+<rect x="2" y="12" width="1" height="1" fill="#468232" />
+<rect x="3" y="12" width="1" height="1" fill="#468232" />
+<rect x="4" y="12" width="1" height="1" fill="#468232" />
+<rect x="5" y="12" width="1" height="1" fill="#468232" />
+<rect x="6" y="12" width="1" height="1" fill="#468232" />
+<rect x="7" y="12" width="1" height="1" fill="#468232" />
+<rect x="8" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="12" width="1" height="1" fill="#468232" />
+<rect x="10" y="12" width="1" height="1" fill="#468232" />
+<rect x="11" y="12" width="1" height="1" fill="#468232" />
+<rect x="12" y="12" width="1" height="1" fill="#468232" />
+<rect x="13" y="12" width="1" height="1" fill="#468232" />
+<rect x="14" y="12" width="1" height="1" fill="#468232" />
+<rect x="15" y="12" width="1" height="1" fill="#468232" />
+<rect x="16" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="12" width="1" height="1" fill="#468232" />
+<rect x="18" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="12" width="1" height="1" fill="#468232" />
+<rect x="22" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="12" width="1" height="1" fill="#468232" />
+<rect x="24" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="12" width="1" height="1" fill="#468232" />
+<rect x="26" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="12" width="1" height="1" fill="#468232" />
+<rect x="31" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="12" width="1" height="1" fill="#468232" />
+<rect x="33" y="12" width="1" height="1" fill="#468232" />
+<rect x="34" y="12" width="1" height="1" fill="#468232" />
+<rect x="35" y="12" width="1" height="1" fill="#468232" />
+<rect x="36" y="12" width="1" height="1" fill="#468232" />
+<rect x="37" y="12" width="1" height="1" fill="#468232" />
+<rect x="38" y="12" width="1" height="1" fill="#468232" />
+<rect x="39" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="12" width="1" height="1" fill="#468232" />
+<rect x="41" y="12" width="1" height="1" fill="#468232" />
+<rect x="42" y="12" width="1" height="1" fill="#468232" />
+<rect x="43" y="12" width="1" height="1" fill="#468232" />
+<rect x="44" y="12" width="1" height="1" fill="#468232" />
+<rect x="45" y="12" width="1" height="1" fill="#468232" />
+<rect x="46" y="12" width="1" height="1" fill="#356427" />
+<rect x="47" y="12" width="1" height="1" fill="#356427" />
+<rect x="0" y="13" width="1" height="1" fill="#356427" />
+<rect x="1" y="13" width="1" height="1" fill="#468232" />
+<rect x="2" y="13" width="1" height="1" fill="#468232" />
+<rect x="3" y="13" width="1" height="1" fill="#468232" />
+<rect x="4" y="13" width="1" height="1" fill="#468232" />
+<rect x="5" y="13" width="1" height="1" fill="#468232" />
+<rect x="6" y="13" width="1" height="1" fill="#468232" />
+<rect x="7" y="13" width="1" height="1" fill="#468232" />
+<rect x="8" y="13" width="1" height="1" fill="#468232" />
+<rect x="9" y="13" width="1" height="1" fill="#468232" />
+<rect x="10" y="13" width="1" height="1" fill="#468232" />
+<rect x="11" y="13" width="1" height="1" fill="#468232" />
+<rect x="12" y="13" width="1" height="1" fill="#468232" />
+<rect x="13" y="13" width="1" height="1" fill="#468232" />
+<rect x="14" y="13" width="1" height="1" fill="#468232" />
+<rect x="15" y="13" width="1" height="1" fill="#468232" />
+<rect x="16" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="13" width="1" height="1" fill="#468232" />
+<rect x="18" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#468232" />
+<rect x="31" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="13" width="1" height="1" fill="#468232" />
+<rect x="33" y="13" width="1" height="1" fill="#468232" />
+<rect x="34" y="13" width="1" height="1" fill="#468232" />
+<rect x="35" y="13" width="1" height="1" fill="#468232" />
+<rect x="36" y="13" width="1" height="1" fill="#468232" />
+<rect x="37" y="13" width="1" height="1" fill="#468232" />
+<rect x="38" y="13" width="1" height="1" fill="#468232" />
+<rect x="39" y="13" width="1" height="1" fill="#468232" />
+<rect x="40" y="13" width="1" height="1" fill="#468232" />
+<rect x="41" y="13" width="1" height="1" fill="#468232" />
+<rect x="42" y="13" width="1" height="1" fill="#468232" />
+<rect x="43" y="13" width="1" height="1" fill="#468232" />
+<rect x="44" y="13" width="1" height="1" fill="#468232" />
+<rect x="45" y="13" width="1" height="1" fill="#468232" />
+<rect x="46" y="13" width="1" height="1" fill="#356427" />
+<rect x="47" y="13" width="1" height="1" fill="#356427" />
+<rect x="0" y="14" width="1" height="1" fill="#356427" />
+<rect x="1" y="14" width="1" height="1" fill="#468232" />
+<rect x="2" y="14" width="1" height="1" fill="#468232" />
+<rect x="3" y="14" width="1" height="1" fill="#468232" />
+<rect x="4" y="14" width="1" height="1" fill="#468232" />
+<rect x="5" y="14" width="1" height="1" fill="#468232" />
+<rect x="6" y="14" width="1" height="1" fill="#468232" />
+<rect x="7" y="14" width="1" height="1" fill="#468232" />
+<rect x="8" y="14" width="1" height="1" fill="#468232" />
+<rect x="9" y="14" width="1" height="1" fill="#468232" />
+<rect x="10" y="14" width="1" height="1" fill="#468232" />
+<rect x="11" y="14" width="1" height="1" fill="#468232" />
+<rect x="12" y="14" width="1" height="1" fill="#468232" />
+<rect x="13" y="14" width="1" height="1" fill="#468232" />
+<rect x="14" y="14" width="1" height="1" fill="#468232" />
+<rect x="15" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="14" width="1" height="1" fill="#468232" />
+<rect x="17" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="14" width="1" height="1" fill="#468232" />
+<rect x="23" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="14" width="1" height="1" fill="#468232" />
+<rect x="25" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="14" width="1" height="1" fill="#468232" />
+<rect x="27" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="14" width="1" height="1" fill="#468232" />
+<rect x="32" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="14" width="1" height="1" fill="#468232" />
+<rect x="34" y="14" width="1" height="1" fill="#468232" />
+<rect x="35" y="14" width="1" height="1" fill="#468232" />
+<rect x="36" y="14" width="1" height="1" fill="#468232" />
+<rect x="37" y="14" width="1" height="1" fill="#468232" />
+<rect x="38" y="14" width="1" height="1" fill="#468232" />
+<rect x="39" y="14" width="1" height="1" fill="#468232" />
+<rect x="40" y="14" width="1" height="1" fill="#468232" />
+<rect x="41" y="14" width="1" height="1" fill="#468232" />
+<rect x="42" y="14" width="1" height="1" fill="#468232" />
+<rect x="43" y="14" width="1" height="1" fill="#468232" />
+<rect x="44" y="14" width="1" height="1" fill="#468232" />
+<rect x="45" y="14" width="1" height="1" fill="#468232" />
+<rect x="46" y="14" width="1" height="1" fill="#356427" />
+<rect x="47" y="14" width="1" height="1" fill="#356427" />
+<rect x="0" y="15" width="1" height="1" fill="#356427" />
+<rect x="1" y="15" width="1" height="1" fill="#468232" />
+<rect x="2" y="15" width="1" height="1" fill="#468232" />
+<rect x="3" y="15" width="1" height="1" fill="#468232" />
+<rect x="4" y="15" width="1" height="1" fill="#468232" />
+<rect x="5" y="15" width="1" height="1" fill="#468232" />
+<rect x="6" y="15" width="1" height="1" fill="#468232" />
+<rect x="7" y="15" width="1" height="1" fill="#468232" />
+<rect x="8" y="15" width="1" height="1" fill="#468232" />
+<rect x="9" y="15" width="1" height="1" fill="#468232" />
+<rect x="10" y="15" width="1" height="1" fill="#468232" />
+<rect x="11" y="15" width="1" height="1" fill="#468232" />
+<rect x="12" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="15" width="1" height="1" fill="#468232" />
+<rect x="15" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="15" width="1" height="1" fill="#468232" />
+<rect x="17" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="15" width="1" height="1" fill="#468232" />
+<rect x="24" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="15" width="1" height="1" fill="#468232" />
+<rect x="26" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="15" width="1" height="1" fill="#468232" />
+<rect x="32" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="15" width="1" height="1" fill="#468232" />
+<rect x="34" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="15" width="1" height="1" fill="#468232" />
+<rect x="37" y="15" width="1" height="1" fill="#468232" />
+<rect x="38" y="15" width="1" height="1" fill="#468232" />
+<rect x="39" y="15" width="1" height="1" fill="#468232" />
+<rect x="40" y="15" width="1" height="1" fill="#468232" />
+<rect x="41" y="15" width="1" height="1" fill="#468232" />
+<rect x="42" y="15" width="1" height="1" fill="#468232" />
+<rect x="43" y="15" width="1" height="1" fill="#468232" />
+<rect x="44" y="15" width="1" height="1" fill="#468232" />
+<rect x="45" y="15" width="1" height="1" fill="#468232" />
+<rect x="46" y="15" width="1" height="1" fill="#356427" />
+<rect x="47" y="15" width="1" height="1" fill="#356427" />
+<rect x="0" y="16" width="1" height="1" fill="#356427" />
+<rect x="1" y="16" width="1" height="1" fill="#468232" />
+<rect x="2" y="16" width="1" height="1" fill="#468232" />
+<rect x="3" y="16" width="1" height="1" fill="#468232" />
+<rect x="4" y="16" width="1" height="1" fill="#468232" />
+<rect x="5" y="16" width="1" height="1" fill="#468232" />
+<rect x="6" y="16" width="1" height="1" fill="#468232" />
+<rect x="7" y="16" width="1" height="1" fill="#468232" />
+<rect x="8" y="16" width="1" height="1" fill="#468232" />
+<rect x="9" y="16" width="1" height="1" fill="#468232" />
+<rect x="10" y="16" width="1" height="1" fill="#468232" />
+<rect x="11" y="16" width="1" height="1" fill="#468232" />
+<rect x="12" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="16" width="1" height="1" fill="#468232" />
+<rect x="15" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="16" width="1" height="1" fill="#468232" />
+<rect x="17" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="16" width="1" height="1" fill="#468232" />
+<rect x="23" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="16" width="1" height="1" fill="#468232" />
+<rect x="25" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="16" width="1" height="1" fill="#468232" />
+<rect x="32" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="16" width="1" height="1" fill="#468232" />
+<rect x="34" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="16" width="1" height="1" fill="#468232" />
+<rect x="37" y="16" width="1" height="1" fill="#468232" />
+<rect x="38" y="16" width="1" height="1" fill="#468232" />
+<rect x="39" y="16" width="1" height="1" fill="#468232" />
+<rect x="40" y="16" width="1" height="1" fill="#468232" />
+<rect x="41" y="16" width="1" height="1" fill="#468232" />
+<rect x="42" y="16" width="1" height="1" fill="#468232" />
+<rect x="43" y="16" width="1" height="1" fill="#468232" />
+<rect x="44" y="16" width="1" height="1" fill="#468232" />
+<rect x="45" y="16" width="1" height="1" fill="#468232" />
+<rect x="46" y="16" width="1" height="1" fill="#356427" />
+<rect x="47" y="16" width="1" height="1" fill="#356427" />
+<rect x="0" y="17" width="1" height="1" fill="#356427" />
+<rect x="1" y="17" width="1" height="1" fill="#468232" />
+<rect x="2" y="17" width="1" height="1" fill="#468232" />
+<rect x="3" y="17" width="1" height="1" fill="#468232" />
+<rect x="4" y="17" width="1" height="1" fill="#468232" />
+<rect x="5" y="17" width="1" height="1" fill="#468232" />
+<rect x="6" y="17" width="1" height="1" fill="#468232" />
+<rect x="7" y="17" width="1" height="1" fill="#468232" />
+<rect x="8" y="17" width="1" height="1" fill="#468232" />
+<rect x="9" y="17" width="1" height="1" fill="#468232" />
+<rect x="10" y="17" width="1" height="1" fill="#468232" />
+<rect x="11" y="17" width="1" height="1" fill="#468232" />
+<rect x="12" y="17" width="1" height="1" fill="#468232" />
+<rect x="13" y="17" width="1" height="1" fill="#468232" />
+<rect x="14" y="17" width="1" height="1" fill="#468232" />
+<rect x="15" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="17" width="1" height="1" fill="#468232" />
+<rect x="17" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="17" width="1" height="1" fill="#468232" />
+<rect x="22" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="17" width="1" height="1" fill="#468232" />
+<rect x="24" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="17" width="1" height="1" fill="#468232" />
+<rect x="26" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="17" width="1" height="1" fill="#468232" />
+<rect x="32" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="17" width="1" height="1" fill="#468232" />
+<rect x="34" y="17" width="1" height="1" fill="#468232" />
+<rect x="35" y="17" width="1" height="1" fill="#468232" />
+<rect x="36" y="17" width="1" height="1" fill="#468232" />
+<rect x="37" y="17" width="1" height="1" fill="#468232" />
+<rect x="38" y="17" width="1" height="1" fill="#468232" />
+<rect x="39" y="17" width="1" height="1" fill="#468232" />
+<rect x="40" y="17" width="1" height="1" fill="#468232" />
+<rect x="41" y="17" width="1" height="1" fill="#468232" />
+<rect x="42" y="17" width="1" height="1" fill="#468232" />
+<rect x="43" y="17" width="1" height="1" fill="#468232" />
+<rect x="44" y="17" width="1" height="1" fill="#468232" />
+<rect x="45" y="17" width="1" height="1" fill="#356427" />
+<rect x="46" y="17" width="1" height="1" fill="#356427" />
+<rect x="47" y="17" width="1" height="1" fill="#356427" />
+<rect x="0" y="18" width="1" height="1" fill="#356427" />
+<rect x="1" y="18" width="1" height="1" fill="#468232" />
+<rect x="2" y="18" width="1" height="1" fill="#468232" />
+<rect x="3" y="18" width="1" height="1" fill="#468232" />
+<rect x="4" y="18" width="1" height="1" fill="#468232" />
+<rect x="5" y="18" width="1" height="1" fill="#468232" />
+<rect x="6" y="18" width="1" height="1" fill="#468232" />
+<rect x="7" y="18" width="1" height="1" fill="#468232" />
+<rect x="8" y="18" width="1" height="1" fill="#468232" />
+<rect x="9" y="18" width="1" height="1" fill="#468232" />
+<rect x="10" y="18" width="1" height="1" fill="#468232" />
+<rect x="11" y="18" width="1" height="1" fill="#468232" />
+<rect x="12" y="18" width="1" height="1" fill="#468232" />
+<rect x="13" y="18" width="1" height="1" fill="#468232" />
+<rect x="14" y="18" width="1" height="1" fill="#468232" />
+<rect x="15" y="18" width="1" height="1" fill="#468232" />
+<rect x="16" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="18" width="1" height="1" fill="#468232" />
+<rect x="18" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="18" width="1" height="1" fill="#468232" />
+<rect x="31" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="18" width="1" height="1" fill="#468232" />
+<rect x="33" y="18" width="1" height="1" fill="#468232" />
+<rect x="34" y="18" width="1" height="1" fill="#468232" />
+<rect x="35" y="18" width="1" height="1" fill="#468232" />
+<rect x="36" y="18" width="1" height="1" fill="#468232" />
+<rect x="37" y="18" width="1" height="1" fill="#468232" />
+<rect x="38" y="18" width="1" height="1" fill="#468232" />
+<rect x="39" y="18" width="1" height="1" fill="#468232" />
+<rect x="40" y="18" width="1" height="1" fill="#468232" />
+<rect x="41" y="18" width="1" height="1" fill="#468232" />
+<rect x="42" y="18" width="1" height="1" fill="#468232" />
+<rect x="43" y="18" width="1" height="1" fill="#468232" />
+<rect x="44" y="18" width="1" height="1" fill="#468232" />
+<rect x="45" y="18" width="1" height="1" fill="#356427" />
+<rect x="46" y="18" width="1" height="1" fill="#356427" />
+<rect x="47" y="18" width="1" height="1" fill="#356427" />
+<rect x="0" y="19" width="1" height="1" fill="#356427" />
+<rect x="1" y="19" width="1" height="1" fill="#468232" />
+<rect x="2" y="19" width="1" height="1" fill="#468232" />
+<rect x="3" y="19" width="1" height="1" fill="#468232" />
+<rect x="4" y="19" width="1" height="1" fill="#468232" />
+<rect x="5" y="19" width="1" height="1" fill="#468232" />
+<rect x="6" y="19" width="1" height="1" fill="#468232" />
+<rect x="7" y="19" width="1" height="1" fill="#468232" />
+<rect x="8" y="19" width="1" height="1" fill="#468232" />
+<rect x="9" y="19" width="1" height="1" fill="#468232" />
+<rect x="10" y="19" width="1" height="1" fill="#468232" />
+<rect x="11" y="19" width="1" height="1" fill="#468232" />
+<rect x="12" y="19" width="1" height="1" fill="#468232" />
+<rect x="13" y="19" width="1" height="1" fill="#468232" />
+<rect x="14" y="19" width="1" height="1" fill="#468232" />
+<rect x="15" y="19" width="1" height="1" fill="#468232" />
+<rect x="16" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="19" width="1" height="1" fill="#468232" />
+<rect x="18" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="19" width="1" height="1" fill="#468232" />
+<rect x="23" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="19" width="1" height="1" fill="#468232" />
+<rect x="25" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="19" width="1" height="1" fill="#468232" />
+<rect x="27" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="19" width="1" height="1" fill="#468232" />
+<rect x="31" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="19" width="1" height="1" fill="#468232" />
+<rect x="33" y="19" width="1" height="1" fill="#468232" />
+<rect x="34" y="19" width="1" height="1" fill="#468232" />
+<rect x="35" y="19" width="1" height="1" fill="#468232" />
+<rect x="36" y="19" width="1" height="1" fill="#468232" />
+<rect x="37" y="19" width="1" height="1" fill="#468232" />
+<rect x="38" y="19" width="1" height="1" fill="#468232" />
+<rect x="39" y="19" width="1" height="1" fill="#468232" />
+<rect x="40" y="19" width="1" height="1" fill="#468232" />
+<rect x="41" y="19" width="1" height="1" fill="#468232" />
+<rect x="42" y="19" width="1" height="1" fill="#468232" />
+<rect x="43" y="19" width="1" height="1" fill="#468232" />
+<rect x="44" y="19" width="1" height="1" fill="#468232" />
+<rect x="45" y="19" width="1" height="1" fill="#356427" />
+<rect x="46" y="19" width="1" height="1" fill="#356427" />
+<rect x="47" y="19" width="1" height="1" fill="#356427" />
+<rect x="0" y="20" width="1" height="1" fill="#356427" />
+<rect x="1" y="20" width="1" height="1" fill="#468232" />
+<rect x="2" y="20" width="1" height="1" fill="#468232" />
+<rect x="3" y="20" width="1" height="1" fill="#468232" />
+<rect x="4" y="20" width="1" height="1" fill="#468232" />
+<rect x="5" y="20" width="1" height="1" fill="#468232" />
+<rect x="6" y="20" width="1" height="1" fill="#468232" />
+<rect x="7" y="20" width="1" height="1" fill="#468232" />
+<rect x="8" y="20" width="1" height="1" fill="#468232" />
+<rect x="9" y="20" width="1" height="1" fill="#468232" />
+<rect x="10" y="20" width="1" height="1" fill="#468232" />
+<rect x="11" y="20" width="1" height="1" fill="#468232" />
+<rect x="12" y="20" width="1" height="1" fill="#468232" />
+<rect x="13" y="20" width="1" height="1" fill="#468232" />
+<rect x="14" y="20" width="1" height="1" fill="#468232" />
+<rect x="15" y="20" width="1" height="1" fill="#468232" />
+<rect x="16" y="20" width="1" height="1" fill="#468232" />
+<rect x="17" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="20" width="1" height="1" fill="#468232" />
+<rect x="19" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="20" width="1" height="1" fill="#468232" />
+<rect x="30" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="20" width="1" height="1" fill="#468232" />
+<rect x="32" y="20" width="1" height="1" fill="#468232" />
+<rect x="33" y="20" width="1" height="1" fill="#468232" />
+<rect x="34" y="20" width="1" height="1" fill="#468232" />
+<rect x="35" y="20" width="1" height="1" fill="#468232" />
+<rect x="36" y="20" width="1" height="1" fill="#468232" />
+<rect x="37" y="20" width="1" height="1" fill="#468232" />
+<rect x="38" y="20" width="1" height="1" fill="#468232" />
+<rect x="39" y="20" width="1" height="1" fill="#468232" />
+<rect x="40" y="20" width="1" height="1" fill="#468232" />
+<rect x="41" y="20" width="1" height="1" fill="#468232" />
+<rect x="42" y="20" width="1" height="1" fill="#468232" />
+<rect x="43" y="20" width="1" height="1" fill="#468232" />
+<rect x="44" y="20" width="1" height="1" fill="#356427" />
+<rect x="45" y="20" width="1" height="1" fill="#356427" />
+<rect x="46" y="20" width="1" height="1" fill="#356427" />
+<rect x="47" y="20" width="1" height="1" fill="#356427" />
+<rect x="0" y="21" width="1" height="1" fill="#356427" />
+<rect x="1" y="21" width="1" height="1" fill="#468232" />
+<rect x="2" y="21" width="1" height="1" fill="#468232" />
+<rect x="3" y="21" width="1" height="1" fill="#468232" />
+<rect x="4" y="21" width="1" height="1" fill="#468232" />
+<rect x="5" y="21" width="1" height="1" fill="#468232" />
+<rect x="6" y="21" width="1" height="1" fill="#468232" />
+<rect x="7" y="21" width="1" height="1" fill="#468232" />
+<rect x="8" y="21" width="1" height="1" fill="#468232" />
+<rect x="9" y="21" width="1" height="1" fill="#468232" />
+<rect x="10" y="21" width="1" height="1" fill="#468232" />
+<rect x="11" y="21" width="1" height="1" fill="#468232" />
+<rect x="12" y="21" width="1" height="1" fill="#468232" />
+<rect x="13" y="21" width="1" height="1" fill="#468232" />
+<rect x="14" y="21" width="1" height="1" fill="#468232" />
+<rect x="15" y="21" width="1" height="1" fill="#468232" />
+<rect x="16" y="21" width="1" height="1" fill="#468232" />
+<rect x="17" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="21" width="1" height="1" fill="#468232" />
+<rect x="19" y="21" width="1" height="1" fill="#468232" />
+<rect x="20" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="21" width="1" height="1" fill="#468232" />
+<rect x="29" y="21" width="1" height="1" fill="#468232" />
+<rect x="30" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="21" width="1" height="1" fill="#468232" />
+<rect x="32" y="21" width="1" height="1" fill="#468232" />
+<rect x="33" y="21" width="1" height="1" fill="#468232" />
+<rect x="34" y="21" width="1" height="1" fill="#468232" />
+<rect x="35" y="21" width="1" height="1" fill="#468232" />
+<rect x="36" y="21" width="1" height="1" fill="#468232" />
+<rect x="37" y="21" width="1" height="1" fill="#468232" />
+<rect x="38" y="21" width="1" height="1" fill="#468232" />
+<rect x="39" y="21" width="1" height="1" fill="#468232" />
+<rect x="40" y="21" width="1" height="1" fill="#468232" />
+<rect x="41" y="21" width="1" height="1" fill="#468232" />
+<rect x="42" y="21" width="1" height="1" fill="#468232" />
+<rect x="43" y="21" width="1" height="1" fill="#468232" />
+<rect x="44" y="21" width="1" height="1" fill="#356427" />
+<rect x="45" y="21" width="1" height="1" fill="#468232" />
+<rect x="46" y="21" width="1" height="1" fill="#356427" />
+<rect x="47" y="21" width="1" height="1" fill="#356427" />
+<rect x="0" y="22" width="1" height="1" fill="#356427" />
+<rect x="1" y="22" width="1" height="1" fill="#468232" />
+<rect x="2" y="22" width="1" height="1" fill="#356427" />
+<rect x="3" y="22" width="1" height="1" fill="#468232" />
+<rect x="4" y="22" width="1" height="1" fill="#468232" />
+<rect x="5" y="22" width="1" height="1" fill="#468232" />
+<rect x="6" y="22" width="1" height="1" fill="#468232" />
+<rect x="7" y="22" width="1" height="1" fill="#468232" />
+<rect x="8" y="22" width="1" height="1" fill="#468232" />
+<rect x="9" y="22" width="1" height="1" fill="#468232" />
+<rect x="10" y="22" width="1" height="1" fill="#468232" />
+<rect x="11" y="22" width="1" height="1" fill="#468232" />
+<rect x="12" y="22" width="1" height="1" fill="#468232" />
+<rect x="13" y="22" width="1" height="1" fill="#468232" />
+<rect x="14" y="22" width="1" height="1" fill="#468232" />
+<rect x="15" y="22" width="1" height="1" fill="#468232" />
+<rect x="16" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="22" width="1" height="1" fill="#468232" />
+<rect x="18" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="22" width="1" height="1" fill="#468232" />
+<rect x="21" y="22" width="1" height="1" fill="#468232" />
+<rect x="22" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="22" width="1" height="1" fill="#468232" />
+<rect x="27" y="22" width="1" height="1" fill="#468232" />
+<rect x="28" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="22" width="1" height="1" fill="#468232" />
+<rect x="31" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="22" width="1" height="1" fill="#468232" />
+<rect x="33" y="22" width="1" height="1" fill="#468232" />
+<rect x="34" y="22" width="1" height="1" fill="#468232" />
+<rect x="35" y="22" width="1" height="1" fill="#468232" />
+<rect x="36" y="22" width="1" height="1" fill="#468232" />
+<rect x="37" y="22" width="1" height="1" fill="#468232" />
+<rect x="38" y="22" width="1" height="1" fill="#468232" />
+<rect x="39" y="22" width="1" height="1" fill="#468232" />
+<rect x="40" y="22" width="1" height="1" fill="#468232" />
+<rect x="41" y="22" width="1" height="1" fill="#468232" />
+<rect x="42" y="22" width="1" height="1" fill="#468232" />
+<rect x="43" y="22" width="1" height="1" fill="#468232" />
+<rect x="44" y="22" width="1" height="1" fill="#468232" />
+<rect x="45" y="22" width="1" height="1" fill="#468232" />
+<rect x="46" y="22" width="1" height="1" fill="#356427" />
+<rect x="47" y="22" width="1" height="1" fill="#356427" />
+<rect x="0" y="23" width="1" height="1" fill="#356427" />
+<rect x="1" y="23" width="1" height="1" fill="#468232" />
+<rect x="2" y="23" width="1" height="1" fill="#356427" />
+<rect x="3" y="23" width="1" height="1" fill="#468232" />
+<rect x="4" y="23" width="1" height="1" fill="#468232" />
+<rect x="5" y="23" width="1" height="1" fill="#468232" />
+<rect x="6" y="23" width="1" height="1" fill="#468232" />
+<rect x="7" y="23" width="1" height="1" fill="#468232" />
+<rect x="8" y="23" width="1" height="1" fill="#468232" />
+<rect x="9" y="23" width="1" height="1" fill="#468232" />
+<rect x="10" y="23" width="1" height="1" fill="#468232" />
+<rect x="11" y="23" width="1" height="1" fill="#468232" />
+<rect x="12" y="23" width="1" height="1" fill="#468232" />
+<rect x="13" y="23" width="1" height="1" fill="#468232" />
+<rect x="14" y="23" width="1" height="1" fill="#468232" />
+<rect x="15" y="23" width="1" height="1" fill="#468232" />
+<rect x="16" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="23" width="1" height="1" fill="#468232" />
+<rect x="19" y="23" width="1" height="1" fill="#468232" />
+<rect x="20" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="23" width="1" height="1" fill="#468232" />
+<rect x="23" y="23" width="1" height="1" fill="#468232" />
+<rect x="24" y="23" width="1" height="1" fill="#468232" />
+<rect x="25" y="23" width="1" height="1" fill="#468232" />
+<rect x="26" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="23" width="1" height="1" fill="#468232" />
+<rect x="29" y="23" width="1" height="1" fill="#468232" />
+<rect x="30" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="23" width="1" height="1" fill="#468232" />
+<rect x="33" y="23" width="1" height="1" fill="#468232" />
+<rect x="34" y="23" width="1" height="1" fill="#468232" />
+<rect x="35" y="23" width="1" height="1" fill="#468232" />
+<rect x="36" y="23" width="1" height="1" fill="#468232" />
+<rect x="37" y="23" width="1" height="1" fill="#468232" />
+<rect x="38" y="23" width="1" height="1" fill="#468232" />
+<rect x="39" y="23" width="1" height="1" fill="#468232" />
+<rect x="40" y="23" width="1" height="1" fill="#468232" />
+<rect x="41" y="23" width="1" height="1" fill="#468232" />
+<rect x="42" y="23" width="1" height="1" fill="#468232" />
+<rect x="43" y="23" width="1" height="1" fill="#468232" />
+<rect x="44" y="23" width="1" height="1" fill="#468232" />
+<rect x="45" y="23" width="1" height="1" fill="#356427" />
+<rect x="46" y="23" width="1" height="1" fill="#356427" />
+<rect x="47" y="23" width="1" height="1" fill="#356427" />
+<rect x="0" y="24" width="1" height="1" fill="#356427" />
+<rect x="1" y="24" width="1" height="1" fill="#468232" />
+<rect x="2" y="24" width="1" height="1" fill="#356427" />
+<rect x="3" y="24" width="1" height="1" fill="#356427" />
+<rect x="4" y="24" width="1" height="1" fill="#468232" />
+<rect x="5" y="24" width="1" height="1" fill="#468232" />
+<rect x="6" y="24" width="1" height="1" fill="#468232" />
+<rect x="7" y="24" width="1" height="1" fill="#468232" />
+<rect x="8" y="24" width="1" height="1" fill="#468232" />
+<rect x="9" y="24" width="1" height="1" fill="#468232" />
+<rect x="10" y="24" width="1" height="1" fill="#468232" />
+<rect x="11" y="24" width="1" height="1" fill="#468232" />
+<rect x="12" y="24" width="1" height="1" fill="#468232" />
+<rect x="13" y="24" width="1" height="1" fill="#468232" />
+<rect x="14" y="24" width="1" height="1" fill="#468232" />
+<rect x="15" y="24" width="1" height="1" fill="#468232" />
+<rect x="16" y="24" width="1" height="1" fill="#468232" />
+<rect x="17" y="24" width="1" height="1" fill="#468232" />
+<rect x="18" y="24" width="1" height="1" fill="#468232" />
+<rect x="19" y="24" width="1" height="1" fill="#468232" />
+<rect x="20" y="24" width="1" height="1" fill="#468232" />
+<rect x="21" y="24" width="1" height="1" fill="#468232" />
+<rect x="22" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="24" width="1" height="1" fill="#468232" />
+<rect x="27" y="24" width="1" height="1" fill="#468232" />
+<rect x="28" y="24" width="1" height="1" fill="#468232" />
+<rect x="29" y="24" width="1" height="1" fill="#468232" />
+<rect x="30" y="24" width="1" height="1" fill="#468232" />
+<rect x="31" y="24" width="1" height="1" fill="#468232" />
+<rect x="32" y="24" width="1" height="1" fill="#468232" />
+<rect x="33" y="24" width="1" height="1" fill="#468232" />
+<rect x="34" y="24" width="1" height="1" fill="#468232" />
+<rect x="35" y="24" width="1" height="1" fill="#468232" />
+<rect x="36" y="24" width="1" height="1" fill="#468232" />
+<rect x="37" y="24" width="1" height="1" fill="#468232" />
+<rect x="38" y="24" width="1" height="1" fill="#468232" />
+<rect x="39" y="24" width="1" height="1" fill="#468232" />
+<rect x="40" y="24" width="1" height="1" fill="#468232" />
+<rect x="41" y="24" width="1" height="1" fill="#356427" />
+<rect x="42" y="24" width="1" height="1" fill="#468232" />
+<rect x="43" y="24" width="1" height="1" fill="#468232" />
+<rect x="44" y="24" width="1" height="1" fill="#468232" />
+<rect x="45" y="24" width="1" height="1" fill="#356427" />
+<rect x="46" y="24" width="1" height="1" fill="#356427" />
+<rect x="47" y="24" width="1" height="1" fill="#356427" />
+<rect x="0" y="25" width="1" height="1" fill="#356427" />
+<rect x="1" y="25" width="1" height="1" fill="#356427" />
+<rect x="2" y="25" width="1" height="1" fill="#356427" />
+<rect x="3" y="25" width="1" height="1" fill="#356427" />
+<rect x="4" y="25" width="1" height="1" fill="#356427" />
+<rect x="5" y="25" width="1" height="1" fill="#468232" />
+<rect x="6" y="25" width="1" height="1" fill="#468232" />
+<rect x="7" y="25" width="1" height="1" fill="#468232" />
+<rect x="8" y="25" width="1" height="1" fill="#468232" />
+<rect x="9" y="25" width="1" height="1" fill="#468232" />
+<rect x="10" y="25" width="1" height="1" fill="#468232" />
+<rect x="11" y="25" width="1" height="1" fill="#468232" />
+<rect x="12" y="25" width="1" height="1" fill="#468232" />
+<rect x="13" y="25" width="1" height="1" fill="#468232" />
+<rect x="14" y="25" width="1" height="1" fill="#468232" />
+<rect x="15" y="25" width="1" height="1" fill="#468232" />
+<rect x="16" y="25" width="1" height="1" fill="#468232" />
+<rect x="17" y="25" width="1" height="1" fill="#468232" />
+<rect x="18" y="25" width="1" height="1" fill="#468232" />
+<rect x="19" y="25" width="1" height="1" fill="#468232" />
+<rect x="20" y="25" width="1" height="1" fill="#468232" />
+<rect x="21" y="25" width="1" height="1" fill="#468232" />
+<rect x="22" y="25" width="1" height="1" fill="#468232" />
+<rect x="23" y="25" width="1" height="1" fill="#468232" />
+<rect x="24" y="25" width="1" height="1" fill="#468232" />
+<rect x="25" y="25" width="1" height="1" fill="#468232" />
+<rect x="26" y="25" width="1" height="1" fill="#468232" />
+<rect x="27" y="25" width="1" height="1" fill="#468232" />
+<rect x="28" y="25" width="1" height="1" fill="#468232" />
+<rect x="29" y="25" width="1" height="1" fill="#468232" />
+<rect x="30" y="25" width="1" height="1" fill="#468232" />
+<rect x="31" y="25" width="1" height="1" fill="#468232" />
+<rect x="32" y="25" width="1" height="1" fill="#468232" />
+<rect x="33" y="25" width="1" height="1" fill="#468232" />
+<rect x="34" y="25" width="1" height="1" fill="#468232" />
+<rect x="35" y="25" width="1" height="1" fill="#468232" />
+<rect x="36" y="25" width="1" height="1" fill="#468232" />
+<rect x="37" y="25" width="1" height="1" fill="#468232" />
+<rect x="38" y="25" width="1" height="1" fill="#468232" />
+<rect x="39" y="25" width="1" height="1" fill="#356427" />
+<rect x="40" y="25" width="1" height="1" fill="#356427" />
+<rect x="41" y="25" width="1" height="1" fill="#356427" />
+<rect x="42" y="25" width="1" height="1" fill="#468232" />
+<rect x="43" y="25" width="1" height="1" fill="#468232" />
+<rect x="44" y="25" width="1" height="1" fill="#356427" />
+<rect x="45" y="25" width="1" height="1" fill="#356427" />
+<rect x="46" y="25" width="1" height="1" fill="#356427" />
+<rect x="47" y="25" width="1" height="1" fill="#356427" />
+<rect x="0" y="26" width="1" height="1" fill="#356427" />
+<rect x="1" y="26" width="1" height="1" fill="#356427" />
+<rect x="2" y="26" width="1" height="1" fill="#468232" />
+<rect x="3" y="26" width="1" height="1" fill="#356427" />
+<rect x="4" y="26" width="1" height="1" fill="#356427" />
+<rect x="5" y="26" width="1" height="1" fill="#356427" />
+<rect x="6" y="26" width="1" height="1" fill="#468232" />
+<rect x="7" y="26" width="1" height="1" fill="#468232" />
+<rect x="8" y="26" width="1" height="1" fill="#468232" />
+<rect x="9" y="26" width="1" height="1" fill="#468232" />
+<rect x="10" y="26" width="1" height="1" fill="#468232" />
+<rect x="11" y="26" width="1" height="1" fill="#468232" />
+<rect x="12" y="26" width="1" height="1" fill="#468232" />
+<rect x="13" y="26" width="1" height="1" fill="#468232" />
+<rect x="14" y="26" width="1" height="1" fill="#468232" />
+<rect x="15" y="26" width="1" height="1" fill="#468232" />
+<rect x="16" y="26" width="1" height="1" fill="#468232" />
+<rect x="17" y="26" width="1" height="1" fill="#468232" />
+<rect x="18" y="26" width="1" height="1" fill="#468232" />
+<rect x="19" y="26" width="1" height="1" fill="#468232" />
+<rect x="20" y="26" width="1" height="1" fill="#468232" />
+<rect x="21" y="26" width="1" height="1" fill="#468232" />
+<rect x="22" y="26" width="1" height="1" fill="#468232" />
+<rect x="23" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="26" width="1" height="1" fill="#468232" />
+<rect x="26" y="26" width="1" height="1" fill="#468232" />
+<rect x="27" y="26" width="1" height="1" fill="#468232" />
+<rect x="28" y="26" width="1" height="1" fill="#468232" />
+<rect x="29" y="26" width="1" height="1" fill="#468232" />
+<rect x="30" y="26" width="1" height="1" fill="#468232" />
+<rect x="31" y="26" width="1" height="1" fill="#468232" />
+<rect x="32" y="26" width="1" height="1" fill="#468232" />
+<rect x="33" y="26" width="1" height="1" fill="#468232" />
+<rect x="34" y="26" width="1" height="1" fill="#468232" />
+<rect x="35" y="26" width="1" height="1" fill="#468232" />
+<rect x="36" y="26" width="1" height="1" fill="#468232" />
+<rect x="37" y="26" width="1" height="1" fill="#356427" />
+<rect x="38" y="26" width="1" height="1" fill="#356427" />
+<rect x="39" y="26" width="1" height="1" fill="#356427" />
+<rect x="40" y="26" width="1" height="1" fill="#356427" />
+<rect x="41" y="26" width="1" height="1" fill="#356427" />
+<rect x="42" y="26" width="1" height="1" fill="#356427" />
+<rect x="43" y="26" width="1" height="1" fill="#468232" />
+<rect x="44" y="26" width="1" height="1" fill="#356427" />
+<rect x="45" y="26" width="1" height="1" fill="#356427" />
+<rect x="46" y="26" width="1" height="1" fill="#356427" />
+<rect x="47" y="26" width="1" height="1" fill="#356427" />
+<rect x="0" y="27" width="1" height="1" fill="#356427" />
+<rect x="1" y="27" width="1" height="1" fill="#356427" />
+<rect x="2" y="27" width="1" height="1" fill="#468232" />
+<rect x="3" y="27" width="1" height="1" fill="#468232" />
+<rect x="4" y="27" width="1" height="1" fill="#356427" />
+<rect x="5" y="27" width="1" height="1" fill="#356427" />
+<rect x="6" y="27" width="1" height="1" fill="#356427" />
+<rect x="7" y="27" width="1" height="1" fill="#356427" />
+<rect x="8" y="27" width="1" height="1" fill="#468232" />
+<rect x="9" y="27" width="1" height="1" fill="#468232" />
+<rect x="10" y="27" width="1" height="1" fill="#468232" />
+<rect x="11" y="27" width="1" height="1" fill="#468232" />
+<rect x="12" y="27" width="1" height="1" fill="#468232" />
+<rect x="13" y="27" width="1" height="1" fill="#468232" />
+<rect x="14" y="27" width="1" height="1" fill="#468232" />
+<rect x="15" y="27" width="1" height="1" fill="#468232" />
+<rect x="16" y="27" width="1" height="1" fill="#468232" />
+<rect x="17" y="27" width="1" height="1" fill="#468232" />
+<rect x="18" y="27" width="1" height="1" fill="#468232" />
+<rect x="19" y="27" width="1" height="1" fill="#468232" />
+<rect x="20" y="27" width="1" height="1" fill="#468232" />
+<rect x="21" y="27" width="1" height="1" fill="#468232" />
+<rect x="22" y="27" width="1" height="1" fill="#468232" />
+<rect x="23" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="27" width="1" height="1" fill="#468232" />
+<rect x="26" y="27" width="1" height="1" fill="#468232" />
+<rect x="27" y="27" width="1" height="1" fill="#468232" />
+<rect x="28" y="27" width="1" height="1" fill="#468232" />
+<rect x="29" y="27" width="1" height="1" fill="#468232" />
+<rect x="30" y="27" width="1" height="1" fill="#468232" />
+<rect x="31" y="27" width="1" height="1" fill="#468232" />
+<rect x="32" y="27" width="1" height="1" fill="#468232" />
+<rect x="33" y="27" width="1" height="1" fill="#468232" />
+<rect x="34" y="27" width="1" height="1" fill="#468232" />
+<rect x="35" y="27" width="1" height="1" fill="#356427" />
+<rect x="36" y="27" width="1" height="1" fill="#356427" />
+<rect x="37" y="27" width="1" height="1" fill="#356427" />
+<rect x="38" y="27" width="1" height="1" fill="#356427" />
+<rect x="39" y="27" width="1" height="1" fill="#356427" />
+<rect x="40" y="27" width="1" height="1" fill="#356427" />
+<rect x="41" y="27" width="1" height="1" fill="#356427" />
+<rect x="42" y="27" width="1" height="1" fill="#468232" />
+<rect x="43" y="27" width="1" height="1" fill="#468232" />
+<rect x="44" y="27" width="1" height="1" fill="#356427" />
+<rect x="45" y="27" width="1" height="1" fill="#356427" />
+<rect x="46" y="27" width="1" height="1" fill="#468232" />
+<rect x="47" y="27" width="1" height="1" fill="#356427" />
+<rect x="0" y="28" width="1" height="1" fill="#356427" />
+<rect x="1" y="28" width="1" height="1" fill="#356427" />
+<rect x="2" y="28" width="1" height="1" fill="#356427" />
+<rect x="3" y="28" width="1" height="1" fill="#468232" />
+<rect x="4" y="28" width="1" height="1" fill="#356427" />
+<rect x="5" y="28" width="1" height="1" fill="#356427" />
+<rect x="6" y="28" width="1" height="1" fill="#356427" />
+<rect x="7" y="28" width="1" height="1" fill="#356427" />
+<rect x="8" y="28" width="1" height="1" fill="#356427" />
+<rect x="9" y="28" width="1" height="1" fill="#468232" />
+<rect x="10" y="28" width="1" height="1" fill="#468232" />
+<rect x="11" y="28" width="1" height="1" fill="#468232" />
+<rect x="12" y="28" width="1" height="1" fill="#468232" />
+<rect x="13" y="28" width="1" height="1" fill="#468232" />
+<rect x="14" y="28" width="1" height="1" fill="#468232" />
+<rect x="15" y="28" width="1" height="1" fill="#468232" />
+<rect x="16" y="28" width="1" height="1" fill="#468232" />
+<rect x="17" y="28" width="1" height="1" fill="#468232" />
+<rect x="18" y="28" width="1" height="1" fill="#468232" />
+<rect x="19" y="28" width="1" height="1" fill="#468232" />
+<rect x="20" y="28" width="1" height="1" fill="#468232" />
+<rect x="21" y="28" width="1" height="1" fill="#468232" />
+<rect x="22" y="28" width="1" height="1" fill="#468232" />
+<rect x="23" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="28" width="1" height="1" fill="#468232" />
+<rect x="26" y="28" width="1" height="1" fill="#468232" />
+<rect x="27" y="28" width="1" height="1" fill="#468232" />
+<rect x="28" y="28" width="1" height="1" fill="#468232" />
+<rect x="29" y="28" width="1" height="1" fill="#468232" />
+<rect x="30" y="28" width="1" height="1" fill="#468232" />
+<rect x="31" y="28" width="1" height="1" fill="#468232" />
+<rect x="32" y="28" width="1" height="1" fill="#356427" />
+<rect x="33" y="28" width="1" height="1" fill="#356427" />
+<rect x="34" y="28" width="1" height="1" fill="#356427" />
+<rect x="35" y="28" width="1" height="1" fill="#356427" />
+<rect x="36" y="28" width="1" height="1" fill="#356427" />
+<rect x="37" y="28" width="1" height="1" fill="#356427" />
+<rect x="38" y="28" width="1" height="1" fill="#468232" />
+<rect x="39" y="28" width="1" height="1" fill="#356427" />
+<rect x="40" y="28" width="1" height="1" fill="#356427" />
+<rect x="41" y="28" width="1" height="1" fill="#468232" />
+<rect x="42" y="28" width="1" height="1" fill="#468232" />
+<rect x="43" y="28" width="1" height="1" fill="#356427" />
+<rect x="44" y="28" width="1" height="1" fill="#356427" />
+<rect x="45" y="28" width="1" height="1" fill="#468232" />
+<rect x="46" y="28" width="1" height="1" fill="#468232" />
+<rect x="47" y="28" width="1" height="1" fill="#356427" />
+<rect x="0" y="29" width="1" height="1" fill="#356427" />
+<rect x="1" y="29" width="1" height="1" fill="#356427" />
+<rect x="2" y="29" width="1" height="1" fill="#356427" />
+<rect x="3" y="29" width="1" height="1" fill="#356427" />
+<rect x="4" y="29" width="1" height="1" fill="#356427" />
+<rect x="5" y="29" width="1" height="1" fill="#356427" />
+<rect x="6" y="29" width="1" height="1" fill="#356427" />
+<rect x="7" y="29" width="1" height="1" fill="#356427" />
+<rect x="8" y="29" width="1" height="1" fill="#356427" />
+<rect x="9" y="29" width="1" height="1" fill="#356427" />
+<rect x="10" y="29" width="1" height="1" fill="#356427" />
+<rect x="11" y="29" width="1" height="1" fill="#356427" />
+<rect x="12" y="29" width="1" height="1" fill="#468232" />
+<rect x="13" y="29" width="1" height="1" fill="#468232" />
+<rect x="14" y="29" width="1" height="1" fill="#468232" />
+<rect x="15" y="29" width="1" height="1" fill="#468232" />
+<rect x="16" y="29" width="1" height="1" fill="#468232" />
+<rect x="17" y="29" width="1" height="1" fill="#468232" />
+<rect x="18" y="29" width="1" height="1" fill="#468232" />
+<rect x="19" y="29" width="1" height="1" fill="#468232" />
+<rect x="20" y="29" width="1" height="1" fill="#468232" />
+<rect x="21" y="29" width="1" height="1" fill="#468232" />
+<rect x="22" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="29" width="1" height="1" fill="#468232" />
+<rect x="27" y="29" width="1" height="1" fill="#468232" />
+<rect x="28" y="29" width="1" height="1" fill="#468232" />
+<rect x="29" y="29" width="1" height="1" fill="#468232" />
+<rect x="30" y="29" width="1" height="1" fill="#356427" />
+<rect x="31" y="29" width="1" height="1" fill="#356427" />
+<rect x="32" y="29" width="1" height="1" fill="#356427" />
+<rect x="33" y="29" width="1" height="1" fill="#356427" />
+<rect x="34" y="29" width="1" height="1" fill="#356427" />
+<rect x="35" y="29" width="1" height="1" fill="#356427" />
+<rect x="36" y="29" width="1" height="1" fill="#468232" />
+<rect x="37" y="29" width="1" height="1" fill="#468232" />
+<rect x="38" y="29" width="1" height="1" fill="#356427" />
+<rect x="39" y="29" width="1" height="1" fill="#356427" />
+<rect x="40" y="29" width="1" height="1" fill="#356427" />
+<rect x="41" y="29" width="1" height="1" fill="#468232" />
+<rect x="42" y="29" width="1" height="1" fill="#356427" />
+<rect x="43" y="29" width="1" height="1" fill="#356427" />
+<rect x="44" y="29" width="1" height="1" fill="#356427" />
+<rect x="45" y="29" width="1" height="1" fill="#468232" />
+<rect x="46" y="29" width="1" height="1" fill="#356427" />
+<rect x="47" y="29" width="1" height="1" fill="#356427" />
+<rect x="1" y="30" width="1" height="1" fill="#356427" />
+<rect x="2" y="30" width="1" height="1" fill="#356427" />
+<rect x="3" y="30" width="1" height="1" fill="#356427" />
+<rect x="4" y="30" width="1" height="1" fill="#356427" />
+<rect x="5" y="30" width="1" height="1" fill="#356427" />
+<rect x="6" y="30" width="1" height="1" fill="#356427" />
+<rect x="7" y="30" width="1" height="1" fill="#356427" />
+<rect x="8" y="30" width="1" height="1" fill="#356427" />
+<rect x="9" y="30" width="1" height="1" fill="#468232" />
+<rect x="10" y="30" width="1" height="1" fill="#468232" />
+<rect x="11" y="30" width="1" height="1" fill="#468232" />
+<rect x="12" y="30" width="1" height="1" fill="#468232" />
+<rect x="13" y="30" width="1" height="1" fill="#468232" />
+<rect x="14" y="30" width="1" height="1" fill="#468232" />
+<rect x="15" y="30" width="1" height="1" fill="#468232" />
+<rect x="16" y="30" width="1" height="1" fill="#468232" />
+<rect x="17" y="30" width="1" height="1" fill="#468232" />
+<rect x="18" y="30" width="1" height="1" fill="#468232" />
+<rect x="19" y="30" width="1" height="1" fill="#468232" />
+<rect x="20" y="30" width="1" height="1" fill="#468232" />
+<rect x="21" y="30" width="1" height="1" fill="#468232" />
+<rect x="22" y="30" width="1" height="1" fill="#468232" />
+<rect x="23" y="30" width="1" height="1" fill="#468232" />
+<rect x="24" y="30" width="1" height="1" fill="#468232" />
+<rect x="25" y="30" width="1" height="1" fill="#468232" />
+<rect x="26" y="30" width="1" height="1" fill="#468232" />
+<rect x="27" y="30" width="1" height="1" fill="#468232" />
+<rect x="28" y="30" width="1" height="1" fill="#468232" />
+<rect x="29" y="30" width="1" height="1" fill="#468232" />
+<rect x="30" y="30" width="1" height="1" fill="#468232" />
+<rect x="31" y="30" width="1" height="1" fill="#468232" />
+<rect x="32" y="30" width="1" height="1" fill="#468232" />
+<rect x="33" y="30" width="1" height="1" fill="#468232" />
+<rect x="34" y="30" width="1" height="1" fill="#468232" />
+<rect x="35" y="30" width="1" height="1" fill="#468232" />
+<rect x="36" y="30" width="1" height="1" fill="#468232" />
+<rect x="37" y="30" width="1" height="1" fill="#468232" />
+<rect x="38" y="30" width="1" height="1" fill="#356427" />
+<rect x="39" y="30" width="1" height="1" fill="#356427" />
+<rect x="40" y="30" width="1" height="1" fill="#356427" />
+<rect x="41" y="30" width="1" height="1" fill="#356427" />
+<rect x="42" y="30" width="1" height="1" fill="#356427" />
+<rect x="43" y="30" width="1" height="1" fill="#356427" />
+<rect x="44" y="30" width="1" height="1" fill="#356427" />
+<rect x="45" y="30" width="1" height="1" fill="#356427" />
+<rect x="46" y="30" width="1" height="1" fill="#356427" />
+<rect x="2" y="31" width="1" height="1" fill="#356427" />
+<rect x="3" y="31" width="1" height="1" fill="#356427" />
+<rect x="4" y="31" width="1" height="1" fill="#356427" />
+<rect x="5" y="31" width="1" height="1" fill="#356427" />
+<rect x="6" y="31" width="1" height="1" fill="#356427" />
+<rect x="7" y="31" width="1" height="1" fill="#356427" />
+<rect x="8" y="31" width="1" height="1" fill="#356427" />
+<rect x="9" y="31" width="1" height="1" fill="#356427" />
+<rect x="10" y="31" width="1" height="1" fill="#356427" />
+<rect x="11" y="31" width="1" height="1" fill="#356427" />
+<rect x="12" y="31" width="1" height="1" fill="#356427" />
+<rect x="13" y="31" width="1" height="1" fill="#356427" />
+<rect x="14" y="31" width="1" height="1" fill="#356427" />
+<rect x="15" y="31" width="1" height="1" fill="#356427" />
+<rect x="16" y="31" width="1" height="1" fill="#356427" />
+<rect x="17" y="31" width="1" height="1" fill="#356427" />
+<rect x="18" y="31" width="1" height="1" fill="#356427" />
+<rect x="19" y="31" width="1" height="1" fill="#356427" />
+<rect x="20" y="31" width="1" height="1" fill="#356427" />
+<rect x="21" y="31" width="1" height="1" fill="#356427" />
+<rect x="22" y="31" width="1" height="1" fill="#356427" />
+<rect x="23" y="31" width="1" height="1" fill="#356427" />
+<rect x="24" y="31" width="1" height="1" fill="#356427" />
+<rect x="25" y="31" width="1" height="1" fill="#356427" />
+<rect x="26" y="31" width="1" height="1" fill="#356427" />
+<rect x="27" y="31" width="1" height="1" fill="#356427" />
+<rect x="28" y="31" width="1" height="1" fill="#356427" />
+<rect x="29" y="31" width="1" height="1" fill="#356427" />
+<rect x="30" y="31" width="1" height="1" fill="#356427" />
+<rect x="31" y="31" width="1" height="1" fill="#356427" />
+<rect x="32" y="31" width="1" height="1" fill="#356427" />
+<rect x="33" y="31" width="1" height="1" fill="#356427" />
+<rect x="34" y="31" width="1" height="1" fill="#356427" />
+<rect x="35" y="31" width="1" height="1" fill="#356427" />
+<rect x="36" y="31" width="1" height="1" fill="#356427" />
+<rect x="37" y="31" width="1" height="1" fill="#356427" />
+<rect x="38" y="31" width="1" height="1" fill="#356427" />
+<rect x="39" y="31" width="1" height="1" fill="#356427" />
+<rect x="40" y="31" width="1" height="1" fill="#356427" />
+<rect x="41" y="31" width="1" height="1" fill="#356427" />
+<rect x="42" y="31" width="1" height="1" fill="#356427" />
+<rect x="43" y="31" width="1" height="1" fill="#356427" />
+<rect x="44" y="31" width="1" height="1" fill="#356427" />
+<rect x="45" y="31" width="1" height="1" fill="#356427" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Dolfeyja.svg b/Edikoyo/.obsidian/icons/flags/Dolfeyja.svg
new file mode 100644
index 0000000..de16ebf
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Dolfeyja.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="8" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="9" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="10" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="11" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="12" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="13" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="14" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="15" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="16" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="18" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="19" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="20" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="21" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="22" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="23" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="24" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="25" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="26" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="27" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="28" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="29" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="30" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="33" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="34" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="35" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="8" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="9" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="10" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="34" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="35" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="6" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="23" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="24" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="25" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="26" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="20" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="21" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="22" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="23" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="24" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="25" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="26" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="27" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="28" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="29" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="19" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="20" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="21" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="22" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="23" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="24" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="25" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="26" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="27" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="28" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="29" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="30" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="18" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="19" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="20" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="21" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="22" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="23" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="24" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="25" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="26" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="27" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="28" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="29" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="30" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="18" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="19" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="20" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="29" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="30" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="12" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="12" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="12" width="1" height="1" fill="#57AECA" />
+<rect x="18" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="12" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="12" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="12" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="12" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="13" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="13" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="13" width="1" height="1" fill="#57AECA" />
+<rect x="18" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="13" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="13" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="13" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="13" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="14" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="14" width="1" height="1" fill="#57AECA" />
+<rect x="16" y="14" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="14" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="14" width="1" height="1" fill="#57AECA" />
+<rect x="33" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="14" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="14" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="14" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="15" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="15" width="1" height="1" fill="#57AECA" />
+<rect x="16" y="15" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="15" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="15" width="1" height="1" fill="#57AECA" />
+<rect x="33" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="15" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="15" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="15" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="16" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="16" width="1" height="1" fill="#57AECA" />
+<rect x="16" y="16" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="16" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="16" width="1" height="1" fill="#57AECA" />
+<rect x="33" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="16" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="16" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="16" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="17" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="17" width="1" height="1" fill="#57AECA" />
+<rect x="16" y="17" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="17" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="17" width="1" height="1" fill="#57AECA" />
+<rect x="33" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="17" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="17" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="17" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="17" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="18" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="18" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="18" width="1" height="1" fill="#57AECA" />
+<rect x="18" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="18" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="18" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="18" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="18" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="18" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="18" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="19" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="19" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="19" width="1" height="1" fill="#57AECA" />
+<rect x="18" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="19" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="19" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="19" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="19" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="20" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="20" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="20" width="1" height="1" fill="#57AECA" />
+<rect x="18" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="20" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="20" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="20" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="20" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="21" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="21" width="1" height="1" fill="#57AECA" />
+<rect x="18" y="21" width="1" height="1" fill="#57AECA" />
+<rect x="19" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="21" width="1" height="1" fill="#57AECA" />
+<rect x="30" y="21" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="21" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="21" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="21" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="21" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="22" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="22" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="22" width="1" height="1" fill="#57AECA" />
+<rect x="19" y="22" width="1" height="1" fill="#57AECA" />
+<rect x="20" y="22" width="1" height="1" fill="#57AECA" />
+<rect x="21" y="22" width="1" height="1" fill="#57AECA" />
+<rect x="22" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="22" width="1" height="1" fill="#57AECA" />
+<rect x="27" y="22" width="1" height="1" fill="#57AECA" />
+<rect x="28" y="22" width="1" height="1" fill="#57AECA" />
+<rect x="29" y="22" width="1" height="1" fill="#57AECA" />
+<rect x="30" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="22" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="22" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="22" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="23" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="23" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="20" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="21" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="22" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="23" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="24" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="25" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="26" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="27" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="28" y="23" width="1" height="1" fill="#57AECA" />
+<rect x="29" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="23" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="23" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="23" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="24" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="23" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="24" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="25" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="26" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="25" width="1" height="1" fill="#589235" />
+<rect x="5" y="25" width="1" height="1" fill="#75A743" />
+<rect x="6" y="25" width="1" height="1" fill="#75A743" />
+<rect x="7" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="26" width="1" height="1" fill="#589235" />
+<rect x="4" y="26" width="1" height="1" fill="#589235" />
+<rect x="5" y="26" width="1" height="1" fill="#589235" />
+<rect x="6" y="26" width="1" height="1" fill="#75A743" />
+<rect x="7" y="26" width="1" height="1" fill="#75A743" />
+<rect x="8" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="26" width="1" height="1" fill="#589235" />
+<rect x="46" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="27" width="1" height="1" fill="#75A743" />
+<rect x="3" y="27" width="1" height="1" fill="#75A743" />
+<rect x="4" y="27" width="1" height="1" fill="#589235" />
+<rect x="5" y="27" width="1" height="1" fill="#589235" />
+<rect x="6" y="27" width="1" height="1" fill="#589235" />
+<rect x="7" y="27" width="1" height="1" fill="#589235" />
+<rect x="8" y="27" width="1" height="1" fill="#75A743" />
+<rect x="9" y="27" width="1" height="1" fill="#75A743" />
+<rect x="10" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="36" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="27" width="1" height="1" fill="#75A743" />
+<rect x="44" y="27" width="1" height="1" fill="#589235" />
+<rect x="45" y="27" width="1" height="1" fill="#589235" />
+<rect x="46" y="27" width="1" height="1" fill="#75A743" />
+<rect x="47" y="27" width="1" height="1" fill="#589235" />
+<rect x="0" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="28" width="1" height="1" fill="#589235" />
+<rect x="2" y="28" width="1" height="1" fill="#589235" />
+<rect x="3" y="28" width="1" height="1" fill="#75A743" />
+<rect x="4" y="28" width="1" height="1" fill="#589235" />
+<rect x="5" y="28" width="1" height="1" fill="#589235" />
+<rect x="6" y="28" width="1" height="1" fill="#589235" />
+<rect x="7" y="28" width="1" height="1" fill="#589235" />
+<rect x="8" y="28" width="1" height="1" fill="#589235" />
+<rect x="9" y="28" width="1" height="1" fill="#75A743" />
+<rect x="10" y="28" width="1" height="1" fill="#75A743" />
+<rect x="11" y="28" width="1" height="1" fill="#75A743" />
+<rect x="12" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="28" width="1" height="1" fill="#75A743" />
+<rect x="17" y="28" width="1" height="1" fill="#75A743" />
+<rect x="18" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="33" y="28" width="1" height="1" fill="#589235" />
+<rect x="34" y="28" width="1" height="1" fill="#589235" />
+<rect x="35" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="36" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="28" width="1" height="1" fill="#75A743" />
+<rect x="42" y="28" width="1" height="1" fill="#75A743" />
+<rect x="43" y="28" width="1" height="1" fill="#589235" />
+<rect x="44" y="28" width="1" height="1" fill="#589235" />
+<rect x="45" y="28" width="1" height="1" fill="#75A743" />
+<rect x="46" y="28" width="1" height="1" fill="#75A743" />
+<rect x="47" y="28" width="1" height="1" fill="#589235" />
+<rect x="0" y="29" width="1" height="1" fill="#589235" />
+<rect x="1" y="29" width="1" height="1" fill="#589235" />
+<rect x="2" y="29" width="1" height="1" fill="#589235" />
+<rect x="3" y="29" width="1" height="1" fill="#589235" />
+<rect x="4" y="29" width="1" height="1" fill="#589235" />
+<rect x="5" y="29" width="1" height="1" fill="#589235" />
+<rect x="6" y="29" width="1" height="1" fill="#589235" />
+<rect x="7" y="29" width="1" height="1" fill="#589235" />
+<rect x="8" y="29" width="1" height="1" fill="#589235" />
+<rect x="9" y="29" width="1" height="1" fill="#589235" />
+<rect x="10" y="29" width="1" height="1" fill="#589235" />
+<rect x="11" y="29" width="1" height="1" fill="#589235" />
+<rect x="12" y="29" width="1" height="1" fill="#75A743" />
+<rect x="13" y="29" width="1" height="1" fill="#75A743" />
+<rect x="14" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="29" width="1" height="1" fill="#75A743" />
+<rect x="16" y="29" width="1" height="1" fill="#75A743" />
+<rect x="17" y="29" width="1" height="1" fill="#75A743" />
+<rect x="18" y="29" width="1" height="1" fill="#75A743" />
+<rect x="19" y="29" width="1" height="1" fill="#75A743" />
+<rect x="20" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="31" y="29" width="1" height="1" fill="#589235" />
+<rect x="32" y="29" width="1" height="1" fill="#589235" />
+<rect x="33" y="29" width="1" height="1" fill="#589235" />
+<rect x="34" y="29" width="1" height="1" fill="#589235" />
+<rect x="35" y="29" width="1" height="1" fill="#589235" />
+<rect x="36" y="29" width="1" height="1" fill="#75A743" />
+<rect x="37" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="29" width="1" height="1" fill="#589235" />
+<rect x="40" y="29" width="1" height="1" fill="#589235" />
+<rect x="41" y="29" width="1" height="1" fill="#75A743" />
+<rect x="42" y="29" width="1" height="1" fill="#589235" />
+<rect x="43" y="29" width="1" height="1" fill="#589235" />
+<rect x="44" y="29" width="1" height="1" fill="#589235" />
+<rect x="45" y="29" width="1" height="1" fill="#75A743" />
+<rect x="46" y="29" width="1" height="1" fill="#589235" />
+<rect x="47" y="29" width="1" height="1" fill="#589235" />
+<rect x="1" y="30" width="1" height="1" fill="#589235" />
+<rect x="2" y="30" width="1" height="1" fill="#589235" />
+<rect x="3" y="30" width="1" height="1" fill="#589235" />
+<rect x="4" y="30" width="1" height="1" fill="#589235" />
+<rect x="5" y="30" width="1" height="1" fill="#589235" />
+<rect x="6" y="30" width="1" height="1" fill="#589235" />
+<rect x="7" y="30" width="1" height="1" fill="#589235" />
+<rect x="8" y="30" width="1" height="1" fill="#589235" />
+<rect x="9" y="30" width="1" height="1" fill="#75A743" />
+<rect x="10" y="30" width="1" height="1" fill="#75A743" />
+<rect x="11" y="30" width="1" height="1" fill="#75A743" />
+<rect x="12" y="30" width="1" height="1" fill="#75A743" />
+<rect x="13" y="30" width="1" height="1" fill="#75A743" />
+<rect x="14" y="30" width="1" height="1" fill="#75A743" />
+<rect x="15" y="30" width="1" height="1" fill="#75A743" />
+<rect x="16" y="30" width="1" height="1" fill="#75A743" />
+<rect x="17" y="30" width="1" height="1" fill="#75A743" />
+<rect x="18" y="30" width="1" height="1" fill="#75A743" />
+<rect x="19" y="30" width="1" height="1" fill="#75A743" />
+<rect x="20" y="30" width="1" height="1" fill="#75A743" />
+<rect x="21" y="30" width="1" height="1" fill="#75A743" />
+<rect x="22" y="30" width="1" height="1" fill="#75A743" />
+<rect x="23" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="30" width="1" height="1" fill="#75A743" />
+<rect x="30" y="30" width="1" height="1" fill="#75A743" />
+<rect x="31" y="30" width="1" height="1" fill="#75A743" />
+<rect x="32" y="30" width="1" height="1" fill="#75A743" />
+<rect x="33" y="30" width="1" height="1" fill="#75A743" />
+<rect x="34" y="30" width="1" height="1" fill="#75A743" />
+<rect x="35" y="30" width="1" height="1" fill="#75A743" />
+<rect x="36" y="30" width="1" height="1" fill="#75A743" />
+<rect x="37" y="30" width="1" height="1" fill="#75A743" />
+<rect x="38" y="30" width="1" height="1" fill="#589235" />
+<rect x="39" y="30" width="1" height="1" fill="#589235" />
+<rect x="40" y="30" width="1" height="1" fill="#589235" />
+<rect x="41" y="30" width="1" height="1" fill="#589235" />
+<rect x="42" y="30" width="1" height="1" fill="#589235" />
+<rect x="43" y="30" width="1" height="1" fill="#589235" />
+<rect x="44" y="30" width="1" height="1" fill="#589235" />
+<rect x="45" y="30" width="1" height="1" fill="#589235" />
+<rect x="46" y="30" width="1" height="1" fill="#589235" />
+<rect x="2" y="31" width="1" height="1" fill="#589235" />
+<rect x="3" y="31" width="1" height="1" fill="#589235" />
+<rect x="4" y="31" width="1" height="1" fill="#589235" />
+<rect x="5" y="31" width="1" height="1" fill="#589235" />
+<rect x="6" y="31" width="1" height="1" fill="#589235" />
+<rect x="7" y="31" width="1" height="1" fill="#589235" />
+<rect x="8" y="31" width="1" height="1" fill="#589235" />
+<rect x="9" y="31" width="1" height="1" fill="#589235" />
+<rect x="10" y="31" width="1" height="1" fill="#589235" />
+<rect x="11" y="31" width="1" height="1" fill="#589235" />
+<rect x="12" y="31" width="1" height="1" fill="#589235" />
+<rect x="13" y="31" width="1" height="1" fill="#589235" />
+<rect x="14" y="31" width="1" height="1" fill="#589235" />
+<rect x="15" y="31" width="1" height="1" fill="#589235" />
+<rect x="16" y="31" width="1" height="1" fill="#589235" />
+<rect x="17" y="31" width="1" height="1" fill="#589235" />
+<rect x="18" y="31" width="1" height="1" fill="#589235" />
+<rect x="19" y="31" width="1" height="1" fill="#589235" />
+<rect x="20" y="31" width="1" height="1" fill="#589235" />
+<rect x="21" y="31" width="1" height="1" fill="#589235" />
+<rect x="22" y="31" width="1" height="1" fill="#589235" />
+<rect x="23" y="31" width="1" height="1" fill="#589235" />
+<rect x="24" y="31" width="1" height="1" fill="#589235" />
+<rect x="25" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="26" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="27" y="31" width="1" height="1" fill="#589235" />
+<rect x="28" y="31" width="1" height="1" fill="#589235" />
+<rect x="29" y="31" width="1" height="1" fill="#589235" />
+<rect x="30" y="31" width="1" height="1" fill="#589235" />
+<rect x="31" y="31" width="1" height="1" fill="#589235" />
+<rect x="32" y="31" width="1" height="1" fill="#589235" />
+<rect x="33" y="31" width="1" height="1" fill="#589235" />
+<rect x="34" y="31" width="1" height="1" fill="#589235" />
+<rect x="35" y="31" width="1" height="1" fill="#589235" />
+<rect x="36" y="31" width="1" height="1" fill="#589235" />
+<rect x="37" y="31" width="1" height="1" fill="#589235" />
+<rect x="38" y="31" width="1" height="1" fill="#589235" />
+<rect x="39" y="31" width="1" height="1" fill="#589235" />
+<rect x="40" y="31" width="1" height="1" fill="#589235" />
+<rect x="41" y="31" width="1" height="1" fill="#589235" />
+<rect x="42" y="31" width="1" height="1" fill="#589235" />
+<rect x="43" y="31" width="1" height="1" fill="#589235" />
+<rect x="44" y="31" width="1" height="1" fill="#589235" />
+<rect x="45" y="31" width="1" height="1" fill="#589235" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Dratana.svg b/Edikoyo/.obsidian/icons/flags/Dratana.svg
new file mode 100644
index 0000000..50a197e
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Dratana.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#589235" />
+<rect x="3" y="0" width="1" height="1" fill="#589235" />
+<rect x="4" y="0" width="1" height="1" fill="#589235" />
+<rect x="5" y="0" width="1" height="1" fill="#589235" />
+<rect x="6" y="0" width="1" height="1" fill="#589235" />
+<rect x="7" y="0" width="1" height="1" fill="#589235" />
+<rect x="8" y="0" width="1" height="1" fill="#589235" />
+<rect x="9" y="0" width="1" height="1" fill="#589235" />
+<rect x="10" y="0" width="1" height="1" fill="#589235" />
+<rect x="11" y="0" width="1" height="1" fill="#589235" />
+<rect x="12" y="0" width="1" height="1" fill="#589235" />
+<rect x="13" y="0" width="1" height="1" fill="#589235" />
+<rect x="14" y="0" width="1" height="1" fill="#589235" />
+<rect x="15" y="0" width="1" height="1" fill="#589235" />
+<rect x="16" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="17" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="18" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="19" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="20" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="21" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="22" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="23" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="24" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="25" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="26" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="27" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="28" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="29" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="30" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="31" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="32" y="0" width="1" height="1" fill="#589235" />
+<rect x="33" y="0" width="1" height="1" fill="#589235" />
+<rect x="34" y="0" width="1" height="1" fill="#589235" />
+<rect x="35" y="0" width="1" height="1" fill="#589235" />
+<rect x="36" y="0" width="1" height="1" fill="#589235" />
+<rect x="37" y="0" width="1" height="1" fill="#589235" />
+<rect x="38" y="0" width="1" height="1" fill="#589235" />
+<rect x="39" y="0" width="1" height="1" fill="#589235" />
+<rect x="40" y="0" width="1" height="1" fill="#589235" />
+<rect x="41" y="0" width="1" height="1" fill="#589235" />
+<rect x="42" y="0" width="1" height="1" fill="#589235" />
+<rect x="43" y="0" width="1" height="1" fill="#589235" />
+<rect x="44" y="0" width="1" height="1" fill="#589235" />
+<rect x="45" y="0" width="1" height="1" fill="#589235" />
+<rect x="1" y="1" width="1" height="1" fill="#589235" />
+<rect x="2" y="1" width="1" height="1" fill="#589235" />
+<rect x="3" y="1" width="1" height="1" fill="#589235" />
+<rect x="4" y="1" width="1" height="1" fill="#589235" />
+<rect x="5" y="1" width="1" height="1" fill="#589235" />
+<rect x="6" y="1" width="1" height="1" fill="#589235" />
+<rect x="7" y="1" width="1" height="1" fill="#589235" />
+<rect x="8" y="1" width="1" height="1" fill="#589235" />
+<rect x="9" y="1" width="1" height="1" fill="#589235" />
+<rect x="10" y="1" width="1" height="1" fill="#75A743" />
+<rect x="11" y="1" width="1" height="1" fill="#75A743" />
+<rect x="12" y="1" width="1" height="1" fill="#75A743" />
+<rect x="13" y="1" width="1" height="1" fill="#75A743" />
+<rect x="14" y="1" width="1" height="1" fill="#75A743" />
+<rect x="15" y="1" width="1" height="1" fill="#75A743" />
+<rect x="16" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="1" width="1" height="1" fill="#75A743" />
+<rect x="33" y="1" width="1" height="1" fill="#589235" />
+<rect x="34" y="1" width="1" height="1" fill="#589235" />
+<rect x="35" y="1" width="1" height="1" fill="#589235" />
+<rect x="36" y="1" width="1" height="1" fill="#589235" />
+<rect x="37" y="1" width="1" height="1" fill="#589235" />
+<rect x="38" y="1" width="1" height="1" fill="#589235" />
+<rect x="39" y="1" width="1" height="1" fill="#589235" />
+<rect x="40" y="1" width="1" height="1" fill="#75A743" />
+<rect x="41" y="1" width="1" height="1" fill="#589235" />
+<rect x="42" y="1" width="1" height="1" fill="#589235" />
+<rect x="43" y="1" width="1" height="1" fill="#589235" />
+<rect x="44" y="1" width="1" height="1" fill="#589235" />
+<rect x="45" y="1" width="1" height="1" fill="#589235" />
+<rect x="46" y="1" width="1" height="1" fill="#589235" />
+<rect x="0" y="2" width="1" height="1" fill="#589235" />
+<rect x="1" y="2" width="1" height="1" fill="#589235" />
+<rect x="2" y="2" width="1" height="1" fill="#589235" />
+<rect x="3" y="2" width="1" height="1" fill="#589235" />
+<rect x="4" y="2" width="1" height="1" fill="#589235" />
+<rect x="5" y="2" width="1" height="1" fill="#589235" />
+<rect x="6" y="2" width="1" height="1" fill="#75A743" />
+<rect x="7" y="2" width="1" height="1" fill="#75A743" />
+<rect x="8" y="2" width="1" height="1" fill="#75A743" />
+<rect x="9" y="2" width="1" height="1" fill="#75A743" />
+<rect x="10" y="2" width="1" height="1" fill="#75A743" />
+<rect x="11" y="2" width="1" height="1" fill="#75A743" />
+<rect x="12" y="2" width="1" height="1" fill="#75A743" />
+<rect x="13" y="2" width="1" height="1" fill="#75A743" />
+<rect x="14" y="2" width="1" height="1" fill="#75A743" />
+<rect x="15" y="2" width="1" height="1" fill="#75A743" />
+<rect x="16" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="2" width="1" height="1" fill="#75A743" />
+<rect x="33" y="2" width="1" height="1" fill="#75A743" />
+<rect x="34" y="2" width="1" height="1" fill="#75A743" />
+<rect x="35" y="2" width="1" height="1" fill="#75A743" />
+<rect x="36" y="2" width="1" height="1" fill="#75A743" />
+<rect x="37" y="2" width="1" height="1" fill="#589235" />
+<rect x="38" y="2" width="1" height="1" fill="#589235" />
+<rect x="39" y="2" width="1" height="1" fill="#589235" />
+<rect x="40" y="2" width="1" height="1" fill="#589235" />
+<rect x="41" y="2" width="1" height="1" fill="#75A743" />
+<rect x="42" y="2" width="1" height="1" fill="#589235" />
+<rect x="43" y="2" width="1" height="1" fill="#589235" />
+<rect x="44" y="2" width="1" height="1" fill="#589235" />
+<rect x="45" y="2" width="1" height="1" fill="#589235" />
+<rect x="46" y="2" width="1" height="1" fill="#589235" />
+<rect x="47" y="2" width="1" height="1" fill="#589235" />
+<rect x="0" y="3" width="1" height="1" fill="#589235" />
+<rect x="1" y="3" width="1" height="1" fill="#589235" />
+<rect x="2" y="3" width="1" height="1" fill="#589235" />
+<rect x="3" y="3" width="1" height="1" fill="#589235" />
+<rect x="4" y="3" width="1" height="1" fill="#589235" />
+<rect x="5" y="3" width="1" height="1" fill="#589235" />
+<rect x="6" y="3" width="1" height="1" fill="#589235" />
+<rect x="7" y="3" width="1" height="1" fill="#75A743" />
+<rect x="8" y="3" width="1" height="1" fill="#75A743" />
+<rect x="9" y="3" width="1" height="1" fill="#75A743" />
+<rect x="10" y="3" width="1" height="1" fill="#75A743" />
+<rect x="11" y="3" width="1" height="1" fill="#75A743" />
+<rect x="12" y="3" width="1" height="1" fill="#75A743" />
+<rect x="13" y="3" width="1" height="1" fill="#75A743" />
+<rect x="14" y="3" width="1" height="1" fill="#75A743" />
+<rect x="15" y="3" width="1" height="1" fill="#75A743" />
+<rect x="16" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="3" width="1" height="1" fill="#75A743" />
+<rect x="33" y="3" width="1" height="1" fill="#75A743" />
+<rect x="34" y="3" width="1" height="1" fill="#75A743" />
+<rect x="35" y="3" width="1" height="1" fill="#589235" />
+<rect x="36" y="3" width="1" height="1" fill="#589235" />
+<rect x="37" y="3" width="1" height="1" fill="#589235" />
+<rect x="38" y="3" width="1" height="1" fill="#589235" />
+<rect x="39" y="3" width="1" height="1" fill="#589235" />
+<rect x="40" y="3" width="1" height="1" fill="#589235" />
+<rect x="41" y="3" width="1" height="1" fill="#589235" />
+<rect x="42" y="3" width="1" height="1" fill="#589235" />
+<rect x="43" y="3" width="1" height="1" fill="#589235" />
+<rect x="44" y="3" width="1" height="1" fill="#589235" />
+<rect x="45" y="3" width="1" height="1" fill="#589235" />
+<rect x="46" y="3" width="1" height="1" fill="#589235" />
+<rect x="47" y="3" width="1" height="1" fill="#589235" />
+<rect x="0" y="4" width="1" height="1" fill="#589235" />
+<rect x="1" y="4" width="1" height="1" fill="#589235" />
+<rect x="2" y="4" width="1" height="1" fill="#75A743" />
+<rect x="3" y="4" width="1" height="1" fill="#75A743" />
+<rect x="4" y="4" width="1" height="1" fill="#589235" />
+<rect x="5" y="4" width="1" height="1" fill="#589235" />
+<rect x="6" y="4" width="1" height="1" fill="#589235" />
+<rect x="7" y="4" width="1" height="1" fill="#75A743" />
+<rect x="8" y="4" width="1" height="1" fill="#75A743" />
+<rect x="9" y="4" width="1" height="1" fill="#75A743" />
+<rect x="10" y="4" width="1" height="1" fill="#75A743" />
+<rect x="11" y="4" width="1" height="1" fill="#75A743" />
+<rect x="12" y="4" width="1" height="1" fill="#75A743" />
+<rect x="13" y="4" width="1" height="1" fill="#75A743" />
+<rect x="14" y="4" width="1" height="1" fill="#75A743" />
+<rect x="15" y="4" width="1" height="1" fill="#75A743" />
+<rect x="16" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="4" width="1" height="1" fill="#75A743" />
+<rect x="33" y="4" width="1" height="1" fill="#75A743" />
+<rect x="34" y="4" width="1" height="1" fill="#75A743" />
+<rect x="35" y="4" width="1" height="1" fill="#75A743" />
+<rect x="36" y="4" width="1" height="1" fill="#589235" />
+<rect x="37" y="4" width="1" height="1" fill="#589235" />
+<rect x="38" y="4" width="1" height="1" fill="#589235" />
+<rect x="39" y="4" width="1" height="1" fill="#589235" />
+<rect x="40" y="4" width="1" height="1" fill="#589235" />
+<rect x="41" y="4" width="1" height="1" fill="#589235" />
+<rect x="42" y="4" width="1" height="1" fill="#589235" />
+<rect x="43" y="4" width="1" height="1" fill="#589235" />
+<rect x="44" y="4" width="1" height="1" fill="#589235" />
+<rect x="45" y="4" width="1" height="1" fill="#589235" />
+<rect x="46" y="4" width="1" height="1" fill="#589235" />
+<rect x="47" y="4" width="1" height="1" fill="#589235" />
+<rect x="0" y="5" width="1" height="1" fill="#589235" />
+<rect x="1" y="5" width="1" height="1" fill="#589235" />
+<rect x="2" y="5" width="1" height="1" fill="#589235" />
+<rect x="3" y="5" width="1" height="1" fill="#75A743" />
+<rect x="4" y="5" width="1" height="1" fill="#75A743" />
+<rect x="5" y="5" width="1" height="1" fill="#75A743" />
+<rect x="6" y="5" width="1" height="1" fill="#589235" />
+<rect x="7" y="5" width="1" height="1" fill="#75A743" />
+<rect x="8" y="5" width="1" height="1" fill="#75A743" />
+<rect x="9" y="5" width="1" height="1" fill="#75A743" />
+<rect x="10" y="5" width="1" height="1" fill="#75A743" />
+<rect x="11" y="5" width="1" height="1" fill="#75A743" />
+<rect x="12" y="5" width="1" height="1" fill="#75A743" />
+<rect x="13" y="5" width="1" height="1" fill="#75A743" />
+<rect x="14" y="5" width="1" height="1" fill="#75A743" />
+<rect x="15" y="5" width="1" height="1" fill="#75A743" />
+<rect x="16" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="5" width="1" height="1" fill="#75A743" />
+<rect x="33" y="5" width="1" height="1" fill="#75A743" />
+<rect x="34" y="5" width="1" height="1" fill="#75A743" />
+<rect x="35" y="5" width="1" height="1" fill="#75A743" />
+<rect x="36" y="5" width="1" height="1" fill="#75A743" />
+<rect x="37" y="5" width="1" height="1" fill="#75A743" />
+<rect x="38" y="5" width="1" height="1" fill="#589235" />
+<rect x="39" y="5" width="1" height="1" fill="#589235" />
+<rect x="40" y="5" width="1" height="1" fill="#589235" />
+<rect x="41" y="5" width="1" height="1" fill="#589235" />
+<rect x="42" y="5" width="1" height="1" fill="#75A743" />
+<rect x="43" y="5" width="1" height="1" fill="#589235" />
+<rect x="44" y="5" width="1" height="1" fill="#589235" />
+<rect x="45" y="5" width="1" height="1" fill="#589235" />
+<rect x="46" y="5" width="1" height="1" fill="#589235" />
+<rect x="47" y="5" width="1" height="1" fill="#589235" />
+<rect x="0" y="6" width="1" height="1" fill="#589235" />
+<rect x="1" y="6" width="1" height="1" fill="#589235" />
+<rect x="2" y="6" width="1" height="1" fill="#589235" />
+<rect x="3" y="6" width="1" height="1" fill="#589235" />
+<rect x="4" y="6" width="1" height="1" fill="#75A743" />
+<rect x="5" y="6" width="1" height="1" fill="#75A743" />
+<rect x="6" y="6" width="1" height="1" fill="#75A743" />
+<rect x="7" y="6" width="1" height="1" fill="#75A743" />
+<rect x="8" y="6" width="1" height="1" fill="#75A743" />
+<rect x="9" y="6" width="1" height="1" fill="#75A743" />
+<rect x="10" y="6" width="1" height="1" fill="#75A743" />
+<rect x="11" y="6" width="1" height="1" fill="#75A743" />
+<rect x="12" y="6" width="1" height="1" fill="#75A743" />
+<rect x="13" y="6" width="1" height="1" fill="#75A743" />
+<rect x="14" y="6" width="1" height="1" fill="#75A743" />
+<rect x="15" y="6" width="1" height="1" fill="#75A743" />
+<rect x="16" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="6" width="1" height="1" fill="#75A743" />
+<rect x="33" y="6" width="1" height="1" fill="#75A743" />
+<rect x="34" y="6" width="1" height="1" fill="#75A743" />
+<rect x="35" y="6" width="1" height="1" fill="#75A743" />
+<rect x="36" y="6" width="1" height="1" fill="#75A743" />
+<rect x="37" y="6" width="1" height="1" fill="#75A743" />
+<rect x="38" y="6" width="1" height="1" fill="#75A743" />
+<rect x="39" y="6" width="1" height="1" fill="#589235" />
+<rect x="40" y="6" width="1" height="1" fill="#589235" />
+<rect x="41" y="6" width="1" height="1" fill="#589235" />
+<rect x="42" y="6" width="1" height="1" fill="#75A743" />
+<rect x="43" y="6" width="1" height="1" fill="#75A743" />
+<rect x="44" y="6" width="1" height="1" fill="#589235" />
+<rect x="45" y="6" width="1" height="1" fill="#589235" />
+<rect x="46" y="6" width="1" height="1" fill="#589235" />
+<rect x="47" y="6" width="1" height="1" fill="#589235" />
+<rect x="0" y="7" width="1" height="1" fill="#589235" />
+<rect x="1" y="7" width="1" height="1" fill="#589235" />
+<rect x="2" y="7" width="1" height="1" fill="#589235" />
+<rect x="3" y="7" width="1" height="1" fill="#589235" />
+<rect x="4" y="7" width="1" height="1" fill="#589235" />
+<rect x="5" y="7" width="1" height="1" fill="#589235" />
+<rect x="6" y="7" width="1" height="1" fill="#75A743" />
+<rect x="7" y="7" width="1" height="1" fill="#75A743" />
+<rect x="8" y="7" width="1" height="1" fill="#75A743" />
+<rect x="9" y="7" width="1" height="1" fill="#75A743" />
+<rect x="10" y="7" width="1" height="1" fill="#75A743" />
+<rect x="11" y="7" width="1" height="1" fill="#75A743" />
+<rect x="12" y="7" width="1" height="1" fill="#75A743" />
+<rect x="13" y="7" width="1" height="1" fill="#75A743" />
+<rect x="14" y="7" width="1" height="1" fill="#75A743" />
+<rect x="15" y="7" width="1" height="1" fill="#75A743" />
+<rect x="16" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="7" width="1" height="1" fill="#75A743" />
+<rect x="33" y="7" width="1" height="1" fill="#75A743" />
+<rect x="34" y="7" width="1" height="1" fill="#75A743" />
+<rect x="35" y="7" width="1" height="1" fill="#75A743" />
+<rect x="36" y="7" width="1" height="1" fill="#75A743" />
+<rect x="37" y="7" width="1" height="1" fill="#75A743" />
+<rect x="38" y="7" width="1" height="1" fill="#75A743" />
+<rect x="39" y="7" width="1" height="1" fill="#589235" />
+<rect x="40" y="7" width="1" height="1" fill="#589235" />
+<rect x="41" y="7" width="1" height="1" fill="#75A743" />
+<rect x="42" y="7" width="1" height="1" fill="#75A743" />
+<rect x="43" y="7" width="1" height="1" fill="#75A743" />
+<rect x="44" y="7" width="1" height="1" fill="#589235" />
+<rect x="45" y="7" width="1" height="1" fill="#589235" />
+<rect x="46" y="7" width="1" height="1" fill="#589235" />
+<rect x="47" y="7" width="1" height="1" fill="#589235" />
+<rect x="0" y="8" width="1" height="1" fill="#589235" />
+<rect x="1" y="8" width="1" height="1" fill="#589235" />
+<rect x="2" y="8" width="1" height="1" fill="#75A743" />
+<rect x="3" y="8" width="1" height="1" fill="#75A743" />
+<rect x="4" y="8" width="1" height="1" fill="#75A743" />
+<rect x="5" y="8" width="1" height="1" fill="#589235" />
+<rect x="6" y="8" width="1" height="1" fill="#589235" />
+<rect x="7" y="8" width="1" height="1" fill="#75A743" />
+<rect x="8" y="8" width="1" height="1" fill="#75A743" />
+<rect x="9" y="8" width="1" height="1" fill="#75A743" />
+<rect x="10" y="8" width="1" height="1" fill="#75A743" />
+<rect x="11" y="8" width="1" height="1" fill="#75A743" />
+<rect x="12" y="8" width="1" height="1" fill="#75A743" />
+<rect x="13" y="8" width="1" height="1" fill="#75A743" />
+<rect x="14" y="8" width="1" height="1" fill="#75A743" />
+<rect x="15" y="8" width="1" height="1" fill="#75A743" />
+<rect x="16" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="8" width="1" height="1" fill="#75A743" />
+<rect x="33" y="8" width="1" height="1" fill="#75A743" />
+<rect x="34" y="8" width="1" height="1" fill="#75A743" />
+<rect x="35" y="8" width="1" height="1" fill="#75A743" />
+<rect x="36" y="8" width="1" height="1" fill="#75A743" />
+<rect x="37" y="8" width="1" height="1" fill="#75A743" />
+<rect x="38" y="8" width="1" height="1" fill="#75A743" />
+<rect x="39" y="8" width="1" height="1" fill="#589235" />
+<rect x="40" y="8" width="1" height="1" fill="#589235" />
+<rect x="41" y="8" width="1" height="1" fill="#75A743" />
+<rect x="42" y="8" width="1" height="1" fill="#75A743" />
+<rect x="43" y="8" width="1" height="1" fill="#75A743" />
+<rect x="44" y="8" width="1" height="1" fill="#75A743" />
+<rect x="45" y="8" width="1" height="1" fill="#589235" />
+<rect x="46" y="8" width="1" height="1" fill="#589235" />
+<rect x="47" y="8" width="1" height="1" fill="#589235" />
+<rect x="0" y="9" width="1" height="1" fill="#589235" />
+<rect x="1" y="9" width="1" height="1" fill="#589235" />
+<rect x="2" y="9" width="1" height="1" fill="#75A743" />
+<rect x="3" y="9" width="1" height="1" fill="#75A743" />
+<rect x="4" y="9" width="1" height="1" fill="#75A743" />
+<rect x="5" y="9" width="1" height="1" fill="#75A743" />
+<rect x="6" y="9" width="1" height="1" fill="#75A743" />
+<rect x="7" y="9" width="1" height="1" fill="#75A743" />
+<rect x="8" y="9" width="1" height="1" fill="#75A743" />
+<rect x="9" y="9" width="1" height="1" fill="#75A743" />
+<rect x="10" y="9" width="1" height="1" fill="#75A743" />
+<rect x="11" y="9" width="1" height="1" fill="#75A743" />
+<rect x="12" y="9" width="1" height="1" fill="#75A743" />
+<rect x="13" y="9" width="1" height="1" fill="#75A743" />
+<rect x="14" y="9" width="1" height="1" fill="#75A743" />
+<rect x="15" y="9" width="1" height="1" fill="#75A743" />
+<rect x="16" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="9" width="1" height="1" fill="#75A743" />
+<rect x="24" y="9" width="1" height="1" fill="#75A743" />
+<rect x="25" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="9" width="1" height="1" fill="#75A743" />
+<rect x="33" y="9" width="1" height="1" fill="#75A743" />
+<rect x="34" y="9" width="1" height="1" fill="#75A743" />
+<rect x="35" y="9" width="1" height="1" fill="#75A743" />
+<rect x="36" y="9" width="1" height="1" fill="#75A743" />
+<rect x="37" y="9" width="1" height="1" fill="#75A743" />
+<rect x="38" y="9" width="1" height="1" fill="#75A743" />
+<rect x="39" y="9" width="1" height="1" fill="#589235" />
+<rect x="40" y="9" width="1" height="1" fill="#589235" />
+<rect x="41" y="9" width="1" height="1" fill="#75A743" />
+<rect x="42" y="9" width="1" height="1" fill="#75A743" />
+<rect x="43" y="9" width="1" height="1" fill="#75A743" />
+<rect x="44" y="9" width="1" height="1" fill="#75A743" />
+<rect x="45" y="9" width="1" height="1" fill="#589235" />
+<rect x="46" y="9" width="1" height="1" fill="#589235" />
+<rect x="47" y="9" width="1" height="1" fill="#589235" />
+<rect x="0" y="10" width="1" height="1" fill="#589235" />
+<rect x="1" y="10" width="1" height="1" fill="#589235" />
+<rect x="2" y="10" width="1" height="1" fill="#75A743" />
+<rect x="3" y="10" width="1" height="1" fill="#75A743" />
+<rect x="4" y="10" width="1" height="1" fill="#75A743" />
+<rect x="5" y="10" width="1" height="1" fill="#75A743" />
+<rect x="6" y="10" width="1" height="1" fill="#75A743" />
+<rect x="7" y="10" width="1" height="1" fill="#75A743" />
+<rect x="8" y="10" width="1" height="1" fill="#75A743" />
+<rect x="9" y="10" width="1" height="1" fill="#75A743" />
+<rect x="10" y="10" width="1" height="1" fill="#75A743" />
+<rect x="11" y="10" width="1" height="1" fill="#75A743" />
+<rect x="12" y="10" width="1" height="1" fill="#75A743" />
+<rect x="13" y="10" width="1" height="1" fill="#75A743" />
+<rect x="14" y="10" width="1" height="1" fill="#75A743" />
+<rect x="15" y="10" width="1" height="1" fill="#75A743" />
+<rect x="16" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="10" width="1" height="1" fill="#75A743" />
+<rect x="24" y="10" width="1" height="1" fill="#75A743" />
+<rect x="25" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="10" width="1" height="1" fill="#75A743" />
+<rect x="33" y="10" width="1" height="1" fill="#75A743" />
+<rect x="34" y="10" width="1" height="1" fill="#75A743" />
+<rect x="35" y="10" width="1" height="1" fill="#75A743" />
+<rect x="36" y="10" width="1" height="1" fill="#75A743" />
+<rect x="37" y="10" width="1" height="1" fill="#75A743" />
+<rect x="38" y="10" width="1" height="1" fill="#75A743" />
+<rect x="39" y="10" width="1" height="1" fill="#75A743" />
+<rect x="40" y="10" width="1" height="1" fill="#589235" />
+<rect x="41" y="10" width="1" height="1" fill="#75A743" />
+<rect x="42" y="10" width="1" height="1" fill="#75A743" />
+<rect x="43" y="10" width="1" height="1" fill="#75A743" />
+<rect x="44" y="10" width="1" height="1" fill="#75A743" />
+<rect x="45" y="10" width="1" height="1" fill="#75A743" />
+<rect x="46" y="10" width="1" height="1" fill="#589235" />
+<rect x="47" y="10" width="1" height="1" fill="#589235" />
+<rect x="0" y="11" width="1" height="1" fill="#589235" />
+<rect x="1" y="11" width="1" height="1" fill="#589235" />
+<rect x="2" y="11" width="1" height="1" fill="#75A743" />
+<rect x="3" y="11" width="1" height="1" fill="#75A743" />
+<rect x="4" y="11" width="1" height="1" fill="#75A743" />
+<rect x="5" y="11" width="1" height="1" fill="#75A743" />
+<rect x="6" y="11" width="1" height="1" fill="#75A743" />
+<rect x="7" y="11" width="1" height="1" fill="#75A743" />
+<rect x="8" y="11" width="1" height="1" fill="#75A743" />
+<rect x="9" y="11" width="1" height="1" fill="#75A743" />
+<rect x="10" y="11" width="1" height="1" fill="#75A743" />
+<rect x="11" y="11" width="1" height="1" fill="#75A743" />
+<rect x="12" y="11" width="1" height="1" fill="#75A743" />
+<rect x="13" y="11" width="1" height="1" fill="#75A743" />
+<rect x="14" y="11" width="1" height="1" fill="#75A743" />
+<rect x="15" y="11" width="1" height="1" fill="#75A743" />
+<rect x="16" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="11" width="1" height="1" fill="#75A743" />
+<rect x="20" y="11" width="1" height="1" fill="#75A743" />
+<rect x="21" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="11" width="1" height="1" fill="#75A743" />
+<rect x="24" y="11" width="1" height="1" fill="#75A743" />
+<rect x="25" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="11" width="1" height="1" fill="#75A743" />
+<rect x="28" y="11" width="1" height="1" fill="#75A743" />
+<rect x="29" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="11" width="1" height="1" fill="#75A743" />
+<rect x="33" y="11" width="1" height="1" fill="#75A743" />
+<rect x="34" y="11" width="1" height="1" fill="#75A743" />
+<rect x="35" y="11" width="1" height="1" fill="#75A743" />
+<rect x="36" y="11" width="1" height="1" fill="#75A743" />
+<rect x="37" y="11" width="1" height="1" fill="#75A743" />
+<rect x="38" y="11" width="1" height="1" fill="#75A743" />
+<rect x="39" y="11" width="1" height="1" fill="#75A743" />
+<rect x="40" y="11" width="1" height="1" fill="#589235" />
+<rect x="41" y="11" width="1" height="1" fill="#75A743" />
+<rect x="42" y="11" width="1" height="1" fill="#75A743" />
+<rect x="43" y="11" width="1" height="1" fill="#75A743" />
+<rect x="44" y="11" width="1" height="1" fill="#75A743" />
+<rect x="45" y="11" width="1" height="1" fill="#75A743" />
+<rect x="46" y="11" width="1" height="1" fill="#589235" />
+<rect x="47" y="11" width="1" height="1" fill="#589235" />
+<rect x="0" y="12" width="1" height="1" fill="#589235" />
+<rect x="1" y="12" width="1" height="1" fill="#75A743" />
+<rect x="2" y="12" width="1" height="1" fill="#75A743" />
+<rect x="3" y="12" width="1" height="1" fill="#75A743" />
+<rect x="4" y="12" width="1" height="1" fill="#75A743" />
+<rect x="5" y="12" width="1" height="1" fill="#75A743" />
+<rect x="6" y="12" width="1" height="1" fill="#75A743" />
+<rect x="7" y="12" width="1" height="1" fill="#75A743" />
+<rect x="8" y="12" width="1" height="1" fill="#75A743" />
+<rect x="9" y="12" width="1" height="1" fill="#75A743" />
+<rect x="10" y="12" width="1" height="1" fill="#75A743" />
+<rect x="11" y="12" width="1" height="1" fill="#75A743" />
+<rect x="12" y="12" width="1" height="1" fill="#75A743" />
+<rect x="13" y="12" width="1" height="1" fill="#75A743" />
+<rect x="14" y="12" width="1" height="1" fill="#75A743" />
+<rect x="15" y="12" width="1" height="1" fill="#75A743" />
+<rect x="16" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="12" width="1" height="1" fill="#75A743" />
+<rect x="20" y="12" width="1" height="1" fill="#75A743" />
+<rect x="21" y="12" width="1" height="1" fill="#75A743" />
+<rect x="22" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="12" width="1" height="1" fill="#75A743" />
+<rect x="24" y="12" width="1" height="1" fill="#75A743" />
+<rect x="25" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="12" width="1" height="1" fill="#75A743" />
+<rect x="27" y="12" width="1" height="1" fill="#75A743" />
+<rect x="28" y="12" width="1" height="1" fill="#75A743" />
+<rect x="29" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="12" width="1" height="1" fill="#75A743" />
+<rect x="33" y="12" width="1" height="1" fill="#75A743" />
+<rect x="34" y="12" width="1" height="1" fill="#75A743" />
+<rect x="35" y="12" width="1" height="1" fill="#75A743" />
+<rect x="36" y="12" width="1" height="1" fill="#75A743" />
+<rect x="37" y="12" width="1" height="1" fill="#75A743" />
+<rect x="38" y="12" width="1" height="1" fill="#75A743" />
+<rect x="39" y="12" width="1" height="1" fill="#75A743" />
+<rect x="40" y="12" width="1" height="1" fill="#75A743" />
+<rect x="41" y="12" width="1" height="1" fill="#75A743" />
+<rect x="42" y="12" width="1" height="1" fill="#75A743" />
+<rect x="43" y="12" width="1" height="1" fill="#75A743" />
+<rect x="44" y="12" width="1" height="1" fill="#75A743" />
+<rect x="45" y="12" width="1" height="1" fill="#75A743" />
+<rect x="46" y="12" width="1" height="1" fill="#589235" />
+<rect x="47" y="12" width="1" height="1" fill="#589235" />
+<rect x="0" y="13" width="1" height="1" fill="#589235" />
+<rect x="1" y="13" width="1" height="1" fill="#75A743" />
+<rect x="2" y="13" width="1" height="1" fill="#75A743" />
+<rect x="3" y="13" width="1" height="1" fill="#75A743" />
+<rect x="4" y="13" width="1" height="1" fill="#75A743" />
+<rect x="5" y="13" width="1" height="1" fill="#75A743" />
+<rect x="6" y="13" width="1" height="1" fill="#75A743" />
+<rect x="7" y="13" width="1" height="1" fill="#75A743" />
+<rect x="8" y="13" width="1" height="1" fill="#75A743" />
+<rect x="9" y="13" width="1" height="1" fill="#75A743" />
+<rect x="10" y="13" width="1" height="1" fill="#75A743" />
+<rect x="11" y="13" width="1" height="1" fill="#75A743" />
+<rect x="12" y="13" width="1" height="1" fill="#75A743" />
+<rect x="13" y="13" width="1" height="1" fill="#75A743" />
+<rect x="14" y="13" width="1" height="1" fill="#75A743" />
+<rect x="15" y="13" width="1" height="1" fill="#75A743" />
+<rect x="16" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="13" width="1" height="1" fill="#75A743" />
+<rect x="21" y="13" width="1" height="1" fill="#75A743" />
+<rect x="22" y="13" width="1" height="1" fill="#75A743" />
+<rect x="23" y="13" width="1" height="1" fill="#75A743" />
+<rect x="24" y="13" width="1" height="1" fill="#75A743" />
+<rect x="25" y="13" width="1" height="1" fill="#75A743" />
+<rect x="26" y="13" width="1" height="1" fill="#75A743" />
+<rect x="27" y="13" width="1" height="1" fill="#75A743" />
+<rect x="28" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="13" width="1" height="1" fill="#75A743" />
+<rect x="33" y="13" width="1" height="1" fill="#75A743" />
+<rect x="34" y="13" width="1" height="1" fill="#75A743" />
+<rect x="35" y="13" width="1" height="1" fill="#75A743" />
+<rect x="36" y="13" width="1" height="1" fill="#75A743" />
+<rect x="37" y="13" width="1" height="1" fill="#75A743" />
+<rect x="38" y="13" width="1" height="1" fill="#75A743" />
+<rect x="39" y="13" width="1" height="1" fill="#75A743" />
+<rect x="40" y="13" width="1" height="1" fill="#75A743" />
+<rect x="41" y="13" width="1" height="1" fill="#75A743" />
+<rect x="42" y="13" width="1" height="1" fill="#75A743" />
+<rect x="43" y="13" width="1" height="1" fill="#75A743" />
+<rect x="44" y="13" width="1" height="1" fill="#75A743" />
+<rect x="45" y="13" width="1" height="1" fill="#75A743" />
+<rect x="46" y="13" width="1" height="1" fill="#589235" />
+<rect x="47" y="13" width="1" height="1" fill="#589235" />
+<rect x="0" y="14" width="1" height="1" fill="#589235" />
+<rect x="1" y="14" width="1" height="1" fill="#75A743" />
+<rect x="2" y="14" width="1" height="1" fill="#75A743" />
+<rect x="3" y="14" width="1" height="1" fill="#75A743" />
+<rect x="4" y="14" width="1" height="1" fill="#75A743" />
+<rect x="5" y="14" width="1" height="1" fill="#75A743" />
+<rect x="6" y="14" width="1" height="1" fill="#75A743" />
+<rect x="7" y="14" width="1" height="1" fill="#75A743" />
+<rect x="8" y="14" width="1" height="1" fill="#75A743" />
+<rect x="9" y="14" width="1" height="1" fill="#75A743" />
+<rect x="10" y="14" width="1" height="1" fill="#75A743" />
+<rect x="11" y="14" width="1" height="1" fill="#75A743" />
+<rect x="12" y="14" width="1" height="1" fill="#75A743" />
+<rect x="13" y="14" width="1" height="1" fill="#75A743" />
+<rect x="14" y="14" width="1" height="1" fill="#75A743" />
+<rect x="15" y="14" width="1" height="1" fill="#75A743" />
+<rect x="16" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="14" width="1" height="1" fill="#75A743" />
+<rect x="22" y="14" width="1" height="1" fill="#75A743" />
+<rect x="23" y="14" width="1" height="1" fill="#75A743" />
+<rect x="24" y="14" width="1" height="1" fill="#75A743" />
+<rect x="25" y="14" width="1" height="1" fill="#75A743" />
+<rect x="26" y="14" width="1" height="1" fill="#75A743" />
+<rect x="27" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="14" width="1" height="1" fill="#75A743" />
+<rect x="33" y="14" width="1" height="1" fill="#75A743" />
+<rect x="34" y="14" width="1" height="1" fill="#75A743" />
+<rect x="35" y="14" width="1" height="1" fill="#75A743" />
+<rect x="36" y="14" width="1" height="1" fill="#75A743" />
+<rect x="37" y="14" width="1" height="1" fill="#75A743" />
+<rect x="38" y="14" width="1" height="1" fill="#75A743" />
+<rect x="39" y="14" width="1" height="1" fill="#75A743" />
+<rect x="40" y="14" width="1" height="1" fill="#75A743" />
+<rect x="41" y="14" width="1" height="1" fill="#75A743" />
+<rect x="42" y="14" width="1" height="1" fill="#75A743" />
+<rect x="43" y="14" width="1" height="1" fill="#75A743" />
+<rect x="44" y="14" width="1" height="1" fill="#75A743" />
+<rect x="45" y="14" width="1" height="1" fill="#75A743" />
+<rect x="46" y="14" width="1" height="1" fill="#589235" />
+<rect x="47" y="14" width="1" height="1" fill="#589235" />
+<rect x="0" y="15" width="1" height="1" fill="#589235" />
+<rect x="1" y="15" width="1" height="1" fill="#75A743" />
+<rect x="2" y="15" width="1" height="1" fill="#75A743" />
+<rect x="3" y="15" width="1" height="1" fill="#75A743" />
+<rect x="4" y="15" width="1" height="1" fill="#75A743" />
+<rect x="5" y="15" width="1" height="1" fill="#75A743" />
+<rect x="6" y="15" width="1" height="1" fill="#75A743" />
+<rect x="7" y="15" width="1" height="1" fill="#75A743" />
+<rect x="8" y="15" width="1" height="1" fill="#75A743" />
+<rect x="9" y="15" width="1" height="1" fill="#75A743" />
+<rect x="10" y="15" width="1" height="1" fill="#75A743" />
+<rect x="11" y="15" width="1" height="1" fill="#75A743" />
+<rect x="12" y="15" width="1" height="1" fill="#75A743" />
+<rect x="13" y="15" width="1" height="1" fill="#75A743" />
+<rect x="14" y="15" width="1" height="1" fill="#75A743" />
+<rect x="15" y="15" width="1" height="1" fill="#75A743" />
+<rect x="16" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="15" width="1" height="1" fill="#75A743" />
+<rect x="18" y="15" width="1" height="1" fill="#75A743" />
+<rect x="19" y="15" width="1" height="1" fill="#75A743" />
+<rect x="20" y="15" width="1" height="1" fill="#75A743" />
+<rect x="21" y="15" width="1" height="1" fill="#75A743" />
+<rect x="22" y="15" width="1" height="1" fill="#75A743" />
+<rect x="23" y="15" width="1" height="1" fill="#75A743" />
+<rect x="24" y="15" width="1" height="1" fill="#75A743" />
+<rect x="25" y="15" width="1" height="1" fill="#75A743" />
+<rect x="26" y="15" width="1" height="1" fill="#75A743" />
+<rect x="27" y="15" width="1" height="1" fill="#75A743" />
+<rect x="28" y="15" width="1" height="1" fill="#75A743" />
+<rect x="29" y="15" width="1" height="1" fill="#75A743" />
+<rect x="30" y="15" width="1" height="1" fill="#75A743" />
+<rect x="31" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="15" width="1" height="1" fill="#75A743" />
+<rect x="33" y="15" width="1" height="1" fill="#75A743" />
+<rect x="34" y="15" width="1" height="1" fill="#75A743" />
+<rect x="35" y="15" width="1" height="1" fill="#75A743" />
+<rect x="36" y="15" width="1" height="1" fill="#75A743" />
+<rect x="37" y="15" width="1" height="1" fill="#75A743" />
+<rect x="38" y="15" width="1" height="1" fill="#75A743" />
+<rect x="39" y="15" width="1" height="1" fill="#75A743" />
+<rect x="40" y="15" width="1" height="1" fill="#75A743" />
+<rect x="41" y="15" width="1" height="1" fill="#75A743" />
+<rect x="42" y="15" width="1" height="1" fill="#75A743" />
+<rect x="43" y="15" width="1" height="1" fill="#75A743" />
+<rect x="44" y="15" width="1" height="1" fill="#75A743" />
+<rect x="45" y="15" width="1" height="1" fill="#75A743" />
+<rect x="46" y="15" width="1" height="1" fill="#589235" />
+<rect x="47" y="15" width="1" height="1" fill="#589235" />
+<rect x="0" y="16" width="1" height="1" fill="#589235" />
+<rect x="1" y="16" width="1" height="1" fill="#75A743" />
+<rect x="2" y="16" width="1" height="1" fill="#75A743" />
+<rect x="3" y="16" width="1" height="1" fill="#75A743" />
+<rect x="4" y="16" width="1" height="1" fill="#75A743" />
+<rect x="5" y="16" width="1" height="1" fill="#75A743" />
+<rect x="6" y="16" width="1" height="1" fill="#75A743" />
+<rect x="7" y="16" width="1" height="1" fill="#75A743" />
+<rect x="8" y="16" width="1" height="1" fill="#75A743" />
+<rect x="9" y="16" width="1" height="1" fill="#75A743" />
+<rect x="10" y="16" width="1" height="1" fill="#75A743" />
+<rect x="11" y="16" width="1" height="1" fill="#75A743" />
+<rect x="12" y="16" width="1" height="1" fill="#75A743" />
+<rect x="13" y="16" width="1" height="1" fill="#75A743" />
+<rect x="14" y="16" width="1" height="1" fill="#75A743" />
+<rect x="15" y="16" width="1" height="1" fill="#75A743" />
+<rect x="16" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="16" width="1" height="1" fill="#75A743" />
+<rect x="18" y="16" width="1" height="1" fill="#75A743" />
+<rect x="19" y="16" width="1" height="1" fill="#75A743" />
+<rect x="20" y="16" width="1" height="1" fill="#75A743" />
+<rect x="21" y="16" width="1" height="1" fill="#75A743" />
+<rect x="22" y="16" width="1" height="1" fill="#75A743" />
+<rect x="23" y="16" width="1" height="1" fill="#75A743" />
+<rect x="24" y="16" width="1" height="1" fill="#75A743" />
+<rect x="25" y="16" width="1" height="1" fill="#75A743" />
+<rect x="26" y="16" width="1" height="1" fill="#75A743" />
+<rect x="27" y="16" width="1" height="1" fill="#75A743" />
+<rect x="28" y="16" width="1" height="1" fill="#75A743" />
+<rect x="29" y="16" width="1" height="1" fill="#75A743" />
+<rect x="30" y="16" width="1" height="1" fill="#75A743" />
+<rect x="31" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="16" width="1" height="1" fill="#75A743" />
+<rect x="33" y="16" width="1" height="1" fill="#75A743" />
+<rect x="34" y="16" width="1" height="1" fill="#75A743" />
+<rect x="35" y="16" width="1" height="1" fill="#75A743" />
+<rect x="36" y="16" width="1" height="1" fill="#75A743" />
+<rect x="37" y="16" width="1" height="1" fill="#75A743" />
+<rect x="38" y="16" width="1" height="1" fill="#75A743" />
+<rect x="39" y="16" width="1" height="1" fill="#75A743" />
+<rect x="40" y="16" width="1" height="1" fill="#75A743" />
+<rect x="41" y="16" width="1" height="1" fill="#75A743" />
+<rect x="42" y="16" width="1" height="1" fill="#75A743" />
+<rect x="43" y="16" width="1" height="1" fill="#75A743" />
+<rect x="44" y="16" width="1" height="1" fill="#75A743" />
+<rect x="45" y="16" width="1" height="1" fill="#75A743" />
+<rect x="46" y="16" width="1" height="1" fill="#589235" />
+<rect x="47" y="16" width="1" height="1" fill="#589235" />
+<rect x="0" y="17" width="1" height="1" fill="#589235" />
+<rect x="1" y="17" width="1" height="1" fill="#75A743" />
+<rect x="2" y="17" width="1" height="1" fill="#75A743" />
+<rect x="3" y="17" width="1" height="1" fill="#75A743" />
+<rect x="4" y="17" width="1" height="1" fill="#75A743" />
+<rect x="5" y="17" width="1" height="1" fill="#75A743" />
+<rect x="6" y="17" width="1" height="1" fill="#75A743" />
+<rect x="7" y="17" width="1" height="1" fill="#75A743" />
+<rect x="8" y="17" width="1" height="1" fill="#75A743" />
+<rect x="9" y="17" width="1" height="1" fill="#75A743" />
+<rect x="10" y="17" width="1" height="1" fill="#75A743" />
+<rect x="11" y="17" width="1" height="1" fill="#75A743" />
+<rect x="12" y="17" width="1" height="1" fill="#75A743" />
+<rect x="13" y="17" width="1" height="1" fill="#75A743" />
+<rect x="14" y="17" width="1" height="1" fill="#75A743" />
+<rect x="15" y="17" width="1" height="1" fill="#75A743" />
+<rect x="16" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="17" width="1" height="1" fill="#75A743" />
+<rect x="22" y="17" width="1" height="1" fill="#75A743" />
+<rect x="23" y="17" width="1" height="1" fill="#75A743" />
+<rect x="24" y="17" width="1" height="1" fill="#75A743" />
+<rect x="25" y="17" width="1" height="1" fill="#75A743" />
+<rect x="26" y="17" width="1" height="1" fill="#75A743" />
+<rect x="27" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="17" width="1" height="1" fill="#75A743" />
+<rect x="33" y="17" width="1" height="1" fill="#75A743" />
+<rect x="34" y="17" width="1" height="1" fill="#75A743" />
+<rect x="35" y="17" width="1" height="1" fill="#75A743" />
+<rect x="36" y="17" width="1" height="1" fill="#75A743" />
+<rect x="37" y="17" width="1" height="1" fill="#75A743" />
+<rect x="38" y="17" width="1" height="1" fill="#75A743" />
+<rect x="39" y="17" width="1" height="1" fill="#75A743" />
+<rect x="40" y="17" width="1" height="1" fill="#75A743" />
+<rect x="41" y="17" width="1" height="1" fill="#75A743" />
+<rect x="42" y="17" width="1" height="1" fill="#75A743" />
+<rect x="43" y="17" width="1" height="1" fill="#75A743" />
+<rect x="44" y="17" width="1" height="1" fill="#75A743" />
+<rect x="45" y="17" width="1" height="1" fill="#589235" />
+<rect x="46" y="17" width="1" height="1" fill="#589235" />
+<rect x="47" y="17" width="1" height="1" fill="#589235" />
+<rect x="0" y="18" width="1" height="1" fill="#589235" />
+<rect x="1" y="18" width="1" height="1" fill="#75A743" />
+<rect x="2" y="18" width="1" height="1" fill="#75A743" />
+<rect x="3" y="18" width="1" height="1" fill="#75A743" />
+<rect x="4" y="18" width="1" height="1" fill="#75A743" />
+<rect x="5" y="18" width="1" height="1" fill="#75A743" />
+<rect x="6" y="18" width="1" height="1" fill="#75A743" />
+<rect x="7" y="18" width="1" height="1" fill="#75A743" />
+<rect x="8" y="18" width="1" height="1" fill="#75A743" />
+<rect x="9" y="18" width="1" height="1" fill="#75A743" />
+<rect x="10" y="18" width="1" height="1" fill="#75A743" />
+<rect x="11" y="18" width="1" height="1" fill="#75A743" />
+<rect x="12" y="18" width="1" height="1" fill="#75A743" />
+<rect x="13" y="18" width="1" height="1" fill="#75A743" />
+<rect x="14" y="18" width="1" height="1" fill="#75A743" />
+<rect x="15" y="18" width="1" height="1" fill="#75A743" />
+<rect x="16" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="18" width="1" height="1" fill="#75A743" />
+<rect x="21" y="18" width="1" height="1" fill="#75A743" />
+<rect x="22" y="18" width="1" height="1" fill="#75A743" />
+<rect x="23" y="18" width="1" height="1" fill="#75A743" />
+<rect x="24" y="18" width="1" height="1" fill="#75A743" />
+<rect x="25" y="18" width="1" height="1" fill="#75A743" />
+<rect x="26" y="18" width="1" height="1" fill="#75A743" />
+<rect x="27" y="18" width="1" height="1" fill="#75A743" />
+<rect x="28" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="18" width="1" height="1" fill="#75A743" />
+<rect x="33" y="18" width="1" height="1" fill="#75A743" />
+<rect x="34" y="18" width="1" height="1" fill="#75A743" />
+<rect x="35" y="18" width="1" height="1" fill="#75A743" />
+<rect x="36" y="18" width="1" height="1" fill="#75A743" />
+<rect x="37" y="18" width="1" height="1" fill="#75A743" />
+<rect x="38" y="18" width="1" height="1" fill="#75A743" />
+<rect x="39" y="18" width="1" height="1" fill="#75A743" />
+<rect x="40" y="18" width="1" height="1" fill="#75A743" />
+<rect x="41" y="18" width="1" height="1" fill="#75A743" />
+<rect x="42" y="18" width="1" height="1" fill="#75A743" />
+<rect x="43" y="18" width="1" height="1" fill="#75A743" />
+<rect x="44" y="18" width="1" height="1" fill="#75A743" />
+<rect x="45" y="18" width="1" height="1" fill="#589235" />
+<rect x="46" y="18" width="1" height="1" fill="#589235" />
+<rect x="47" y="18" width="1" height="1" fill="#589235" />
+<rect x="0" y="19" width="1" height="1" fill="#589235" />
+<rect x="1" y="19" width="1" height="1" fill="#75A743" />
+<rect x="2" y="19" width="1" height="1" fill="#75A743" />
+<rect x="3" y="19" width="1" height="1" fill="#75A743" />
+<rect x="4" y="19" width="1" height="1" fill="#75A743" />
+<rect x="5" y="19" width="1" height="1" fill="#75A743" />
+<rect x="6" y="19" width="1" height="1" fill="#75A743" />
+<rect x="7" y="19" width="1" height="1" fill="#75A743" />
+<rect x="8" y="19" width="1" height="1" fill="#75A743" />
+<rect x="9" y="19" width="1" height="1" fill="#75A743" />
+<rect x="10" y="19" width="1" height="1" fill="#75A743" />
+<rect x="11" y="19" width="1" height="1" fill="#75A743" />
+<rect x="12" y="19" width="1" height="1" fill="#75A743" />
+<rect x="13" y="19" width="1" height="1" fill="#75A743" />
+<rect x="14" y="19" width="1" height="1" fill="#75A743" />
+<rect x="15" y="19" width="1" height="1" fill="#75A743" />
+<rect x="16" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="19" width="1" height="1" fill="#75A743" />
+<rect x="20" y="19" width="1" height="1" fill="#75A743" />
+<rect x="21" y="19" width="1" height="1" fill="#75A743" />
+<rect x="22" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="19" width="1" height="1" fill="#75A743" />
+<rect x="24" y="19" width="1" height="1" fill="#75A743" />
+<rect x="25" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="19" width="1" height="1" fill="#75A743" />
+<rect x="27" y="19" width="1" height="1" fill="#75A743" />
+<rect x="28" y="19" width="1" height="1" fill="#75A743" />
+<rect x="29" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="19" width="1" height="1" fill="#75A743" />
+<rect x="33" y="19" width="1" height="1" fill="#75A743" />
+<rect x="34" y="19" width="1" height="1" fill="#75A743" />
+<rect x="35" y="19" width="1" height="1" fill="#75A743" />
+<rect x="36" y="19" width="1" height="1" fill="#75A743" />
+<rect x="37" y="19" width="1" height="1" fill="#75A743" />
+<rect x="38" y="19" width="1" height="1" fill="#75A743" />
+<rect x="39" y="19" width="1" height="1" fill="#75A743" />
+<rect x="40" y="19" width="1" height="1" fill="#75A743" />
+<rect x="41" y="19" width="1" height="1" fill="#75A743" />
+<rect x="42" y="19" width="1" height="1" fill="#75A743" />
+<rect x="43" y="19" width="1" height="1" fill="#75A743" />
+<rect x="44" y="19" width="1" height="1" fill="#75A743" />
+<rect x="45" y="19" width="1" height="1" fill="#589235" />
+<rect x="46" y="19" width="1" height="1" fill="#589235" />
+<rect x="47" y="19" width="1" height="1" fill="#589235" />
+<rect x="0" y="20" width="1" height="1" fill="#589235" />
+<rect x="1" y="20" width="1" height="1" fill="#75A743" />
+<rect x="2" y="20" width="1" height="1" fill="#75A743" />
+<rect x="3" y="20" width="1" height="1" fill="#75A743" />
+<rect x="4" y="20" width="1" height="1" fill="#75A743" />
+<rect x="5" y="20" width="1" height="1" fill="#75A743" />
+<rect x="6" y="20" width="1" height="1" fill="#75A743" />
+<rect x="7" y="20" width="1" height="1" fill="#75A743" />
+<rect x="8" y="20" width="1" height="1" fill="#75A743" />
+<rect x="9" y="20" width="1" height="1" fill="#75A743" />
+<rect x="10" y="20" width="1" height="1" fill="#75A743" />
+<rect x="11" y="20" width="1" height="1" fill="#75A743" />
+<rect x="12" y="20" width="1" height="1" fill="#75A743" />
+<rect x="13" y="20" width="1" height="1" fill="#75A743" />
+<rect x="14" y="20" width="1" height="1" fill="#75A743" />
+<rect x="15" y="20" width="1" height="1" fill="#75A743" />
+<rect x="16" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="20" width="1" height="1" fill="#75A743" />
+<rect x="20" y="20" width="1" height="1" fill="#75A743" />
+<rect x="21" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="20" width="1" height="1" fill="#75A743" />
+<rect x="24" y="20" width="1" height="1" fill="#75A743" />
+<rect x="25" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="20" width="1" height="1" fill="#75A743" />
+<rect x="28" y="20" width="1" height="1" fill="#75A743" />
+<rect x="29" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="20" width="1" height="1" fill="#75A743" />
+<rect x="33" y="20" width="1" height="1" fill="#75A743" />
+<rect x="34" y="20" width="1" height="1" fill="#75A743" />
+<rect x="35" y="20" width="1" height="1" fill="#75A743" />
+<rect x="36" y="20" width="1" height="1" fill="#75A743" />
+<rect x="37" y="20" width="1" height="1" fill="#75A743" />
+<rect x="38" y="20" width="1" height="1" fill="#75A743" />
+<rect x="39" y="20" width="1" height="1" fill="#75A743" />
+<rect x="40" y="20" width="1" height="1" fill="#75A743" />
+<rect x="41" y="20" width="1" height="1" fill="#75A743" />
+<rect x="42" y="20" width="1" height="1" fill="#75A743" />
+<rect x="43" y="20" width="1" height="1" fill="#75A743" />
+<rect x="44" y="20" width="1" height="1" fill="#589235" />
+<rect x="45" y="20" width="1" height="1" fill="#589235" />
+<rect x="46" y="20" width="1" height="1" fill="#589235" />
+<rect x="47" y="20" width="1" height="1" fill="#589235" />
+<rect x="0" y="21" width="1" height="1" fill="#589235" />
+<rect x="1" y="21" width="1" height="1" fill="#75A743" />
+<rect x="2" y="21" width="1" height="1" fill="#75A743" />
+<rect x="3" y="21" width="1" height="1" fill="#75A743" />
+<rect x="4" y="21" width="1" height="1" fill="#75A743" />
+<rect x="5" y="21" width="1" height="1" fill="#75A743" />
+<rect x="6" y="21" width="1" height="1" fill="#75A743" />
+<rect x="7" y="21" width="1" height="1" fill="#75A743" />
+<rect x="8" y="21" width="1" height="1" fill="#75A743" />
+<rect x="9" y="21" width="1" height="1" fill="#75A743" />
+<rect x="10" y="21" width="1" height="1" fill="#75A743" />
+<rect x="11" y="21" width="1" height="1" fill="#75A743" />
+<rect x="12" y="21" width="1" height="1" fill="#75A743" />
+<rect x="13" y="21" width="1" height="1" fill="#75A743" />
+<rect x="14" y="21" width="1" height="1" fill="#75A743" />
+<rect x="15" y="21" width="1" height="1" fill="#75A743" />
+<rect x="16" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="21" width="1" height="1" fill="#75A743" />
+<rect x="24" y="21" width="1" height="1" fill="#75A743" />
+<rect x="25" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="21" width="1" height="1" fill="#75A743" />
+<rect x="33" y="21" width="1" height="1" fill="#75A743" />
+<rect x="34" y="21" width="1" height="1" fill="#75A743" />
+<rect x="35" y="21" width="1" height="1" fill="#75A743" />
+<rect x="36" y="21" width="1" height="1" fill="#75A743" />
+<rect x="37" y="21" width="1" height="1" fill="#75A743" />
+<rect x="38" y="21" width="1" height="1" fill="#75A743" />
+<rect x="39" y="21" width="1" height="1" fill="#75A743" />
+<rect x="40" y="21" width="1" height="1" fill="#75A743" />
+<rect x="41" y="21" width="1" height="1" fill="#75A743" />
+<rect x="42" y="21" width="1" height="1" fill="#75A743" />
+<rect x="43" y="21" width="1" height="1" fill="#75A743" />
+<rect x="44" y="21" width="1" height="1" fill="#589235" />
+<rect x="45" y="21" width="1" height="1" fill="#75A743" />
+<rect x="46" y="21" width="1" height="1" fill="#589235" />
+<rect x="47" y="21" width="1" height="1" fill="#589235" />
+<rect x="0" y="22" width="1" height="1" fill="#589235" />
+<rect x="1" y="22" width="1" height="1" fill="#75A743" />
+<rect x="2" y="22" width="1" height="1" fill="#589235" />
+<rect x="3" y="22" width="1" height="1" fill="#75A743" />
+<rect x="4" y="22" width="1" height="1" fill="#75A743" />
+<rect x="5" y="22" width="1" height="1" fill="#75A743" />
+<rect x="6" y="22" width="1" height="1" fill="#75A743" />
+<rect x="7" y="22" width="1" height="1" fill="#75A743" />
+<rect x="8" y="22" width="1" height="1" fill="#75A743" />
+<rect x="9" y="22" width="1" height="1" fill="#75A743" />
+<rect x="10" y="22" width="1" height="1" fill="#75A743" />
+<rect x="11" y="22" width="1" height="1" fill="#75A743" />
+<rect x="12" y="22" width="1" height="1" fill="#75A743" />
+<rect x="13" y="22" width="1" height="1" fill="#75A743" />
+<rect x="14" y="22" width="1" height="1" fill="#75A743" />
+<rect x="15" y="22" width="1" height="1" fill="#75A743" />
+<rect x="16" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="22" width="1" height="1" fill="#75A743" />
+<rect x="24" y="22" width="1" height="1" fill="#75A743" />
+<rect x="25" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="22" width="1" height="1" fill="#75A743" />
+<rect x="33" y="22" width="1" height="1" fill="#75A743" />
+<rect x="34" y="22" width="1" height="1" fill="#75A743" />
+<rect x="35" y="22" width="1" height="1" fill="#75A743" />
+<rect x="36" y="22" width="1" height="1" fill="#75A743" />
+<rect x="37" y="22" width="1" height="1" fill="#75A743" />
+<rect x="38" y="22" width="1" height="1" fill="#75A743" />
+<rect x="39" y="22" width="1" height="1" fill="#75A743" />
+<rect x="40" y="22" width="1" height="1" fill="#75A743" />
+<rect x="41" y="22" width="1" height="1" fill="#75A743" />
+<rect x="42" y="22" width="1" height="1" fill="#75A743" />
+<rect x="43" y="22" width="1" height="1" fill="#75A743" />
+<rect x="44" y="22" width="1" height="1" fill="#75A743" />
+<rect x="45" y="22" width="1" height="1" fill="#75A743" />
+<rect x="46" y="22" width="1" height="1" fill="#589235" />
+<rect x="47" y="22" width="1" height="1" fill="#589235" />
+<rect x="0" y="23" width="1" height="1" fill="#589235" />
+<rect x="1" y="23" width="1" height="1" fill="#75A743" />
+<rect x="2" y="23" width="1" height="1" fill="#589235" />
+<rect x="3" y="23" width="1" height="1" fill="#75A743" />
+<rect x="4" y="23" width="1" height="1" fill="#75A743" />
+<rect x="5" y="23" width="1" height="1" fill="#75A743" />
+<rect x="6" y="23" width="1" height="1" fill="#75A743" />
+<rect x="7" y="23" width="1" height="1" fill="#75A743" />
+<rect x="8" y="23" width="1" height="1" fill="#75A743" />
+<rect x="9" y="23" width="1" height="1" fill="#75A743" />
+<rect x="10" y="23" width="1" height="1" fill="#75A743" />
+<rect x="11" y="23" width="1" height="1" fill="#75A743" />
+<rect x="12" y="23" width="1" height="1" fill="#75A743" />
+<rect x="13" y="23" width="1" height="1" fill="#75A743" />
+<rect x="14" y="23" width="1" height="1" fill="#75A743" />
+<rect x="15" y="23" width="1" height="1" fill="#75A743" />
+<rect x="16" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="23" width="1" height="1" fill="#75A743" />
+<rect x="33" y="23" width="1" height="1" fill="#75A743" />
+<rect x="34" y="23" width="1" height="1" fill="#75A743" />
+<rect x="35" y="23" width="1" height="1" fill="#75A743" />
+<rect x="36" y="23" width="1" height="1" fill="#75A743" />
+<rect x="37" y="23" width="1" height="1" fill="#75A743" />
+<rect x="38" y="23" width="1" height="1" fill="#75A743" />
+<rect x="39" y="23" width="1" height="1" fill="#75A743" />
+<rect x="40" y="23" width="1" height="1" fill="#75A743" />
+<rect x="41" y="23" width="1" height="1" fill="#75A743" />
+<rect x="42" y="23" width="1" height="1" fill="#75A743" />
+<rect x="43" y="23" width="1" height="1" fill="#75A743" />
+<rect x="44" y="23" width="1" height="1" fill="#75A743" />
+<rect x="45" y="23" width="1" height="1" fill="#589235" />
+<rect x="46" y="23" width="1" height="1" fill="#589235" />
+<rect x="47" y="23" width="1" height="1" fill="#589235" />
+<rect x="0" y="24" width="1" height="1" fill="#589235" />
+<rect x="1" y="24" width="1" height="1" fill="#75A743" />
+<rect x="2" y="24" width="1" height="1" fill="#589235" />
+<rect x="3" y="24" width="1" height="1" fill="#589235" />
+<rect x="4" y="24" width="1" height="1" fill="#75A743" />
+<rect x="5" y="24" width="1" height="1" fill="#75A743" />
+<rect x="6" y="24" width="1" height="1" fill="#75A743" />
+<rect x="7" y="24" width="1" height="1" fill="#75A743" />
+<rect x="8" y="24" width="1" height="1" fill="#75A743" />
+<rect x="9" y="24" width="1" height="1" fill="#75A743" />
+<rect x="10" y="24" width="1" height="1" fill="#75A743" />
+<rect x="11" y="24" width="1" height="1" fill="#75A743" />
+<rect x="12" y="24" width="1" height="1" fill="#75A743" />
+<rect x="13" y="24" width="1" height="1" fill="#75A743" />
+<rect x="14" y="24" width="1" height="1" fill="#75A743" />
+<rect x="15" y="24" width="1" height="1" fill="#75A743" />
+<rect x="16" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="24" width="1" height="1" fill="#75A743" />
+<rect x="33" y="24" width="1" height="1" fill="#75A743" />
+<rect x="34" y="24" width="1" height="1" fill="#75A743" />
+<rect x="35" y="24" width="1" height="1" fill="#75A743" />
+<rect x="36" y="24" width="1" height="1" fill="#75A743" />
+<rect x="37" y="24" width="1" height="1" fill="#75A743" />
+<rect x="38" y="24" width="1" height="1" fill="#75A743" />
+<rect x="39" y="24" width="1" height="1" fill="#75A743" />
+<rect x="40" y="24" width="1" height="1" fill="#75A743" />
+<rect x="41" y="24" width="1" height="1" fill="#589235" />
+<rect x="42" y="24" width="1" height="1" fill="#75A743" />
+<rect x="43" y="24" width="1" height="1" fill="#75A743" />
+<rect x="44" y="24" width="1" height="1" fill="#75A743" />
+<rect x="45" y="24" width="1" height="1" fill="#589235" />
+<rect x="46" y="24" width="1" height="1" fill="#589235" />
+<rect x="47" y="24" width="1" height="1" fill="#589235" />
+<rect x="0" y="25" width="1" height="1" fill="#589235" />
+<rect x="1" y="25" width="1" height="1" fill="#589235" />
+<rect x="2" y="25" width="1" height="1" fill="#589235" />
+<rect x="3" y="25" width="1" height="1" fill="#589235" />
+<rect x="4" y="25" width="1" height="1" fill="#589235" />
+<rect x="5" y="25" width="1" height="1" fill="#75A743" />
+<rect x="6" y="25" width="1" height="1" fill="#75A743" />
+<rect x="7" y="25" width="1" height="1" fill="#75A743" />
+<rect x="8" y="25" width="1" height="1" fill="#75A743" />
+<rect x="9" y="25" width="1" height="1" fill="#75A743" />
+<rect x="10" y="25" width="1" height="1" fill="#75A743" />
+<rect x="11" y="25" width="1" height="1" fill="#75A743" />
+<rect x="12" y="25" width="1" height="1" fill="#75A743" />
+<rect x="13" y="25" width="1" height="1" fill="#75A743" />
+<rect x="14" y="25" width="1" height="1" fill="#75A743" />
+<rect x="15" y="25" width="1" height="1" fill="#75A743" />
+<rect x="16" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="25" width="1" height="1" fill="#75A743" />
+<rect x="33" y="25" width="1" height="1" fill="#75A743" />
+<rect x="34" y="25" width="1" height="1" fill="#75A743" />
+<rect x="35" y="25" width="1" height="1" fill="#75A743" />
+<rect x="36" y="25" width="1" height="1" fill="#75A743" />
+<rect x="37" y="25" width="1" height="1" fill="#75A743" />
+<rect x="38" y="25" width="1" height="1" fill="#75A743" />
+<rect x="39" y="25" width="1" height="1" fill="#589235" />
+<rect x="40" y="25" width="1" height="1" fill="#589235" />
+<rect x="41" y="25" width="1" height="1" fill="#589235" />
+<rect x="42" y="25" width="1" height="1" fill="#75A743" />
+<rect x="43" y="25" width="1" height="1" fill="#75A743" />
+<rect x="44" y="25" width="1" height="1" fill="#589235" />
+<rect x="45" y="25" width="1" height="1" fill="#589235" />
+<rect x="46" y="25" width="1" height="1" fill="#589235" />
+<rect x="47" y="25" width="1" height="1" fill="#589235" />
+<rect x="0" y="26" width="1" height="1" fill="#589235" />
+<rect x="1" y="26" width="1" height="1" fill="#589235" />
+<rect x="2" y="26" width="1" height="1" fill="#75A743" />
+<rect x="3" y="26" width="1" height="1" fill="#589235" />
+<rect x="4" y="26" width="1" height="1" fill="#589235" />
+<rect x="5" y="26" width="1" height="1" fill="#589235" />
+<rect x="6" y="26" width="1" height="1" fill="#75A743" />
+<rect x="7" y="26" width="1" height="1" fill="#75A743" />
+<rect x="8" y="26" width="1" height="1" fill="#75A743" />
+<rect x="9" y="26" width="1" height="1" fill="#75A743" />
+<rect x="10" y="26" width="1" height="1" fill="#75A743" />
+<rect x="11" y="26" width="1" height="1" fill="#75A743" />
+<rect x="12" y="26" width="1" height="1" fill="#75A743" />
+<rect x="13" y="26" width="1" height="1" fill="#75A743" />
+<rect x="14" y="26" width="1" height="1" fill="#75A743" />
+<rect x="15" y="26" width="1" height="1" fill="#75A743" />
+<rect x="16" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="26" width="1" height="1" fill="#75A743" />
+<rect x="33" y="26" width="1" height="1" fill="#75A743" />
+<rect x="34" y="26" width="1" height="1" fill="#75A743" />
+<rect x="35" y="26" width="1" height="1" fill="#75A743" />
+<rect x="36" y="26" width="1" height="1" fill="#75A743" />
+<rect x="37" y="26" width="1" height="1" fill="#589235" />
+<rect x="38" y="26" width="1" height="1" fill="#589235" />
+<rect x="39" y="26" width="1" height="1" fill="#589235" />
+<rect x="40" y="26" width="1" height="1" fill="#589235" />
+<rect x="41" y="26" width="1" height="1" fill="#589235" />
+<rect x="42" y="26" width="1" height="1" fill="#589235" />
+<rect x="43" y="26" width="1" height="1" fill="#75A743" />
+<rect x="44" y="26" width="1" height="1" fill="#589235" />
+<rect x="45" y="26" width="1" height="1" fill="#589235" />
+<rect x="46" y="26" width="1" height="1" fill="#589235" />
+<rect x="47" y="26" width="1" height="1" fill="#589235" />
+<rect x="0" y="27" width="1" height="1" fill="#589235" />
+<rect x="1" y="27" width="1" height="1" fill="#589235" />
+<rect x="2" y="27" width="1" height="1" fill="#75A743" />
+<rect x="3" y="27" width="1" height="1" fill="#75A743" />
+<rect x="4" y="27" width="1" height="1" fill="#589235" />
+<rect x="5" y="27" width="1" height="1" fill="#589235" />
+<rect x="6" y="27" width="1" height="1" fill="#589235" />
+<rect x="7" y="27" width="1" height="1" fill="#589235" />
+<rect x="8" y="27" width="1" height="1" fill="#75A743" />
+<rect x="9" y="27" width="1" height="1" fill="#75A743" />
+<rect x="10" y="27" width="1" height="1" fill="#75A743" />
+<rect x="11" y="27" width="1" height="1" fill="#75A743" />
+<rect x="12" y="27" width="1" height="1" fill="#75A743" />
+<rect x="13" y="27" width="1" height="1" fill="#75A743" />
+<rect x="14" y="27" width="1" height="1" fill="#75A743" />
+<rect x="15" y="27" width="1" height="1" fill="#75A743" />
+<rect x="16" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="27" width="1" height="1" fill="#75A743" />
+<rect x="33" y="27" width="1" height="1" fill="#75A743" />
+<rect x="34" y="27" width="1" height="1" fill="#75A743" />
+<rect x="35" y="27" width="1" height="1" fill="#589235" />
+<rect x="36" y="27" width="1" height="1" fill="#589235" />
+<rect x="37" y="27" width="1" height="1" fill="#589235" />
+<rect x="38" y="27" width="1" height="1" fill="#589235" />
+<rect x="39" y="27" width="1" height="1" fill="#589235" />
+<rect x="40" y="27" width="1" height="1" fill="#589235" />
+<rect x="41" y="27" width="1" height="1" fill="#589235" />
+<rect x="42" y="27" width="1" height="1" fill="#75A743" />
+<rect x="43" y="27" width="1" height="1" fill="#75A743" />
+<rect x="44" y="27" width="1" height="1" fill="#589235" />
+<rect x="45" y="27" width="1" height="1" fill="#589235" />
+<rect x="46" y="27" width="1" height="1" fill="#75A743" />
+<rect x="47" y="27" width="1" height="1" fill="#589235" />
+<rect x="0" y="28" width="1" height="1" fill="#589235" />
+<rect x="1" y="28" width="1" height="1" fill="#589235" />
+<rect x="2" y="28" width="1" height="1" fill="#589235" />
+<rect x="3" y="28" width="1" height="1" fill="#75A743" />
+<rect x="4" y="28" width="1" height="1" fill="#589235" />
+<rect x="5" y="28" width="1" height="1" fill="#589235" />
+<rect x="6" y="28" width="1" height="1" fill="#589235" />
+<rect x="7" y="28" width="1" height="1" fill="#589235" />
+<rect x="8" y="28" width="1" height="1" fill="#589235" />
+<rect x="9" y="28" width="1" height="1" fill="#75A743" />
+<rect x="10" y="28" width="1" height="1" fill="#75A743" />
+<rect x="11" y="28" width="1" height="1" fill="#75A743" />
+<rect x="12" y="28" width="1" height="1" fill="#75A743" />
+<rect x="13" y="28" width="1" height="1" fill="#75A743" />
+<rect x="14" y="28" width="1" height="1" fill="#75A743" />
+<rect x="15" y="28" width="1" height="1" fill="#75A743" />
+<rect x="16" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="28" width="1" height="1" fill="#589235" />
+<rect x="33" y="28" width="1" height="1" fill="#589235" />
+<rect x="34" y="28" width="1" height="1" fill="#589235" />
+<rect x="35" y="28" width="1" height="1" fill="#589235" />
+<rect x="36" y="28" width="1" height="1" fill="#589235" />
+<rect x="37" y="28" width="1" height="1" fill="#589235" />
+<rect x="38" y="28" width="1" height="1" fill="#75A743" />
+<rect x="39" y="28" width="1" height="1" fill="#589235" />
+<rect x="40" y="28" width="1" height="1" fill="#589235" />
+<rect x="41" y="28" width="1" height="1" fill="#75A743" />
+<rect x="42" y="28" width="1" height="1" fill="#75A743" />
+<rect x="43" y="28" width="1" height="1" fill="#589235" />
+<rect x="44" y="28" width="1" height="1" fill="#589235" />
+<rect x="45" y="28" width="1" height="1" fill="#75A743" />
+<rect x="46" y="28" width="1" height="1" fill="#75A743" />
+<rect x="47" y="28" width="1" height="1" fill="#589235" />
+<rect x="0" y="29" width="1" height="1" fill="#589235" />
+<rect x="1" y="29" width="1" height="1" fill="#589235" />
+<rect x="2" y="29" width="1" height="1" fill="#589235" />
+<rect x="3" y="29" width="1" height="1" fill="#589235" />
+<rect x="4" y="29" width="1" height="1" fill="#589235" />
+<rect x="5" y="29" width="1" height="1" fill="#589235" />
+<rect x="6" y="29" width="1" height="1" fill="#589235" />
+<rect x="7" y="29" width="1" height="1" fill="#589235" />
+<rect x="8" y="29" width="1" height="1" fill="#589235" />
+<rect x="9" y="29" width="1" height="1" fill="#589235" />
+<rect x="10" y="29" width="1" height="1" fill="#589235" />
+<rect x="11" y="29" width="1" height="1" fill="#589235" />
+<rect x="12" y="29" width="1" height="1" fill="#75A743" />
+<rect x="13" y="29" width="1" height="1" fill="#75A743" />
+<rect x="14" y="29" width="1" height="1" fill="#75A743" />
+<rect x="15" y="29" width="1" height="1" fill="#75A743" />
+<rect x="16" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="31" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="32" y="29" width="1" height="1" fill="#589235" />
+<rect x="33" y="29" width="1" height="1" fill="#589235" />
+<rect x="34" y="29" width="1" height="1" fill="#589235" />
+<rect x="35" y="29" width="1" height="1" fill="#589235" />
+<rect x="36" y="29" width="1" height="1" fill="#75A743" />
+<rect x="37" y="29" width="1" height="1" fill="#75A743" />
+<rect x="38" y="29" width="1" height="1" fill="#589235" />
+<rect x="39" y="29" width="1" height="1" fill="#589235" />
+<rect x="40" y="29" width="1" height="1" fill="#589235" />
+<rect x="41" y="29" width="1" height="1" fill="#75A743" />
+<rect x="42" y="29" width="1" height="1" fill="#589235" />
+<rect x="43" y="29" width="1" height="1" fill="#589235" />
+<rect x="44" y="29" width="1" height="1" fill="#589235" />
+<rect x="45" y="29" width="1" height="1" fill="#75A743" />
+<rect x="46" y="29" width="1" height="1" fill="#589235" />
+<rect x="47" y="29" width="1" height="1" fill="#589235" />
+<rect x="1" y="30" width="1" height="1" fill="#589235" />
+<rect x="2" y="30" width="1" height="1" fill="#589235" />
+<rect x="3" y="30" width="1" height="1" fill="#589235" />
+<rect x="4" y="30" width="1" height="1" fill="#589235" />
+<rect x="5" y="30" width="1" height="1" fill="#589235" />
+<rect x="6" y="30" width="1" height="1" fill="#589235" />
+<rect x="7" y="30" width="1" height="1" fill="#589235" />
+<rect x="8" y="30" width="1" height="1" fill="#589235" />
+<rect x="9" y="30" width="1" height="1" fill="#75A743" />
+<rect x="10" y="30" width="1" height="1" fill="#75A743" />
+<rect x="11" y="30" width="1" height="1" fill="#75A743" />
+<rect x="12" y="30" width="1" height="1" fill="#75A743" />
+<rect x="13" y="30" width="1" height="1" fill="#75A743" />
+<rect x="14" y="30" width="1" height="1" fill="#75A743" />
+<rect x="15" y="30" width="1" height="1" fill="#75A743" />
+<rect x="16" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="30" width="1" height="1" fill="#75A743" />
+<rect x="33" y="30" width="1" height="1" fill="#75A743" />
+<rect x="34" y="30" width="1" height="1" fill="#75A743" />
+<rect x="35" y="30" width="1" height="1" fill="#75A743" />
+<rect x="36" y="30" width="1" height="1" fill="#75A743" />
+<rect x="37" y="30" width="1" height="1" fill="#75A743" />
+<rect x="38" y="30" width="1" height="1" fill="#589235" />
+<rect x="39" y="30" width="1" height="1" fill="#589235" />
+<rect x="40" y="30" width="1" height="1" fill="#589235" />
+<rect x="41" y="30" width="1" height="1" fill="#589235" />
+<rect x="42" y="30" width="1" height="1" fill="#589235" />
+<rect x="43" y="30" width="1" height="1" fill="#589235" />
+<rect x="44" y="30" width="1" height="1" fill="#589235" />
+<rect x="45" y="30" width="1" height="1" fill="#589235" />
+<rect x="46" y="30" width="1" height="1" fill="#589235" />
+<rect x="2" y="31" width="1" height="1" fill="#589235" />
+<rect x="3" y="31" width="1" height="1" fill="#589235" />
+<rect x="4" y="31" width="1" height="1" fill="#589235" />
+<rect x="5" y="31" width="1" height="1" fill="#589235" />
+<rect x="6" y="31" width="1" height="1" fill="#589235" />
+<rect x="7" y="31" width="1" height="1" fill="#589235" />
+<rect x="8" y="31" width="1" height="1" fill="#589235" />
+<rect x="9" y="31" width="1" height="1" fill="#589235" />
+<rect x="10" y="31" width="1" height="1" fill="#589235" />
+<rect x="11" y="31" width="1" height="1" fill="#589235" />
+<rect x="12" y="31" width="1" height="1" fill="#589235" />
+<rect x="13" y="31" width="1" height="1" fill="#589235" />
+<rect x="14" y="31" width="1" height="1" fill="#589235" />
+<rect x="15" y="31" width="1" height="1" fill="#589235" />
+<rect x="16" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="17" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="18" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="19" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="20" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="21" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="22" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="23" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="24" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="25" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="26" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="27" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="28" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="29" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="30" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="31" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="32" y="31" width="1" height="1" fill="#589235" />
+<rect x="33" y="31" width="1" height="1" fill="#589235" />
+<rect x="34" y="31" width="1" height="1" fill="#589235" />
+<rect x="35" y="31" width="1" height="1" fill="#589235" />
+<rect x="36" y="31" width="1" height="1" fill="#589235" />
+<rect x="37" y="31" width="1" height="1" fill="#589235" />
+<rect x="38" y="31" width="1" height="1" fill="#589235" />
+<rect x="39" y="31" width="1" height="1" fill="#589235" />
+<rect x="40" y="31" width="1" height="1" fill="#589235" />
+<rect x="41" y="31" width="1" height="1" fill="#589235" />
+<rect x="42" y="31" width="1" height="1" fill="#589235" />
+<rect x="43" y="31" width="1" height="1" fill="#589235" />
+<rect x="44" y="31" width="1" height="1" fill="#589235" />
+<rect x="45" y="31" width="1" height="1" fill="#589235" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Drenvale.svg b/Edikoyo/.obsidian/icons/flags/Drenvale.svg
new file mode 100644
index 0000000..ce1f10d
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Drenvale.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="8" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="9" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="10" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="11" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="12" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="13" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="14" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="15" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="16" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="17" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="18" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="19" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="20" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="21" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="22" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="23" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="24" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="25" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="26" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="27" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="28" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="29" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="30" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="31" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="32" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="33" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="34" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="35" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="36" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="37" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="38" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="39" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="42" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="43" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="44" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="8" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="9" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="10" y="1" width="1" height="1" fill="#A53030" />
+<rect x="11" y="1" width="1" height="1" fill="#A53030" />
+<rect x="12" y="1" width="1" height="1" fill="#A53030" />
+<rect x="13" y="1" width="1" height="1" fill="#A53030" />
+<rect x="14" y="1" width="1" height="1" fill="#A53030" />
+<rect x="15" y="1" width="1" height="1" fill="#A53030" />
+<rect x="16" y="1" width="1" height="1" fill="#A53030" />
+<rect x="17" y="1" width="1" height="1" fill="#A53030" />
+<rect x="18" y="1" width="1" height="1" fill="#A53030" />
+<rect x="19" y="1" width="1" height="1" fill="#A53030" />
+<rect x="20" y="1" width="1" height="1" fill="#A53030" />
+<rect x="21" y="1" width="1" height="1" fill="#A53030" />
+<rect x="22" y="1" width="1" height="1" fill="#752438" />
+<rect x="23" y="1" width="1" height="1" fill="#752438" />
+<rect x="24" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="34" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="35" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="36" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="37" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="38" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="39" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="41" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="42" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="43" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="44" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="2" width="1" height="1" fill="#A53030" />
+<rect x="7" y="2" width="1" height="1" fill="#A53030" />
+<rect x="8" y="2" width="1" height="1" fill="#A53030" />
+<rect x="9" y="2" width="1" height="1" fill="#A53030" />
+<rect x="10" y="2" width="1" height="1" fill="#A53030" />
+<rect x="11" y="2" width="1" height="1" fill="#A53030" />
+<rect x="12" y="2" width="1" height="1" fill="#A53030" />
+<rect x="13" y="2" width="1" height="1" fill="#A53030" />
+<rect x="14" y="2" width="1" height="1" fill="#A53030" />
+<rect x="15" y="2" width="1" height="1" fill="#A53030" />
+<rect x="16" y="2" width="1" height="1" fill="#A53030" />
+<rect x="17" y="2" width="1" height="1" fill="#A53030" />
+<rect x="18" y="2" width="1" height="1" fill="#A53030" />
+<rect x="19" y="2" width="1" height="1" fill="#A53030" />
+<rect x="20" y="2" width="1" height="1" fill="#A53030" />
+<rect x="21" y="2" width="1" height="1" fill="#752438" />
+<rect x="22" y="2" width="1" height="1" fill="#752438" />
+<rect x="23" y="2" width="1" height="1" fill="#752438" />
+<rect x="24" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="38" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="39" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="43" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="44" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="3" width="1" height="1" fill="#A53030" />
+<rect x="8" y="3" width="1" height="1" fill="#A53030" />
+<rect x="9" y="3" width="1" height="1" fill="#A53030" />
+<rect x="10" y="3" width="1" height="1" fill="#A53030" />
+<rect x="11" y="3" width="1" height="1" fill="#A53030" />
+<rect x="12" y="3" width="1" height="1" fill="#A53030" />
+<rect x="13" y="3" width="1" height="1" fill="#A53030" />
+<rect x="14" y="3" width="1" height="1" fill="#A53030" />
+<rect x="15" y="3" width="1" height="1" fill="#A53030" />
+<rect x="16" y="3" width="1" height="1" fill="#A53030" />
+<rect x="17" y="3" width="1" height="1" fill="#A53030" />
+<rect x="18" y="3" width="1" height="1" fill="#A53030" />
+<rect x="19" y="3" width="1" height="1" fill="#A53030" />
+<rect x="20" y="3" width="1" height="1" fill="#A53030" />
+<rect x="21" y="3" width="1" height="1" fill="#752438" />
+<rect x="22" y="3" width="1" height="1" fill="#752438" />
+<rect x="23" y="3" width="1" height="1" fill="#752438" />
+<rect x="24" y="3" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="3" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="3" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="36" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="37" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="38" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="39" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="42" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="43" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="44" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="4" width="1" height="1" fill="#A53030" />
+<rect x="3" y="4" width="1" height="1" fill="#A53030" />
+<rect x="4" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="4" width="1" height="1" fill="#A53030" />
+<rect x="8" y="4" width="1" height="1" fill="#A53030" />
+<rect x="9" y="4" width="1" height="1" fill="#A53030" />
+<rect x="10" y="4" width="1" height="1" fill="#A53030" />
+<rect x="11" y="4" width="1" height="1" fill="#A53030" />
+<rect x="12" y="4" width="1" height="1" fill="#A53030" />
+<rect x="13" y="4" width="1" height="1" fill="#A53030" />
+<rect x="14" y="4" width="1" height="1" fill="#A53030" />
+<rect x="15" y="4" width="1" height="1" fill="#A53030" />
+<rect x="16" y="4" width="1" height="1" fill="#A53030" />
+<rect x="17" y="4" width="1" height="1" fill="#A53030" />
+<rect x="18" y="4" width="1" height="1" fill="#A53030" />
+<rect x="19" y="4" width="1" height="1" fill="#752438" />
+<rect x="20" y="4" width="1" height="1" fill="#A53030" />
+<rect x="21" y="4" width="1" height="1" fill="#752438" />
+<rect x="22" y="4" width="1" height="1" fill="#752438" />
+<rect x="23" y="4" width="1" height="1" fill="#752438" />
+<rect x="24" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="37" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="38" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="39" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="42" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="43" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="44" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="5" width="1" height="1" fill="#A53030" />
+<rect x="4" y="5" width="1" height="1" fill="#A53030" />
+<rect x="5" y="5" width="1" height="1" fill="#A53030" />
+<rect x="6" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="5" width="1" height="1" fill="#A53030" />
+<rect x="8" y="5" width="1" height="1" fill="#A53030" />
+<rect x="9" y="5" width="1" height="1" fill="#A53030" />
+<rect x="10" y="5" width="1" height="1" fill="#A53030" />
+<rect x="11" y="5" width="1" height="1" fill="#A53030" />
+<rect x="12" y="5" width="1" height="1" fill="#A53030" />
+<rect x="13" y="5" width="1" height="1" fill="#A53030" />
+<rect x="14" y="5" width="1" height="1" fill="#A53030" />
+<rect x="15" y="5" width="1" height="1" fill="#A53030" />
+<rect x="16" y="5" width="1" height="1" fill="#A53030" />
+<rect x="17" y="5" width="1" height="1" fill="#A53030" />
+<rect x="18" y="5" width="1" height="1" fill="#A53030" />
+<rect x="19" y="5" width="1" height="1" fill="#752438" />
+<rect x="20" y="5" width="1" height="1" fill="#A53030" />
+<rect x="21" y="5" width="1" height="1" fill="#752438" />
+<rect x="22" y="5" width="1" height="1" fill="#752438" />
+<rect x="23" y="5" width="1" height="1" fill="#752438" />
+<rect x="24" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="39" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="42" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="44" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="6" width="1" height="1" fill="#A53030" />
+<rect x="5" y="6" width="1" height="1" fill="#A53030" />
+<rect x="6" y="6" width="1" height="1" fill="#A53030" />
+<rect x="7" y="6" width="1" height="1" fill="#A53030" />
+<rect x="8" y="6" width="1" height="1" fill="#A53030" />
+<rect x="9" y="6" width="1" height="1" fill="#A53030" />
+<rect x="10" y="6" width="1" height="1" fill="#A53030" />
+<rect x="11" y="6" width="1" height="1" fill="#A53030" />
+<rect x="12" y="6" width="1" height="1" fill="#A53030" />
+<rect x="13" y="6" width="1" height="1" fill="#A53030" />
+<rect x="14" y="6" width="1" height="1" fill="#A53030" />
+<rect x="15" y="6" width="1" height="1" fill="#A53030" />
+<rect x="16" y="6" width="1" height="1" fill="#A53030" />
+<rect x="17" y="6" width="1" height="1" fill="#A53030" />
+<rect x="18" y="6" width="1" height="1" fill="#A53030" />
+<rect x="19" y="6" width="1" height="1" fill="#752438" />
+<rect x="20" y="6" width="1" height="1" fill="#A53030" />
+<rect x="21" y="6" width="1" height="1" fill="#752438" />
+<rect x="22" y="6" width="1" height="1" fill="#752438" />
+<rect x="23" y="6" width="1" height="1" fill="#752438" />
+<rect x="24" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="42" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="7" width="1" height="1" fill="#A53030" />
+<rect x="7" y="7" width="1" height="1" fill="#A53030" />
+<rect x="8" y="7" width="1" height="1" fill="#A53030" />
+<rect x="9" y="7" width="1" height="1" fill="#A53030" />
+<rect x="10" y="7" width="1" height="1" fill="#A53030" />
+<rect x="11" y="7" width="1" height="1" fill="#A53030" />
+<rect x="12" y="7" width="1" height="1" fill="#A53030" />
+<rect x="13" y="7" width="1" height="1" fill="#A53030" />
+<rect x="14" y="7" width="1" height="1" fill="#A53030" />
+<rect x="15" y="7" width="1" height="1" fill="#A53030" />
+<rect x="16" y="7" width="1" height="1" fill="#A53030" />
+<rect x="17" y="7" width="1" height="1" fill="#A53030" />
+<rect x="18" y="7" width="1" height="1" fill="#A53030" />
+<rect x="19" y="7" width="1" height="1" fill="#752438" />
+<rect x="20" y="7" width="1" height="1" fill="#A53030" />
+<rect x="21" y="7" width="1" height="1" fill="#752438" />
+<rect x="22" y="7" width="1" height="1" fill="#752438" />
+<rect x="23" y="7" width="1" height="1" fill="#752438" />
+<rect x="24" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="8" width="1" height="1" fill="#A53030" />
+<rect x="3" y="8" width="1" height="1" fill="#A53030" />
+<rect x="4" y="8" width="1" height="1" fill="#A53030" />
+<rect x="5" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="8" width="1" height="1" fill="#A53030" />
+<rect x="8" y="8" width="1" height="1" fill="#A53030" />
+<rect x="9" y="8" width="1" height="1" fill="#A53030" />
+<rect x="10" y="8" width="1" height="1" fill="#A53030" />
+<rect x="11" y="8" width="1" height="1" fill="#A53030" />
+<rect x="12" y="8" width="1" height="1" fill="#A53030" />
+<rect x="13" y="8" width="1" height="1" fill="#A53030" />
+<rect x="14" y="8" width="1" height="1" fill="#A53030" />
+<rect x="15" y="8" width="1" height="1" fill="#A53030" />
+<rect x="16" y="8" width="1" height="1" fill="#A53030" />
+<rect x="17" y="8" width="1" height="1" fill="#A53030" />
+<rect x="18" y="8" width="1" height="1" fill="#A53030" />
+<rect x="19" y="8" width="1" height="1" fill="#752438" />
+<rect x="20" y="8" width="1" height="1" fill="#A53030" />
+<rect x="21" y="8" width="1" height="1" fill="#752438" />
+<rect x="22" y="8" width="1" height="1" fill="#752438" />
+<rect x="23" y="8" width="1" height="1" fill="#752438" />
+<rect x="24" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="9" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="9" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="9" width="1" height="1" fill="#A53030" />
+<rect x="3" y="9" width="1" height="1" fill="#A53030" />
+<rect x="4" y="9" width="1" height="1" fill="#A53030" />
+<rect x="5" y="9" width="1" height="1" fill="#A53030" />
+<rect x="6" y="9" width="1" height="1" fill="#A53030" />
+<rect x="7" y="9" width="1" height="1" fill="#A53030" />
+<rect x="8" y="9" width="1" height="1" fill="#A53030" />
+<rect x="9" y="9" width="1" height="1" fill="#A53030" />
+<rect x="10" y="9" width="1" height="1" fill="#A53030" />
+<rect x="11" y="9" width="1" height="1" fill="#A53030" />
+<rect x="12" y="9" width="1" height="1" fill="#A53030" />
+<rect x="13" y="9" width="1" height="1" fill="#A53030" />
+<rect x="14" y="9" width="1" height="1" fill="#A53030" />
+<rect x="15" y="9" width="1" height="1" fill="#A53030" />
+<rect x="16" y="9" width="1" height="1" fill="#A53030" />
+<rect x="17" y="9" width="1" height="1" fill="#A53030" />
+<rect x="18" y="9" width="1" height="1" fill="#A53030" />
+<rect x="19" y="9" width="1" height="1" fill="#752438" />
+<rect x="20" y="9" width="1" height="1" fill="#A53030" />
+<rect x="21" y="9" width="1" height="1" fill="#752438" />
+<rect x="22" y="9" width="1" height="1" fill="#752438" />
+<rect x="23" y="9" width="1" height="1" fill="#752438" />
+<rect x="24" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="9" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="9" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="9" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="9" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="9" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="10" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="10" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="10" width="1" height="1" fill="#A53030" />
+<rect x="3" y="10" width="1" height="1" fill="#A53030" />
+<rect x="4" y="10" width="1" height="1" fill="#A53030" />
+<rect x="5" y="10" width="1" height="1" fill="#A53030" />
+<rect x="6" y="10" width="1" height="1" fill="#A53030" />
+<rect x="7" y="10" width="1" height="1" fill="#A53030" />
+<rect x="8" y="10" width="1" height="1" fill="#A53030" />
+<rect x="9" y="10" width="1" height="1" fill="#A53030" />
+<rect x="10" y="10" width="1" height="1" fill="#A53030" />
+<rect x="11" y="10" width="1" height="1" fill="#A53030" />
+<rect x="12" y="10" width="1" height="1" fill="#A53030" />
+<rect x="13" y="10" width="1" height="1" fill="#A53030" />
+<rect x="14" y="10" width="1" height="1" fill="#A53030" />
+<rect x="15" y="10" width="1" height="1" fill="#A53030" />
+<rect x="16" y="10" width="1" height="1" fill="#A53030" />
+<rect x="17" y="10" width="1" height="1" fill="#A53030" />
+<rect x="18" y="10" width="1" height="1" fill="#A53030" />
+<rect x="19" y="10" width="1" height="1" fill="#752438" />
+<rect x="20" y="10" width="1" height="1" fill="#A53030" />
+<rect x="21" y="10" width="1" height="1" fill="#752438" />
+<rect x="22" y="10" width="1" height="1" fill="#752438" />
+<rect x="23" y="10" width="1" height="1" fill="#752438" />
+<rect x="24" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="40" y="10" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="46" y="10" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="10" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="11" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="11" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="11" width="1" height="1" fill="#A53030" />
+<rect x="3" y="11" width="1" height="1" fill="#A53030" />
+<rect x="4" y="11" width="1" height="1" fill="#752438" />
+<rect x="5" y="11" width="1" height="1" fill="#752438" />
+<rect x="6" y="11" width="1" height="1" fill="#752438" />
+<rect x="7" y="11" width="1" height="1" fill="#752438" />
+<rect x="8" y="11" width="1" height="1" fill="#752438" />
+<rect x="9" y="11" width="1" height="1" fill="#752438" />
+<rect x="10" y="11" width="1" height="1" fill="#752438" />
+<rect x="11" y="11" width="1" height="1" fill="#752438" />
+<rect x="12" y="11" width="1" height="1" fill="#752438" />
+<rect x="13" y="11" width="1" height="1" fill="#752438" />
+<rect x="14" y="11" width="1" height="1" fill="#752438" />
+<rect x="15" y="11" width="1" height="1" fill="#752438" />
+<rect x="16" y="11" width="1" height="1" fill="#752438" />
+<rect x="17" y="11" width="1" height="1" fill="#752438" />
+<rect x="18" y="11" width="1" height="1" fill="#752438" />
+<rect x="19" y="11" width="1" height="1" fill="#752438" />
+<rect x="20" y="11" width="1" height="1" fill="#A53030" />
+<rect x="21" y="11" width="1" height="1" fill="#752438" />
+<rect x="22" y="11" width="1" height="1" fill="#752438" />
+<rect x="23" y="11" width="1" height="1" fill="#752438" />
+<rect x="24" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="11" width="1" height="1" fill="#D68733" />
+<rect x="41" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="46" y="11" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="11" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="12" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="12" width="1" height="1" fill="#A53030" />
+<rect x="2" y="12" width="1" height="1" fill="#A53030" />
+<rect x="3" y="12" width="1" height="1" fill="#A53030" />
+<rect x="4" y="12" width="1" height="1" fill="#A53030" />
+<rect x="5" y="12" width="1" height="1" fill="#A53030" />
+<rect x="6" y="12" width="1" height="1" fill="#A53030" />
+<rect x="7" y="12" width="1" height="1" fill="#A53030" />
+<rect x="8" y="12" width="1" height="1" fill="#A53030" />
+<rect x="9" y="12" width="1" height="1" fill="#A53030" />
+<rect x="10" y="12" width="1" height="1" fill="#A53030" />
+<rect x="11" y="12" width="1" height="1" fill="#A53030" />
+<rect x="12" y="12" width="1" height="1" fill="#A53030" />
+<rect x="13" y="12" width="1" height="1" fill="#A53030" />
+<rect x="14" y="12" width="1" height="1" fill="#A53030" />
+<rect x="15" y="12" width="1" height="1" fill="#A53030" />
+<rect x="16" y="12" width="1" height="1" fill="#A53030" />
+<rect x="17" y="12" width="1" height="1" fill="#A53030" />
+<rect x="18" y="12" width="1" height="1" fill="#A53030" />
+<rect x="19" y="12" width="1" height="1" fill="#A53030" />
+<rect x="20" y="12" width="1" height="1" fill="#A53030" />
+<rect x="21" y="12" width="1" height="1" fill="#752438" />
+<rect x="22" y="12" width="1" height="1" fill="#752438" />
+<rect x="23" y="12" width="1" height="1" fill="#752438" />
+<rect x="24" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="40" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="41" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="46" y="12" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="12" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="13" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="13" width="1" height="1" fill="#A53030" />
+<rect x="2" y="13" width="1" height="1" fill="#752438" />
+<rect x="3" y="13" width="1" height="1" fill="#752438" />
+<rect x="4" y="13" width="1" height="1" fill="#752438" />
+<rect x="5" y="13" width="1" height="1" fill="#752438" />
+<rect x="6" y="13" width="1" height="1" fill="#752438" />
+<rect x="7" y="13" width="1" height="1" fill="#752438" />
+<rect x="8" y="13" width="1" height="1" fill="#752438" />
+<rect x="9" y="13" width="1" height="1" fill="#752438" />
+<rect x="10" y="13" width="1" height="1" fill="#752438" />
+<rect x="11" y="13" width="1" height="1" fill="#752438" />
+<rect x="12" y="13" width="1" height="1" fill="#752438" />
+<rect x="13" y="13" width="1" height="1" fill="#752438" />
+<rect x="14" y="13" width="1" height="1" fill="#752438" />
+<rect x="15" y="13" width="1" height="1" fill="#752438" />
+<rect x="16" y="13" width="1" height="1" fill="#752438" />
+<rect x="17" y="13" width="1" height="1" fill="#752438" />
+<rect x="18" y="13" width="1" height="1" fill="#752438" />
+<rect x="19" y="13" width="1" height="1" fill="#752438" />
+<rect x="20" y="13" width="1" height="1" fill="#752438" />
+<rect x="21" y="13" width="1" height="1" fill="#752438" />
+<rect x="22" y="13" width="1" height="1" fill="#752438" />
+<rect x="23" y="13" width="1" height="1" fill="#752438" />
+<rect x="24" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="13" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="13" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="14" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="14" width="1" height="1" fill="#752438" />
+<rect x="2" y="14" width="1" height="1" fill="#752438" />
+<rect x="3" y="14" width="1" height="1" fill="#752438" />
+<rect x="4" y="14" width="1" height="1" fill="#752438" />
+<rect x="5" y="14" width="1" height="1" fill="#752438" />
+<rect x="6" y="14" width="1" height="1" fill="#752438" />
+<rect x="7" y="14" width="1" height="1" fill="#752438" />
+<rect x="8" y="14" width="1" height="1" fill="#752438" />
+<rect x="9" y="14" width="1" height="1" fill="#752438" />
+<rect x="10" y="14" width="1" height="1" fill="#752438" />
+<rect x="11" y="14" width="1" height="1" fill="#752438" />
+<rect x="12" y="14" width="1" height="1" fill="#752438" />
+<rect x="13" y="14" width="1" height="1" fill="#752438" />
+<rect x="14" y="14" width="1" height="1" fill="#752438" />
+<rect x="15" y="14" width="1" height="1" fill="#752438" />
+<rect x="16" y="14" width="1" height="1" fill="#752438" />
+<rect x="17" y="14" width="1" height="1" fill="#752438" />
+<rect x="18" y="14" width="1" height="1" fill="#752438" />
+<rect x="19" y="14" width="1" height="1" fill="#752438" />
+<rect x="20" y="14" width="1" height="1" fill="#752438" />
+<rect x="21" y="14" width="1" height="1" fill="#752438" />
+<rect x="22" y="14" width="1" height="1" fill="#752438" />
+<rect x="23" y="14" width="1" height="1" fill="#752438" />
+<rect x="24" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="14" width="1" height="1" fill="#D68733" />
+<rect x="47" y="14" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="15" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="15" width="1" height="1" fill="#752438" />
+<rect x="2" y="15" width="1" height="1" fill="#752438" />
+<rect x="3" y="15" width="1" height="1" fill="#752438" />
+<rect x="4" y="15" width="1" height="1" fill="#752438" />
+<rect x="5" y="15" width="1" height="1" fill="#752438" />
+<rect x="6" y="15" width="1" height="1" fill="#752438" />
+<rect x="7" y="15" width="1" height="1" fill="#752438" />
+<rect x="8" y="15" width="1" height="1" fill="#752438" />
+<rect x="9" y="15" width="1" height="1" fill="#752438" />
+<rect x="10" y="15" width="1" height="1" fill="#752438" />
+<rect x="11" y="15" width="1" height="1" fill="#752438" />
+<rect x="12" y="15" width="1" height="1" fill="#752438" />
+<rect x="13" y="15" width="1" height="1" fill="#752438" />
+<rect x="14" y="15" width="1" height="1" fill="#752438" />
+<rect x="15" y="15" width="1" height="1" fill="#752438" />
+<rect x="16" y="15" width="1" height="1" fill="#752438" />
+<rect x="17" y="15" width="1" height="1" fill="#752438" />
+<rect x="18" y="15" width="1" height="1" fill="#752438" />
+<rect x="19" y="15" width="1" height="1" fill="#752438" />
+<rect x="20" y="15" width="1" height="1" fill="#752438" />
+<rect x="21" y="15" width="1" height="1" fill="#752438" />
+<rect x="22" y="15" width="1" height="1" fill="#752438" />
+<rect x="23" y="15" width="1" height="1" fill="#752438" />
+<rect x="24" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="15" width="1" height="1" fill="#D68733" />
+<rect x="47" y="15" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="16" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="16" width="1" height="1" fill="#752438" />
+<rect x="25" y="16" width="1" height="1" fill="#752438" />
+<rect x="26" y="16" width="1" height="1" fill="#752438" />
+<rect x="27" y="16" width="1" height="1" fill="#752438" />
+<rect x="28" y="16" width="1" height="1" fill="#752438" />
+<rect x="29" y="16" width="1" height="1" fill="#752438" />
+<rect x="30" y="16" width="1" height="1" fill="#752438" />
+<rect x="31" y="16" width="1" height="1" fill="#752438" />
+<rect x="32" y="16" width="1" height="1" fill="#752438" />
+<rect x="33" y="16" width="1" height="1" fill="#752438" />
+<rect x="34" y="16" width="1" height="1" fill="#752438" />
+<rect x="35" y="16" width="1" height="1" fill="#752438" />
+<rect x="36" y="16" width="1" height="1" fill="#752438" />
+<rect x="37" y="16" width="1" height="1" fill="#752438" />
+<rect x="38" y="16" width="1" height="1" fill="#752438" />
+<rect x="39" y="16" width="1" height="1" fill="#752438" />
+<rect x="40" y="16" width="1" height="1" fill="#752438" />
+<rect x="41" y="16" width="1" height="1" fill="#752438" />
+<rect x="42" y="16" width="1" height="1" fill="#752438" />
+<rect x="43" y="16" width="1" height="1" fill="#752438" />
+<rect x="44" y="16" width="1" height="1" fill="#752438" />
+<rect x="45" y="16" width="1" height="1" fill="#752438" />
+<rect x="46" y="16" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="16" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="17" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="17" width="1" height="1" fill="#752438" />
+<rect x="25" y="17" width="1" height="1" fill="#752438" />
+<rect x="26" y="17" width="1" height="1" fill="#752438" />
+<rect x="27" y="17" width="1" height="1" fill="#752438" />
+<rect x="28" y="17" width="1" height="1" fill="#752438" />
+<rect x="29" y="17" width="1" height="1" fill="#752438" />
+<rect x="30" y="17" width="1" height="1" fill="#752438" />
+<rect x="31" y="17" width="1" height="1" fill="#752438" />
+<rect x="32" y="17" width="1" height="1" fill="#752438" />
+<rect x="33" y="17" width="1" height="1" fill="#752438" />
+<rect x="34" y="17" width="1" height="1" fill="#752438" />
+<rect x="35" y="17" width="1" height="1" fill="#752438" />
+<rect x="36" y="17" width="1" height="1" fill="#752438" />
+<rect x="37" y="17" width="1" height="1" fill="#752438" />
+<rect x="38" y="17" width="1" height="1" fill="#752438" />
+<rect x="39" y="17" width="1" height="1" fill="#752438" />
+<rect x="40" y="17" width="1" height="1" fill="#752438" />
+<rect x="41" y="17" width="1" height="1" fill="#752438" />
+<rect x="42" y="17" width="1" height="1" fill="#752438" />
+<rect x="43" y="17" width="1" height="1" fill="#752438" />
+<rect x="44" y="17" width="1" height="1" fill="#752438" />
+<rect x="45" y="17" width="1" height="1" fill="#581C2C" />
+<rect x="46" y="17" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="17" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="18" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="2" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="18" width="1" height="1" fill="#752438" />
+<rect x="25" y="18" width="1" height="1" fill="#752438" />
+<rect x="26" y="18" width="1" height="1" fill="#752438" />
+<rect x="27" y="18" width="1" height="1" fill="#752438" />
+<rect x="28" y="18" width="1" height="1" fill="#752438" />
+<rect x="29" y="18" width="1" height="1" fill="#752438" />
+<rect x="30" y="18" width="1" height="1" fill="#752438" />
+<rect x="31" y="18" width="1" height="1" fill="#752438" />
+<rect x="32" y="18" width="1" height="1" fill="#752438" />
+<rect x="33" y="18" width="1" height="1" fill="#752438" />
+<rect x="34" y="18" width="1" height="1" fill="#752438" />
+<rect x="35" y="18" width="1" height="1" fill="#752438" />
+<rect x="36" y="18" width="1" height="1" fill="#752438" />
+<rect x="37" y="18" width="1" height="1" fill="#752438" />
+<rect x="38" y="18" width="1" height="1" fill="#752438" />
+<rect x="39" y="18" width="1" height="1" fill="#752438" />
+<rect x="40" y="18" width="1" height="1" fill="#752438" />
+<rect x="41" y="18" width="1" height="1" fill="#752438" />
+<rect x="42" y="18" width="1" height="1" fill="#752438" />
+<rect x="43" y="18" width="1" height="1" fill="#752438" />
+<rect x="44" y="18" width="1" height="1" fill="#752438" />
+<rect x="45" y="18" width="1" height="1" fill="#581C2C" />
+<rect x="46" y="18" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="18" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="19" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="2" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="19" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="19" width="1" height="1" fill="#752438" />
+<rect x="25" y="19" width="1" height="1" fill="#752438" />
+<rect x="26" y="19" width="1" height="1" fill="#752438" />
+<rect x="27" y="19" width="1" height="1" fill="#A53030" />
+<rect x="28" y="19" width="1" height="1" fill="#A53030" />
+<rect x="29" y="19" width="1" height="1" fill="#A53030" />
+<rect x="30" y="19" width="1" height="1" fill="#A53030" />
+<rect x="31" y="19" width="1" height="1" fill="#A53030" />
+<rect x="32" y="19" width="1" height="1" fill="#A53030" />
+<rect x="33" y="19" width="1" height="1" fill="#A53030" />
+<rect x="34" y="19" width="1" height="1" fill="#A53030" />
+<rect x="35" y="19" width="1" height="1" fill="#A53030" />
+<rect x="36" y="19" width="1" height="1" fill="#A53030" />
+<rect x="37" y="19" width="1" height="1" fill="#A53030" />
+<rect x="38" y="19" width="1" height="1" fill="#A53030" />
+<rect x="39" y="19" width="1" height="1" fill="#A53030" />
+<rect x="40" y="19" width="1" height="1" fill="#A53030" />
+<rect x="41" y="19" width="1" height="1" fill="#A53030" />
+<rect x="42" y="19" width="1" height="1" fill="#A53030" />
+<rect x="43" y="19" width="1" height="1" fill="#A53030" />
+<rect x="44" y="19" width="1" height="1" fill="#A53030" />
+<rect x="45" y="19" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="19" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="19" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="20" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="20" width="1" height="1" fill="#E8C170" />
+<rect x="2" y="20" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="20" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="20" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="20" width="1" height="1" fill="#752438" />
+<rect x="25" y="20" width="1" height="1" fill="#752438" />
+<rect x="26" y="20" width="1" height="1" fill="#752438" />
+<rect x="27" y="20" width="1" height="1" fill="#A53030" />
+<rect x="28" y="20" width="1" height="1" fill="#752438" />
+<rect x="29" y="20" width="1" height="1" fill="#752438" />
+<rect x="30" y="20" width="1" height="1" fill="#752438" />
+<rect x="31" y="20" width="1" height="1" fill="#752438" />
+<rect x="32" y="20" width="1" height="1" fill="#752438" />
+<rect x="33" y="20" width="1" height="1" fill="#752438" />
+<rect x="34" y="20" width="1" height="1" fill="#752438" />
+<rect x="35" y="20" width="1" height="1" fill="#752438" />
+<rect x="36" y="20" width="1" height="1" fill="#752438" />
+<rect x="37" y="20" width="1" height="1" fill="#752438" />
+<rect x="38" y="20" width="1" height="1" fill="#752438" />
+<rect x="39" y="20" width="1" height="1" fill="#752438" />
+<rect x="40" y="20" width="1" height="1" fill="#752438" />
+<rect x="41" y="20" width="1" height="1" fill="#752438" />
+<rect x="42" y="20" width="1" height="1" fill="#752438" />
+<rect x="43" y="20" width="1" height="1" fill="#752438" />
+<rect x="44" y="20" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="20" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="20" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="20" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="21" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="2" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="21" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="21" width="1" height="1" fill="#752438" />
+<rect x="25" y="21" width="1" height="1" fill="#752438" />
+<rect x="26" y="21" width="1" height="1" fill="#752438" />
+<rect x="27" y="21" width="1" height="1" fill="#A53030" />
+<rect x="28" y="21" width="1" height="1" fill="#752438" />
+<rect x="29" y="21" width="1" height="1" fill="#A53030" />
+<rect x="30" y="21" width="1" height="1" fill="#A53030" />
+<rect x="31" y="21" width="1" height="1" fill="#A53030" />
+<rect x="32" y="21" width="1" height="1" fill="#A53030" />
+<rect x="33" y="21" width="1" height="1" fill="#A53030" />
+<rect x="34" y="21" width="1" height="1" fill="#A53030" />
+<rect x="35" y="21" width="1" height="1" fill="#A53030" />
+<rect x="36" y="21" width="1" height="1" fill="#A53030" />
+<rect x="37" y="21" width="1" height="1" fill="#A53030" />
+<rect x="38" y="21" width="1" height="1" fill="#A53030" />
+<rect x="39" y="21" width="1" height="1" fill="#A53030" />
+<rect x="40" y="21" width="1" height="1" fill="#A53030" />
+<rect x="41" y="21" width="1" height="1" fill="#A53030" />
+<rect x="42" y="21" width="1" height="1" fill="#A53030" />
+<rect x="43" y="21" width="1" height="1" fill="#A53030" />
+<rect x="44" y="21" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="21" width="1" height="1" fill="#A53030" />
+<rect x="46" y="21" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="21" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="22" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="2" y="22" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="22" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="22" width="1" height="1" fill="#752438" />
+<rect x="25" y="22" width="1" height="1" fill="#752438" />
+<rect x="26" y="22" width="1" height="1" fill="#752438" />
+<rect x="27" y="22" width="1" height="1" fill="#A53030" />
+<rect x="28" y="22" width="1" height="1" fill="#752438" />
+<rect x="29" y="22" width="1" height="1" fill="#A53030" />
+<rect x="30" y="22" width="1" height="1" fill="#A53030" />
+<rect x="31" y="22" width="1" height="1" fill="#A53030" />
+<rect x="32" y="22" width="1" height="1" fill="#A53030" />
+<rect x="33" y="22" width="1" height="1" fill="#A53030" />
+<rect x="34" y="22" width="1" height="1" fill="#A53030" />
+<rect x="35" y="22" width="1" height="1" fill="#A53030" />
+<rect x="36" y="22" width="1" height="1" fill="#A53030" />
+<rect x="37" y="22" width="1" height="1" fill="#A53030" />
+<rect x="38" y="22" width="1" height="1" fill="#A53030" />
+<rect x="39" y="22" width="1" height="1" fill="#A53030" />
+<rect x="40" y="22" width="1" height="1" fill="#A53030" />
+<rect x="41" y="22" width="1" height="1" fill="#A53030" />
+<rect x="42" y="22" width="1" height="1" fill="#A53030" />
+<rect x="43" y="22" width="1" height="1" fill="#A53030" />
+<rect x="44" y="22" width="1" height="1" fill="#A53030" />
+<rect x="45" y="22" width="1" height="1" fill="#A53030" />
+<rect x="46" y="22" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="22" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="23" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="2" y="23" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="23" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="23" width="1" height="1" fill="#752438" />
+<rect x="25" y="23" width="1" height="1" fill="#752438" />
+<rect x="26" y="23" width="1" height="1" fill="#752438" />
+<rect x="27" y="23" width="1" height="1" fill="#A53030" />
+<rect x="28" y="23" width="1" height="1" fill="#752438" />
+<rect x="29" y="23" width="1" height="1" fill="#A53030" />
+<rect x="30" y="23" width="1" height="1" fill="#A53030" />
+<rect x="31" y="23" width="1" height="1" fill="#A53030" />
+<rect x="32" y="23" width="1" height="1" fill="#A53030" />
+<rect x="33" y="23" width="1" height="1" fill="#A53030" />
+<rect x="34" y="23" width="1" height="1" fill="#A53030" />
+<rect x="35" y="23" width="1" height="1" fill="#A53030" />
+<rect x="36" y="23" width="1" height="1" fill="#A53030" />
+<rect x="37" y="23" width="1" height="1" fill="#A53030" />
+<rect x="38" y="23" width="1" height="1" fill="#A53030" />
+<rect x="39" y="23" width="1" height="1" fill="#A53030" />
+<rect x="40" y="23" width="1" height="1" fill="#A53030" />
+<rect x="41" y="23" width="1" height="1" fill="#A53030" />
+<rect x="42" y="23" width="1" height="1" fill="#A53030" />
+<rect x="43" y="23" width="1" height="1" fill="#A53030" />
+<rect x="44" y="23" width="1" height="1" fill="#A53030" />
+<rect x="45" y="23" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="23" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="23" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="24" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="2" y="24" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="24" width="1" height="1" fill="#E3B257" />
+<rect x="4" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="24" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="24" width="1" height="1" fill="#752438" />
+<rect x="25" y="24" width="1" height="1" fill="#752438" />
+<rect x="26" y="24" width="1" height="1" fill="#752438" />
+<rect x="27" y="24" width="1" height="1" fill="#A53030" />
+<rect x="28" y="24" width="1" height="1" fill="#752438" />
+<rect x="29" y="24" width="1" height="1" fill="#A53030" />
+<rect x="30" y="24" width="1" height="1" fill="#A53030" />
+<rect x="31" y="24" width="1" height="1" fill="#A53030" />
+<rect x="32" y="24" width="1" height="1" fill="#A53030" />
+<rect x="33" y="24" width="1" height="1" fill="#A53030" />
+<rect x="34" y="24" width="1" height="1" fill="#A53030" />
+<rect x="35" y="24" width="1" height="1" fill="#A53030" />
+<rect x="36" y="24" width="1" height="1" fill="#A53030" />
+<rect x="37" y="24" width="1" height="1" fill="#A53030" />
+<rect x="38" y="24" width="1" height="1" fill="#A53030" />
+<rect x="39" y="24" width="1" height="1" fill="#A53030" />
+<rect x="40" y="24" width="1" height="1" fill="#A53030" />
+<rect x="41" y="24" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="24" width="1" height="1" fill="#A53030" />
+<rect x="43" y="24" width="1" height="1" fill="#A53030" />
+<rect x="44" y="24" width="1" height="1" fill="#A53030" />
+<rect x="45" y="24" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="24" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="24" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="25" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="25" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="25" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="25" width="1" height="1" fill="#E3B257" />
+<rect x="4" y="25" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="25" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="25" width="1" height="1" fill="#752438" />
+<rect x="25" y="25" width="1" height="1" fill="#752438" />
+<rect x="26" y="25" width="1" height="1" fill="#752438" />
+<rect x="27" y="25" width="1" height="1" fill="#A53030" />
+<rect x="28" y="25" width="1" height="1" fill="#752438" />
+<rect x="29" y="25" width="1" height="1" fill="#A53030" />
+<rect x="30" y="25" width="1" height="1" fill="#A53030" />
+<rect x="31" y="25" width="1" height="1" fill="#A53030" />
+<rect x="32" y="25" width="1" height="1" fill="#A53030" />
+<rect x="33" y="25" width="1" height="1" fill="#A53030" />
+<rect x="34" y="25" width="1" height="1" fill="#A53030" />
+<rect x="35" y="25" width="1" height="1" fill="#A53030" />
+<rect x="36" y="25" width="1" height="1" fill="#A53030" />
+<rect x="37" y="25" width="1" height="1" fill="#A53030" />
+<rect x="38" y="25" width="1" height="1" fill="#A53030" />
+<rect x="39" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="25" width="1" height="1" fill="#A53030" />
+<rect x="43" y="25" width="1" height="1" fill="#A53030" />
+<rect x="44" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="26" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="26" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="26" width="1" height="1" fill="#E3B257" />
+<rect x="4" y="26" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="26" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="26" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="26" width="1" height="1" fill="#752438" />
+<rect x="25" y="26" width="1" height="1" fill="#752438" />
+<rect x="26" y="26" width="1" height="1" fill="#752438" />
+<rect x="27" y="26" width="1" height="1" fill="#A53030" />
+<rect x="28" y="26" width="1" height="1" fill="#752438" />
+<rect x="29" y="26" width="1" height="1" fill="#A53030" />
+<rect x="30" y="26" width="1" height="1" fill="#A53030" />
+<rect x="31" y="26" width="1" height="1" fill="#A53030" />
+<rect x="32" y="26" width="1" height="1" fill="#A53030" />
+<rect x="33" y="26" width="1" height="1" fill="#A53030" />
+<rect x="34" y="26" width="1" height="1" fill="#A53030" />
+<rect x="35" y="26" width="1" height="1" fill="#A53030" />
+<rect x="36" y="26" width="1" height="1" fill="#A53030" />
+<rect x="37" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="26" width="1" height="1" fill="#A53030" />
+<rect x="44" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="27" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="27" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="27" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="27" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="27" width="1" height="1" fill="#E3B257" />
+<rect x="7" y="27" width="1" height="1" fill="#E3B257" />
+<rect x="8" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="27" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="27" width="1" height="1" fill="#752438" />
+<rect x="25" y="27" width="1" height="1" fill="#752438" />
+<rect x="26" y="27" width="1" height="1" fill="#752438" />
+<rect x="27" y="27" width="1" height="1" fill="#A53030" />
+<rect x="28" y="27" width="1" height="1" fill="#752438" />
+<rect x="29" y="27" width="1" height="1" fill="#A53030" />
+<rect x="30" y="27" width="1" height="1" fill="#A53030" />
+<rect x="31" y="27" width="1" height="1" fill="#A53030" />
+<rect x="32" y="27" width="1" height="1" fill="#A53030" />
+<rect x="33" y="27" width="1" height="1" fill="#A53030" />
+<rect x="34" y="27" width="1" height="1" fill="#A53030" />
+<rect x="35" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="36" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="37" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="27" width="1" height="1" fill="#A53030" />
+<rect x="43" y="27" width="1" height="1" fill="#A53030" />
+<rect x="44" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="27" width="1" height="1" fill="#A53030" />
+<rect x="47" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="28" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="28" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="28" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="28" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="28" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="28" width="1" height="1" fill="#E3B257" />
+<rect x="7" y="28" width="1" height="1" fill="#E3B257" />
+<rect x="8" y="28" width="1" height="1" fill="#E3B257" />
+<rect x="9" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="28" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="28" width="1" height="1" fill="#752438" />
+<rect x="25" y="28" width="1" height="1" fill="#752438" />
+<rect x="26" y="28" width="1" height="1" fill="#752438" />
+<rect x="27" y="28" width="1" height="1" fill="#A53030" />
+<rect x="28" y="28" width="1" height="1" fill="#A53030" />
+<rect x="29" y="28" width="1" height="1" fill="#A53030" />
+<rect x="30" y="28" width="1" height="1" fill="#A53030" />
+<rect x="31" y="28" width="1" height="1" fill="#A53030" />
+<rect x="32" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="33" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="34" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="35" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="36" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="37" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="28" width="1" height="1" fill="#A53030" />
+<rect x="39" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="28" width="1" height="1" fill="#A53030" />
+<rect x="42" y="28" width="1" height="1" fill="#A53030" />
+<rect x="43" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="28" width="1" height="1" fill="#A53030" />
+<rect x="46" y="28" width="1" height="1" fill="#A53030" />
+<rect x="47" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="29" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="29" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="29" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="29" width="1" height="1" fill="#E3B257" />
+<rect x="4" y="29" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="29" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="29" width="1" height="1" fill="#E3B257" />
+<rect x="7" y="29" width="1" height="1" fill="#E3B257" />
+<rect x="8" y="29" width="1" height="1" fill="#E3B257" />
+<rect x="9" y="29" width="1" height="1" fill="#E3B257" />
+<rect x="10" y="29" width="1" height="1" fill="#E3B257" />
+<rect x="11" y="29" width="1" height="1" fill="#E3B257" />
+<rect x="12" y="29" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="29" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="29" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="29" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="29" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="29" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="29" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="29" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="29" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="29" width="1" height="1" fill="#752438" />
+<rect x="25" y="29" width="1" height="1" fill="#752438" />
+<rect x="26" y="29" width="1" height="1" fill="#752438" />
+<rect x="27" y="29" width="1" height="1" fill="#A53030" />
+<rect x="28" y="29" width="1" height="1" fill="#A53030" />
+<rect x="29" y="29" width="1" height="1" fill="#A53030" />
+<rect x="30" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="31" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="32" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="33" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="34" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="35" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="36" y="29" width="1" height="1" fill="#A53030" />
+<rect x="37" y="29" width="1" height="1" fill="#A53030" />
+<rect x="38" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="29" width="1" height="1" fill="#A53030" />
+<rect x="42" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="29" width="1" height="1" fill="#A53030" />
+<rect x="46" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="30" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="30" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="30" width="1" height="1" fill="#E3B257" />
+<rect x="4" y="30" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="30" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="30" width="1" height="1" fill="#E3B257" />
+<rect x="7" y="30" width="1" height="1" fill="#E3B257" />
+<rect x="8" y="30" width="1" height="1" fill="#E3B257" />
+<rect x="9" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="30" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="30" width="1" height="1" fill="#752438" />
+<rect x="25" y="30" width="1" height="1" fill="#752438" />
+<rect x="26" y="30" width="1" height="1" fill="#A53030" />
+<rect x="27" y="30" width="1" height="1" fill="#A53030" />
+<rect x="28" y="30" width="1" height="1" fill="#A53030" />
+<rect x="29" y="30" width="1" height="1" fill="#A53030" />
+<rect x="30" y="30" width="1" height="1" fill="#A53030" />
+<rect x="31" y="30" width="1" height="1" fill="#A53030" />
+<rect x="32" y="30" width="1" height="1" fill="#A53030" />
+<rect x="33" y="30" width="1" height="1" fill="#A53030" />
+<rect x="34" y="30" width="1" height="1" fill="#A53030" />
+<rect x="35" y="30" width="1" height="1" fill="#A53030" />
+<rect x="36" y="30" width="1" height="1" fill="#A53030" />
+<rect x="37" y="30" width="1" height="1" fill="#A53030" />
+<rect x="38" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="4" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="7" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="8" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="9" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="10" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="11" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="12" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="13" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="14" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="15" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="16" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="17" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="18" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="19" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="20" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="21" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="22" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="23" y="31" width="1" height="1" fill="#E3B257" />
+<rect x="24" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="25" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="26" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="27" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="28" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="29" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="30" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="31" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="32" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="33" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="34" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="35" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="36" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="37" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="31" width="1" height="1" fill="#8F2526" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Faelani.svg b/Edikoyo/.obsidian/icons/flags/Faelani.svg
new file mode 100644
index 0000000..2aebd2b
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Faelani.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#D76691" />
+<rect x="3" y="0" width="1" height="1" fill="#D76691" />
+<rect x="4" y="0" width="1" height="1" fill="#D76691" />
+<rect x="5" y="0" width="1" height="1" fill="#D76691" />
+<rect x="6" y="0" width="1" height="1" fill="#D76691" />
+<rect x="7" y="0" width="1" height="1" fill="#D76691" />
+<rect x="8" y="0" width="1" height="1" fill="#D76691" />
+<rect x="9" y="0" width="1" height="1" fill="#D76691" />
+<rect x="10" y="0" width="1" height="1" fill="#D76691" />
+<rect x="11" y="0" width="1" height="1" fill="#D76691" />
+<rect x="12" y="0" width="1" height="1" fill="#D76691" />
+<rect x="13" y="0" width="1" height="1" fill="#D76691" />
+<rect x="14" y="0" width="1" height="1" fill="#D76691" />
+<rect x="15" y="0" width="1" height="1" fill="#D76691" />
+<rect x="16" y="0" width="1" height="1" fill="#D76691" />
+<rect x="17" y="0" width="1" height="1" fill="#D76691" />
+<rect x="18" y="0" width="1" height="1" fill="#D76691" />
+<rect x="19" y="0" width="1" height="1" fill="#D76691" />
+<rect x="20" y="0" width="1" height="1" fill="#D76691" />
+<rect x="21" y="0" width="1" height="1" fill="#D76691" />
+<rect x="22" y="0" width="1" height="1" fill="#D76691" />
+<rect x="23" y="0" width="1" height="1" fill="#D76691" />
+<rect x="24" y="0" width="1" height="1" fill="#D76691" />
+<rect x="25" y="0" width="1" height="1" fill="#D76691" />
+<rect x="26" y="0" width="1" height="1" fill="#D76691" />
+<rect x="27" y="0" width="1" height="1" fill="#D76691" />
+<rect x="28" y="0" width="1" height="1" fill="#D76691" />
+<rect x="29" y="0" width="1" height="1" fill="#D76691" />
+<rect x="30" y="0" width="1" height="1" fill="#D76691" />
+<rect x="31" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="32" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="33" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="34" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="35" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="36" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="37" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="1" width="1" height="1" fill="#D76691" />
+<rect x="2" y="1" width="1" height="1" fill="#D76691" />
+<rect x="3" y="1" width="1" height="1" fill="#D76691" />
+<rect x="4" y="1" width="1" height="1" fill="#D76691" />
+<rect x="5" y="1" width="1" height="1" fill="#D76691" />
+<rect x="6" y="1" width="1" height="1" fill="#D76691" />
+<rect x="7" y="1" width="1" height="1" fill="#D76691" />
+<rect x="8" y="1" width="1" height="1" fill="#D76691" />
+<rect x="9" y="1" width="1" height="1" fill="#D76691" />
+<rect x="10" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="29" y="1" width="1" height="1" fill="#DF84A5" />
+<rect x="30" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="34" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="35" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="36" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="37" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="2" width="1" height="1" fill="#D76691" />
+<rect x="1" y="2" width="1" height="1" fill="#D76691" />
+<rect x="2" y="2" width="1" height="1" fill="#D76691" />
+<rect x="3" y="2" width="1" height="1" fill="#D76691" />
+<rect x="4" y="2" width="1" height="1" fill="#D76691" />
+<rect x="5" y="2" width="1" height="1" fill="#D76691" />
+<rect x="6" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="2" width="1" height="1" fill="#DF84A5" />
+<rect x="29" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="2" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="2" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="3" width="1" height="1" fill="#D76691" />
+<rect x="1" y="3" width="1" height="1" fill="#D76691" />
+<rect x="2" y="3" width="1" height="1" fill="#D76691" />
+<rect x="3" y="3" width="1" height="1" fill="#D76691" />
+<rect x="4" y="3" width="1" height="1" fill="#D76691" />
+<rect x="5" y="3" width="1" height="1" fill="#D76691" />
+<rect x="6" y="3" width="1" height="1" fill="#D76691" />
+<rect x="7" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="3" width="1" height="1" fill="#DF84A5" />
+<rect x="28" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="36" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="37" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="3" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="3" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="3" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="4" width="1" height="1" fill="#D76691" />
+<rect x="1" y="4" width="1" height="1" fill="#D76691" />
+<rect x="2" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="4" width="1" height="1" fill="#D76691" />
+<rect x="5" y="4" width="1" height="1" fill="#D76691" />
+<rect x="6" y="4" width="1" height="1" fill="#D76691" />
+<rect x="7" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="4" width="1" height="1" fill="#DF84A5" />
+<rect x="27" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="37" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="4" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="4" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="4" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="4" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="5" width="1" height="1" fill="#D76691" />
+<rect x="1" y="5" width="1" height="1" fill="#D76691" />
+<rect x="2" y="5" width="1" height="1" fill="#D76691" />
+<rect x="3" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="5" width="1" height="1" fill="#D76691" />
+<rect x="7" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="5" width="1" height="1" fill="#DF84A5" />
+<rect x="26" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="5" width="1" height="1" fill="#8C2F73" />
+<rect x="44" y="5" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="5" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="5" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="5" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="6" width="1" height="1" fill="#D76691" />
+<rect x="1" y="6" width="1" height="1" fill="#D76691" />
+<rect x="2" y="6" width="1" height="1" fill="#D76691" />
+<rect x="3" y="6" width="1" height="1" fill="#D76691" />
+<rect x="4" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="6" width="1" height="1" fill="#DF84A5" />
+<rect x="25" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="6" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="6" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="6" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="6" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="6" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="6" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="6" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="6" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="6" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="7" width="1" height="1" fill="#D76691" />
+<rect x="1" y="7" width="1" height="1" fill="#D76691" />
+<rect x="2" y="7" width="1" height="1" fill="#D76691" />
+<rect x="3" y="7" width="1" height="1" fill="#D76691" />
+<rect x="4" y="7" width="1" height="1" fill="#D76691" />
+<rect x="5" y="7" width="1" height="1" fill="#D76691" />
+<rect x="6" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="7" width="1" height="1" fill="#DF84A5" />
+<rect x="24" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="7" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="7" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="7" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="7" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="7" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="7" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="7" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="7" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="7" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="8" width="1" height="1" fill="#D76691" />
+<rect x="1" y="8" width="1" height="1" fill="#D76691" />
+<rect x="2" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="8" width="1" height="1" fill="#D76691" />
+<rect x="6" y="8" width="1" height="1" fill="#D76691" />
+<rect x="7" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="8" width="1" height="1" fill="#DF84A5" />
+<rect x="23" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="8" width="1" height="1" fill="#8C2F73" />
+<rect x="41" y="8" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="8" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="8" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="8" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="8" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="8" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="8" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="9" width="1" height="1" fill="#D76691" />
+<rect x="1" y="9" width="1" height="1" fill="#D76691" />
+<rect x="2" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="9" width="1" height="1" fill="#DF84A5" />
+<rect x="22" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="9" width="1" height="1" fill="#8C2F73" />
+<rect x="40" y="9" width="1" height="1" fill="#8C2F73" />
+<rect x="41" y="9" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="9" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="9" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="9" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="9" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="9" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="9" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="10" width="1" height="1" fill="#D76691" />
+<rect x="1" y="10" width="1" height="1" fill="#D76691" />
+<rect x="2" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="10" width="1" height="1" fill="#DF84A5" />
+<rect x="21" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="10" width="1" height="1" fill="#8C2F73" />
+<rect x="41" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="46" y="10" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="10" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="11" width="1" height="1" fill="#D76691" />
+<rect x="1" y="11" width="1" height="1" fill="#D76691" />
+<rect x="2" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="11" width="1" height="1" fill="#DF84A5" />
+<rect x="20" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="11" width="1" height="1" fill="#8C2F73" />
+<rect x="41" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="46" y="11" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="11" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="12" width="1" height="1" fill="#D76691" />
+<rect x="1" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="12" width="1" height="1" fill="#DF84A5" />
+<rect x="19" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="46" y="12" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="12" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="13" width="1" height="1" fill="#D76691" />
+<rect x="1" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="13" width="1" height="1" fill="#DF84A5" />
+<rect x="18" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="46" y="13" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="13" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="14" width="1" height="1" fill="#D76691" />
+<rect x="1" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="14" width="1" height="1" fill="#DF84A5" />
+<rect x="17" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="46" y="14" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="14" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="15" width="1" height="1" fill="#D76691" />
+<rect x="1" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="15" width="1" height="1" fill="#DF84A5" />
+<rect x="16" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="46" y="15" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="15" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="16" width="1" height="1" fill="#D76691" />
+<rect x="1" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="16" width="1" height="1" fill="#DF84A5" />
+<rect x="15" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="46" y="16" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="16" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="17" width="1" height="1" fill="#D76691" />
+<rect x="1" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="17" width="1" height="1" fill="#DF84A5" />
+<rect x="14" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="17" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="17" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="17" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="18" width="1" height="1" fill="#D76691" />
+<rect x="1" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="18" width="1" height="1" fill="#DF84A5" />
+<rect x="13" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="18" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="18" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="18" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="19" width="1" height="1" fill="#D76691" />
+<rect x="1" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="19" width="1" height="1" fill="#DF84A5" />
+<rect x="12" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="19" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="19" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="19" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="20" width="1" height="1" fill="#D76691" />
+<rect x="1" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="20" width="1" height="1" fill="#DF84A5" />
+<rect x="11" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="20" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="20" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="20" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="20" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="21" width="1" height="1" fill="#D76691" />
+<rect x="1" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="21" width="1" height="1" fill="#DF84A5" />
+<rect x="10" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="21" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="46" y="21" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="21" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="22" width="1" height="1" fill="#D76691" />
+<rect x="1" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="22" width="1" height="1" fill="#D76691" />
+<rect x="3" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="22" width="1" height="1" fill="#DF84A5" />
+<rect x="9" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="46" y="22" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="22" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="23" width="1" height="1" fill="#D76691" />
+<rect x="1" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="23" width="1" height="1" fill="#D76691" />
+<rect x="3" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="23" width="1" height="1" fill="#DF84A5" />
+<rect x="8" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="23" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="23" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="23" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="24" width="1" height="1" fill="#D76691" />
+<rect x="1" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="2" y="24" width="1" height="1" fill="#D76691" />
+<rect x="3" y="24" width="1" height="1" fill="#D76691" />
+<rect x="4" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="5" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="24" width="1" height="1" fill="#DF84A5" />
+<rect x="7" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="24" width="1" height="1" fill="#8C2F73" />
+<rect x="42" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="45" y="24" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="24" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="24" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="25" width="1" height="1" fill="#D76691" />
+<rect x="1" y="25" width="1" height="1" fill="#D76691" />
+<rect x="2" y="25" width="1" height="1" fill="#D76691" />
+<rect x="3" y="25" width="1" height="1" fill="#D76691" />
+<rect x="4" y="25" width="1" height="1" fill="#D76691" />
+<rect x="5" y="25" width="1" height="1" fill="#DF84A5" />
+<rect x="6" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="25" width="1" height="1" fill="#8C2F73" />
+<rect x="40" y="25" width="1" height="1" fill="#8C2F73" />
+<rect x="41" y="25" width="1" height="1" fill="#8C2F73" />
+<rect x="42" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="25" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="25" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="25" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="25" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="26" width="1" height="1" fill="#D76691" />
+<rect x="1" y="26" width="1" height="1" fill="#D76691" />
+<rect x="2" y="26" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="26" width="1" height="1" fill="#D76691" />
+<rect x="4" y="26" width="1" height="1" fill="#D76691" />
+<rect x="5" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="26" width="1" height="1" fill="#8C2F73" />
+<rect x="38" y="26" width="1" height="1" fill="#8C2F73" />
+<rect x="39" y="26" width="1" height="1" fill="#8C2F73" />
+<rect x="40" y="26" width="1" height="1" fill="#8C2F73" />
+<rect x="41" y="26" width="1" height="1" fill="#8C2F73" />
+<rect x="42" y="26" width="1" height="1" fill="#8C2F73" />
+<rect x="43" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="26" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="26" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="26" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="26" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="27" width="1" height="1" fill="#D76691" />
+<rect x="1" y="27" width="1" height="1" fill="#D76691" />
+<rect x="2" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="3" y="27" width="1" height="1" fill="#DF84A5" />
+<rect x="4" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="8" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="27" width="1" height="1" fill="#8C2F73" />
+<rect x="36" y="27" width="1" height="1" fill="#8C2F73" />
+<rect x="37" y="27" width="1" height="1" fill="#8C2F73" />
+<rect x="38" y="27" width="1" height="1" fill="#8C2F73" />
+<rect x="39" y="27" width="1" height="1" fill="#8C2F73" />
+<rect x="40" y="27" width="1" height="1" fill="#8C2F73" />
+<rect x="41" y="27" width="1" height="1" fill="#8C2F73" />
+<rect x="42" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="44" y="27" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="27" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="47" y="27" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="28" width="1" height="1" fill="#D76691" />
+<rect x="1" y="28" width="1" height="1" fill="#D76691" />
+<rect x="2" y="28" width="1" height="1" fill="#D76691" />
+<rect x="3" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="8" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="9" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="28" width="1" height="1" fill="#8C2F73" />
+<rect x="33" y="28" width="1" height="1" fill="#8C2F73" />
+<rect x="34" y="28" width="1" height="1" fill="#8C2F73" />
+<rect x="35" y="28" width="1" height="1" fill="#8C2F73" />
+<rect x="36" y="28" width="1" height="1" fill="#8C2F73" />
+<rect x="37" y="28" width="1" height="1" fill="#8C2F73" />
+<rect x="38" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="28" width="1" height="1" fill="#8C2F73" />
+<rect x="40" y="28" width="1" height="1" fill="#8C2F73" />
+<rect x="41" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="43" y="28" width="1" height="1" fill="#8C2F73" />
+<rect x="44" y="28" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="46" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="47" y="28" width="1" height="1" fill="#8C2F73" />
+<rect x="0" y="29" width="1" height="1" fill="#D76691" />
+<rect x="1" y="29" width="1" height="1" fill="#D76691" />
+<rect x="2" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="4" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="8" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="9" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="10" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="11" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="12" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="31" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="32" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="33" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="34" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="35" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="36" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="39" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="40" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="41" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="43" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="44" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="46" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="47" y="29" width="1" height="1" fill="#8C2F73" />
+<rect x="1" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="2" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="4" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="8" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="9" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="19" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="30" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="30" width="1" height="1" fill="#8C2F73" />
+<rect x="39" y="30" width="1" height="1" fill="#8C2F73" />
+<rect x="40" y="30" width="1" height="1" fill="#8C2F73" />
+<rect x="41" y="30" width="1" height="1" fill="#8C2F73" />
+<rect x="42" y="30" width="1" height="1" fill="#8C2F73" />
+<rect x="43" y="30" width="1" height="1" fill="#8C2F73" />
+<rect x="44" y="30" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="30" width="1" height="1" fill="#8C2F73" />
+<rect x="46" y="30" width="1" height="1" fill="#8C2F73" />
+<rect x="2" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="4" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="8" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="9" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="10" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="11" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="12" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="13" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="14" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="15" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="16" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="17" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="18" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="19" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="20" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="21" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="22" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="23" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="24" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="25" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="26" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="27" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="28" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="29" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="30" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="31" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="32" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="33" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="34" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="35" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="36" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="37" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="38" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="39" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="40" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="41" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="42" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="43" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="44" y="31" width="1" height="1" fill="#8C2F73" />
+<rect x="45" y="31" width="1" height="1" fill="#8C2F73" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Falaka.svg b/Edikoyo/.obsidian/icons/flags/Falaka.svg
new file mode 100644
index 0000000..6432200
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Falaka.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#D16931" />
+<rect x="3" y="0" width="1" height="1" fill="#D16931" />
+<rect x="4" y="0" width="1" height="1" fill="#D16931" />
+<rect x="5" y="0" width="1" height="1" fill="#D16931" />
+<rect x="6" y="0" width="1" height="1" fill="#D16931" />
+<rect x="7" y="0" width="1" height="1" fill="#D16931" />
+<rect x="8" y="0" width="1" height="1" fill="#D16931" />
+<rect x="9" y="0" width="1" height="1" fill="#D16931" />
+<rect x="10" y="0" width="1" height="1" fill="#D16931" />
+<rect x="11" y="0" width="1" height="1" fill="#D16931" />
+<rect x="12" y="0" width="1" height="1" fill="#D16931" />
+<rect x="13" y="0" width="1" height="1" fill="#D16931" />
+<rect x="14" y="0" width="1" height="1" fill="#D16931" />
+<rect x="15" y="0" width="1" height="1" fill="#D16931" />
+<rect x="16" y="0" width="1" height="1" fill="#D16931" />
+<rect x="17" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="18" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="19" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="20" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="21" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="22" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="23" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="24" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="25" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="26" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="27" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="28" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="29" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="30" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="31" y="0" width="1" height="1" fill="#D16931" />
+<rect x="32" y="0" width="1" height="1" fill="#D16931" />
+<rect x="33" y="0" width="1" height="1" fill="#D16931" />
+<rect x="34" y="0" width="1" height="1" fill="#D16931" />
+<rect x="35" y="0" width="1" height="1" fill="#D16931" />
+<rect x="36" y="0" width="1" height="1" fill="#D16931" />
+<rect x="37" y="0" width="1" height="1" fill="#D16931" />
+<rect x="38" y="0" width="1" height="1" fill="#D16931" />
+<rect x="39" y="0" width="1" height="1" fill="#D16931" />
+<rect x="40" y="0" width="1" height="1" fill="#D16931" />
+<rect x="41" y="0" width="1" height="1" fill="#D16931" />
+<rect x="42" y="0" width="1" height="1" fill="#D16931" />
+<rect x="43" y="0" width="1" height="1" fill="#D16931" />
+<rect x="44" y="0" width="1" height="1" fill="#D16931" />
+<rect x="45" y="0" width="1" height="1" fill="#D16931" />
+<rect x="1" y="1" width="1" height="1" fill="#D16931" />
+<rect x="2" y="1" width="1" height="1" fill="#D16931" />
+<rect x="3" y="1" width="1" height="1" fill="#D16931" />
+<rect x="4" y="1" width="1" height="1" fill="#D16931" />
+<rect x="5" y="1" width="1" height="1" fill="#D16931" />
+<rect x="6" y="1" width="1" height="1" fill="#D16931" />
+<rect x="7" y="1" width="1" height="1" fill="#D16931" />
+<rect x="8" y="1" width="1" height="1" fill="#D16931" />
+<rect x="9" y="1" width="1" height="1" fill="#D16931" />
+<rect x="10" y="1" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="1" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="1" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="1" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="1" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="1" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="1" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="1" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="28" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="29" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="1" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="1" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="1" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="1" width="1" height="1" fill="#D16931" />
+<rect x="34" y="1" width="1" height="1" fill="#D16931" />
+<rect x="35" y="1" width="1" height="1" fill="#D16931" />
+<rect x="36" y="1" width="1" height="1" fill="#D16931" />
+<rect x="37" y="1" width="1" height="1" fill="#D16931" />
+<rect x="38" y="1" width="1" height="1" fill="#D16931" />
+<rect x="39" y="1" width="1" height="1" fill="#D16931" />
+<rect x="40" y="1" width="1" height="1" fill="#DA863E" />
+<rect x="41" y="1" width="1" height="1" fill="#D16931" />
+<rect x="42" y="1" width="1" height="1" fill="#D16931" />
+<rect x="43" y="1" width="1" height="1" fill="#D16931" />
+<rect x="44" y="1" width="1" height="1" fill="#D16931" />
+<rect x="45" y="1" width="1" height="1" fill="#D16931" />
+<rect x="46" y="1" width="1" height="1" fill="#D16931" />
+<rect x="0" y="2" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="2" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="2" width="1" height="1" fill="#D16931" />
+<rect x="3" y="2" width="1" height="1" fill="#D16931" />
+<rect x="4" y="2" width="1" height="1" fill="#D16931" />
+<rect x="5" y="2" width="1" height="1" fill="#D16931" />
+<rect x="6" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="7" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="8" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="9" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="28" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="29" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="2" width="1" height="1" fill="#D16931" />
+<rect x="38" y="2" width="1" height="1" fill="#D16931" />
+<rect x="39" y="2" width="1" height="1" fill="#D16931" />
+<rect x="40" y="2" width="1" height="1" fill="#D16931" />
+<rect x="41" y="2" width="1" height="1" fill="#DA863E" />
+<rect x="42" y="2" width="1" height="1" fill="#D16931" />
+<rect x="43" y="2" width="1" height="1" fill="#D16931" />
+<rect x="44" y="2" width="1" height="1" fill="#D16931" />
+<rect x="45" y="2" width="1" height="1" fill="#D16931" />
+<rect x="46" y="2" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="2" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="3" width="1" height="1" fill="#D16931" />
+<rect x="4" y="3" width="1" height="1" fill="#D16931" />
+<rect x="5" y="3" width="1" height="1" fill="#D16931" />
+<rect x="6" y="3" width="1" height="1" fill="#D16931" />
+<rect x="7" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="8" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="9" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="28" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="3" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="3" width="1" height="1" fill="#D16931" />
+<rect x="36" y="3" width="1" height="1" fill="#D16931" />
+<rect x="37" y="3" width="1" height="1" fill="#D16931" />
+<rect x="38" y="3" width="1" height="1" fill="#D16931" />
+<rect x="39" y="3" width="1" height="1" fill="#D16931" />
+<rect x="40" y="3" width="1" height="1" fill="#D16931" />
+<rect x="41" y="3" width="1" height="1" fill="#D16931" />
+<rect x="42" y="3" width="1" height="1" fill="#D16931" />
+<rect x="43" y="3" width="1" height="1" fill="#D16931" />
+<rect x="44" y="3" width="1" height="1" fill="#D16931" />
+<rect x="45" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="4" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="4" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="4" width="1" height="1" fill="#D16931" />
+<rect x="5" y="4" width="1" height="1" fill="#D16931" />
+<rect x="6" y="4" width="1" height="1" fill="#D16931" />
+<rect x="7" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="8" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="9" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="4" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="4" width="1" height="1" fill="#D16931" />
+<rect x="37" y="4" width="1" height="1" fill="#D16931" />
+<rect x="38" y="4" width="1" height="1" fill="#D16931" />
+<rect x="39" y="4" width="1" height="1" fill="#D16931" />
+<rect x="40" y="4" width="1" height="1" fill="#D16931" />
+<rect x="41" y="4" width="1" height="1" fill="#D16931" />
+<rect x="42" y="4" width="1" height="1" fill="#D16931" />
+<rect x="43" y="4" width="1" height="1" fill="#D16931" />
+<rect x="44" y="4" width="1" height="1" fill="#C3422F" />
+<rect x="45" y="4" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="4" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="4" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="5" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="5" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="5" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="6" y="5" width="1" height="1" fill="#D16931" />
+<rect x="7" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="8" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="9" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="5" width="1" height="1" fill="#D16931" />
+<rect x="39" y="5" width="1" height="1" fill="#D16931" />
+<rect x="40" y="5" width="1" height="1" fill="#D16931" />
+<rect x="41" y="5" width="1" height="1" fill="#D16931" />
+<rect x="42" y="5" width="1" height="1" fill="#DA863E" />
+<rect x="43" y="5" width="1" height="1" fill="#C3422F" />
+<rect x="44" y="5" width="1" height="1" fill="#C3422F" />
+<rect x="45" y="5" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="5" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="5" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="6" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="6" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="6" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="6" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="7" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="8" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="9" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="6" width="1" height="1" fill="#DA863E" />
+<rect x="39" y="6" width="1" height="1" fill="#D16931" />
+<rect x="40" y="6" width="1" height="1" fill="#D16931" />
+<rect x="41" y="6" width="1" height="1" fill="#D16931" />
+<rect x="42" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="6" width="1" height="1" fill="#C3422F" />
+<rect x="45" y="6" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="6" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="6" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="8" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="9" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="7" width="1" height="1" fill="#202E37" />
+<rect x="21" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="7" width="1" height="1" fill="#202E37" />
+<rect x="24" y="7" width="1" height="1" fill="#202E37" />
+<rect x="25" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="7" width="1" height="1" fill="#202E37" />
+<rect x="28" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="7" width="1" height="1" fill="#DA863E" />
+<rect x="39" y="7" width="1" height="1" fill="#D16931" />
+<rect x="40" y="7" width="1" height="1" fill="#D16931" />
+<rect x="41" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="45" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="8" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="8" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="8" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="8" width="1" height="1" fill="#C3422F" />
+<rect x="7" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="9" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="8" width="1" height="1" fill="#202E37" />
+<rect x="19" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="8" width="1" height="1" fill="#202E37" />
+<rect x="24" y="8" width="1" height="1" fill="#202E37" />
+<rect x="25" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="8" width="1" height="1" fill="#202E37" />
+<rect x="30" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="8" width="1" height="1" fill="#DA863E" />
+<rect x="39" y="8" width="1" height="1" fill="#D16931" />
+<rect x="40" y="8" width="1" height="1" fill="#C3422F" />
+<rect x="41" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="8" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="8" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="8" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="9" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="9" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="9" width="1" height="1" fill="#202E37" />
+<rect x="17" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="9" width="1" height="1" fill="#202E37" />
+<rect x="24" y="9" width="1" height="1" fill="#202E37" />
+<rect x="25" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="9" width="1" height="1" fill="#202E37" />
+<rect x="32" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="9" width="1" height="1" fill="#DA863E" />
+<rect x="39" y="9" width="1" height="1" fill="#C3422F" />
+<rect x="40" y="9" width="1" height="1" fill="#C3422F" />
+<rect x="41" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="9" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="9" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="9" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="10" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="10" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="10" width="1" height="1" fill="#202E37" />
+<rect x="24" y="10" width="1" height="1" fill="#202E37" />
+<rect x="25" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="10" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="10" width="1" height="1" fill="#C3422F" />
+<rect x="41" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="10" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="10" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="11" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="11" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="11" width="1" height="1" fill="#202E37" />
+<rect x="15" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="11" width="1" height="1" fill="#202E37" />
+<rect x="24" y="11" width="1" height="1" fill="#202E37" />
+<rect x="25" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="11" width="1" height="1" fill="#202E37" />
+<rect x="34" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="11" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="11" width="1" height="1" fill="#C3422F" />
+<rect x="41" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="11" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="11" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="12" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="12" width="1" height="1" fill="#202E37" />
+<rect x="24" y="12" width="1" height="1" fill="#202E37" />
+<rect x="25" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="12" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="12" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="12" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="13" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="13" width="1" height="1" fill="#202E37" />
+<rect x="14" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="13" width="1" height="1" fill="#202E37" />
+<rect x="23" y="13" width="1" height="1" fill="#202E37" />
+<rect x="24" y="13" width="1" height="1" fill="#202E37" />
+<rect x="25" y="13" width="1" height="1" fill="#202E37" />
+<rect x="26" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="13" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="13" width="1" height="1" fill="#202E37" />
+<rect x="35" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="36" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="13" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="13" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="14" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="14" width="1" height="1" fill="#202E37" />
+<rect x="22" y="14" width="1" height="1" fill="#202E37" />
+<rect x="23" y="14" width="1" height="1" fill="#202E37" />
+<rect x="24" y="14" width="1" height="1" fill="#202E37" />
+<rect x="25" y="14" width="1" height="1" fill="#202E37" />
+<rect x="26" y="14" width="1" height="1" fill="#202E37" />
+<rect x="27" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="14" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="35" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="36" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="14" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="14" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="15" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="15" width="1" height="1" fill="#202E37" />
+<rect x="10" y="15" width="1" height="1" fill="#202E37" />
+<rect x="11" y="15" width="1" height="1" fill="#202E37" />
+<rect x="12" y="15" width="1" height="1" fill="#202E37" />
+<rect x="13" y="15" width="1" height="1" fill="#202E37" />
+<rect x="14" y="15" width="1" height="1" fill="#202E37" />
+<rect x="15" y="15" width="1" height="1" fill="#202E37" />
+<rect x="16" y="15" width="1" height="1" fill="#202E37" />
+<rect x="17" y="15" width="1" height="1" fill="#202E37" />
+<rect x="18" y="15" width="1" height="1" fill="#202E37" />
+<rect x="19" y="15" width="1" height="1" fill="#202E37" />
+<rect x="20" y="15" width="1" height="1" fill="#202E37" />
+<rect x="21" y="15" width="1" height="1" fill="#202E37" />
+<rect x="22" y="15" width="1" height="1" fill="#202E37" />
+<rect x="23" y="15" width="1" height="1" fill="#202E37" />
+<rect x="24" y="15" width="1" height="1" fill="#202E37" />
+<rect x="25" y="15" width="1" height="1" fill="#202E37" />
+<rect x="26" y="15" width="1" height="1" fill="#202E37" />
+<rect x="27" y="15" width="1" height="1" fill="#202E37" />
+<rect x="28" y="15" width="1" height="1" fill="#202E37" />
+<rect x="29" y="15" width="1" height="1" fill="#202E37" />
+<rect x="30" y="15" width="1" height="1" fill="#202E37" />
+<rect x="31" y="15" width="1" height="1" fill="#202E37" />
+<rect x="32" y="15" width="1" height="1" fill="#202E37" />
+<rect x="33" y="15" width="1" height="1" fill="#202E37" />
+<rect x="34" y="15" width="1" height="1" fill="#202E37" />
+<rect x="35" y="15" width="1" height="1" fill="#202E37" />
+<rect x="36" y="15" width="1" height="1" fill="#202E37" />
+<rect x="37" y="15" width="1" height="1" fill="#202E37" />
+<rect x="38" y="15" width="1" height="1" fill="#202E37" />
+<rect x="39" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="15" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="15" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="16" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="16" width="1" height="1" fill="#202E37" />
+<rect x="11" y="16" width="1" height="1" fill="#202E37" />
+<rect x="12" y="16" width="1" height="1" fill="#202E37" />
+<rect x="13" y="16" width="1" height="1" fill="#202E37" />
+<rect x="14" y="16" width="1" height="1" fill="#202E37" />
+<rect x="15" y="16" width="1" height="1" fill="#202E37" />
+<rect x="16" y="16" width="1" height="1" fill="#202E37" />
+<rect x="17" y="16" width="1" height="1" fill="#202E37" />
+<rect x="18" y="16" width="1" height="1" fill="#202E37" />
+<rect x="19" y="16" width="1" height="1" fill="#202E37" />
+<rect x="20" y="16" width="1" height="1" fill="#202E37" />
+<rect x="21" y="16" width="1" height="1" fill="#202E37" />
+<rect x="22" y="16" width="1" height="1" fill="#202E37" />
+<rect x="23" y="16" width="1" height="1" fill="#202E37" />
+<rect x="24" y="16" width="1" height="1" fill="#202E37" />
+<rect x="25" y="16" width="1" height="1" fill="#202E37" />
+<rect x="26" y="16" width="1" height="1" fill="#202E37" />
+<rect x="27" y="16" width="1" height="1" fill="#202E37" />
+<rect x="28" y="16" width="1" height="1" fill="#202E37" />
+<rect x="29" y="16" width="1" height="1" fill="#202E37" />
+<rect x="30" y="16" width="1" height="1" fill="#202E37" />
+<rect x="31" y="16" width="1" height="1" fill="#202E37" />
+<rect x="32" y="16" width="1" height="1" fill="#202E37" />
+<rect x="33" y="16" width="1" height="1" fill="#202E37" />
+<rect x="34" y="16" width="1" height="1" fill="#202E37" />
+<rect x="35" y="16" width="1" height="1" fill="#202E37" />
+<rect x="36" y="16" width="1" height="1" fill="#202E37" />
+<rect x="37" y="16" width="1" height="1" fill="#202E37" />
+<rect x="38" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="16" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="16" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="17" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="17" width="1" height="1" fill="#202E37" />
+<rect x="22" y="17" width="1" height="1" fill="#202E37" />
+<rect x="23" y="17" width="1" height="1" fill="#202E37" />
+<rect x="24" y="17" width="1" height="1" fill="#202E37" />
+<rect x="25" y="17" width="1" height="1" fill="#202E37" />
+<rect x="26" y="17" width="1" height="1" fill="#202E37" />
+<rect x="27" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="17" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="35" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="36" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="17" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="17" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="17" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="18" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="18" width="1" height="1" fill="#202E37" />
+<rect x="14" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="18" width="1" height="1" fill="#202E37" />
+<rect x="16" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="18" width="1" height="1" fill="#202E37" />
+<rect x="23" y="18" width="1" height="1" fill="#202E37" />
+<rect x="24" y="18" width="1" height="1" fill="#202E37" />
+<rect x="25" y="18" width="1" height="1" fill="#202E37" />
+<rect x="26" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="18" width="1" height="1" fill="#202E37" />
+<rect x="33" y="18" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="18" width="1" height="1" fill="#202E37" />
+<rect x="35" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="36" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="18" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="18" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="18" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="19" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="19" width="1" height="1" fill="#202E37" />
+<rect x="14" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="19" width="1" height="1" fill="#202E37" />
+<rect x="16" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="19" width="1" height="1" fill="#202E37" />
+<rect x="24" y="19" width="1" height="1" fill="#202E37" />
+<rect x="25" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="19" width="1" height="1" fill="#202E37" />
+<rect x="33" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="19" width="1" height="1" fill="#202E37" />
+<rect x="35" y="19" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="19" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="19" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="19" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="20" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="20" width="1" height="1" fill="#202E37" />
+<rect x="13" y="20" width="1" height="1" fill="#202E37" />
+<rect x="14" y="20" width="1" height="1" fill="#202E37" />
+<rect x="15" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="20" width="1" height="1" fill="#202E37" />
+<rect x="18" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="20" width="1" height="1" fill="#202E37" />
+<rect x="24" y="20" width="1" height="1" fill="#202E37" />
+<rect x="25" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="20" width="1" height="1" fill="#202E37" />
+<rect x="31" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="20" width="1" height="1" fill="#202E37" />
+<rect x="34" y="20" width="1" height="1" fill="#202E37" />
+<rect x="35" y="20" width="1" height="1" fill="#202E37" />
+<rect x="36" y="20" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="20" width="1" height="1" fill="#C3422F" />
+<rect x="45" y="20" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="20" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="20" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="21" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="21" width="1" height="1" fill="#202E37" />
+<rect x="16" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="21" width="1" height="1" fill="#202E37" />
+<rect x="18" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="21" width="1" height="1" fill="#202E37" />
+<rect x="20" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="21" width="1" height="1" fill="#202E37" />
+<rect x="24" y="21" width="1" height="1" fill="#202E37" />
+<rect x="25" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="21" width="1" height="1" fill="#202E37" />
+<rect x="29" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="21" width="1" height="1" fill="#202E37" />
+<rect x="31" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="21" width="1" height="1" fill="#202E37" />
+<rect x="33" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="21" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="21" width="1" height="1" fill="#C3422F" />
+<rect x="45" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="21" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="21" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="22" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="22" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="22" width="1" height="1" fill="#202E37" />
+<rect x="17" y="22" width="1" height="1" fill="#202E37" />
+<rect x="18" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="22" width="1" height="1" fill="#202E37" />
+<rect x="21" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="22" width="1" height="1" fill="#202E37" />
+<rect x="24" y="22" width="1" height="1" fill="#202E37" />
+<rect x="25" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="22" width="1" height="1" fill="#202E37" />
+<rect x="28" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="22" width="1" height="1" fill="#202E37" />
+<rect x="31" y="22" width="1" height="1" fill="#202E37" />
+<rect x="32" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="22" width="1" height="1" fill="#DA863E" />
+<rect x="39" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="22" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="22" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="23" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="23" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="9" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="23" width="1" height="1" fill="#202E37" />
+<rect x="16" y="23" width="1" height="1" fill="#202E37" />
+<rect x="17" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="23" width="1" height="1" fill="#202E37" />
+<rect x="19" y="23" width="1" height="1" fill="#202E37" />
+<rect x="20" y="23" width="1" height="1" fill="#202E37" />
+<rect x="21" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="23" width="1" height="1" fill="#202E37" />
+<rect x="24" y="23" width="1" height="1" fill="#202E37" />
+<rect x="25" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="23" width="1" height="1" fill="#202E37" />
+<rect x="28" y="23" width="1" height="1" fill="#202E37" />
+<rect x="29" y="23" width="1" height="1" fill="#202E37" />
+<rect x="30" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="23" width="1" height="1" fill="#202E37" />
+<rect x="32" y="23" width="1" height="1" fill="#202E37" />
+<rect x="33" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="39" y="23" width="1" height="1" fill="#DA863E" />
+<rect x="40" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="23" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="23" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="23" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="24" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="24" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="24" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="8" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="9" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="24" width="1" height="1" fill="#202E37" />
+<rect x="21" y="24" width="1" height="1" fill="#202E37" />
+<rect x="22" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="24" width="1" height="1" fill="#202E37" />
+<rect x="24" y="24" width="1" height="1" fill="#202E37" />
+<rect x="25" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="24" width="1" height="1" fill="#202E37" />
+<rect x="27" y="24" width="1" height="1" fill="#202E37" />
+<rect x="28" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="39" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="40" y="24" width="1" height="1" fill="#DA863E" />
+<rect x="41" y="24" width="1" height="1" fill="#C3422F" />
+<rect x="42" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="24" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="24" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="24" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="7" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="8" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="9" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="25" width="1" height="1" fill="#202E37" />
+<rect x="20" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="23" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="26" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="25" width="1" height="1" fill="#202E37" />
+<rect x="29" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="25" width="1" height="1" fill="#DA863E" />
+<rect x="39" y="25" width="1" height="1" fill="#D16931" />
+<rect x="40" y="25" width="1" height="1" fill="#D16931" />
+<rect x="41" y="25" width="1" height="1" fill="#D16931" />
+<rect x="42" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="45" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="26" width="1" height="1" fill="#D16931" />
+<rect x="6" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="7" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="8" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="9" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="22" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="27" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="26" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="26" width="1" height="1" fill="#D16931" />
+<rect x="38" y="26" width="1" height="1" fill="#D16931" />
+<rect x="39" y="26" width="1" height="1" fill="#D16931" />
+<rect x="40" y="26" width="1" height="1" fill="#D16931" />
+<rect x="41" y="26" width="1" height="1" fill="#D16931" />
+<rect x="42" y="26" width="1" height="1" fill="#D16931" />
+<rect x="43" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="45" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="27" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="27" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="27" width="1" height="1" fill="#D16931" />
+<rect x="5" y="27" width="1" height="1" fill="#D16931" />
+<rect x="6" y="27" width="1" height="1" fill="#D16931" />
+<rect x="7" y="27" width="1" height="1" fill="#D16931" />
+<rect x="8" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="9" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="21" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="28" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="27" width="1" height="1" fill="#D16931" />
+<rect x="36" y="27" width="1" height="1" fill="#D16931" />
+<rect x="37" y="27" width="1" height="1" fill="#D16931" />
+<rect x="38" y="27" width="1" height="1" fill="#D16931" />
+<rect x="39" y="27" width="1" height="1" fill="#D16931" />
+<rect x="40" y="27" width="1" height="1" fill="#D16931" />
+<rect x="41" y="27" width="1" height="1" fill="#D16931" />
+<rect x="42" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="43" y="27" width="1" height="1" fill="#DA863E" />
+<rect x="44" y="27" width="1" height="1" fill="#C3422F" />
+<rect x="45" y="27" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="47" y="27" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="28" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="28" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="28" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="4" y="28" width="1" height="1" fill="#D16931" />
+<rect x="5" y="28" width="1" height="1" fill="#D16931" />
+<rect x="6" y="28" width="1" height="1" fill="#D16931" />
+<rect x="7" y="28" width="1" height="1" fill="#D16931" />
+<rect x="8" y="28" width="1" height="1" fill="#D16931" />
+<rect x="9" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="20" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="28" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="29" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="28" width="1" height="1" fill="#D16931" />
+<rect x="33" y="28" width="1" height="1" fill="#D16931" />
+<rect x="34" y="28" width="1" height="1" fill="#D16931" />
+<rect x="35" y="28" width="1" height="1" fill="#D16931" />
+<rect x="36" y="28" width="1" height="1" fill="#D16931" />
+<rect x="37" y="28" width="1" height="1" fill="#D16931" />
+<rect x="38" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="39" y="28" width="1" height="1" fill="#D16931" />
+<rect x="40" y="28" width="1" height="1" fill="#D16931" />
+<rect x="41" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="42" y="28" width="1" height="1" fill="#DA863E" />
+<rect x="43" y="28" width="1" height="1" fill="#D16931" />
+<rect x="44" y="28" width="1" height="1" fill="#D16931" />
+<rect x="45" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="47" y="28" width="1" height="1" fill="#C3422F" />
+<rect x="0" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="29" width="1" height="1" fill="#D16931" />
+<rect x="3" y="29" width="1" height="1" fill="#D16931" />
+<rect x="4" y="29" width="1" height="1" fill="#D16931" />
+<rect x="5" y="29" width="1" height="1" fill="#D16931" />
+<rect x="6" y="29" width="1" height="1" fill="#D16931" />
+<rect x="7" y="29" width="1" height="1" fill="#D16931" />
+<rect x="8" y="29" width="1" height="1" fill="#D16931" />
+<rect x="9" y="29" width="1" height="1" fill="#D16931" />
+<rect x="10" y="29" width="1" height="1" fill="#D16931" />
+<rect x="11" y="29" width="1" height="1" fill="#D16931" />
+<rect x="12" y="29" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="29" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="29" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="29" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="29" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="29" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="29" width="1" height="1" fill="#DA863E" />
+<rect x="19" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="28" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="29" y="29" width="1" height="1" fill="#DA863E" />
+<rect x="30" y="29" width="1" height="1" fill="#D16931" />
+<rect x="31" y="29" width="1" height="1" fill="#D16931" />
+<rect x="32" y="29" width="1" height="1" fill="#D16931" />
+<rect x="33" y="29" width="1" height="1" fill="#D16931" />
+<rect x="34" y="29" width="1" height="1" fill="#D16931" />
+<rect x="35" y="29" width="1" height="1" fill="#D16931" />
+<rect x="36" y="29" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="29" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="29" width="1" height="1" fill="#D16931" />
+<rect x="39" y="29" width="1" height="1" fill="#D16931" />
+<rect x="40" y="29" width="1" height="1" fill="#D16931" />
+<rect x="41" y="29" width="1" height="1" fill="#DA863E" />
+<rect x="42" y="29" width="1" height="1" fill="#D16931" />
+<rect x="43" y="29" width="1" height="1" fill="#D16931" />
+<rect x="44" y="29" width="1" height="1" fill="#D16931" />
+<rect x="45" y="29" width="1" height="1" fill="#DA863E" />
+<rect x="46" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="30" width="1" height="1" fill="#D16931" />
+<rect x="2" y="30" width="1" height="1" fill="#D16931" />
+<rect x="3" y="30" width="1" height="1" fill="#D16931" />
+<rect x="4" y="30" width="1" height="1" fill="#D16931" />
+<rect x="5" y="30" width="1" height="1" fill="#D16931" />
+<rect x="6" y="30" width="1" height="1" fill="#D16931" />
+<rect x="7" y="30" width="1" height="1" fill="#D16931" />
+<rect x="8" y="30" width="1" height="1" fill="#D16931" />
+<rect x="9" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="10" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="11" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="12" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="13" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="14" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="15" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="16" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="17" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="18" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="28" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="29" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="31" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="32" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="33" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="34" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="35" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="36" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="37" y="30" width="1" height="1" fill="#DA863E" />
+<rect x="38" y="30" width="1" height="1" fill="#D16931" />
+<rect x="39" y="30" width="1" height="1" fill="#D16931" />
+<rect x="40" y="30" width="1" height="1" fill="#D16931" />
+<rect x="41" y="30" width="1" height="1" fill="#D16931" />
+<rect x="42" y="30" width="1" height="1" fill="#D16931" />
+<rect x="43" y="30" width="1" height="1" fill="#D16931" />
+<rect x="44" y="30" width="1" height="1" fill="#D16931" />
+<rect x="45" y="30" width="1" height="1" fill="#D16931" />
+<rect x="46" y="30" width="1" height="1" fill="#D16931" />
+<rect x="2" y="31" width="1" height="1" fill="#D16931" />
+<rect x="3" y="31" width="1" height="1" fill="#D16931" />
+<rect x="4" y="31" width="1" height="1" fill="#D16931" />
+<rect x="5" y="31" width="1" height="1" fill="#D16931" />
+<rect x="6" y="31" width="1" height="1" fill="#D16931" />
+<rect x="7" y="31" width="1" height="1" fill="#D16931" />
+<rect x="8" y="31" width="1" height="1" fill="#D16931" />
+<rect x="9" y="31" width="1" height="1" fill="#D16931" />
+<rect x="10" y="31" width="1" height="1" fill="#D16931" />
+<rect x="11" y="31" width="1" height="1" fill="#D16931" />
+<rect x="12" y="31" width="1" height="1" fill="#D16931" />
+<rect x="13" y="31" width="1" height="1" fill="#D16931" />
+<rect x="14" y="31" width="1" height="1" fill="#D16931" />
+<rect x="15" y="31" width="1" height="1" fill="#D16931" />
+<rect x="16" y="31" width="1" height="1" fill="#D16931" />
+<rect x="17" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="18" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="19" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="20" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="21" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="22" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="23" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="24" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="25" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="26" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="27" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="28" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="29" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="30" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="31" y="31" width="1" height="1" fill="#D16931" />
+<rect x="32" y="31" width="1" height="1" fill="#D16931" />
+<rect x="33" y="31" width="1" height="1" fill="#D16931" />
+<rect x="34" y="31" width="1" height="1" fill="#D16931" />
+<rect x="35" y="31" width="1" height="1" fill="#D16931" />
+<rect x="36" y="31" width="1" height="1" fill="#D16931" />
+<rect x="37" y="31" width="1" height="1" fill="#D16931" />
+<rect x="38" y="31" width="1" height="1" fill="#D16931" />
+<rect x="39" y="31" width="1" height="1" fill="#D16931" />
+<rect x="40" y="31" width="1" height="1" fill="#D16931" />
+<rect x="41" y="31" width="1" height="1" fill="#D16931" />
+<rect x="42" y="31" width="1" height="1" fill="#D16931" />
+<rect x="43" y="31" width="1" height="1" fill="#D16931" />
+<rect x="44" y="31" width="1" height="1" fill="#D16931" />
+<rect x="45" y="31" width="1" height="1" fill="#D16931" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Felmyr.svg b/Edikoyo/.obsidian/icons/flags/Felmyr.svg
new file mode 100644
index 0000000..1f9575e
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Felmyr.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="4" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="8" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="9" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="10" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="11" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="12" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="13" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="14" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="15" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="16" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="17" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="18" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="19" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="20" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="21" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="22" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="23" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="24" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="25" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="26" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="27" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="28" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="29" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="30" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="31" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="32" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="33" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="34" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="35" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="36" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="37" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="1" width="1" height="1" fill="#18232B" />
+<rect x="2" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="4" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="8" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="9" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="10" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="34" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="35" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="36" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="37" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="1" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="2" width="1" height="1" fill="#18232B" />
+<rect x="1" y="2" width="1" height="1" fill="#18232B" />
+<rect x="2" y="2" width="1" height="1" fill="#18232B" />
+<rect x="3" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="4" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="2" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="3" width="1" height="1" fill="#18232B" />
+<rect x="1" y="3" width="1" height="1" fill="#18232B" />
+<rect x="2" y="3" width="1" height="1" fill="#18232B" />
+<rect x="3" y="3" width="1" height="1" fill="#18232B" />
+<rect x="4" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="36" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="37" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="3" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="4" width="1" height="1" fill="#18232B" />
+<rect x="1" y="4" width="1" height="1" fill="#18232B" />
+<rect x="2" y="4" width="1" height="1" fill="#202E37" />
+<rect x="3" y="4" width="1" height="1" fill="#202E37" />
+<rect x="4" y="4" width="1" height="1" fill="#18232B" />
+<rect x="5" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="37" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="4" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="5" width="1" height="1" fill="#18232B" />
+<rect x="1" y="5" width="1" height="1" fill="#18232B" />
+<rect x="2" y="5" width="1" height="1" fill="#18232B" />
+<rect x="3" y="5" width="1" height="1" fill="#202E37" />
+<rect x="4" y="5" width="1" height="1" fill="#202E37" />
+<rect x="5" y="5" width="1" height="1" fill="#202E37" />
+<rect x="6" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="5" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="6" width="1" height="1" fill="#18232B" />
+<rect x="1" y="6" width="1" height="1" fill="#18232B" />
+<rect x="2" y="6" width="1" height="1" fill="#18232B" />
+<rect x="3" y="6" width="1" height="1" fill="#18232B" />
+<rect x="4" y="6" width="1" height="1" fill="#202E37" />
+<rect x="5" y="6" width="1" height="1" fill="#202E37" />
+<rect x="6" y="6" width="1" height="1" fill="#202E37" />
+<rect x="7" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="6" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="6" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="6" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="6" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="6" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="6" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="6" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="7" width="1" height="1" fill="#18232B" />
+<rect x="1" y="7" width="1" height="1" fill="#18232B" />
+<rect x="2" y="7" width="1" height="1" fill="#18232B" />
+<rect x="3" y="7" width="1" height="1" fill="#18232B" />
+<rect x="4" y="7" width="1" height="1" fill="#18232B" />
+<rect x="5" y="7" width="1" height="1" fill="#18232B" />
+<rect x="6" y="7" width="1" height="1" fill="#202E37" />
+<rect x="7" y="7" width="1" height="1" fill="#202E37" />
+<rect x="8" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="7" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="7" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="7" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="7" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="7" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="7" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="8" width="1" height="1" fill="#18232B" />
+<rect x="1" y="8" width="1" height="1" fill="#18232B" />
+<rect x="2" y="8" width="1" height="1" fill="#202E37" />
+<rect x="3" y="8" width="1" height="1" fill="#202E37" />
+<rect x="4" y="8" width="1" height="1" fill="#202E37" />
+<rect x="5" y="8" width="1" height="1" fill="#18232B" />
+<rect x="6" y="8" width="1" height="1" fill="#18232B" />
+<rect x="7" y="8" width="1" height="1" fill="#202E37" />
+<rect x="8" y="8" width="1" height="1" fill="#202E37" />
+<rect x="9" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="9" width="1" height="1" fill="#18232B" />
+<rect x="1" y="9" width="1" height="1" fill="#18232B" />
+<rect x="2" y="9" width="1" height="1" fill="#202E37" />
+<rect x="3" y="9" width="1" height="1" fill="#202E37" />
+<rect x="4" y="9" width="1" height="1" fill="#202E37" />
+<rect x="5" y="9" width="1" height="1" fill="#202E37" />
+<rect x="6" y="9" width="1" height="1" fill="#202E37" />
+<rect x="7" y="9" width="1" height="1" fill="#202E37" />
+<rect x="8" y="9" width="1" height="1" fill="#202E37" />
+<rect x="9" y="9" width="1" height="1" fill="#202E37" />
+<rect x="10" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="10" width="1" height="1" fill="#18232B" />
+<rect x="1" y="10" width="1" height="1" fill="#18232B" />
+<rect x="2" y="10" width="1" height="1" fill="#202E37" />
+<rect x="3" y="10" width="1" height="1" fill="#202E37" />
+<rect x="4" y="10" width="1" height="1" fill="#202E37" />
+<rect x="5" y="10" width="1" height="1" fill="#202E37" />
+<rect x="6" y="10" width="1" height="1" fill="#202E37" />
+<rect x="7" y="10" width="1" height="1" fill="#202E37" />
+<rect x="8" y="10" width="1" height="1" fill="#202E37" />
+<rect x="9" y="10" width="1" height="1" fill="#202E37" />
+<rect x="10" y="10" width="1" height="1" fill="#202E37" />
+<rect x="11" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="10" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="10" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="10" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="11" width="1" height="1" fill="#18232B" />
+<rect x="1" y="11" width="1" height="1" fill="#18232B" />
+<rect x="2" y="11" width="1" height="1" fill="#202E37" />
+<rect x="3" y="11" width="1" height="1" fill="#202E37" />
+<rect x="4" y="11" width="1" height="1" fill="#202E37" />
+<rect x="5" y="11" width="1" height="1" fill="#202E37" />
+<rect x="6" y="11" width="1" height="1" fill="#75A743" />
+<rect x="7" y="11" width="1" height="1" fill="#202E37" />
+<rect x="8" y="11" width="1" height="1" fill="#202E37" />
+<rect x="9" y="11" width="1" height="1" fill="#202E37" />
+<rect x="10" y="11" width="1" height="1" fill="#202E37" />
+<rect x="11" y="11" width="1" height="1" fill="#202E37" />
+<rect x="12" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="11" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="11" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="11" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="12" width="1" height="1" fill="#18232B" />
+<rect x="1" y="12" width="1" height="1" fill="#202E37" />
+<rect x="2" y="12" width="1" height="1" fill="#202E37" />
+<rect x="3" y="12" width="1" height="1" fill="#202E37" />
+<rect x="4" y="12" width="1" height="1" fill="#202E37" />
+<rect x="5" y="12" width="1" height="1" fill="#202E37" />
+<rect x="6" y="12" width="1" height="1" fill="#202E37" />
+<rect x="7" y="12" width="1" height="1" fill="#202E37" />
+<rect x="8" y="12" width="1" height="1" fill="#202E37" />
+<rect x="9" y="12" width="1" height="1" fill="#202E37" />
+<rect x="10" y="12" width="1" height="1" fill="#202E37" />
+<rect x="11" y="12" width="1" height="1" fill="#202E37" />
+<rect x="12" y="12" width="1" height="1" fill="#202E37" />
+<rect x="13" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="12" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="12" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="13" width="1" height="1" fill="#18232B" />
+<rect x="1" y="13" width="1" height="1" fill="#202E37" />
+<rect x="2" y="13" width="1" height="1" fill="#202E37" />
+<rect x="3" y="13" width="1" height="1" fill="#202E37" />
+<rect x="4" y="13" width="1" height="1" fill="#202E37" />
+<rect x="5" y="13" width="1" height="1" fill="#202E37" />
+<rect x="6" y="13" width="1" height="1" fill="#75A743" />
+<rect x="7" y="13" width="1" height="1" fill="#202E37" />
+<rect x="8" y="13" width="1" height="1" fill="#202E37" />
+<rect x="9" y="13" width="1" height="1" fill="#202E37" />
+<rect x="10" y="13" width="1" height="1" fill="#202E37" />
+<rect x="11" y="13" width="1" height="1" fill="#202E37" />
+<rect x="12" y="13" width="1" height="1" fill="#202E37" />
+<rect x="13" y="13" width="1" height="1" fill="#202E37" />
+<rect x="14" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="13" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="13" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="14" width="1" height="1" fill="#18232B" />
+<rect x="1" y="14" width="1" height="1" fill="#202E37" />
+<rect x="2" y="14" width="1" height="1" fill="#202E37" />
+<rect x="3" y="14" width="1" height="1" fill="#202E37" />
+<rect x="4" y="14" width="1" height="1" fill="#202E37" />
+<rect x="5" y="14" width="1" height="1" fill="#75A743" />
+<rect x="6" y="14" width="1" height="1" fill="#75A743" />
+<rect x="7" y="14" width="1" height="1" fill="#75A743" />
+<rect x="8" y="14" width="1" height="1" fill="#202E37" />
+<rect x="9" y="14" width="1" height="1" fill="#202E37" />
+<rect x="10" y="14" width="1" height="1" fill="#202E37" />
+<rect x="11" y="14" width="1" height="1" fill="#202E37" />
+<rect x="12" y="14" width="1" height="1" fill="#202E37" />
+<rect x="13" y="14" width="1" height="1" fill="#202E37" />
+<rect x="14" y="14" width="1" height="1" fill="#202E37" />
+<rect x="15" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="14" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="14" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="15" width="1" height="1" fill="#18232B" />
+<rect x="1" y="15" width="1" height="1" fill="#202E37" />
+<rect x="2" y="15" width="1" height="1" fill="#75A743" />
+<rect x="3" y="15" width="1" height="1" fill="#202E37" />
+<rect x="4" y="15" width="1" height="1" fill="#75A743" />
+<rect x="5" y="15" width="1" height="1" fill="#75A743" />
+<rect x="6" y="15" width="1" height="1" fill="#75A743" />
+<rect x="7" y="15" width="1" height="1" fill="#75A743" />
+<rect x="8" y="15" width="1" height="1" fill="#75A743" />
+<rect x="9" y="15" width="1" height="1" fill="#202E37" />
+<rect x="10" y="15" width="1" height="1" fill="#75A743" />
+<rect x="11" y="15" width="1" height="1" fill="#202E37" />
+<rect x="12" y="15" width="1" height="1" fill="#202E37" />
+<rect x="13" y="15" width="1" height="1" fill="#202E37" />
+<rect x="14" y="15" width="1" height="1" fill="#202E37" />
+<rect x="15" y="15" width="1" height="1" fill="#202E37" />
+<rect x="16" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="15" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="15" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="16" width="1" height="1" fill="#18232B" />
+<rect x="1" y="16" width="1" height="1" fill="#202E37" />
+<rect x="2" y="16" width="1" height="1" fill="#202E37" />
+<rect x="3" y="16" width="1" height="1" fill="#202E37" />
+<rect x="4" y="16" width="1" height="1" fill="#202E37" />
+<rect x="5" y="16" width="1" height="1" fill="#75A743" />
+<rect x="6" y="16" width="1" height="1" fill="#75A743" />
+<rect x="7" y="16" width="1" height="1" fill="#75A743" />
+<rect x="8" y="16" width="1" height="1" fill="#202E37" />
+<rect x="9" y="16" width="1" height="1" fill="#202E37" />
+<rect x="10" y="16" width="1" height="1" fill="#202E37" />
+<rect x="11" y="16" width="1" height="1" fill="#202E37" />
+<rect x="12" y="16" width="1" height="1" fill="#202E37" />
+<rect x="13" y="16" width="1" height="1" fill="#202E37" />
+<rect x="14" y="16" width="1" height="1" fill="#202E37" />
+<rect x="15" y="16" width="1" height="1" fill="#202E37" />
+<rect x="16" y="16" width="1" height="1" fill="#75A743" />
+<rect x="17" y="16" width="1" height="1" fill="#75A743" />
+<rect x="18" y="16" width="1" height="1" fill="#75A743" />
+<rect x="19" y="16" width="1" height="1" fill="#75A743" />
+<rect x="20" y="16" width="1" height="1" fill="#75A743" />
+<rect x="21" y="16" width="1" height="1" fill="#75A743" />
+<rect x="22" y="16" width="1" height="1" fill="#75A743" />
+<rect x="23" y="16" width="1" height="1" fill="#75A743" />
+<rect x="24" y="16" width="1" height="1" fill="#75A743" />
+<rect x="25" y="16" width="1" height="1" fill="#75A743" />
+<rect x="26" y="16" width="1" height="1" fill="#75A743" />
+<rect x="27" y="16" width="1" height="1" fill="#75A743" />
+<rect x="28" y="16" width="1" height="1" fill="#75A743" />
+<rect x="29" y="16" width="1" height="1" fill="#75A743" />
+<rect x="30" y="16" width="1" height="1" fill="#75A743" />
+<rect x="31" y="16" width="1" height="1" fill="#75A743" />
+<rect x="32" y="16" width="1" height="1" fill="#75A743" />
+<rect x="33" y="16" width="1" height="1" fill="#75A743" />
+<rect x="34" y="16" width="1" height="1" fill="#75A743" />
+<rect x="35" y="16" width="1" height="1" fill="#75A743" />
+<rect x="36" y="16" width="1" height="1" fill="#75A743" />
+<rect x="37" y="16" width="1" height="1" fill="#75A743" />
+<rect x="38" y="16" width="1" height="1" fill="#75A743" />
+<rect x="39" y="16" width="1" height="1" fill="#75A743" />
+<rect x="40" y="16" width="1" height="1" fill="#75A743" />
+<rect x="41" y="16" width="1" height="1" fill="#75A743" />
+<rect x="42" y="16" width="1" height="1" fill="#75A743" />
+<rect x="43" y="16" width="1" height="1" fill="#75A743" />
+<rect x="44" y="16" width="1" height="1" fill="#75A743" />
+<rect x="45" y="16" width="1" height="1" fill="#75A743" />
+<rect x="46" y="16" width="1" height="1" fill="#589235" />
+<rect x="47" y="16" width="1" height="1" fill="#589235" />
+<rect x="0" y="17" width="1" height="1" fill="#18232B" />
+<rect x="1" y="17" width="1" height="1" fill="#202E37" />
+<rect x="2" y="17" width="1" height="1" fill="#202E37" />
+<rect x="3" y="17" width="1" height="1" fill="#202E37" />
+<rect x="4" y="17" width="1" height="1" fill="#202E37" />
+<rect x="5" y="17" width="1" height="1" fill="#202E37" />
+<rect x="6" y="17" width="1" height="1" fill="#75A743" />
+<rect x="7" y="17" width="1" height="1" fill="#202E37" />
+<rect x="8" y="17" width="1" height="1" fill="#202E37" />
+<rect x="9" y="17" width="1" height="1" fill="#202E37" />
+<rect x="10" y="17" width="1" height="1" fill="#202E37" />
+<rect x="11" y="17" width="1" height="1" fill="#202E37" />
+<rect x="12" y="17" width="1" height="1" fill="#202E37" />
+<rect x="13" y="17" width="1" height="1" fill="#202E37" />
+<rect x="14" y="17" width="1" height="1" fill="#202E37" />
+<rect x="15" y="17" width="1" height="1" fill="#75A743" />
+<rect x="16" y="17" width="1" height="1" fill="#75A743" />
+<rect x="17" y="17" width="1" height="1" fill="#75A743" />
+<rect x="18" y="17" width="1" height="1" fill="#75A743" />
+<rect x="19" y="17" width="1" height="1" fill="#75A743" />
+<rect x="20" y="17" width="1" height="1" fill="#75A743" />
+<rect x="21" y="17" width="1" height="1" fill="#75A743" />
+<rect x="22" y="17" width="1" height="1" fill="#75A743" />
+<rect x="23" y="17" width="1" height="1" fill="#75A743" />
+<rect x="24" y="17" width="1" height="1" fill="#75A743" />
+<rect x="25" y="17" width="1" height="1" fill="#75A743" />
+<rect x="26" y="17" width="1" height="1" fill="#75A743" />
+<rect x="27" y="17" width="1" height="1" fill="#75A743" />
+<rect x="28" y="17" width="1" height="1" fill="#75A743" />
+<rect x="29" y="17" width="1" height="1" fill="#75A743" />
+<rect x="30" y="17" width="1" height="1" fill="#75A743" />
+<rect x="31" y="17" width="1" height="1" fill="#75A743" />
+<rect x="32" y="17" width="1" height="1" fill="#75A743" />
+<rect x="33" y="17" width="1" height="1" fill="#75A743" />
+<rect x="34" y="17" width="1" height="1" fill="#75A743" />
+<rect x="35" y="17" width="1" height="1" fill="#75A743" />
+<rect x="36" y="17" width="1" height="1" fill="#75A743" />
+<rect x="37" y="17" width="1" height="1" fill="#75A743" />
+<rect x="38" y="17" width="1" height="1" fill="#75A743" />
+<rect x="39" y="17" width="1" height="1" fill="#75A743" />
+<rect x="40" y="17" width="1" height="1" fill="#75A743" />
+<rect x="41" y="17" width="1" height="1" fill="#75A743" />
+<rect x="42" y="17" width="1" height="1" fill="#75A743" />
+<rect x="43" y="17" width="1" height="1" fill="#75A743" />
+<rect x="44" y="17" width="1" height="1" fill="#75A743" />
+<rect x="45" y="17" width="1" height="1" fill="#589235" />
+<rect x="46" y="17" width="1" height="1" fill="#589235" />
+<rect x="47" y="17" width="1" height="1" fill="#589235" />
+<rect x="0" y="18" width="1" height="1" fill="#18232B" />
+<rect x="1" y="18" width="1" height="1" fill="#202E37" />
+<rect x="2" y="18" width="1" height="1" fill="#202E37" />
+<rect x="3" y="18" width="1" height="1" fill="#202E37" />
+<rect x="4" y="18" width="1" height="1" fill="#202E37" />
+<rect x="5" y="18" width="1" height="1" fill="#202E37" />
+<rect x="6" y="18" width="1" height="1" fill="#202E37" />
+<rect x="7" y="18" width="1" height="1" fill="#202E37" />
+<rect x="8" y="18" width="1" height="1" fill="#202E37" />
+<rect x="9" y="18" width="1" height="1" fill="#202E37" />
+<rect x="10" y="18" width="1" height="1" fill="#202E37" />
+<rect x="11" y="18" width="1" height="1" fill="#202E37" />
+<rect x="12" y="18" width="1" height="1" fill="#202E37" />
+<rect x="13" y="18" width="1" height="1" fill="#202E37" />
+<rect x="14" y="18" width="1" height="1" fill="#75A743" />
+<rect x="15" y="18" width="1" height="1" fill="#75A743" />
+<rect x="16" y="18" width="1" height="1" fill="#75A743" />
+<rect x="17" y="18" width="1" height="1" fill="#75A743" />
+<rect x="18" y="18" width="1" height="1" fill="#75A743" />
+<rect x="19" y="18" width="1" height="1" fill="#75A743" />
+<rect x="20" y="18" width="1" height="1" fill="#75A743" />
+<rect x="21" y="18" width="1" height="1" fill="#75A743" />
+<rect x="22" y="18" width="1" height="1" fill="#75A743" />
+<rect x="23" y="18" width="1" height="1" fill="#75A743" />
+<rect x="24" y="18" width="1" height="1" fill="#75A743" />
+<rect x="25" y="18" width="1" height="1" fill="#75A743" />
+<rect x="26" y="18" width="1" height="1" fill="#75A743" />
+<rect x="27" y="18" width="1" height="1" fill="#75A743" />
+<rect x="28" y="18" width="1" height="1" fill="#75A743" />
+<rect x="29" y="18" width="1" height="1" fill="#75A743" />
+<rect x="30" y="18" width="1" height="1" fill="#75A743" />
+<rect x="31" y="18" width="1" height="1" fill="#75A743" />
+<rect x="32" y="18" width="1" height="1" fill="#75A743" />
+<rect x="33" y="18" width="1" height="1" fill="#75A743" />
+<rect x="34" y="18" width="1" height="1" fill="#75A743" />
+<rect x="35" y="18" width="1" height="1" fill="#75A743" />
+<rect x="36" y="18" width="1" height="1" fill="#75A743" />
+<rect x="37" y="18" width="1" height="1" fill="#75A743" />
+<rect x="38" y="18" width="1" height="1" fill="#75A743" />
+<rect x="39" y="18" width="1" height="1" fill="#75A743" />
+<rect x="40" y="18" width="1" height="1" fill="#75A743" />
+<rect x="41" y="18" width="1" height="1" fill="#75A743" />
+<rect x="42" y="18" width="1" height="1" fill="#75A743" />
+<rect x="43" y="18" width="1" height="1" fill="#75A743" />
+<rect x="44" y="18" width="1" height="1" fill="#75A743" />
+<rect x="45" y="18" width="1" height="1" fill="#589235" />
+<rect x="46" y="18" width="1" height="1" fill="#589235" />
+<rect x="47" y="18" width="1" height="1" fill="#589235" />
+<rect x="0" y="19" width="1" height="1" fill="#18232B" />
+<rect x="1" y="19" width="1" height="1" fill="#202E37" />
+<rect x="2" y="19" width="1" height="1" fill="#202E37" />
+<rect x="3" y="19" width="1" height="1" fill="#202E37" />
+<rect x="4" y="19" width="1" height="1" fill="#202E37" />
+<rect x="5" y="19" width="1" height="1" fill="#202E37" />
+<rect x="6" y="19" width="1" height="1" fill="#75A743" />
+<rect x="7" y="19" width="1" height="1" fill="#202E37" />
+<rect x="8" y="19" width="1" height="1" fill="#202E37" />
+<rect x="9" y="19" width="1" height="1" fill="#202E37" />
+<rect x="10" y="19" width="1" height="1" fill="#202E37" />
+<rect x="11" y="19" width="1" height="1" fill="#202E37" />
+<rect x="12" y="19" width="1" height="1" fill="#202E37" />
+<rect x="13" y="19" width="1" height="1" fill="#75A743" />
+<rect x="14" y="19" width="1" height="1" fill="#75A743" />
+<rect x="15" y="19" width="1" height="1" fill="#75A743" />
+<rect x="16" y="19" width="1" height="1" fill="#75A743" />
+<rect x="17" y="19" width="1" height="1" fill="#75A743" />
+<rect x="18" y="19" width="1" height="1" fill="#75A743" />
+<rect x="19" y="19" width="1" height="1" fill="#75A743" />
+<rect x="20" y="19" width="1" height="1" fill="#75A743" />
+<rect x="21" y="19" width="1" height="1" fill="#75A743" />
+<rect x="22" y="19" width="1" height="1" fill="#75A743" />
+<rect x="23" y="19" width="1" height="1" fill="#75A743" />
+<rect x="24" y="19" width="1" height="1" fill="#75A743" />
+<rect x="25" y="19" width="1" height="1" fill="#75A743" />
+<rect x="26" y="19" width="1" height="1" fill="#75A743" />
+<rect x="27" y="19" width="1" height="1" fill="#75A743" />
+<rect x="28" y="19" width="1" height="1" fill="#75A743" />
+<rect x="29" y="19" width="1" height="1" fill="#75A743" />
+<rect x="30" y="19" width="1" height="1" fill="#75A743" />
+<rect x="31" y="19" width="1" height="1" fill="#75A743" />
+<rect x="32" y="19" width="1" height="1" fill="#75A743" />
+<rect x="33" y="19" width="1" height="1" fill="#75A743" />
+<rect x="34" y="19" width="1" height="1" fill="#75A743" />
+<rect x="35" y="19" width="1" height="1" fill="#75A743" />
+<rect x="36" y="19" width="1" height="1" fill="#75A743" />
+<rect x="37" y="19" width="1" height="1" fill="#75A743" />
+<rect x="38" y="19" width="1" height="1" fill="#75A743" />
+<rect x="39" y="19" width="1" height="1" fill="#75A743" />
+<rect x="40" y="19" width="1" height="1" fill="#75A743" />
+<rect x="41" y="19" width="1" height="1" fill="#75A743" />
+<rect x="42" y="19" width="1" height="1" fill="#75A743" />
+<rect x="43" y="19" width="1" height="1" fill="#75A743" />
+<rect x="44" y="19" width="1" height="1" fill="#75A743" />
+<rect x="45" y="19" width="1" height="1" fill="#589235" />
+<rect x="46" y="19" width="1" height="1" fill="#589235" />
+<rect x="47" y="19" width="1" height="1" fill="#589235" />
+<rect x="0" y="20" width="1" height="1" fill="#18232B" />
+<rect x="1" y="20" width="1" height="1" fill="#202E37" />
+<rect x="2" y="20" width="1" height="1" fill="#202E37" />
+<rect x="3" y="20" width="1" height="1" fill="#202E37" />
+<rect x="4" y="20" width="1" height="1" fill="#202E37" />
+<rect x="5" y="20" width="1" height="1" fill="#202E37" />
+<rect x="6" y="20" width="1" height="1" fill="#202E37" />
+<rect x="7" y="20" width="1" height="1" fill="#202E37" />
+<rect x="8" y="20" width="1" height="1" fill="#202E37" />
+<rect x="9" y="20" width="1" height="1" fill="#202E37" />
+<rect x="10" y="20" width="1" height="1" fill="#202E37" />
+<rect x="11" y="20" width="1" height="1" fill="#202E37" />
+<rect x="12" y="20" width="1" height="1" fill="#75A743" />
+<rect x="13" y="20" width="1" height="1" fill="#75A743" />
+<rect x="14" y="20" width="1" height="1" fill="#75A743" />
+<rect x="15" y="20" width="1" height="1" fill="#75A743" />
+<rect x="16" y="20" width="1" height="1" fill="#75A743" />
+<rect x="17" y="20" width="1" height="1" fill="#75A743" />
+<rect x="18" y="20" width="1" height="1" fill="#75A743" />
+<rect x="19" y="20" width="1" height="1" fill="#75A743" />
+<rect x="20" y="20" width="1" height="1" fill="#75A743" />
+<rect x="21" y="20" width="1" height="1" fill="#75A743" />
+<rect x="22" y="20" width="1" height="1" fill="#75A743" />
+<rect x="23" y="20" width="1" height="1" fill="#75A743" />
+<rect x="24" y="20" width="1" height="1" fill="#75A743" />
+<rect x="25" y="20" width="1" height="1" fill="#75A743" />
+<rect x="26" y="20" width="1" height="1" fill="#75A743" />
+<rect x="27" y="20" width="1" height="1" fill="#75A743" />
+<rect x="28" y="20" width="1" height="1" fill="#75A743" />
+<rect x="29" y="20" width="1" height="1" fill="#75A743" />
+<rect x="30" y="20" width="1" height="1" fill="#75A743" />
+<rect x="31" y="20" width="1" height="1" fill="#75A743" />
+<rect x="32" y="20" width="1" height="1" fill="#75A743" />
+<rect x="33" y="20" width="1" height="1" fill="#75A743" />
+<rect x="34" y="20" width="1" height="1" fill="#75A743" />
+<rect x="35" y="20" width="1" height="1" fill="#75A743" />
+<rect x="36" y="20" width="1" height="1" fill="#75A743" />
+<rect x="37" y="20" width="1" height="1" fill="#75A743" />
+<rect x="38" y="20" width="1" height="1" fill="#75A743" />
+<rect x="39" y="20" width="1" height="1" fill="#75A743" />
+<rect x="40" y="20" width="1" height="1" fill="#75A743" />
+<rect x="41" y="20" width="1" height="1" fill="#75A743" />
+<rect x="42" y="20" width="1" height="1" fill="#75A743" />
+<rect x="43" y="20" width="1" height="1" fill="#75A743" />
+<rect x="44" y="20" width="1" height="1" fill="#589235" />
+<rect x="45" y="20" width="1" height="1" fill="#589235" />
+<rect x="46" y="20" width="1" height="1" fill="#589235" />
+<rect x="47" y="20" width="1" height="1" fill="#589235" />
+<rect x="0" y="21" width="1" height="1" fill="#18232B" />
+<rect x="1" y="21" width="1" height="1" fill="#202E37" />
+<rect x="2" y="21" width="1" height="1" fill="#202E37" />
+<rect x="3" y="21" width="1" height="1" fill="#202E37" />
+<rect x="4" y="21" width="1" height="1" fill="#202E37" />
+<rect x="5" y="21" width="1" height="1" fill="#202E37" />
+<rect x="6" y="21" width="1" height="1" fill="#202E37" />
+<rect x="7" y="21" width="1" height="1" fill="#202E37" />
+<rect x="8" y="21" width="1" height="1" fill="#202E37" />
+<rect x="9" y="21" width="1" height="1" fill="#202E37" />
+<rect x="10" y="21" width="1" height="1" fill="#202E37" />
+<rect x="11" y="21" width="1" height="1" fill="#75A743" />
+<rect x="12" y="21" width="1" height="1" fill="#75A743" />
+<rect x="13" y="21" width="1" height="1" fill="#75A743" />
+<rect x="14" y="21" width="1" height="1" fill="#75A743" />
+<rect x="15" y="21" width="1" height="1" fill="#75A743" />
+<rect x="16" y="21" width="1" height="1" fill="#75A743" />
+<rect x="17" y="21" width="1" height="1" fill="#75A743" />
+<rect x="18" y="21" width="1" height="1" fill="#75A743" />
+<rect x="19" y="21" width="1" height="1" fill="#75A743" />
+<rect x="20" y="21" width="1" height="1" fill="#75A743" />
+<rect x="21" y="21" width="1" height="1" fill="#75A743" />
+<rect x="22" y="21" width="1" height="1" fill="#75A743" />
+<rect x="23" y="21" width="1" height="1" fill="#75A743" />
+<rect x="24" y="21" width="1" height="1" fill="#75A743" />
+<rect x="25" y="21" width="1" height="1" fill="#75A743" />
+<rect x="26" y="21" width="1" height="1" fill="#75A743" />
+<rect x="27" y="21" width="1" height="1" fill="#75A743" />
+<rect x="28" y="21" width="1" height="1" fill="#75A743" />
+<rect x="29" y="21" width="1" height="1" fill="#75A743" />
+<rect x="30" y="21" width="1" height="1" fill="#75A743" />
+<rect x="31" y="21" width="1" height="1" fill="#75A743" />
+<rect x="32" y="21" width="1" height="1" fill="#75A743" />
+<rect x="33" y="21" width="1" height="1" fill="#75A743" />
+<rect x="34" y="21" width="1" height="1" fill="#75A743" />
+<rect x="35" y="21" width="1" height="1" fill="#75A743" />
+<rect x="36" y="21" width="1" height="1" fill="#75A743" />
+<rect x="37" y="21" width="1" height="1" fill="#75A743" />
+<rect x="38" y="21" width="1" height="1" fill="#75A743" />
+<rect x="39" y="21" width="1" height="1" fill="#75A743" />
+<rect x="40" y="21" width="1" height="1" fill="#75A743" />
+<rect x="41" y="21" width="1" height="1" fill="#75A743" />
+<rect x="42" y="21" width="1" height="1" fill="#75A743" />
+<rect x="43" y="21" width="1" height="1" fill="#75A743" />
+<rect x="44" y="21" width="1" height="1" fill="#589235" />
+<rect x="45" y="21" width="1" height="1" fill="#75A743" />
+<rect x="46" y="21" width="1" height="1" fill="#589235" />
+<rect x="47" y="21" width="1" height="1" fill="#589235" />
+<rect x="0" y="22" width="1" height="1" fill="#18232B" />
+<rect x="1" y="22" width="1" height="1" fill="#202E37" />
+<rect x="2" y="22" width="1" height="1" fill="#18232B" />
+<rect x="3" y="22" width="1" height="1" fill="#202E37" />
+<rect x="4" y="22" width="1" height="1" fill="#202E37" />
+<rect x="5" y="22" width="1" height="1" fill="#202E37" />
+<rect x="6" y="22" width="1" height="1" fill="#202E37" />
+<rect x="7" y="22" width="1" height="1" fill="#202E37" />
+<rect x="8" y="22" width="1" height="1" fill="#202E37" />
+<rect x="9" y="22" width="1" height="1" fill="#202E37" />
+<rect x="10" y="22" width="1" height="1" fill="#75A743" />
+<rect x="11" y="22" width="1" height="1" fill="#75A743" />
+<rect x="12" y="22" width="1" height="1" fill="#75A743" />
+<rect x="13" y="22" width="1" height="1" fill="#75A743" />
+<rect x="14" y="22" width="1" height="1" fill="#75A743" />
+<rect x="15" y="22" width="1" height="1" fill="#75A743" />
+<rect x="16" y="22" width="1" height="1" fill="#75A743" />
+<rect x="17" y="22" width="1" height="1" fill="#75A743" />
+<rect x="18" y="22" width="1" height="1" fill="#75A743" />
+<rect x="19" y="22" width="1" height="1" fill="#75A743" />
+<rect x="20" y="22" width="1" height="1" fill="#75A743" />
+<rect x="21" y="22" width="1" height="1" fill="#75A743" />
+<rect x="22" y="22" width="1" height="1" fill="#75A743" />
+<rect x="23" y="22" width="1" height="1" fill="#75A743" />
+<rect x="24" y="22" width="1" height="1" fill="#75A743" />
+<rect x="25" y="22" width="1" height="1" fill="#75A743" />
+<rect x="26" y="22" width="1" height="1" fill="#75A743" />
+<rect x="27" y="22" width="1" height="1" fill="#75A743" />
+<rect x="28" y="22" width="1" height="1" fill="#75A743" />
+<rect x="29" y="22" width="1" height="1" fill="#75A743" />
+<rect x="30" y="22" width="1" height="1" fill="#75A743" />
+<rect x="31" y="22" width="1" height="1" fill="#75A743" />
+<rect x="32" y="22" width="1" height="1" fill="#75A743" />
+<rect x="33" y="22" width="1" height="1" fill="#75A743" />
+<rect x="34" y="22" width="1" height="1" fill="#75A743" />
+<rect x="35" y="22" width="1" height="1" fill="#75A743" />
+<rect x="36" y="22" width="1" height="1" fill="#75A743" />
+<rect x="37" y="22" width="1" height="1" fill="#75A743" />
+<rect x="38" y="22" width="1" height="1" fill="#75A743" />
+<rect x="39" y="22" width="1" height="1" fill="#75A743" />
+<rect x="40" y="22" width="1" height="1" fill="#75A743" />
+<rect x="41" y="22" width="1" height="1" fill="#75A743" />
+<rect x="42" y="22" width="1" height="1" fill="#75A743" />
+<rect x="43" y="22" width="1" height="1" fill="#75A743" />
+<rect x="44" y="22" width="1" height="1" fill="#75A743" />
+<rect x="45" y="22" width="1" height="1" fill="#75A743" />
+<rect x="46" y="22" width="1" height="1" fill="#589235" />
+<rect x="47" y="22" width="1" height="1" fill="#589235" />
+<rect x="0" y="23" width="1" height="1" fill="#18232B" />
+<rect x="1" y="23" width="1" height="1" fill="#202E37" />
+<rect x="2" y="23" width="1" height="1" fill="#18232B" />
+<rect x="3" y="23" width="1" height="1" fill="#202E37" />
+<rect x="4" y="23" width="1" height="1" fill="#202E37" />
+<rect x="5" y="23" width="1" height="1" fill="#202E37" />
+<rect x="6" y="23" width="1" height="1" fill="#202E37" />
+<rect x="7" y="23" width="1" height="1" fill="#202E37" />
+<rect x="8" y="23" width="1" height="1" fill="#202E37" />
+<rect x="9" y="23" width="1" height="1" fill="#75A743" />
+<rect x="10" y="23" width="1" height="1" fill="#75A743" />
+<rect x="11" y="23" width="1" height="1" fill="#75A743" />
+<rect x="12" y="23" width="1" height="1" fill="#75A743" />
+<rect x="13" y="23" width="1" height="1" fill="#75A743" />
+<rect x="14" y="23" width="1" height="1" fill="#75A743" />
+<rect x="15" y="23" width="1" height="1" fill="#75A743" />
+<rect x="16" y="23" width="1" height="1" fill="#75A743" />
+<rect x="17" y="23" width="1" height="1" fill="#75A743" />
+<rect x="18" y="23" width="1" height="1" fill="#75A743" />
+<rect x="19" y="23" width="1" height="1" fill="#75A743" />
+<rect x="20" y="23" width="1" height="1" fill="#75A743" />
+<rect x="21" y="23" width="1" height="1" fill="#75A743" />
+<rect x="22" y="23" width="1" height="1" fill="#75A743" />
+<rect x="23" y="23" width="1" height="1" fill="#75A743" />
+<rect x="24" y="23" width="1" height="1" fill="#75A743" />
+<rect x="25" y="23" width="1" height="1" fill="#75A743" />
+<rect x="26" y="23" width="1" height="1" fill="#75A743" />
+<rect x="27" y="23" width="1" height="1" fill="#75A743" />
+<rect x="28" y="23" width="1" height="1" fill="#75A743" />
+<rect x="29" y="23" width="1" height="1" fill="#75A743" />
+<rect x="30" y="23" width="1" height="1" fill="#75A743" />
+<rect x="31" y="23" width="1" height="1" fill="#75A743" />
+<rect x="32" y="23" width="1" height="1" fill="#75A743" />
+<rect x="33" y="23" width="1" height="1" fill="#75A743" />
+<rect x="34" y="23" width="1" height="1" fill="#75A743" />
+<rect x="35" y="23" width="1" height="1" fill="#75A743" />
+<rect x="36" y="23" width="1" height="1" fill="#75A743" />
+<rect x="37" y="23" width="1" height="1" fill="#75A743" />
+<rect x="38" y="23" width="1" height="1" fill="#75A743" />
+<rect x="39" y="23" width="1" height="1" fill="#75A743" />
+<rect x="40" y="23" width="1" height="1" fill="#75A743" />
+<rect x="41" y="23" width="1" height="1" fill="#75A743" />
+<rect x="42" y="23" width="1" height="1" fill="#75A743" />
+<rect x="43" y="23" width="1" height="1" fill="#75A743" />
+<rect x="44" y="23" width="1" height="1" fill="#75A743" />
+<rect x="45" y="23" width="1" height="1" fill="#589235" />
+<rect x="46" y="23" width="1" height="1" fill="#589235" />
+<rect x="47" y="23" width="1" height="1" fill="#589235" />
+<rect x="0" y="24" width="1" height="1" fill="#18232B" />
+<rect x="1" y="24" width="1" height="1" fill="#202E37" />
+<rect x="2" y="24" width="1" height="1" fill="#18232B" />
+<rect x="3" y="24" width="1" height="1" fill="#18232B" />
+<rect x="4" y="24" width="1" height="1" fill="#202E37" />
+<rect x="5" y="24" width="1" height="1" fill="#202E37" />
+<rect x="6" y="24" width="1" height="1" fill="#202E37" />
+<rect x="7" y="24" width="1" height="1" fill="#202E37" />
+<rect x="8" y="24" width="1" height="1" fill="#75A743" />
+<rect x="9" y="24" width="1" height="1" fill="#75A743" />
+<rect x="10" y="24" width="1" height="1" fill="#75A743" />
+<rect x="11" y="24" width="1" height="1" fill="#75A743" />
+<rect x="12" y="24" width="1" height="1" fill="#75A743" />
+<rect x="13" y="24" width="1" height="1" fill="#75A743" />
+<rect x="14" y="24" width="1" height="1" fill="#75A743" />
+<rect x="15" y="24" width="1" height="1" fill="#75A743" />
+<rect x="16" y="24" width="1" height="1" fill="#75A743" />
+<rect x="17" y="24" width="1" height="1" fill="#75A743" />
+<rect x="18" y="24" width="1" height="1" fill="#75A743" />
+<rect x="19" y="24" width="1" height="1" fill="#75A743" />
+<rect x="20" y="24" width="1" height="1" fill="#75A743" />
+<rect x="21" y="24" width="1" height="1" fill="#75A743" />
+<rect x="22" y="24" width="1" height="1" fill="#75A743" />
+<rect x="23" y="24" width="1" height="1" fill="#75A743" />
+<rect x="24" y="24" width="1" height="1" fill="#75A743" />
+<rect x="25" y="24" width="1" height="1" fill="#75A743" />
+<rect x="26" y="24" width="1" height="1" fill="#75A743" />
+<rect x="27" y="24" width="1" height="1" fill="#75A743" />
+<rect x="28" y="24" width="1" height="1" fill="#75A743" />
+<rect x="29" y="24" width="1" height="1" fill="#75A743" />
+<rect x="30" y="24" width="1" height="1" fill="#75A743" />
+<rect x="31" y="24" width="1" height="1" fill="#75A743" />
+<rect x="32" y="24" width="1" height="1" fill="#75A743" />
+<rect x="33" y="24" width="1" height="1" fill="#75A743" />
+<rect x="34" y="24" width="1" height="1" fill="#75A743" />
+<rect x="35" y="24" width="1" height="1" fill="#75A743" />
+<rect x="36" y="24" width="1" height="1" fill="#75A743" />
+<rect x="37" y="24" width="1" height="1" fill="#75A743" />
+<rect x="38" y="24" width="1" height="1" fill="#75A743" />
+<rect x="39" y="24" width="1" height="1" fill="#75A743" />
+<rect x="40" y="24" width="1" height="1" fill="#75A743" />
+<rect x="41" y="24" width="1" height="1" fill="#589235" />
+<rect x="42" y="24" width="1" height="1" fill="#75A743" />
+<rect x="43" y="24" width="1" height="1" fill="#75A743" />
+<rect x="44" y="24" width="1" height="1" fill="#75A743" />
+<rect x="45" y="24" width="1" height="1" fill="#589235" />
+<rect x="46" y="24" width="1" height="1" fill="#589235" />
+<rect x="47" y="24" width="1" height="1" fill="#589235" />
+<rect x="0" y="25" width="1" height="1" fill="#18232B" />
+<rect x="1" y="25" width="1" height="1" fill="#18232B" />
+<rect x="2" y="25" width="1" height="1" fill="#18232B" />
+<rect x="3" y="25" width="1" height="1" fill="#18232B" />
+<rect x="4" y="25" width="1" height="1" fill="#18232B" />
+<rect x="5" y="25" width="1" height="1" fill="#202E37" />
+<rect x="6" y="25" width="1" height="1" fill="#202E37" />
+<rect x="7" y="25" width="1" height="1" fill="#75A743" />
+<rect x="8" y="25" width="1" height="1" fill="#75A743" />
+<rect x="9" y="25" width="1" height="1" fill="#75A743" />
+<rect x="10" y="25" width="1" height="1" fill="#75A743" />
+<rect x="11" y="25" width="1" height="1" fill="#75A743" />
+<rect x="12" y="25" width="1" height="1" fill="#75A743" />
+<rect x="13" y="25" width="1" height="1" fill="#75A743" />
+<rect x="14" y="25" width="1" height="1" fill="#75A743" />
+<rect x="15" y="25" width="1" height="1" fill="#75A743" />
+<rect x="16" y="25" width="1" height="1" fill="#75A743" />
+<rect x="17" y="25" width="1" height="1" fill="#75A743" />
+<rect x="18" y="25" width="1" height="1" fill="#75A743" />
+<rect x="19" y="25" width="1" height="1" fill="#75A743" />
+<rect x="20" y="25" width="1" height="1" fill="#75A743" />
+<rect x="21" y="25" width="1" height="1" fill="#75A743" />
+<rect x="22" y="25" width="1" height="1" fill="#75A743" />
+<rect x="23" y="25" width="1" height="1" fill="#75A743" />
+<rect x="24" y="25" width="1" height="1" fill="#75A743" />
+<rect x="25" y="25" width="1" height="1" fill="#75A743" />
+<rect x="26" y="25" width="1" height="1" fill="#75A743" />
+<rect x="27" y="25" width="1" height="1" fill="#75A743" />
+<rect x="28" y="25" width="1" height="1" fill="#75A743" />
+<rect x="29" y="25" width="1" height="1" fill="#75A743" />
+<rect x="30" y="25" width="1" height="1" fill="#75A743" />
+<rect x="31" y="25" width="1" height="1" fill="#75A743" />
+<rect x="32" y="25" width="1" height="1" fill="#75A743" />
+<rect x="33" y="25" width="1" height="1" fill="#75A743" />
+<rect x="34" y="25" width="1" height="1" fill="#75A743" />
+<rect x="35" y="25" width="1" height="1" fill="#75A743" />
+<rect x="36" y="25" width="1" height="1" fill="#75A743" />
+<rect x="37" y="25" width="1" height="1" fill="#75A743" />
+<rect x="38" y="25" width="1" height="1" fill="#75A743" />
+<rect x="39" y="25" width="1" height="1" fill="#589235" />
+<rect x="40" y="25" width="1" height="1" fill="#589235" />
+<rect x="41" y="25" width="1" height="1" fill="#589235" />
+<rect x="42" y="25" width="1" height="1" fill="#75A743" />
+<rect x="43" y="25" width="1" height="1" fill="#75A743" />
+<rect x="44" y="25" width="1" height="1" fill="#589235" />
+<rect x="45" y="25" width="1" height="1" fill="#589235" />
+<rect x="46" y="25" width="1" height="1" fill="#589235" />
+<rect x="47" y="25" width="1" height="1" fill="#589235" />
+<rect x="0" y="26" width="1" height="1" fill="#18232B" />
+<rect x="1" y="26" width="1" height="1" fill="#18232B" />
+<rect x="2" y="26" width="1" height="1" fill="#202E37" />
+<rect x="3" y="26" width="1" height="1" fill="#18232B" />
+<rect x="4" y="26" width="1" height="1" fill="#18232B" />
+<rect x="5" y="26" width="1" height="1" fill="#18232B" />
+<rect x="6" y="26" width="1" height="1" fill="#75A743" />
+<rect x="7" y="26" width="1" height="1" fill="#75A743" />
+<rect x="8" y="26" width="1" height="1" fill="#75A743" />
+<rect x="9" y="26" width="1" height="1" fill="#75A743" />
+<rect x="10" y="26" width="1" height="1" fill="#75A743" />
+<rect x="11" y="26" width="1" height="1" fill="#75A743" />
+<rect x="12" y="26" width="1" height="1" fill="#75A743" />
+<rect x="13" y="26" width="1" height="1" fill="#75A743" />
+<rect x="14" y="26" width="1" height="1" fill="#75A743" />
+<rect x="15" y="26" width="1" height="1" fill="#75A743" />
+<rect x="16" y="26" width="1" height="1" fill="#75A743" />
+<rect x="17" y="26" width="1" height="1" fill="#75A743" />
+<rect x="18" y="26" width="1" height="1" fill="#75A743" />
+<rect x="19" y="26" width="1" height="1" fill="#75A743" />
+<rect x="20" y="26" width="1" height="1" fill="#75A743" />
+<rect x="21" y="26" width="1" height="1" fill="#75A743" />
+<rect x="22" y="26" width="1" height="1" fill="#75A743" />
+<rect x="23" y="26" width="1" height="1" fill="#75A743" />
+<rect x="24" y="26" width="1" height="1" fill="#75A743" />
+<rect x="25" y="26" width="1" height="1" fill="#75A743" />
+<rect x="26" y="26" width="1" height="1" fill="#75A743" />
+<rect x="27" y="26" width="1" height="1" fill="#75A743" />
+<rect x="28" y="26" width="1" height="1" fill="#75A743" />
+<rect x="29" y="26" width="1" height="1" fill="#75A743" />
+<rect x="30" y="26" width="1" height="1" fill="#75A743" />
+<rect x="31" y="26" width="1" height="1" fill="#75A743" />
+<rect x="32" y="26" width="1" height="1" fill="#75A743" />
+<rect x="33" y="26" width="1" height="1" fill="#75A743" />
+<rect x="34" y="26" width="1" height="1" fill="#75A743" />
+<rect x="35" y="26" width="1" height="1" fill="#75A743" />
+<rect x="36" y="26" width="1" height="1" fill="#75A743" />
+<rect x="37" y="26" width="1" height="1" fill="#589235" />
+<rect x="38" y="26" width="1" height="1" fill="#589235" />
+<rect x="39" y="26" width="1" height="1" fill="#589235" />
+<rect x="40" y="26" width="1" height="1" fill="#589235" />
+<rect x="41" y="26" width="1" height="1" fill="#589235" />
+<rect x="42" y="26" width="1" height="1" fill="#589235" />
+<rect x="43" y="26" width="1" height="1" fill="#75A743" />
+<rect x="44" y="26" width="1" height="1" fill="#589235" />
+<rect x="45" y="26" width="1" height="1" fill="#589235" />
+<rect x="46" y="26" width="1" height="1" fill="#589235" />
+<rect x="47" y="26" width="1" height="1" fill="#589235" />
+<rect x="0" y="27" width="1" height="1" fill="#18232B" />
+<rect x="1" y="27" width="1" height="1" fill="#18232B" />
+<rect x="2" y="27" width="1" height="1" fill="#202E37" />
+<rect x="3" y="27" width="1" height="1" fill="#202E37" />
+<rect x="4" y="27" width="1" height="1" fill="#18232B" />
+<rect x="5" y="27" width="1" height="1" fill="#589235" />
+<rect x="6" y="27" width="1" height="1" fill="#589235" />
+<rect x="7" y="27" width="1" height="1" fill="#589235" />
+<rect x="8" y="27" width="1" height="1" fill="#75A743" />
+<rect x="9" y="27" width="1" height="1" fill="#75A743" />
+<rect x="10" y="27" width="1" height="1" fill="#75A743" />
+<rect x="11" y="27" width="1" height="1" fill="#75A743" />
+<rect x="12" y="27" width="1" height="1" fill="#75A743" />
+<rect x="13" y="27" width="1" height="1" fill="#75A743" />
+<rect x="14" y="27" width="1" height="1" fill="#75A743" />
+<rect x="15" y="27" width="1" height="1" fill="#75A743" />
+<rect x="16" y="27" width="1" height="1" fill="#75A743" />
+<rect x="17" y="27" width="1" height="1" fill="#75A743" />
+<rect x="18" y="27" width="1" height="1" fill="#75A743" />
+<rect x="19" y="27" width="1" height="1" fill="#75A743" />
+<rect x="20" y="27" width="1" height="1" fill="#75A743" />
+<rect x="21" y="27" width="1" height="1" fill="#75A743" />
+<rect x="22" y="27" width="1" height="1" fill="#75A743" />
+<rect x="23" y="27" width="1" height="1" fill="#75A743" />
+<rect x="24" y="27" width="1" height="1" fill="#75A743" />
+<rect x="25" y="27" width="1" height="1" fill="#75A743" />
+<rect x="26" y="27" width="1" height="1" fill="#75A743" />
+<rect x="27" y="27" width="1" height="1" fill="#75A743" />
+<rect x="28" y="27" width="1" height="1" fill="#75A743" />
+<rect x="29" y="27" width="1" height="1" fill="#75A743" />
+<rect x="30" y="27" width="1" height="1" fill="#75A743" />
+<rect x="31" y="27" width="1" height="1" fill="#75A743" />
+<rect x="32" y="27" width="1" height="1" fill="#75A743" />
+<rect x="33" y="27" width="1" height="1" fill="#75A743" />
+<rect x="34" y="27" width="1" height="1" fill="#75A743" />
+<rect x="35" y="27" width="1" height="1" fill="#589235" />
+<rect x="36" y="27" width="1" height="1" fill="#589235" />
+<rect x="37" y="27" width="1" height="1" fill="#589235" />
+<rect x="38" y="27" width="1" height="1" fill="#589235" />
+<rect x="39" y="27" width="1" height="1" fill="#589235" />
+<rect x="40" y="27" width="1" height="1" fill="#589235" />
+<rect x="41" y="27" width="1" height="1" fill="#589235" />
+<rect x="42" y="27" width="1" height="1" fill="#75A743" />
+<rect x="43" y="27" width="1" height="1" fill="#75A743" />
+<rect x="44" y="27" width="1" height="1" fill="#589235" />
+<rect x="45" y="27" width="1" height="1" fill="#589235" />
+<rect x="46" y="27" width="1" height="1" fill="#75A743" />
+<rect x="47" y="27" width="1" height="1" fill="#589235" />
+<rect x="0" y="28" width="1" height="1" fill="#18232B" />
+<rect x="1" y="28" width="1" height="1" fill="#18232B" />
+<rect x="2" y="28" width="1" height="1" fill="#18232B" />
+<rect x="3" y="28" width="1" height="1" fill="#202E37" />
+<rect x="4" y="28" width="1" height="1" fill="#589235" />
+<rect x="5" y="28" width="1" height="1" fill="#589235" />
+<rect x="6" y="28" width="1" height="1" fill="#589235" />
+<rect x="7" y="28" width="1" height="1" fill="#589235" />
+<rect x="8" y="28" width="1" height="1" fill="#589235" />
+<rect x="9" y="28" width="1" height="1" fill="#75A743" />
+<rect x="10" y="28" width="1" height="1" fill="#75A743" />
+<rect x="11" y="28" width="1" height="1" fill="#75A743" />
+<rect x="12" y="28" width="1" height="1" fill="#75A743" />
+<rect x="13" y="28" width="1" height="1" fill="#75A743" />
+<rect x="14" y="28" width="1" height="1" fill="#75A743" />
+<rect x="15" y="28" width="1" height="1" fill="#75A743" />
+<rect x="16" y="28" width="1" height="1" fill="#75A743" />
+<rect x="17" y="28" width="1" height="1" fill="#75A743" />
+<rect x="18" y="28" width="1" height="1" fill="#75A743" />
+<rect x="19" y="28" width="1" height="1" fill="#75A743" />
+<rect x="20" y="28" width="1" height="1" fill="#75A743" />
+<rect x="21" y="28" width="1" height="1" fill="#75A743" />
+<rect x="22" y="28" width="1" height="1" fill="#75A743" />
+<rect x="23" y="28" width="1" height="1" fill="#75A743" />
+<rect x="24" y="28" width="1" height="1" fill="#75A743" />
+<rect x="25" y="28" width="1" height="1" fill="#75A743" />
+<rect x="26" y="28" width="1" height="1" fill="#75A743" />
+<rect x="27" y="28" width="1" height="1" fill="#75A743" />
+<rect x="28" y="28" width="1" height="1" fill="#75A743" />
+<rect x="29" y="28" width="1" height="1" fill="#75A743" />
+<rect x="30" y="28" width="1" height="1" fill="#75A743" />
+<rect x="31" y="28" width="1" height="1" fill="#75A743" />
+<rect x="32" y="28" width="1" height="1" fill="#589235" />
+<rect x="33" y="28" width="1" height="1" fill="#589235" />
+<rect x="34" y="28" width="1" height="1" fill="#589235" />
+<rect x="35" y="28" width="1" height="1" fill="#589235" />
+<rect x="36" y="28" width="1" height="1" fill="#589235" />
+<rect x="37" y="28" width="1" height="1" fill="#589235" />
+<rect x="38" y="28" width="1" height="1" fill="#75A743" />
+<rect x="39" y="28" width="1" height="1" fill="#589235" />
+<rect x="40" y="28" width="1" height="1" fill="#589235" />
+<rect x="41" y="28" width="1" height="1" fill="#75A743" />
+<rect x="42" y="28" width="1" height="1" fill="#75A743" />
+<rect x="43" y="28" width="1" height="1" fill="#589235" />
+<rect x="44" y="28" width="1" height="1" fill="#589235" />
+<rect x="45" y="28" width="1" height="1" fill="#75A743" />
+<rect x="46" y="28" width="1" height="1" fill="#75A743" />
+<rect x="47" y="28" width="1" height="1" fill="#589235" />
+<rect x="0" y="29" width="1" height="1" fill="#18232B" />
+<rect x="1" y="29" width="1" height="1" fill="#18232B" />
+<rect x="2" y="29" width="1" height="1" fill="#18232B" />
+<rect x="3" y="29" width="1" height="1" fill="#589235" />
+<rect x="4" y="29" width="1" height="1" fill="#589235" />
+<rect x="5" y="29" width="1" height="1" fill="#589235" />
+<rect x="6" y="29" width="1" height="1" fill="#589235" />
+<rect x="7" y="29" width="1" height="1" fill="#589235" />
+<rect x="8" y="29" width="1" height="1" fill="#589235" />
+<rect x="9" y="29" width="1" height="1" fill="#589235" />
+<rect x="10" y="29" width="1" height="1" fill="#589235" />
+<rect x="11" y="29" width="1" height="1" fill="#589235" />
+<rect x="12" y="29" width="1" height="1" fill="#75A743" />
+<rect x="13" y="29" width="1" height="1" fill="#75A743" />
+<rect x="14" y="29" width="1" height="1" fill="#75A743" />
+<rect x="15" y="29" width="1" height="1" fill="#75A743" />
+<rect x="16" y="29" width="1" height="1" fill="#75A743" />
+<rect x="17" y="29" width="1" height="1" fill="#75A743" />
+<rect x="18" y="29" width="1" height="1" fill="#75A743" />
+<rect x="19" y="29" width="1" height="1" fill="#75A743" />
+<rect x="20" y="29" width="1" height="1" fill="#75A743" />
+<rect x="21" y="29" width="1" height="1" fill="#75A743" />
+<rect x="22" y="29" width="1" height="1" fill="#75A743" />
+<rect x="23" y="29" width="1" height="1" fill="#75A743" />
+<rect x="24" y="29" width="1" height="1" fill="#75A743" />
+<rect x="25" y="29" width="1" height="1" fill="#75A743" />
+<rect x="26" y="29" width="1" height="1" fill="#75A743" />
+<rect x="27" y="29" width="1" height="1" fill="#75A743" />
+<rect x="28" y="29" width="1" height="1" fill="#75A743" />
+<rect x="29" y="29" width="1" height="1" fill="#75A743" />
+<rect x="30" y="29" width="1" height="1" fill="#589235" />
+<rect x="31" y="29" width="1" height="1" fill="#589235" />
+<rect x="32" y="29" width="1" height="1" fill="#589235" />
+<rect x="33" y="29" width="1" height="1" fill="#589235" />
+<rect x="34" y="29" width="1" height="1" fill="#589235" />
+<rect x="35" y="29" width="1" height="1" fill="#589235" />
+<rect x="36" y="29" width="1" height="1" fill="#75A743" />
+<rect x="37" y="29" width="1" height="1" fill="#75A743" />
+<rect x="38" y="29" width="1" height="1" fill="#589235" />
+<rect x="39" y="29" width="1" height="1" fill="#589235" />
+<rect x="40" y="29" width="1" height="1" fill="#589235" />
+<rect x="41" y="29" width="1" height="1" fill="#75A743" />
+<rect x="42" y="29" width="1" height="1" fill="#589235" />
+<rect x="43" y="29" width="1" height="1" fill="#589235" />
+<rect x="44" y="29" width="1" height="1" fill="#589235" />
+<rect x="45" y="29" width="1" height="1" fill="#75A743" />
+<rect x="46" y="29" width="1" height="1" fill="#589235" />
+<rect x="47" y="29" width="1" height="1" fill="#589235" />
+<rect x="1" y="30" width="1" height="1" fill="#18232B" />
+<rect x="2" y="30" width="1" height="1" fill="#589235" />
+<rect x="3" y="30" width="1" height="1" fill="#589235" />
+<rect x="4" y="30" width="1" height="1" fill="#589235" />
+<rect x="5" y="30" width="1" height="1" fill="#589235" />
+<rect x="6" y="30" width="1" height="1" fill="#589235" />
+<rect x="7" y="30" width="1" height="1" fill="#589235" />
+<rect x="8" y="30" width="1" height="1" fill="#589235" />
+<rect x="9" y="30" width="1" height="1" fill="#75A743" />
+<rect x="10" y="30" width="1" height="1" fill="#75A743" />
+<rect x="11" y="30" width="1" height="1" fill="#75A743" />
+<rect x="12" y="30" width="1" height="1" fill="#75A743" />
+<rect x="13" y="30" width="1" height="1" fill="#75A743" />
+<rect x="14" y="30" width="1" height="1" fill="#75A743" />
+<rect x="15" y="30" width="1" height="1" fill="#75A743" />
+<rect x="16" y="30" width="1" height="1" fill="#75A743" />
+<rect x="17" y="30" width="1" height="1" fill="#75A743" />
+<rect x="18" y="30" width="1" height="1" fill="#75A743" />
+<rect x="19" y="30" width="1" height="1" fill="#75A743" />
+<rect x="20" y="30" width="1" height="1" fill="#75A743" />
+<rect x="21" y="30" width="1" height="1" fill="#75A743" />
+<rect x="22" y="30" width="1" height="1" fill="#75A743" />
+<rect x="23" y="30" width="1" height="1" fill="#75A743" />
+<rect x="24" y="30" width="1" height="1" fill="#75A743" />
+<rect x="25" y="30" width="1" height="1" fill="#75A743" />
+<rect x="26" y="30" width="1" height="1" fill="#75A743" />
+<rect x="27" y="30" width="1" height="1" fill="#75A743" />
+<rect x="28" y="30" width="1" height="1" fill="#75A743" />
+<rect x="29" y="30" width="1" height="1" fill="#75A743" />
+<rect x="30" y="30" width="1" height="1" fill="#75A743" />
+<rect x="31" y="30" width="1" height="1" fill="#75A743" />
+<rect x="32" y="30" width="1" height="1" fill="#75A743" />
+<rect x="33" y="30" width="1" height="1" fill="#75A743" />
+<rect x="34" y="30" width="1" height="1" fill="#75A743" />
+<rect x="35" y="30" width="1" height="1" fill="#75A743" />
+<rect x="36" y="30" width="1" height="1" fill="#75A743" />
+<rect x="37" y="30" width="1" height="1" fill="#75A743" />
+<rect x="38" y="30" width="1" height="1" fill="#589235" />
+<rect x="39" y="30" width="1" height="1" fill="#589235" />
+<rect x="40" y="30" width="1" height="1" fill="#589235" />
+<rect x="41" y="30" width="1" height="1" fill="#589235" />
+<rect x="42" y="30" width="1" height="1" fill="#589235" />
+<rect x="43" y="30" width="1" height="1" fill="#589235" />
+<rect x="44" y="30" width="1" height="1" fill="#589235" />
+<rect x="45" y="30" width="1" height="1" fill="#589235" />
+<rect x="46" y="30" width="1" height="1" fill="#589235" />
+<rect x="2" y="31" width="1" height="1" fill="#589235" />
+<rect x="3" y="31" width="1" height="1" fill="#589235" />
+<rect x="4" y="31" width="1" height="1" fill="#589235" />
+<rect x="5" y="31" width="1" height="1" fill="#589235" />
+<rect x="6" y="31" width="1" height="1" fill="#589235" />
+<rect x="7" y="31" width="1" height="1" fill="#589235" />
+<rect x="8" y="31" width="1" height="1" fill="#589235" />
+<rect x="9" y="31" width="1" height="1" fill="#589235" />
+<rect x="10" y="31" width="1" height="1" fill="#589235" />
+<rect x="11" y="31" width="1" height="1" fill="#589235" />
+<rect x="12" y="31" width="1" height="1" fill="#589235" />
+<rect x="13" y="31" width="1" height="1" fill="#589235" />
+<rect x="14" y="31" width="1" height="1" fill="#589235" />
+<rect x="15" y="31" width="1" height="1" fill="#589235" />
+<rect x="16" y="31" width="1" height="1" fill="#589235" />
+<rect x="17" y="31" width="1" height="1" fill="#589235" />
+<rect x="18" y="31" width="1" height="1" fill="#589235" />
+<rect x="19" y="31" width="1" height="1" fill="#589235" />
+<rect x="20" y="31" width="1" height="1" fill="#589235" />
+<rect x="21" y="31" width="1" height="1" fill="#589235" />
+<rect x="22" y="31" width="1" height="1" fill="#589235" />
+<rect x="23" y="31" width="1" height="1" fill="#589235" />
+<rect x="24" y="31" width="1" height="1" fill="#589235" />
+<rect x="25" y="31" width="1" height="1" fill="#589235" />
+<rect x="26" y="31" width="1" height="1" fill="#589235" />
+<rect x="27" y="31" width="1" height="1" fill="#589235" />
+<rect x="28" y="31" width="1" height="1" fill="#589235" />
+<rect x="29" y="31" width="1" height="1" fill="#589235" />
+<rect x="30" y="31" width="1" height="1" fill="#589235" />
+<rect x="31" y="31" width="1" height="1" fill="#589235" />
+<rect x="32" y="31" width="1" height="1" fill="#589235" />
+<rect x="33" y="31" width="1" height="1" fill="#589235" />
+<rect x="34" y="31" width="1" height="1" fill="#589235" />
+<rect x="35" y="31" width="1" height="1" fill="#589235" />
+<rect x="36" y="31" width="1" height="1" fill="#589235" />
+<rect x="37" y="31" width="1" height="1" fill="#589235" />
+<rect x="38" y="31" width="1" height="1" fill="#589235" />
+<rect x="39" y="31" width="1" height="1" fill="#589235" />
+<rect x="40" y="31" width="1" height="1" fill="#589235" />
+<rect x="41" y="31" width="1" height="1" fill="#589235" />
+<rect x="42" y="31" width="1" height="1" fill="#589235" />
+<rect x="43" y="31" width="1" height="1" fill="#589235" />
+<rect x="44" y="31" width="1" height="1" fill="#589235" />
+<rect x="45" y="31" width="1" height="1" fill="#589235" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Gokolm.svg b/Edikoyo/.obsidian/icons/flags/Gokolm.svg
new file mode 100644
index 0000000..fca9f77
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Gokolm.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#10161F" />
+<rect x="3" y="0" width="1" height="1" fill="#10161F" />
+<rect x="4" y="0" width="1" height="1" fill="#10161F" />
+<rect x="5" y="0" width="1" height="1" fill="#10161F" />
+<rect x="6" y="0" width="1" height="1" fill="#10161F" />
+<rect x="7" y="0" width="1" height="1" fill="#10161F" />
+<rect x="8" y="0" width="1" height="1" fill="#10161F" />
+<rect x="9" y="0" width="1" height="1" fill="#10161F" />
+<rect x="10" y="0" width="1" height="1" fill="#10161F" />
+<rect x="11" y="0" width="1" height="1" fill="#10161F" />
+<rect x="12" y="0" width="1" height="1" fill="#10161F" />
+<rect x="13" y="0" width="1" height="1" fill="#10161F" />
+<rect x="14" y="0" width="1" height="1" fill="#10161F" />
+<rect x="15" y="0" width="1" height="1" fill="#10161F" />
+<rect x="16" y="0" width="1" height="1" fill="#10161F" />
+<rect x="17" y="0" width="1" height="1" fill="#10161F" />
+<rect x="18" y="0" width="1" height="1" fill="#10161F" />
+<rect x="19" y="0" width="1" height="1" fill="#10161F" />
+<rect x="20" y="0" width="1" height="1" fill="#10161F" />
+<rect x="21" y="0" width="1" height="1" fill="#10161F" />
+<rect x="22" y="0" width="1" height="1" fill="#10161F" />
+<rect x="23" y="0" width="1" height="1" fill="#10161F" />
+<rect x="24" y="0" width="1" height="1" fill="#10161F" />
+<rect x="25" y="0" width="1" height="1" fill="#10161F" />
+<rect x="26" y="0" width="1" height="1" fill="#10161F" />
+<rect x="27" y="0" width="1" height="1" fill="#10161F" />
+<rect x="28" y="0" width="1" height="1" fill="#10161F" />
+<rect x="29" y="0" width="1" height="1" fill="#10161F" />
+<rect x="30" y="0" width="1" height="1" fill="#10161F" />
+<rect x="31" y="0" width="1" height="1" fill="#10161F" />
+<rect x="32" y="0" width="1" height="1" fill="#10161F" />
+<rect x="33" y="0" width="1" height="1" fill="#10161F" />
+<rect x="34" y="0" width="1" height="1" fill="#10161F" />
+<rect x="35" y="0" width="1" height="1" fill="#10161F" />
+<rect x="36" y="0" width="1" height="1" fill="#10161F" />
+<rect x="37" y="0" width="1" height="1" fill="#10161F" />
+<rect x="38" y="0" width="1" height="1" fill="#10161F" />
+<rect x="39" y="0" width="1" height="1" fill="#10161F" />
+<rect x="40" y="0" width="1" height="1" fill="#10161F" />
+<rect x="41" y="0" width="1" height="1" fill="#10161F" />
+<rect x="42" y="0" width="1" height="1" fill="#10161F" />
+<rect x="43" y="0" width="1" height="1" fill="#10161F" />
+<rect x="44" y="0" width="1" height="1" fill="#10161F" />
+<rect x="45" y="0" width="1" height="1" fill="#10161F" />
+<rect x="1" y="1" width="1" height="1" fill="#10161F" />
+<rect x="2" y="1" width="1" height="1" fill="#10161F" />
+<rect x="3" y="1" width="1" height="1" fill="#10161F" />
+<rect x="4" y="1" width="1" height="1" fill="#10161F" />
+<rect x="5" y="1" width="1" height="1" fill="#10161F" />
+<rect x="6" y="1" width="1" height="1" fill="#10161F" />
+<rect x="7" y="1" width="1" height="1" fill="#10161F" />
+<rect x="8" y="1" width="1" height="1" fill="#10161F" />
+<rect x="9" y="1" width="1" height="1" fill="#10161F" />
+<rect x="10" y="1" width="1" height="1" fill="#151D28" />
+<rect x="11" y="1" width="1" height="1" fill="#151D28" />
+<rect x="12" y="1" width="1" height="1" fill="#151D28" />
+<rect x="13" y="1" width="1" height="1" fill="#151D28" />
+<rect x="14" y="1" width="1" height="1" fill="#151D28" />
+<rect x="15" y="1" width="1" height="1" fill="#151D28" />
+<rect x="16" y="1" width="1" height="1" fill="#151D28" />
+<rect x="17" y="1" width="1" height="1" fill="#151D28" />
+<rect x="18" y="1" width="1" height="1" fill="#151D28" />
+<rect x="19" y="1" width="1" height="1" fill="#151D28" />
+<rect x="20" y="1" width="1" height="1" fill="#151D28" />
+<rect x="21" y="1" width="1" height="1" fill="#151D28" />
+<rect x="22" y="1" width="1" height="1" fill="#151D28" />
+<rect x="23" y="1" width="1" height="1" fill="#151D28" />
+<rect x="24" y="1" width="1" height="1" fill="#151D28" />
+<rect x="25" y="1" width="1" height="1" fill="#151D28" />
+<rect x="26" y="1" width="1" height="1" fill="#151D28" />
+<rect x="27" y="1" width="1" height="1" fill="#151D28" />
+<rect x="28" y="1" width="1" height="1" fill="#151D28" />
+<rect x="29" y="1" width="1" height="1" fill="#151D28" />
+<rect x="30" y="1" width="1" height="1" fill="#151D28" />
+<rect x="31" y="1" width="1" height="1" fill="#151D28" />
+<rect x="32" y="1" width="1" height="1" fill="#151D28" />
+<rect x="33" y="1" width="1" height="1" fill="#10161F" />
+<rect x="34" y="1" width="1" height="1" fill="#10161F" />
+<rect x="35" y="1" width="1" height="1" fill="#10161F" />
+<rect x="36" y="1" width="1" height="1" fill="#10161F" />
+<rect x="37" y="1" width="1" height="1" fill="#10161F" />
+<rect x="38" y="1" width="1" height="1" fill="#10161F" />
+<rect x="39" y="1" width="1" height="1" fill="#10161F" />
+<rect x="40" y="1" width="1" height="1" fill="#151D28" />
+<rect x="41" y="1" width="1" height="1" fill="#10161F" />
+<rect x="42" y="1" width="1" height="1" fill="#10161F" />
+<rect x="43" y="1" width="1" height="1" fill="#10161F" />
+<rect x="44" y="1" width="1" height="1" fill="#10161F" />
+<rect x="45" y="1" width="1" height="1" fill="#10161F" />
+<rect x="46" y="1" width="1" height="1" fill="#10161F" />
+<rect x="0" y="2" width="1" height="1" fill="#10161F" />
+<rect x="1" y="2" width="1" height="1" fill="#10161F" />
+<rect x="2" y="2" width="1" height="1" fill="#10161F" />
+<rect x="3" y="2" width="1" height="1" fill="#10161F" />
+<rect x="4" y="2" width="1" height="1" fill="#10161F" />
+<rect x="5" y="2" width="1" height="1" fill="#10161F" />
+<rect x="6" y="2" width="1" height="1" fill="#151D28" />
+<rect x="7" y="2" width="1" height="1" fill="#151D28" />
+<rect x="8" y="2" width="1" height="1" fill="#151D28" />
+<rect x="9" y="2" width="1" height="1" fill="#151D28" />
+<rect x="10" y="2" width="1" height="1" fill="#151D28" />
+<rect x="11" y="2" width="1" height="1" fill="#151D28" />
+<rect x="12" y="2" width="1" height="1" fill="#151D28" />
+<rect x="13" y="2" width="1" height="1" fill="#151D28" />
+<rect x="14" y="2" width="1" height="1" fill="#151D28" />
+<rect x="15" y="2" width="1" height="1" fill="#151D28" />
+<rect x="16" y="2" width="1" height="1" fill="#151D28" />
+<rect x="17" y="2" width="1" height="1" fill="#151D28" />
+<rect x="18" y="2" width="1" height="1" fill="#151D28" />
+<rect x="19" y="2" width="1" height="1" fill="#151D28" />
+<rect x="20" y="2" width="1" height="1" fill="#151D28" />
+<rect x="21" y="2" width="1" height="1" fill="#151D28" />
+<rect x="22" y="2" width="1" height="1" fill="#151D28" />
+<rect x="23" y="2" width="1" height="1" fill="#151D28" />
+<rect x="24" y="2" width="1" height="1" fill="#151D28" />
+<rect x="25" y="2" width="1" height="1" fill="#151D28" />
+<rect x="26" y="2" width="1" height="1" fill="#151D28" />
+<rect x="27" y="2" width="1" height="1" fill="#151D28" />
+<rect x="28" y="2" width="1" height="1" fill="#151D28" />
+<rect x="29" y="2" width="1" height="1" fill="#151D28" />
+<rect x="30" y="2" width="1" height="1" fill="#151D28" />
+<rect x="31" y="2" width="1" height="1" fill="#151D28" />
+<rect x="32" y="2" width="1" height="1" fill="#151D28" />
+<rect x="33" y="2" width="1" height="1" fill="#151D28" />
+<rect x="34" y="2" width="1" height="1" fill="#151D28" />
+<rect x="35" y="2" width="1" height="1" fill="#151D28" />
+<rect x="36" y="2" width="1" height="1" fill="#151D28" />
+<rect x="37" y="2" width="1" height="1" fill="#10161F" />
+<rect x="38" y="2" width="1" height="1" fill="#10161F" />
+<rect x="39" y="2" width="1" height="1" fill="#10161F" />
+<rect x="40" y="2" width="1" height="1" fill="#10161F" />
+<rect x="41" y="2" width="1" height="1" fill="#151D28" />
+<rect x="42" y="2" width="1" height="1" fill="#10161F" />
+<rect x="43" y="2" width="1" height="1" fill="#10161F" />
+<rect x="44" y="2" width="1" height="1" fill="#10161F" />
+<rect x="45" y="2" width="1" height="1" fill="#10161F" />
+<rect x="46" y="2" width="1" height="1" fill="#10161F" />
+<rect x="47" y="2" width="1" height="1" fill="#10161F" />
+<rect x="0" y="3" width="1" height="1" fill="#10161F" />
+<rect x="1" y="3" width="1" height="1" fill="#10161F" />
+<rect x="2" y="3" width="1" height="1" fill="#10161F" />
+<rect x="3" y="3" width="1" height="1" fill="#10161F" />
+<rect x="4" y="3" width="1" height="1" fill="#10161F" />
+<rect x="5" y="3" width="1" height="1" fill="#10161F" />
+<rect x="6" y="3" width="1" height="1" fill="#10161F" />
+<rect x="7" y="3" width="1" height="1" fill="#151D28" />
+<rect x="8" y="3" width="1" height="1" fill="#151D28" />
+<rect x="9" y="3" width="1" height="1" fill="#151D28" />
+<rect x="10" y="3" width="1" height="1" fill="#151D28" />
+<rect x="11" y="3" width="1" height="1" fill="#151D28" />
+<rect x="12" y="3" width="1" height="1" fill="#151D28" />
+<rect x="13" y="3" width="1" height="1" fill="#151D28" />
+<rect x="14" y="3" width="1" height="1" fill="#151D28" />
+<rect x="15" y="3" width="1" height="1" fill="#151D28" />
+<rect x="16" y="3" width="1" height="1" fill="#151D28" />
+<rect x="17" y="3" width="1" height="1" fill="#151D28" />
+<rect x="18" y="3" width="1" height="1" fill="#151D28" />
+<rect x="19" y="3" width="1" height="1" fill="#151D28" />
+<rect x="20" y="3" width="1" height="1" fill="#151D28" />
+<rect x="21" y="3" width="1" height="1" fill="#151D28" />
+<rect x="22" y="3" width="1" height="1" fill="#151D28" />
+<rect x="23" y="3" width="1" height="1" fill="#151D28" />
+<rect x="24" y="3" width="1" height="1" fill="#151D28" />
+<rect x="25" y="3" width="1" height="1" fill="#151D28" />
+<rect x="26" y="3" width="1" height="1" fill="#151D28" />
+<rect x="27" y="3" width="1" height="1" fill="#151D28" />
+<rect x="28" y="3" width="1" height="1" fill="#151D28" />
+<rect x="29" y="3" width="1" height="1" fill="#151D28" />
+<rect x="30" y="3" width="1" height="1" fill="#151D28" />
+<rect x="31" y="3" width="1" height="1" fill="#151D28" />
+<rect x="32" y="3" width="1" height="1" fill="#151D28" />
+<rect x="33" y="3" width="1" height="1" fill="#151D28" />
+<rect x="34" y="3" width="1" height="1" fill="#151D28" />
+<rect x="35" y="3" width="1" height="1" fill="#10161F" />
+<rect x="36" y="3" width="1" height="1" fill="#10161F" />
+<rect x="37" y="3" width="1" height="1" fill="#10161F" />
+<rect x="38" y="3" width="1" height="1" fill="#10161F" />
+<rect x="39" y="3" width="1" height="1" fill="#10161F" />
+<rect x="40" y="3" width="1" height="1" fill="#10161F" />
+<rect x="41" y="3" width="1" height="1" fill="#10161F" />
+<rect x="42" y="3" width="1" height="1" fill="#10161F" />
+<rect x="43" y="3" width="1" height="1" fill="#10161F" />
+<rect x="44" y="3" width="1" height="1" fill="#10161F" />
+<rect x="45" y="3" width="1" height="1" fill="#10161F" />
+<rect x="46" y="3" width="1" height="1" fill="#10161F" />
+<rect x="47" y="3" width="1" height="1" fill="#10161F" />
+<rect x="0" y="4" width="1" height="1" fill="#10161F" />
+<rect x="1" y="4" width="1" height="1" fill="#10161F" />
+<rect x="2" y="4" width="1" height="1" fill="#151D28" />
+<rect x="3" y="4" width="1" height="1" fill="#151D28" />
+<rect x="4" y="4" width="1" height="1" fill="#10161F" />
+<rect x="5" y="4" width="1" height="1" fill="#10161F" />
+<rect x="6" y="4" width="1" height="1" fill="#10161F" />
+<rect x="7" y="4" width="1" height="1" fill="#151D28" />
+<rect x="8" y="4" width="1" height="1" fill="#151D28" />
+<rect x="9" y="4" width="1" height="1" fill="#151D28" />
+<rect x="10" y="4" width="1" height="1" fill="#151D28" />
+<rect x="11" y="4" width="1" height="1" fill="#151D28" />
+<rect x="12" y="4" width="1" height="1" fill="#151D28" />
+<rect x="13" y="4" width="1" height="1" fill="#151D28" />
+<rect x="14" y="4" width="1" height="1" fill="#151D28" />
+<rect x="15" y="4" width="1" height="1" fill="#151D28" />
+<rect x="16" y="4" width="1" height="1" fill="#151D28" />
+<rect x="17" y="4" width="1" height="1" fill="#151D28" />
+<rect x="18" y="4" width="1" height="1" fill="#151D28" />
+<rect x="19" y="4" width="1" height="1" fill="#151D28" />
+<rect x="20" y="4" width="1" height="1" fill="#151D28" />
+<rect x="21" y="4" width="1" height="1" fill="#151D28" />
+<rect x="22" y="4" width="1" height="1" fill="#151D28" />
+<rect x="23" y="4" width="1" height="1" fill="#151D28" />
+<rect x="24" y="4" width="1" height="1" fill="#151D28" />
+<rect x="25" y="4" width="1" height="1" fill="#151D28" />
+<rect x="26" y="4" width="1" height="1" fill="#151D28" />
+<rect x="27" y="4" width="1" height="1" fill="#151D28" />
+<rect x="28" y="4" width="1" height="1" fill="#151D28" />
+<rect x="29" y="4" width="1" height="1" fill="#151D28" />
+<rect x="30" y="4" width="1" height="1" fill="#151D28" />
+<rect x="31" y="4" width="1" height="1" fill="#151D28" />
+<rect x="32" y="4" width="1" height="1" fill="#151D28" />
+<rect x="33" y="4" width="1" height="1" fill="#151D28" />
+<rect x="34" y="4" width="1" height="1" fill="#151D28" />
+<rect x="35" y="4" width="1" height="1" fill="#151D28" />
+<rect x="36" y="4" width="1" height="1" fill="#10161F" />
+<rect x="37" y="4" width="1" height="1" fill="#10161F" />
+<rect x="38" y="4" width="1" height="1" fill="#10161F" />
+<rect x="39" y="4" width="1" height="1" fill="#10161F" />
+<rect x="40" y="4" width="1" height="1" fill="#10161F" />
+<rect x="41" y="4" width="1" height="1" fill="#10161F" />
+<rect x="42" y="4" width="1" height="1" fill="#10161F" />
+<rect x="43" y="4" width="1" height="1" fill="#10161F" />
+<rect x="44" y="4" width="1" height="1" fill="#10161F" />
+<rect x="45" y="4" width="1" height="1" fill="#10161F" />
+<rect x="46" y="4" width="1" height="1" fill="#10161F" />
+<rect x="47" y="4" width="1" height="1" fill="#10161F" />
+<rect x="0" y="5" width="1" height="1" fill="#10161F" />
+<rect x="1" y="5" width="1" height="1" fill="#10161F" />
+<rect x="2" y="5" width="1" height="1" fill="#10161F" />
+<rect x="3" y="5" width="1" height="1" fill="#151D28" />
+<rect x="4" y="5" width="1" height="1" fill="#151D28" />
+<rect x="5" y="5" width="1" height="1" fill="#151D28" />
+<rect x="6" y="5" width="1" height="1" fill="#10161F" />
+<rect x="7" y="5" width="1" height="1" fill="#151D28" />
+<rect x="8" y="5" width="1" height="1" fill="#151D28" />
+<rect x="9" y="5" width="1" height="1" fill="#151D28" />
+<rect x="10" y="5" width="1" height="1" fill="#151D28" />
+<rect x="11" y="5" width="1" height="1" fill="#151D28" />
+<rect x="12" y="5" width="1" height="1" fill="#151D28" />
+<rect x="13" y="5" width="1" height="1" fill="#151D28" />
+<rect x="14" y="5" width="1" height="1" fill="#151D28" />
+<rect x="15" y="5" width="1" height="1" fill="#151D28" />
+<rect x="16" y="5" width="1" height="1" fill="#151D28" />
+<rect x="17" y="5" width="1" height="1" fill="#151D28" />
+<rect x="18" y="5" width="1" height="1" fill="#151D28" />
+<rect x="19" y="5" width="1" height="1" fill="#151D28" />
+<rect x="20" y="5" width="1" height="1" fill="#151D28" />
+<rect x="21" y="5" width="1" height="1" fill="#151D28" />
+<rect x="22" y="5" width="1" height="1" fill="#151D28" />
+<rect x="23" y="5" width="1" height="1" fill="#151D28" />
+<rect x="24" y="5" width="1" height="1" fill="#151D28" />
+<rect x="25" y="5" width="1" height="1" fill="#151D28" />
+<rect x="26" y="5" width="1" height="1" fill="#151D28" />
+<rect x="27" y="5" width="1" height="1" fill="#151D28" />
+<rect x="28" y="5" width="1" height="1" fill="#151D28" />
+<rect x="29" y="5" width="1" height="1" fill="#151D28" />
+<rect x="30" y="5" width="1" height="1" fill="#151D28" />
+<rect x="31" y="5" width="1" height="1" fill="#151D28" />
+<rect x="32" y="5" width="1" height="1" fill="#151D28" />
+<rect x="33" y="5" width="1" height="1" fill="#151D28" />
+<rect x="34" y="5" width="1" height="1" fill="#151D28" />
+<rect x="35" y="5" width="1" height="1" fill="#151D28" />
+<rect x="36" y="5" width="1" height="1" fill="#151D28" />
+<rect x="37" y="5" width="1" height="1" fill="#151D28" />
+<rect x="38" y="5" width="1" height="1" fill="#10161F" />
+<rect x="39" y="5" width="1" height="1" fill="#10161F" />
+<rect x="40" y="5" width="1" height="1" fill="#10161F" />
+<rect x="41" y="5" width="1" height="1" fill="#10161F" />
+<rect x="42" y="5" width="1" height="1" fill="#151D28" />
+<rect x="43" y="5" width="1" height="1" fill="#10161F" />
+<rect x="44" y="5" width="1" height="1" fill="#10161F" />
+<rect x="45" y="5" width="1" height="1" fill="#10161F" />
+<rect x="46" y="5" width="1" height="1" fill="#10161F" />
+<rect x="47" y="5" width="1" height="1" fill="#10161F" />
+<rect x="0" y="6" width="1" height="1" fill="#10161F" />
+<rect x="1" y="6" width="1" height="1" fill="#10161F" />
+<rect x="2" y="6" width="1" height="1" fill="#10161F" />
+<rect x="3" y="6" width="1" height="1" fill="#10161F" />
+<rect x="4" y="6" width="1" height="1" fill="#151D28" />
+<rect x="5" y="6" width="1" height="1" fill="#151D28" />
+<rect x="6" y="6" width="1" height="1" fill="#151D28" />
+<rect x="7" y="6" width="1" height="1" fill="#151D28" />
+<rect x="8" y="6" width="1" height="1" fill="#151D28" />
+<rect x="9" y="6" width="1" height="1" fill="#151D28" />
+<rect x="10" y="6" width="1" height="1" fill="#151D28" />
+<rect x="11" y="6" width="1" height="1" fill="#151D28" />
+<rect x="12" y="6" width="1" height="1" fill="#151D28" />
+<rect x="13" y="6" width="1" height="1" fill="#151D28" />
+<rect x="14" y="6" width="1" height="1" fill="#151D28" />
+<rect x="15" y="6" width="1" height="1" fill="#151D28" />
+<rect x="16" y="6" width="1" height="1" fill="#151D28" />
+<rect x="17" y="6" width="1" height="1" fill="#151D28" />
+<rect x="18" y="6" width="1" height="1" fill="#151D28" />
+<rect x="19" y="6" width="1" height="1" fill="#151D28" />
+<rect x="20" y="6" width="1" height="1" fill="#151D28" />
+<rect x="21" y="6" width="1" height="1" fill="#151D28" />
+<rect x="22" y="6" width="1" height="1" fill="#151D28" />
+<rect x="23" y="6" width="1" height="1" fill="#151D28" />
+<rect x="24" y="6" width="1" height="1" fill="#151D28" />
+<rect x="25" y="6" width="1" height="1" fill="#151D28" />
+<rect x="26" y="6" width="1" height="1" fill="#151D28" />
+<rect x="27" y="6" width="1" height="1" fill="#151D28" />
+<rect x="28" y="6" width="1" height="1" fill="#151D28" />
+<rect x="29" y="6" width="1" height="1" fill="#151D28" />
+<rect x="30" y="6" width="1" height="1" fill="#151D28" />
+<rect x="31" y="6" width="1" height="1" fill="#151D28" />
+<rect x="32" y="6" width="1" height="1" fill="#151D28" />
+<rect x="33" y="6" width="1" height="1" fill="#151D28" />
+<rect x="34" y="6" width="1" height="1" fill="#151D28" />
+<rect x="35" y="6" width="1" height="1" fill="#151D28" />
+<rect x="36" y="6" width="1" height="1" fill="#151D28" />
+<rect x="37" y="6" width="1" height="1" fill="#151D28" />
+<rect x="38" y="6" width="1" height="1" fill="#151D28" />
+<rect x="39" y="6" width="1" height="1" fill="#10161F" />
+<rect x="40" y="6" width="1" height="1" fill="#10161F" />
+<rect x="41" y="6" width="1" height="1" fill="#10161F" />
+<rect x="42" y="6" width="1" height="1" fill="#151D28" />
+<rect x="43" y="6" width="1" height="1" fill="#151D28" />
+<rect x="44" y="6" width="1" height="1" fill="#10161F" />
+<rect x="45" y="6" width="1" height="1" fill="#10161F" />
+<rect x="46" y="6" width="1" height="1" fill="#10161F" />
+<rect x="47" y="6" width="1" height="1" fill="#10161F" />
+<rect x="0" y="7" width="1" height="1" fill="#10161F" />
+<rect x="1" y="7" width="1" height="1" fill="#10161F" />
+<rect x="2" y="7" width="1" height="1" fill="#10161F" />
+<rect x="3" y="7" width="1" height="1" fill="#10161F" />
+<rect x="4" y="7" width="1" height="1" fill="#10161F" />
+<rect x="5" y="7" width="1" height="1" fill="#10161F" />
+<rect x="6" y="7" width="1" height="1" fill="#151D28" />
+<rect x="7" y="7" width="1" height="1" fill="#151D28" />
+<rect x="8" y="7" width="1" height="1" fill="#151D28" />
+<rect x="9" y="7" width="1" height="1" fill="#151D28" />
+<rect x="10" y="7" width="1" height="1" fill="#151D28" />
+<rect x="11" y="7" width="1" height="1" fill="#151D28" />
+<rect x="12" y="7" width="1" height="1" fill="#151D28" />
+<rect x="13" y="7" width="1" height="1" fill="#151D28" />
+<rect x="14" y="7" width="1" height="1" fill="#151D28" />
+<rect x="15" y="7" width="1" height="1" fill="#151D28" />
+<rect x="16" y="7" width="1" height="1" fill="#151D28" />
+<rect x="17" y="7" width="1" height="1" fill="#151D28" />
+<rect x="18" y="7" width="1" height="1" fill="#151D28" />
+<rect x="19" y="7" width="1" height="1" fill="#151D28" />
+<rect x="20" y="7" width="1" height="1" fill="#151D28" />
+<rect x="21" y="7" width="1" height="1" fill="#151D28" />
+<rect x="22" y="7" width="1" height="1" fill="#151D28" />
+<rect x="23" y="7" width="1" height="1" fill="#151D28" />
+<rect x="24" y="7" width="1" height="1" fill="#151D28" />
+<rect x="25" y="7" width="1" height="1" fill="#151D28" />
+<rect x="26" y="7" width="1" height="1" fill="#151D28" />
+<rect x="27" y="7" width="1" height="1" fill="#151D28" />
+<rect x="28" y="7" width="1" height="1" fill="#151D28" />
+<rect x="29" y="7" width="1" height="1" fill="#151D28" />
+<rect x="30" y="7" width="1" height="1" fill="#151D28" />
+<rect x="31" y="7" width="1" height="1" fill="#151D28" />
+<rect x="32" y="7" width="1" height="1" fill="#151D28" />
+<rect x="33" y="7" width="1" height="1" fill="#151D28" />
+<rect x="34" y="7" width="1" height="1" fill="#151D28" />
+<rect x="35" y="7" width="1" height="1" fill="#151D28" />
+<rect x="36" y="7" width="1" height="1" fill="#151D28" />
+<rect x="37" y="7" width="1" height="1" fill="#151D28" />
+<rect x="38" y="7" width="1" height="1" fill="#151D28" />
+<rect x="39" y="7" width="1" height="1" fill="#10161F" />
+<rect x="40" y="7" width="1" height="1" fill="#10161F" />
+<rect x="41" y="7" width="1" height="1" fill="#151D28" />
+<rect x="42" y="7" width="1" height="1" fill="#151D28" />
+<rect x="43" y="7" width="1" height="1" fill="#151D28" />
+<rect x="44" y="7" width="1" height="1" fill="#10161F" />
+<rect x="45" y="7" width="1" height="1" fill="#10161F" />
+<rect x="46" y="7" width="1" height="1" fill="#10161F" />
+<rect x="47" y="7" width="1" height="1" fill="#10161F" />
+<rect x="0" y="8" width="1" height="1" fill="#10161F" />
+<rect x="1" y="8" width="1" height="1" fill="#10161F" />
+<rect x="2" y="8" width="1" height="1" fill="#151D28" />
+<rect x="3" y="8" width="1" height="1" fill="#151D28" />
+<rect x="4" y="8" width="1" height="1" fill="#151D28" />
+<rect x="5" y="8" width="1" height="1" fill="#10161F" />
+<rect x="6" y="8" width="1" height="1" fill="#10161F" />
+<rect x="7" y="8" width="1" height="1" fill="#151D28" />
+<rect x="8" y="8" width="1" height="1" fill="#151D28" />
+<rect x="9" y="8" width="1" height="1" fill="#151D28" />
+<rect x="10" y="8" width="1" height="1" fill="#151D28" />
+<rect x="11" y="8" width="1" height="1" fill="#151D28" />
+<rect x="12" y="8" width="1" height="1" fill="#151D28" />
+<rect x="13" y="8" width="1" height="1" fill="#151D28" />
+<rect x="14" y="8" width="1" height="1" fill="#151D28" />
+<rect x="15" y="8" width="1" height="1" fill="#151D28" />
+<rect x="16" y="8" width="1" height="1" fill="#151D28" />
+<rect x="17" y="8" width="1" height="1" fill="#151D28" />
+<rect x="18" y="8" width="1" height="1" fill="#151D28" />
+<rect x="19" y="8" width="1" height="1" fill="#151D28" />
+<rect x="20" y="8" width="1" height="1" fill="#151D28" />
+<rect x="21" y="8" width="1" height="1" fill="#151D28" />
+<rect x="22" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="8" width="1" height="1" fill="#151D28" />
+<rect x="27" y="8" width="1" height="1" fill="#151D28" />
+<rect x="28" y="8" width="1" height="1" fill="#151D28" />
+<rect x="29" y="8" width="1" height="1" fill="#151D28" />
+<rect x="30" y="8" width="1" height="1" fill="#151D28" />
+<rect x="31" y="8" width="1" height="1" fill="#151D28" />
+<rect x="32" y="8" width="1" height="1" fill="#151D28" />
+<rect x="33" y="8" width="1" height="1" fill="#151D28" />
+<rect x="34" y="8" width="1" height="1" fill="#151D28" />
+<rect x="35" y="8" width="1" height="1" fill="#151D28" />
+<rect x="36" y="8" width="1" height="1" fill="#151D28" />
+<rect x="37" y="8" width="1" height="1" fill="#151D28" />
+<rect x="38" y="8" width="1" height="1" fill="#151D28" />
+<rect x="39" y="8" width="1" height="1" fill="#10161F" />
+<rect x="40" y="8" width="1" height="1" fill="#10161F" />
+<rect x="41" y="8" width="1" height="1" fill="#151D28" />
+<rect x="42" y="8" width="1" height="1" fill="#151D28" />
+<rect x="43" y="8" width="1" height="1" fill="#151D28" />
+<rect x="44" y="8" width="1" height="1" fill="#151D28" />
+<rect x="45" y="8" width="1" height="1" fill="#10161F" />
+<rect x="46" y="8" width="1" height="1" fill="#10161F" />
+<rect x="47" y="8" width="1" height="1" fill="#10161F" />
+<rect x="0" y="9" width="1" height="1" fill="#10161F" />
+<rect x="1" y="9" width="1" height="1" fill="#10161F" />
+<rect x="2" y="9" width="1" height="1" fill="#151D28" />
+<rect x="3" y="9" width="1" height="1" fill="#151D28" />
+<rect x="4" y="9" width="1" height="1" fill="#151D28" />
+<rect x="5" y="9" width="1" height="1" fill="#151D28" />
+<rect x="6" y="9" width="1" height="1" fill="#151D28" />
+<rect x="7" y="9" width="1" height="1" fill="#151D28" />
+<rect x="8" y="9" width="1" height="1" fill="#151D28" />
+<rect x="9" y="9" width="1" height="1" fill="#151D28" />
+<rect x="10" y="9" width="1" height="1" fill="#151D28" />
+<rect x="11" y="9" width="1" height="1" fill="#151D28" />
+<rect x="12" y="9" width="1" height="1" fill="#151D28" />
+<rect x="13" y="9" width="1" height="1" fill="#151D28" />
+<rect x="14" y="9" width="1" height="1" fill="#151D28" />
+<rect x="15" y="9" width="1" height="1" fill="#151D28" />
+<rect x="16" y="9" width="1" height="1" fill="#151D28" />
+<rect x="17" y="9" width="1" height="1" fill="#151D28" />
+<rect x="18" y="9" width="1" height="1" fill="#151D28" />
+<rect x="19" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="9" width="1" height="1" fill="#151D28" />
+<rect x="21" y="9" width="1" height="1" fill="#151D28" />
+<rect x="22" y="9" width="1" height="1" fill="#151D28" />
+<rect x="23" y="9" width="1" height="1" fill="#151D28" />
+<rect x="24" y="9" width="1" height="1" fill="#151D28" />
+<rect x="25" y="9" width="1" height="1" fill="#151D28" />
+<rect x="26" y="9" width="1" height="1" fill="#151D28" />
+<rect x="27" y="9" width="1" height="1" fill="#151D28" />
+<rect x="28" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="9" width="1" height="1" fill="#151D28" />
+<rect x="30" y="9" width="1" height="1" fill="#151D28" />
+<rect x="31" y="9" width="1" height="1" fill="#151D28" />
+<rect x="32" y="9" width="1" height="1" fill="#151D28" />
+<rect x="33" y="9" width="1" height="1" fill="#151D28" />
+<rect x="34" y="9" width="1" height="1" fill="#151D28" />
+<rect x="35" y="9" width="1" height="1" fill="#151D28" />
+<rect x="36" y="9" width="1" height="1" fill="#151D28" />
+<rect x="37" y="9" width="1" height="1" fill="#151D28" />
+<rect x="38" y="9" width="1" height="1" fill="#151D28" />
+<rect x="39" y="9" width="1" height="1" fill="#10161F" />
+<rect x="40" y="9" width="1" height="1" fill="#10161F" />
+<rect x="41" y="9" width="1" height="1" fill="#151D28" />
+<rect x="42" y="9" width="1" height="1" fill="#151D28" />
+<rect x="43" y="9" width="1" height="1" fill="#151D28" />
+<rect x="44" y="9" width="1" height="1" fill="#151D28" />
+<rect x="45" y="9" width="1" height="1" fill="#10161F" />
+<rect x="46" y="9" width="1" height="1" fill="#10161F" />
+<rect x="47" y="9" width="1" height="1" fill="#10161F" />
+<rect x="0" y="10" width="1" height="1" fill="#10161F" />
+<rect x="1" y="10" width="1" height="1" fill="#10161F" />
+<rect x="2" y="10" width="1" height="1" fill="#151D28" />
+<rect x="3" y="10" width="1" height="1" fill="#151D28" />
+<rect x="4" y="10" width="1" height="1" fill="#151D28" />
+<rect x="5" y="10" width="1" height="1" fill="#151D28" />
+<rect x="6" y="10" width="1" height="1" fill="#151D28" />
+<rect x="7" y="10" width="1" height="1" fill="#151D28" />
+<rect x="8" y="10" width="1" height="1" fill="#151D28" />
+<rect x="9" y="10" width="1" height="1" fill="#151D28" />
+<rect x="10" y="10" width="1" height="1" fill="#151D28" />
+<rect x="11" y="10" width="1" height="1" fill="#151D28" />
+<rect x="12" y="10" width="1" height="1" fill="#151D28" />
+<rect x="13" y="10" width="1" height="1" fill="#151D28" />
+<rect x="14" y="10" width="1" height="1" fill="#151D28" />
+<rect x="15" y="10" width="1" height="1" fill="#151D28" />
+<rect x="16" y="10" width="1" height="1" fill="#151D28" />
+<rect x="17" y="10" width="1" height="1" fill="#151D28" />
+<rect x="18" y="10" width="1" height="1" fill="#151D28" />
+<rect x="19" y="10" width="1" height="1" fill="#151D28" />
+<rect x="20" y="10" width="1" height="1" fill="#151D28" />
+<rect x="21" y="10" width="1" height="1" fill="#151D28" />
+<rect x="22" y="10" width="1" height="1" fill="#151D28" />
+<rect x="23" y="10" width="1" height="1" fill="#151D28" />
+<rect x="24" y="10" width="1" height="1" fill="#151D28" />
+<rect x="25" y="10" width="1" height="1" fill="#151D28" />
+<rect x="26" y="10" width="1" height="1" fill="#151D28" />
+<rect x="27" y="10" width="1" height="1" fill="#151D28" />
+<rect x="28" y="10" width="1" height="1" fill="#151D28" />
+<rect x="29" y="10" width="1" height="1" fill="#151D28" />
+<rect x="30" y="10" width="1" height="1" fill="#151D28" />
+<rect x="31" y="10" width="1" height="1" fill="#151D28" />
+<rect x="32" y="10" width="1" height="1" fill="#151D28" />
+<rect x="33" y="10" width="1" height="1" fill="#151D28" />
+<rect x="34" y="10" width="1" height="1" fill="#151D28" />
+<rect x="35" y="10" width="1" height="1" fill="#151D28" />
+<rect x="36" y="10" width="1" height="1" fill="#151D28" />
+<rect x="37" y="10" width="1" height="1" fill="#151D28" />
+<rect x="38" y="10" width="1" height="1" fill="#151D28" />
+<rect x="39" y="10" width="1" height="1" fill="#151D28" />
+<rect x="40" y="10" width="1" height="1" fill="#10161F" />
+<rect x="41" y="10" width="1" height="1" fill="#151D28" />
+<rect x="42" y="10" width="1" height="1" fill="#151D28" />
+<rect x="43" y="10" width="1" height="1" fill="#151D28" />
+<rect x="44" y="10" width="1" height="1" fill="#151D28" />
+<rect x="45" y="10" width="1" height="1" fill="#151D28" />
+<rect x="46" y="10" width="1" height="1" fill="#10161F" />
+<rect x="47" y="10" width="1" height="1" fill="#10161F" />
+<rect x="0" y="11" width="1" height="1" fill="#10161F" />
+<rect x="1" y="11" width="1" height="1" fill="#10161F" />
+<rect x="2" y="11" width="1" height="1" fill="#151D28" />
+<rect x="3" y="11" width="1" height="1" fill="#151D28" />
+<rect x="4" y="11" width="1" height="1" fill="#151D28" />
+<rect x="5" y="11" width="1" height="1" fill="#151D28" />
+<rect x="6" y="11" width="1" height="1" fill="#151D28" />
+<rect x="7" y="11" width="1" height="1" fill="#151D28" />
+<rect x="8" y="11" width="1" height="1" fill="#151D28" />
+<rect x="9" y="11" width="1" height="1" fill="#151D28" />
+<rect x="10" y="11" width="1" height="1" fill="#151D28" />
+<rect x="11" y="11" width="1" height="1" fill="#151D28" />
+<rect x="12" y="11" width="1" height="1" fill="#151D28" />
+<rect x="13" y="11" width="1" height="1" fill="#151D28" />
+<rect x="14" y="11" width="1" height="1" fill="#151D28" />
+<rect x="15" y="11" width="1" height="1" fill="#151D28" />
+<rect x="16" y="11" width="1" height="1" fill="#151D28" />
+<rect x="17" y="11" width="1" height="1" fill="#151D28" />
+<rect x="18" y="11" width="1" height="1" fill="#151D28" />
+<rect x="19" y="11" width="1" height="1" fill="#151D28" />
+<rect x="20" y="11" width="1" height="1" fill="#151D28" />
+<rect x="21" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="11" width="1" height="1" fill="#151D28" />
+<rect x="28" y="11" width="1" height="1" fill="#151D28" />
+<rect x="29" y="11" width="1" height="1" fill="#151D28" />
+<rect x="30" y="11" width="1" height="1" fill="#151D28" />
+<rect x="31" y="11" width="1" height="1" fill="#151D28" />
+<rect x="32" y="11" width="1" height="1" fill="#151D28" />
+<rect x="33" y="11" width="1" height="1" fill="#151D28" />
+<rect x="34" y="11" width="1" height="1" fill="#151D28" />
+<rect x="35" y="11" width="1" height="1" fill="#151D28" />
+<rect x="36" y="11" width="1" height="1" fill="#151D28" />
+<rect x="37" y="11" width="1" height="1" fill="#151D28" />
+<rect x="38" y="11" width="1" height="1" fill="#151D28" />
+<rect x="39" y="11" width="1" height="1" fill="#151D28" />
+<rect x="40" y="11" width="1" height="1" fill="#10161F" />
+<rect x="41" y="11" width="1" height="1" fill="#151D28" />
+<rect x="42" y="11" width="1" height="1" fill="#151D28" />
+<rect x="43" y="11" width="1" height="1" fill="#151D28" />
+<rect x="44" y="11" width="1" height="1" fill="#151D28" />
+<rect x="45" y="11" width="1" height="1" fill="#151D28" />
+<rect x="46" y="11" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="11" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="12" width="1" height="1" fill="#10161F" />
+<rect x="1" y="12" width="1" height="1" fill="#151D28" />
+<rect x="2" y="12" width="1" height="1" fill="#151D28" />
+<rect x="3" y="12" width="1" height="1" fill="#151D28" />
+<rect x="4" y="12" width="1" height="1" fill="#151D28" />
+<rect x="5" y="12" width="1" height="1" fill="#151D28" />
+<rect x="6" y="12" width="1" height="1" fill="#151D28" />
+<rect x="7" y="12" width="1" height="1" fill="#151D28" />
+<rect x="8" y="12" width="1" height="1" fill="#151D28" />
+<rect x="9" y="12" width="1" height="1" fill="#151D28" />
+<rect x="10" y="12" width="1" height="1" fill="#151D28" />
+<rect x="11" y="12" width="1" height="1" fill="#151D28" />
+<rect x="12" y="12" width="1" height="1" fill="#151D28" />
+<rect x="13" y="12" width="1" height="1" fill="#151D28" />
+<rect x="14" y="12" width="1" height="1" fill="#151D28" />
+<rect x="15" y="12" width="1" height="1" fill="#151D28" />
+<rect x="16" y="12" width="1" height="1" fill="#151D28" />
+<rect x="17" y="12" width="1" height="1" fill="#151D28" />
+<rect x="18" y="12" width="1" height="1" fill="#151D28" />
+<rect x="19" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="12" width="1" height="1" fill="#151D28" />
+<rect x="23" y="12" width="1" height="1" fill="#151D28" />
+<rect x="24" y="12" width="1" height="1" fill="#151D28" />
+<rect x="25" y="12" width="1" height="1" fill="#151D28" />
+<rect x="26" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="12" width="1" height="1" fill="#151D28" />
+<rect x="30" y="12" width="1" height="1" fill="#151D28" />
+<rect x="31" y="12" width="1" height="1" fill="#151D28" />
+<rect x="32" y="12" width="1" height="1" fill="#151D28" />
+<rect x="33" y="12" width="1" height="1" fill="#151D28" />
+<rect x="34" y="12" width="1" height="1" fill="#151D28" />
+<rect x="35" y="12" width="1" height="1" fill="#151D28" />
+<rect x="36" y="12" width="1" height="1" fill="#151D28" />
+<rect x="37" y="12" width="1" height="1" fill="#151D28" />
+<rect x="38" y="12" width="1" height="1" fill="#151D28" />
+<rect x="39" y="12" width="1" height="1" fill="#151D28" />
+<rect x="40" y="12" width="1" height="1" fill="#151D28" />
+<rect x="41" y="12" width="1" height="1" fill="#151D28" />
+<rect x="42" y="12" width="1" height="1" fill="#151D28" />
+<rect x="43" y="12" width="1" height="1" fill="#151D28" />
+<rect x="44" y="12" width="1" height="1" fill="#752438" />
+<rect x="45" y="12" width="1" height="1" fill="#752438" />
+<rect x="46" y="12" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="12" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="13" width="1" height="1" fill="#10161F" />
+<rect x="1" y="13" width="1" height="1" fill="#151D28" />
+<rect x="2" y="13" width="1" height="1" fill="#151D28" />
+<rect x="3" y="13" width="1" height="1" fill="#151D28" />
+<rect x="4" y="13" width="1" height="1" fill="#151D28" />
+<rect x="5" y="13" width="1" height="1" fill="#151D28" />
+<rect x="6" y="13" width="1" height="1" fill="#151D28" />
+<rect x="7" y="13" width="1" height="1" fill="#151D28" />
+<rect x="8" y="13" width="1" height="1" fill="#151D28" />
+<rect x="9" y="13" width="1" height="1" fill="#151D28" />
+<rect x="10" y="13" width="1" height="1" fill="#151D28" />
+<rect x="11" y="13" width="1" height="1" fill="#151D28" />
+<rect x="12" y="13" width="1" height="1" fill="#151D28" />
+<rect x="13" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="13" width="1" height="1" fill="#151D28" />
+<rect x="15" y="13" width="1" height="1" fill="#151D28" />
+<rect x="16" y="13" width="1" height="1" fill="#151D28" />
+<rect x="17" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="13" width="1" height="1" fill="#151D28" />
+<rect x="22" y="13" width="1" height="1" fill="#151D28" />
+<rect x="23" y="13" width="1" height="1" fill="#151D28" />
+<rect x="24" y="13" width="1" height="1" fill="#151D28" />
+<rect x="25" y="13" width="1" height="1" fill="#151D28" />
+<rect x="26" y="13" width="1" height="1" fill="#151D28" />
+<rect x="27" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="13" width="1" height="1" fill="#151D28" />
+<rect x="32" y="13" width="1" height="1" fill="#151D28" />
+<rect x="33" y="13" width="1" height="1" fill="#151D28" />
+<rect x="34" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="13" width="1" height="1" fill="#151D28" />
+<rect x="36" y="13" width="1" height="1" fill="#151D28" />
+<rect x="37" y="13" width="1" height="1" fill="#151D28" />
+<rect x="38" y="13" width="1" height="1" fill="#151D28" />
+<rect x="39" y="13" width="1" height="1" fill="#151D28" />
+<rect x="40" y="13" width="1" height="1" fill="#151D28" />
+<rect x="41" y="13" width="1" height="1" fill="#151D28" />
+<rect x="42" y="13" width="1" height="1" fill="#752438" />
+<rect x="43" y="13" width="1" height="1" fill="#752438" />
+<rect x="44" y="13" width="1" height="1" fill="#752438" />
+<rect x="45" y="13" width="1" height="1" fill="#752438" />
+<rect x="46" y="13" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="13" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="14" width="1" height="1" fill="#10161F" />
+<rect x="1" y="14" width="1" height="1" fill="#151D28" />
+<rect x="2" y="14" width="1" height="1" fill="#151D28" />
+<rect x="3" y="14" width="1" height="1" fill="#151D28" />
+<rect x="4" y="14" width="1" height="1" fill="#151D28" />
+<rect x="5" y="14" width="1" height="1" fill="#151D28" />
+<rect x="6" y="14" width="1" height="1" fill="#151D28" />
+<rect x="7" y="14" width="1" height="1" fill="#151D28" />
+<rect x="8" y="14" width="1" height="1" fill="#151D28" />
+<rect x="9" y="14" width="1" height="1" fill="#151D28" />
+<rect x="10" y="14" width="1" height="1" fill="#151D28" />
+<rect x="11" y="14" width="1" height="1" fill="#151D28" />
+<rect x="12" y="14" width="1" height="1" fill="#151D28" />
+<rect x="13" y="14" width="1" height="1" fill="#151D28" />
+<rect x="14" y="14" width="1" height="1" fill="#151D28" />
+<rect x="15" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="14" width="1" height="1" fill="#151D28" />
+<rect x="21" y="14" width="1" height="1" fill="#151D28" />
+<rect x="22" y="14" width="1" height="1" fill="#151D28" />
+<rect x="23" y="14" width="1" height="1" fill="#151D28" />
+<rect x="24" y="14" width="1" height="1" fill="#151D28" />
+<rect x="25" y="14" width="1" height="1" fill="#151D28" />
+<rect x="26" y="14" width="1" height="1" fill="#151D28" />
+<rect x="27" y="14" width="1" height="1" fill="#151D28" />
+<rect x="28" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="14" width="1" height="1" fill="#151D28" />
+<rect x="34" y="14" width="1" height="1" fill="#151D28" />
+<rect x="35" y="14" width="1" height="1" fill="#151D28" />
+<rect x="36" y="14" width="1" height="1" fill="#151D28" />
+<rect x="37" y="14" width="1" height="1" fill="#151D28" />
+<rect x="38" y="14" width="1" height="1" fill="#151D28" />
+<rect x="39" y="14" width="1" height="1" fill="#151D28" />
+<rect x="40" y="14" width="1" height="1" fill="#752438" />
+<rect x="41" y="14" width="1" height="1" fill="#752438" />
+<rect x="42" y="14" width="1" height="1" fill="#752438" />
+<rect x="43" y="14" width="1" height="1" fill="#752438" />
+<rect x="44" y="14" width="1" height="1" fill="#752438" />
+<rect x="45" y="14" width="1" height="1" fill="#752438" />
+<rect x="46" y="14" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="14" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="15" width="1" height="1" fill="#10161F" />
+<rect x="1" y="15" width="1" height="1" fill="#151D28" />
+<rect x="2" y="15" width="1" height="1" fill="#151D28" />
+<rect x="3" y="15" width="1" height="1" fill="#151D28" />
+<rect x="4" y="15" width="1" height="1" fill="#151D28" />
+<rect x="5" y="15" width="1" height="1" fill="#151D28" />
+<rect x="6" y="15" width="1" height="1" fill="#151D28" />
+<rect x="7" y="15" width="1" height="1" fill="#151D28" />
+<rect x="8" y="15" width="1" height="1" fill="#151D28" />
+<rect x="9" y="15" width="1" height="1" fill="#151D28" />
+<rect x="10" y="15" width="1" height="1" fill="#151D28" />
+<rect x="11" y="15" width="1" height="1" fill="#151D28" />
+<rect x="12" y="15" width="1" height="1" fill="#151D28" />
+<rect x="13" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="15" width="1" height="1" fill="#151D28" />
+<rect x="21" y="15" width="1" height="1" fill="#151D28" />
+<rect x="22" y="15" width="1" height="1" fill="#151D28" />
+<rect x="23" y="15" width="1" height="1" fill="#151D28" />
+<rect x="24" y="15" width="1" height="1" fill="#151D28" />
+<rect x="25" y="15" width="1" height="1" fill="#151D28" />
+<rect x="26" y="15" width="1" height="1" fill="#151D28" />
+<rect x="27" y="15" width="1" height="1" fill="#151D28" />
+<rect x="28" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="15" width="1" height="1" fill="#151D28" />
+<rect x="36" y="15" width="1" height="1" fill="#752438" />
+<rect x="37" y="15" width="1" height="1" fill="#752438" />
+<rect x="38" y="15" width="1" height="1" fill="#752438" />
+<rect x="39" y="15" width="1" height="1" fill="#752438" />
+<rect x="40" y="15" width="1" height="1" fill="#752438" />
+<rect x="41" y="15" width="1" height="1" fill="#752438" />
+<rect x="42" y="15" width="1" height="1" fill="#752438" />
+<rect x="43" y="15" width="1" height="1" fill="#752438" />
+<rect x="44" y="15" width="1" height="1" fill="#752438" />
+<rect x="45" y="15" width="1" height="1" fill="#752438" />
+<rect x="46" y="15" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="15" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="16" width="1" height="1" fill="#10161F" />
+<rect x="1" y="16" width="1" height="1" fill="#151D28" />
+<rect x="2" y="16" width="1" height="1" fill="#151D28" />
+<rect x="3" y="16" width="1" height="1" fill="#151D28" />
+<rect x="4" y="16" width="1" height="1" fill="#151D28" />
+<rect x="5" y="16" width="1" height="1" fill="#151D28" />
+<rect x="6" y="16" width="1" height="1" fill="#151D28" />
+<rect x="7" y="16" width="1" height="1" fill="#151D28" />
+<rect x="8" y="16" width="1" height="1" fill="#151D28" />
+<rect x="9" y="16" width="1" height="1" fill="#151D28" />
+<rect x="10" y="16" width="1" height="1" fill="#151D28" />
+<rect x="11" y="16" width="1" height="1" fill="#151D28" />
+<rect x="12" y="16" width="1" height="1" fill="#151D28" />
+<rect x="13" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="16" width="1" height="1" fill="#151D28" />
+<rect x="21" y="16" width="1" height="1" fill="#151D28" />
+<rect x="22" y="16" width="1" height="1" fill="#151D28" />
+<rect x="23" y="16" width="1" height="1" fill="#151D28" />
+<rect x="24" y="16" width="1" height="1" fill="#151D28" />
+<rect x="25" y="16" width="1" height="1" fill="#151D28" />
+<rect x="26" y="16" width="1" height="1" fill="#151D28" />
+<rect x="27" y="16" width="1" height="1" fill="#151D28" />
+<rect x="28" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="16" width="1" height="1" fill="#151D28" />
+<rect x="36" y="16" width="1" height="1" fill="#752438" />
+<rect x="37" y="16" width="1" height="1" fill="#752438" />
+<rect x="38" y="16" width="1" height="1" fill="#752438" />
+<rect x="39" y="16" width="1" height="1" fill="#752438" />
+<rect x="40" y="16" width="1" height="1" fill="#752438" />
+<rect x="41" y="16" width="1" height="1" fill="#752438" />
+<rect x="42" y="16" width="1" height="1" fill="#752438" />
+<rect x="43" y="16" width="1" height="1" fill="#752438" />
+<rect x="44" y="16" width="1" height="1" fill="#752438" />
+<rect x="45" y="16" width="1" height="1" fill="#752438" />
+<rect x="46" y="16" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="16" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="17" width="1" height="1" fill="#10161F" />
+<rect x="1" y="17" width="1" height="1" fill="#151D28" />
+<rect x="2" y="17" width="1" height="1" fill="#151D28" />
+<rect x="3" y="17" width="1" height="1" fill="#151D28" />
+<rect x="4" y="17" width="1" height="1" fill="#151D28" />
+<rect x="5" y="17" width="1" height="1" fill="#151D28" />
+<rect x="6" y="17" width="1" height="1" fill="#151D28" />
+<rect x="7" y="17" width="1" height="1" fill="#151D28" />
+<rect x="8" y="17" width="1" height="1" fill="#151D28" />
+<rect x="9" y="17" width="1" height="1" fill="#752438" />
+<rect x="10" y="17" width="1" height="1" fill="#752438" />
+<rect x="11" y="17" width="1" height="1" fill="#752438" />
+<rect x="12" y="17" width="1" height="1" fill="#752438" />
+<rect x="13" y="17" width="1" height="1" fill="#151D28" />
+<rect x="14" y="17" width="1" height="1" fill="#151D28" />
+<rect x="15" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="17" width="1" height="1" fill="#151D28" />
+<rect x="21" y="17" width="1" height="1" fill="#151D28" />
+<rect x="22" y="17" width="1" height="1" fill="#151D28" />
+<rect x="23" y="17" width="1" height="1" fill="#151D28" />
+<rect x="24" y="17" width="1" height="1" fill="#151D28" />
+<rect x="25" y="17" width="1" height="1" fill="#151D28" />
+<rect x="26" y="17" width="1" height="1" fill="#151D28" />
+<rect x="27" y="17" width="1" height="1" fill="#151D28" />
+<rect x="28" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="17" width="1" height="1" fill="#151D28" />
+<rect x="34" y="17" width="1" height="1" fill="#151D28" />
+<rect x="35" y="17" width="1" height="1" fill="#752438" />
+<rect x="36" y="17" width="1" height="1" fill="#752438" />
+<rect x="37" y="17" width="1" height="1" fill="#752438" />
+<rect x="38" y="17" width="1" height="1" fill="#752438" />
+<rect x="39" y="17" width="1" height="1" fill="#752438" />
+<rect x="40" y="17" width="1" height="1" fill="#752438" />
+<rect x="41" y="17" width="1" height="1" fill="#752438" />
+<rect x="42" y="17" width="1" height="1" fill="#752438" />
+<rect x="43" y="17" width="1" height="1" fill="#752438" />
+<rect x="44" y="17" width="1" height="1" fill="#752438" />
+<rect x="45" y="17" width="1" height="1" fill="#581C2C" />
+<rect x="46" y="17" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="17" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="18" width="1" height="1" fill="#10161F" />
+<rect x="1" y="18" width="1" height="1" fill="#151D28" />
+<rect x="2" y="18" width="1" height="1" fill="#151D28" />
+<rect x="3" y="18" width="1" height="1" fill="#151D28" />
+<rect x="4" y="18" width="1" height="1" fill="#151D28" />
+<rect x="5" y="18" width="1" height="1" fill="#151D28" />
+<rect x="6" y="18" width="1" height="1" fill="#151D28" />
+<rect x="7" y="18" width="1" height="1" fill="#752438" />
+<rect x="8" y="18" width="1" height="1" fill="#752438" />
+<rect x="9" y="18" width="1" height="1" fill="#752438" />
+<rect x="10" y="18" width="1" height="1" fill="#752438" />
+<rect x="11" y="18" width="1" height="1" fill="#752438" />
+<rect x="12" y="18" width="1" height="1" fill="#752438" />
+<rect x="13" y="18" width="1" height="1" fill="#752438" />
+<rect x="14" y="18" width="1" height="1" fill="#752438" />
+<rect x="15" y="18" width="1" height="1" fill="#151D28" />
+<rect x="16" y="18" width="1" height="1" fill="#151D28" />
+<rect x="17" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="18" width="1" height="1" fill="#151D28" />
+<rect x="22" y="18" width="1" height="1" fill="#151D28" />
+<rect x="23" y="18" width="1" height="1" fill="#151D28" />
+<rect x="24" y="18" width="1" height="1" fill="#151D28" />
+<rect x="25" y="18" width="1" height="1" fill="#151D28" />
+<rect x="26" y="18" width="1" height="1" fill="#151D28" />
+<rect x="27" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="18" width="1" height="1" fill="#151D28" />
+<rect x="32" y="18" width="1" height="1" fill="#151D28" />
+<rect x="33" y="18" width="1" height="1" fill="#752438" />
+<rect x="34" y="18" width="1" height="1" fill="#752438" />
+<rect x="35" y="18" width="1" height="1" fill="#752438" />
+<rect x="36" y="18" width="1" height="1" fill="#752438" />
+<rect x="37" y="18" width="1" height="1" fill="#752438" />
+<rect x="38" y="18" width="1" height="1" fill="#752438" />
+<rect x="39" y="18" width="1" height="1" fill="#752438" />
+<rect x="40" y="18" width="1" height="1" fill="#752438" />
+<rect x="41" y="18" width="1" height="1" fill="#752438" />
+<rect x="42" y="18" width="1" height="1" fill="#752438" />
+<rect x="43" y="18" width="1" height="1" fill="#752438" />
+<rect x="44" y="18" width="1" height="1" fill="#752438" />
+<rect x="45" y="18" width="1" height="1" fill="#581C2C" />
+<rect x="46" y="18" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="18" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="19" width="1" height="1" fill="#10161F" />
+<rect x="1" y="19" width="1" height="1" fill="#151D28" />
+<rect x="2" y="19" width="1" height="1" fill="#151D28" />
+<rect x="3" y="19" width="1" height="1" fill="#151D28" />
+<rect x="4" y="19" width="1" height="1" fill="#151D28" />
+<rect x="5" y="19" width="1" height="1" fill="#752438" />
+<rect x="6" y="19" width="1" height="1" fill="#752438" />
+<rect x="7" y="19" width="1" height="1" fill="#752438" />
+<rect x="8" y="19" width="1" height="1" fill="#752438" />
+<rect x="9" y="19" width="1" height="1" fill="#752438" />
+<rect x="10" y="19" width="1" height="1" fill="#752438" />
+<rect x="11" y="19" width="1" height="1" fill="#752438" />
+<rect x="12" y="19" width="1" height="1" fill="#752438" />
+<rect x="13" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="19" width="1" height="1" fill="#752438" />
+<rect x="15" y="19" width="1" height="1" fill="#752438" />
+<rect x="16" y="19" width="1" height="1" fill="#752438" />
+<rect x="17" y="19" width="1" height="1" fill="#151D28" />
+<rect x="18" y="19" width="1" height="1" fill="#151D28" />
+<rect x="19" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="19" width="1" height="1" fill="#151D28" />
+<rect x="23" y="19" width="1" height="1" fill="#151D28" />
+<rect x="24" y="19" width="1" height="1" fill="#151D28" />
+<rect x="25" y="19" width="1" height="1" fill="#151D28" />
+<rect x="26" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="19" width="1" height="1" fill="#151D28" />
+<rect x="30" y="19" width="1" height="1" fill="#151D28" />
+<rect x="31" y="19" width="1" height="1" fill="#752438" />
+<rect x="32" y="19" width="1" height="1" fill="#752438" />
+<rect x="33" y="19" width="1" height="1" fill="#752438" />
+<rect x="34" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="19" width="1" height="1" fill="#752438" />
+<rect x="36" y="19" width="1" height="1" fill="#752438" />
+<rect x="37" y="19" width="1" height="1" fill="#752438" />
+<rect x="38" y="19" width="1" height="1" fill="#752438" />
+<rect x="39" y="19" width="1" height="1" fill="#752438" />
+<rect x="40" y="19" width="1" height="1" fill="#752438" />
+<rect x="41" y="19" width="1" height="1" fill="#752438" />
+<rect x="42" y="19" width="1" height="1" fill="#752438" />
+<rect x="43" y="19" width="1" height="1" fill="#752438" />
+<rect x="44" y="19" width="1" height="1" fill="#752438" />
+<rect x="45" y="19" width="1" height="1" fill="#581C2C" />
+<rect x="46" y="19" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="19" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="20" width="1" height="1" fill="#10161F" />
+<rect x="1" y="20" width="1" height="1" fill="#151D28" />
+<rect x="2" y="20" width="1" height="1" fill="#151D28" />
+<rect x="3" y="20" width="1" height="1" fill="#752438" />
+<rect x="4" y="20" width="1" height="1" fill="#752438" />
+<rect x="5" y="20" width="1" height="1" fill="#752438" />
+<rect x="6" y="20" width="1" height="1" fill="#752438" />
+<rect x="7" y="20" width="1" height="1" fill="#752438" />
+<rect x="8" y="20" width="1" height="1" fill="#752438" />
+<rect x="9" y="20" width="1" height="1" fill="#752438" />
+<rect x="10" y="20" width="1" height="1" fill="#752438" />
+<rect x="11" y="20" width="1" height="1" fill="#752438" />
+<rect x="12" y="20" width="1" height="1" fill="#752438" />
+<rect x="13" y="20" width="1" height="1" fill="#752438" />
+<rect x="14" y="20" width="1" height="1" fill="#752438" />
+<rect x="15" y="20" width="1" height="1" fill="#752438" />
+<rect x="16" y="20" width="1" height="1" fill="#752438" />
+<rect x="17" y="20" width="1" height="1" fill="#752438" />
+<rect x="18" y="20" width="1" height="1" fill="#752438" />
+<rect x="19" y="20" width="1" height="1" fill="#151D28" />
+<rect x="20" y="20" width="1" height="1" fill="#151D28" />
+<rect x="21" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="20" width="1" height="1" fill="#151D28" />
+<rect x="28" y="20" width="1" height="1" fill="#151D28" />
+<rect x="29" y="20" width="1" height="1" fill="#752438" />
+<rect x="30" y="20" width="1" height="1" fill="#752438" />
+<rect x="31" y="20" width="1" height="1" fill="#752438" />
+<rect x="32" y="20" width="1" height="1" fill="#752438" />
+<rect x="33" y="20" width="1" height="1" fill="#752438" />
+<rect x="34" y="20" width="1" height="1" fill="#752438" />
+<rect x="35" y="20" width="1" height="1" fill="#752438" />
+<rect x="36" y="20" width="1" height="1" fill="#752438" />
+<rect x="37" y="20" width="1" height="1" fill="#752438" />
+<rect x="38" y="20" width="1" height="1" fill="#752438" />
+<rect x="39" y="20" width="1" height="1" fill="#752438" />
+<rect x="40" y="20" width="1" height="1" fill="#752438" />
+<rect x="41" y="20" width="1" height="1" fill="#752438" />
+<rect x="42" y="20" width="1" height="1" fill="#752438" />
+<rect x="43" y="20" width="1" height="1" fill="#752438" />
+<rect x="44" y="20" width="1" height="1" fill="#581C2C" />
+<rect x="45" y="20" width="1" height="1" fill="#581C2C" />
+<rect x="46" y="20" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="20" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="21" width="1" height="1" fill="#581C2C" />
+<rect x="1" y="21" width="1" height="1" fill="#752438" />
+<rect x="2" y="21" width="1" height="1" fill="#752438" />
+<rect x="3" y="21" width="1" height="1" fill="#752438" />
+<rect x="4" y="21" width="1" height="1" fill="#752438" />
+<rect x="5" y="21" width="1" height="1" fill="#752438" />
+<rect x="6" y="21" width="1" height="1" fill="#752438" />
+<rect x="7" y="21" width="1" height="1" fill="#752438" />
+<rect x="8" y="21" width="1" height="1" fill="#752438" />
+<rect x="9" y="21" width="1" height="1" fill="#752438" />
+<rect x="10" y="21" width="1" height="1" fill="#752438" />
+<rect x="11" y="21" width="1" height="1" fill="#752438" />
+<rect x="12" y="21" width="1" height="1" fill="#752438" />
+<rect x="13" y="21" width="1" height="1" fill="#752438" />
+<rect x="14" y="21" width="1" height="1" fill="#752438" />
+<rect x="15" y="21" width="1" height="1" fill="#752438" />
+<rect x="16" y="21" width="1" height="1" fill="#752438" />
+<rect x="17" y="21" width="1" height="1" fill="#752438" />
+<rect x="18" y="21" width="1" height="1" fill="#752438" />
+<rect x="19" y="21" width="1" height="1" fill="#752438" />
+<rect x="20" y="21" width="1" height="1" fill="#752438" />
+<rect x="21" y="21" width="1" height="1" fill="#151D28" />
+<rect x="22" y="21" width="1" height="1" fill="#151D28" />
+<rect x="23" y="21" width="1" height="1" fill="#151D28" />
+<rect x="24" y="21" width="1" height="1" fill="#151D28" />
+<rect x="25" y="21" width="1" height="1" fill="#151D28" />
+<rect x="26" y="21" width="1" height="1" fill="#151D28" />
+<rect x="27" y="21" width="1" height="1" fill="#752438" />
+<rect x="28" y="21" width="1" height="1" fill="#752438" />
+<rect x="29" y="21" width="1" height="1" fill="#752438" />
+<rect x="30" y="21" width="1" height="1" fill="#752438" />
+<rect x="31" y="21" width="1" height="1" fill="#752438" />
+<rect x="32" y="21" width="1" height="1" fill="#752438" />
+<rect x="33" y="21" width="1" height="1" fill="#752438" />
+<rect x="34" y="21" width="1" height="1" fill="#752438" />
+<rect x="35" y="21" width="1" height="1" fill="#752438" />
+<rect x="36" y="21" width="1" height="1" fill="#752438" />
+<rect x="37" y="21" width="1" height="1" fill="#752438" />
+<rect x="38" y="21" width="1" height="1" fill="#752438" />
+<rect x="39" y="21" width="1" height="1" fill="#752438" />
+<rect x="40" y="21" width="1" height="1" fill="#752438" />
+<rect x="41" y="21" width="1" height="1" fill="#752438" />
+<rect x="42" y="21" width="1" height="1" fill="#752438" />
+<rect x="43" y="21" width="1" height="1" fill="#752438" />
+<rect x="44" y="21" width="1" height="1" fill="#581C2C" />
+<rect x="45" y="21" width="1" height="1" fill="#752438" />
+<rect x="46" y="21" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="21" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="22" width="1" height="1" fill="#581C2C" />
+<rect x="1" y="22" width="1" height="1" fill="#752438" />
+<rect x="2" y="22" width="1" height="1" fill="#581C2C" />
+<rect x="3" y="22" width="1" height="1" fill="#752438" />
+<rect x="4" y="22" width="1" height="1" fill="#752438" />
+<rect x="5" y="22" width="1" height="1" fill="#752438" />
+<rect x="6" y="22" width="1" height="1" fill="#752438" />
+<rect x="7" y="22" width="1" height="1" fill="#752438" />
+<rect x="8" y="22" width="1" height="1" fill="#752438" />
+<rect x="9" y="22" width="1" height="1" fill="#752438" />
+<rect x="10" y="22" width="1" height="1" fill="#752438" />
+<rect x="11" y="22" width="1" height="1" fill="#752438" />
+<rect x="12" y="22" width="1" height="1" fill="#752438" />
+<rect x="13" y="22" width="1" height="1" fill="#752438" />
+<rect x="14" y="22" width="1" height="1" fill="#752438" />
+<rect x="15" y="22" width="1" height="1" fill="#752438" />
+<rect x="16" y="22" width="1" height="1" fill="#752438" />
+<rect x="17" y="22" width="1" height="1" fill="#752438" />
+<rect x="18" y="22" width="1" height="1" fill="#752438" />
+<rect x="19" y="22" width="1" height="1" fill="#752438" />
+<rect x="20" y="22" width="1" height="1" fill="#752438" />
+<rect x="21" y="22" width="1" height="1" fill="#752438" />
+<rect x="22" y="22" width="1" height="1" fill="#752438" />
+<rect x="23" y="22" width="1" height="1" fill="#752438" />
+<rect x="24" y="22" width="1" height="1" fill="#752438" />
+<rect x="25" y="22" width="1" height="1" fill="#752438" />
+<rect x="26" y="22" width="1" height="1" fill="#752438" />
+<rect x="27" y="22" width="1" height="1" fill="#752438" />
+<rect x="28" y="22" width="1" height="1" fill="#752438" />
+<rect x="29" y="22" width="1" height="1" fill="#752438" />
+<rect x="30" y="22" width="1" height="1" fill="#752438" />
+<rect x="31" y="22" width="1" height="1" fill="#752438" />
+<rect x="32" y="22" width="1" height="1" fill="#752438" />
+<rect x="33" y="22" width="1" height="1" fill="#752438" />
+<rect x="34" y="22" width="1" height="1" fill="#752438" />
+<rect x="35" y="22" width="1" height="1" fill="#752438" />
+<rect x="36" y="22" width="1" height="1" fill="#752438" />
+<rect x="37" y="22" width="1" height="1" fill="#752438" />
+<rect x="38" y="22" width="1" height="1" fill="#752438" />
+<rect x="39" y="22" width="1" height="1" fill="#752438" />
+<rect x="40" y="22" width="1" height="1" fill="#752438" />
+<rect x="41" y="22" width="1" height="1" fill="#752438" />
+<rect x="42" y="22" width="1" height="1" fill="#752438" />
+<rect x="43" y="22" width="1" height="1" fill="#752438" />
+<rect x="44" y="22" width="1" height="1" fill="#752438" />
+<rect x="45" y="22" width="1" height="1" fill="#752438" />
+<rect x="46" y="22" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="22" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="23" width="1" height="1" fill="#581C2C" />
+<rect x="1" y="23" width="1" height="1" fill="#752438" />
+<rect x="2" y="23" width="1" height="1" fill="#581C2C" />
+<rect x="3" y="23" width="1" height="1" fill="#752438" />
+<rect x="4" y="23" width="1" height="1" fill="#752438" />
+<rect x="5" y="23" width="1" height="1" fill="#752438" />
+<rect x="6" y="23" width="1" height="1" fill="#752438" />
+<rect x="7" y="23" width="1" height="1" fill="#752438" />
+<rect x="8" y="23" width="1" height="1" fill="#752438" />
+<rect x="9" y="23" width="1" height="1" fill="#752438" />
+<rect x="10" y="23" width="1" height="1" fill="#752438" />
+<rect x="11" y="23" width="1" height="1" fill="#752438" />
+<rect x="12" y="23" width="1" height="1" fill="#752438" />
+<rect x="13" y="23" width="1" height="1" fill="#752438" />
+<rect x="14" y="23" width="1" height="1" fill="#752438" />
+<rect x="15" y="23" width="1" height="1" fill="#752438" />
+<rect x="16" y="23" width="1" height="1" fill="#752438" />
+<rect x="17" y="23" width="1" height="1" fill="#752438" />
+<rect x="18" y="23" width="1" height="1" fill="#752438" />
+<rect x="19" y="23" width="1" height="1" fill="#752438" />
+<rect x="20" y="23" width="1" height="1" fill="#752438" />
+<rect x="21" y="23" width="1" height="1" fill="#752438" />
+<rect x="22" y="23" width="1" height="1" fill="#752438" />
+<rect x="23" y="23" width="1" height="1" fill="#752438" />
+<rect x="24" y="23" width="1" height="1" fill="#752438" />
+<rect x="25" y="23" width="1" height="1" fill="#752438" />
+<rect x="26" y="23" width="1" height="1" fill="#752438" />
+<rect x="27" y="23" width="1" height="1" fill="#752438" />
+<rect x="28" y="23" width="1" height="1" fill="#752438" />
+<rect x="29" y="23" width="1" height="1" fill="#752438" />
+<rect x="30" y="23" width="1" height="1" fill="#752438" />
+<rect x="31" y="23" width="1" height="1" fill="#752438" />
+<rect x="32" y="23" width="1" height="1" fill="#752438" />
+<rect x="33" y="23" width="1" height="1" fill="#752438" />
+<rect x="34" y="23" width="1" height="1" fill="#752438" />
+<rect x="35" y="23" width="1" height="1" fill="#752438" />
+<rect x="36" y="23" width="1" height="1" fill="#752438" />
+<rect x="37" y="23" width="1" height="1" fill="#752438" />
+<rect x="38" y="23" width="1" height="1" fill="#752438" />
+<rect x="39" y="23" width="1" height="1" fill="#752438" />
+<rect x="40" y="23" width="1" height="1" fill="#752438" />
+<rect x="41" y="23" width="1" height="1" fill="#752438" />
+<rect x="42" y="23" width="1" height="1" fill="#752438" />
+<rect x="43" y="23" width="1" height="1" fill="#752438" />
+<rect x="44" y="23" width="1" height="1" fill="#752438" />
+<rect x="45" y="23" width="1" height="1" fill="#581C2C" />
+<rect x="46" y="23" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="23" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="24" width="1" height="1" fill="#581C2C" />
+<rect x="1" y="24" width="1" height="1" fill="#752438" />
+<rect x="2" y="24" width="1" height="1" fill="#581C2C" />
+<rect x="3" y="24" width="1" height="1" fill="#581C2C" />
+<rect x="4" y="24" width="1" height="1" fill="#752438" />
+<rect x="5" y="24" width="1" height="1" fill="#752438" />
+<rect x="6" y="24" width="1" height="1" fill="#752438" />
+<rect x="7" y="24" width="1" height="1" fill="#752438" />
+<rect x="8" y="24" width="1" height="1" fill="#752438" />
+<rect x="9" y="24" width="1" height="1" fill="#752438" />
+<rect x="10" y="24" width="1" height="1" fill="#752438" />
+<rect x="11" y="24" width="1" height="1" fill="#752438" />
+<rect x="12" y="24" width="1" height="1" fill="#752438" />
+<rect x="13" y="24" width="1" height="1" fill="#752438" />
+<rect x="14" y="24" width="1" height="1" fill="#752438" />
+<rect x="15" y="24" width="1" height="1" fill="#752438" />
+<rect x="16" y="24" width="1" height="1" fill="#752438" />
+<rect x="17" y="24" width="1" height="1" fill="#752438" />
+<rect x="18" y="24" width="1" height="1" fill="#752438" />
+<rect x="19" y="24" width="1" height="1" fill="#752438" />
+<rect x="20" y="24" width="1" height="1" fill="#752438" />
+<rect x="21" y="24" width="1" height="1" fill="#752438" />
+<rect x="22" y="24" width="1" height="1" fill="#752438" />
+<rect x="23" y="24" width="1" height="1" fill="#752438" />
+<rect x="24" y="24" width="1" height="1" fill="#752438" />
+<rect x="25" y="24" width="1" height="1" fill="#752438" />
+<rect x="26" y="24" width="1" height="1" fill="#752438" />
+<rect x="27" y="24" width="1" height="1" fill="#752438" />
+<rect x="28" y="24" width="1" height="1" fill="#752438" />
+<rect x="29" y="24" width="1" height="1" fill="#752438" />
+<rect x="30" y="24" width="1" height="1" fill="#752438" />
+<rect x="31" y="24" width="1" height="1" fill="#752438" />
+<rect x="32" y="24" width="1" height="1" fill="#752438" />
+<rect x="33" y="24" width="1" height="1" fill="#752438" />
+<rect x="34" y="24" width="1" height="1" fill="#752438" />
+<rect x="35" y="24" width="1" height="1" fill="#752438" />
+<rect x="36" y="24" width="1" height="1" fill="#752438" />
+<rect x="37" y="24" width="1" height="1" fill="#752438" />
+<rect x="38" y="24" width="1" height="1" fill="#752438" />
+<rect x="39" y="24" width="1" height="1" fill="#752438" />
+<rect x="40" y="24" width="1" height="1" fill="#752438" />
+<rect x="41" y="24" width="1" height="1" fill="#581C2C" />
+<rect x="42" y="24" width="1" height="1" fill="#752438" />
+<rect x="43" y="24" width="1" height="1" fill="#752438" />
+<rect x="44" y="24" width="1" height="1" fill="#752438" />
+<rect x="45" y="24" width="1" height="1" fill="#581C2C" />
+<rect x="46" y="24" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="24" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="25" width="1" height="1" fill="#581C2C" />
+<rect x="1" y="25" width="1" height="1" fill="#581C2C" />
+<rect x="2" y="25" width="1" height="1" fill="#581C2C" />
+<rect x="3" y="25" width="1" height="1" fill="#581C2C" />
+<rect x="4" y="25" width="1" height="1" fill="#581C2C" />
+<rect x="5" y="25" width="1" height="1" fill="#752438" />
+<rect x="6" y="25" width="1" height="1" fill="#752438" />
+<rect x="7" y="25" width="1" height="1" fill="#752438" />
+<rect x="8" y="25" width="1" height="1" fill="#752438" />
+<rect x="9" y="25" width="1" height="1" fill="#752438" />
+<rect x="10" y="25" width="1" height="1" fill="#752438" />
+<rect x="11" y="25" width="1" height="1" fill="#752438" />
+<rect x="12" y="25" width="1" height="1" fill="#752438" />
+<rect x="13" y="25" width="1" height="1" fill="#752438" />
+<rect x="14" y="25" width="1" height="1" fill="#752438" />
+<rect x="15" y="25" width="1" height="1" fill="#752438" />
+<rect x="16" y="25" width="1" height="1" fill="#752438" />
+<rect x="17" y="25" width="1" height="1" fill="#752438" />
+<rect x="18" y="25" width="1" height="1" fill="#752438" />
+<rect x="19" y="25" width="1" height="1" fill="#752438" />
+<rect x="20" y="25" width="1" height="1" fill="#752438" />
+<rect x="21" y="25" width="1" height="1" fill="#752438" />
+<rect x="22" y="25" width="1" height="1" fill="#752438" />
+<rect x="23" y="25" width="1" height="1" fill="#752438" />
+<rect x="24" y="25" width="1" height="1" fill="#752438" />
+<rect x="25" y="25" width="1" height="1" fill="#752438" />
+<rect x="26" y="25" width="1" height="1" fill="#752438" />
+<rect x="27" y="25" width="1" height="1" fill="#752438" />
+<rect x="28" y="25" width="1" height="1" fill="#752438" />
+<rect x="29" y="25" width="1" height="1" fill="#752438" />
+<rect x="30" y="25" width="1" height="1" fill="#752438" />
+<rect x="31" y="25" width="1" height="1" fill="#752438" />
+<rect x="32" y="25" width="1" height="1" fill="#752438" />
+<rect x="33" y="25" width="1" height="1" fill="#752438" />
+<rect x="34" y="25" width="1" height="1" fill="#752438" />
+<rect x="35" y="25" width="1" height="1" fill="#752438" />
+<rect x="36" y="25" width="1" height="1" fill="#752438" />
+<rect x="37" y="25" width="1" height="1" fill="#752438" />
+<rect x="38" y="25" width="1" height="1" fill="#752438" />
+<rect x="39" y="25" width="1" height="1" fill="#581C2C" />
+<rect x="40" y="25" width="1" height="1" fill="#581C2C" />
+<rect x="41" y="25" width="1" height="1" fill="#581C2C" />
+<rect x="42" y="25" width="1" height="1" fill="#752438" />
+<rect x="43" y="25" width="1" height="1" fill="#752438" />
+<rect x="44" y="25" width="1" height="1" fill="#581C2C" />
+<rect x="45" y="25" width="1" height="1" fill="#581C2C" />
+<rect x="46" y="25" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="25" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="1" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="2" y="26" width="1" height="1" fill="#752438" />
+<rect x="3" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="4" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="5" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="6" y="26" width="1" height="1" fill="#752438" />
+<rect x="7" y="26" width="1" height="1" fill="#752438" />
+<rect x="8" y="26" width="1" height="1" fill="#752438" />
+<rect x="9" y="26" width="1" height="1" fill="#752438" />
+<rect x="10" y="26" width="1" height="1" fill="#752438" />
+<rect x="11" y="26" width="1" height="1" fill="#752438" />
+<rect x="12" y="26" width="1" height="1" fill="#752438" />
+<rect x="13" y="26" width="1" height="1" fill="#752438" />
+<rect x="14" y="26" width="1" height="1" fill="#752438" />
+<rect x="15" y="26" width="1" height="1" fill="#752438" />
+<rect x="16" y="26" width="1" height="1" fill="#752438" />
+<rect x="17" y="26" width="1" height="1" fill="#752438" />
+<rect x="18" y="26" width="1" height="1" fill="#752438" />
+<rect x="19" y="26" width="1" height="1" fill="#752438" />
+<rect x="20" y="26" width="1" height="1" fill="#752438" />
+<rect x="21" y="26" width="1" height="1" fill="#752438" />
+<rect x="22" y="26" width="1" height="1" fill="#752438" />
+<rect x="23" y="26" width="1" height="1" fill="#752438" />
+<rect x="24" y="26" width="1" height="1" fill="#752438" />
+<rect x="25" y="26" width="1" height="1" fill="#752438" />
+<rect x="26" y="26" width="1" height="1" fill="#752438" />
+<rect x="27" y="26" width="1" height="1" fill="#752438" />
+<rect x="28" y="26" width="1" height="1" fill="#752438" />
+<rect x="29" y="26" width="1" height="1" fill="#752438" />
+<rect x="30" y="26" width="1" height="1" fill="#752438" />
+<rect x="31" y="26" width="1" height="1" fill="#752438" />
+<rect x="32" y="26" width="1" height="1" fill="#752438" />
+<rect x="33" y="26" width="1" height="1" fill="#752438" />
+<rect x="34" y="26" width="1" height="1" fill="#752438" />
+<rect x="35" y="26" width="1" height="1" fill="#752438" />
+<rect x="36" y="26" width="1" height="1" fill="#752438" />
+<rect x="37" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="38" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="39" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="40" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="41" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="42" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="43" y="26" width="1" height="1" fill="#752438" />
+<rect x="44" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="45" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="46" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="26" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="1" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="2" y="27" width="1" height="1" fill="#752438" />
+<rect x="3" y="27" width="1" height="1" fill="#752438" />
+<rect x="4" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="5" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="6" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="7" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="8" y="27" width="1" height="1" fill="#752438" />
+<rect x="9" y="27" width="1" height="1" fill="#752438" />
+<rect x="10" y="27" width="1" height="1" fill="#752438" />
+<rect x="11" y="27" width="1" height="1" fill="#752438" />
+<rect x="12" y="27" width="1" height="1" fill="#752438" />
+<rect x="13" y="27" width="1" height="1" fill="#752438" />
+<rect x="14" y="27" width="1" height="1" fill="#752438" />
+<rect x="15" y="27" width="1" height="1" fill="#752438" />
+<rect x="16" y="27" width="1" height="1" fill="#752438" />
+<rect x="17" y="27" width="1" height="1" fill="#752438" />
+<rect x="18" y="27" width="1" height="1" fill="#752438" />
+<rect x="19" y="27" width="1" height="1" fill="#752438" />
+<rect x="20" y="27" width="1" height="1" fill="#752438" />
+<rect x="21" y="27" width="1" height="1" fill="#752438" />
+<rect x="22" y="27" width="1" height="1" fill="#752438" />
+<rect x="23" y="27" width="1" height="1" fill="#752438" />
+<rect x="24" y="27" width="1" height="1" fill="#752438" />
+<rect x="25" y="27" width="1" height="1" fill="#752438" />
+<rect x="26" y="27" width="1" height="1" fill="#752438" />
+<rect x="27" y="27" width="1" height="1" fill="#752438" />
+<rect x="28" y="27" width="1" height="1" fill="#752438" />
+<rect x="29" y="27" width="1" height="1" fill="#752438" />
+<rect x="30" y="27" width="1" height="1" fill="#752438" />
+<rect x="31" y="27" width="1" height="1" fill="#752438" />
+<rect x="32" y="27" width="1" height="1" fill="#752438" />
+<rect x="33" y="27" width="1" height="1" fill="#752438" />
+<rect x="34" y="27" width="1" height="1" fill="#752438" />
+<rect x="35" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="36" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="37" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="38" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="39" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="40" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="41" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="42" y="27" width="1" height="1" fill="#752438" />
+<rect x="43" y="27" width="1" height="1" fill="#752438" />
+<rect x="44" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="45" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="46" y="27" width="1" height="1" fill="#752438" />
+<rect x="47" y="27" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="1" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="2" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="3" y="28" width="1" height="1" fill="#752438" />
+<rect x="4" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="5" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="6" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="7" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="8" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="9" y="28" width="1" height="1" fill="#752438" />
+<rect x="10" y="28" width="1" height="1" fill="#752438" />
+<rect x="11" y="28" width="1" height="1" fill="#752438" />
+<rect x="12" y="28" width="1" height="1" fill="#752438" />
+<rect x="13" y="28" width="1" height="1" fill="#752438" />
+<rect x="14" y="28" width="1" height="1" fill="#752438" />
+<rect x="15" y="28" width="1" height="1" fill="#752438" />
+<rect x="16" y="28" width="1" height="1" fill="#752438" />
+<rect x="17" y="28" width="1" height="1" fill="#752438" />
+<rect x="18" y="28" width="1" height="1" fill="#752438" />
+<rect x="19" y="28" width="1" height="1" fill="#752438" />
+<rect x="20" y="28" width="1" height="1" fill="#752438" />
+<rect x="21" y="28" width="1" height="1" fill="#752438" />
+<rect x="22" y="28" width="1" height="1" fill="#752438" />
+<rect x="23" y="28" width="1" height="1" fill="#752438" />
+<rect x="24" y="28" width="1" height="1" fill="#752438" />
+<rect x="25" y="28" width="1" height="1" fill="#752438" />
+<rect x="26" y="28" width="1" height="1" fill="#752438" />
+<rect x="27" y="28" width="1" height="1" fill="#752438" />
+<rect x="28" y="28" width="1" height="1" fill="#752438" />
+<rect x="29" y="28" width="1" height="1" fill="#752438" />
+<rect x="30" y="28" width="1" height="1" fill="#752438" />
+<rect x="31" y="28" width="1" height="1" fill="#752438" />
+<rect x="32" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="33" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="34" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="35" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="36" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="37" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="38" y="28" width="1" height="1" fill="#752438" />
+<rect x="39" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="40" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="41" y="28" width="1" height="1" fill="#752438" />
+<rect x="42" y="28" width="1" height="1" fill="#752438" />
+<rect x="43" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="44" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="45" y="28" width="1" height="1" fill="#752438" />
+<rect x="46" y="28" width="1" height="1" fill="#752438" />
+<rect x="47" y="28" width="1" height="1" fill="#581C2C" />
+<rect x="0" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="1" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="2" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="3" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="4" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="5" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="6" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="7" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="8" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="9" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="10" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="11" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="12" y="29" width="1" height="1" fill="#752438" />
+<rect x="13" y="29" width="1" height="1" fill="#752438" />
+<rect x="14" y="29" width="1" height="1" fill="#752438" />
+<rect x="15" y="29" width="1" height="1" fill="#752438" />
+<rect x="16" y="29" width="1" height="1" fill="#752438" />
+<rect x="17" y="29" width="1" height="1" fill="#752438" />
+<rect x="18" y="29" width="1" height="1" fill="#752438" />
+<rect x="19" y="29" width="1" height="1" fill="#752438" />
+<rect x="20" y="29" width="1" height="1" fill="#752438" />
+<rect x="21" y="29" width="1" height="1" fill="#752438" />
+<rect x="22" y="29" width="1" height="1" fill="#752438" />
+<rect x="23" y="29" width="1" height="1" fill="#752438" />
+<rect x="24" y="29" width="1" height="1" fill="#752438" />
+<rect x="25" y="29" width="1" height="1" fill="#752438" />
+<rect x="26" y="29" width="1" height="1" fill="#752438" />
+<rect x="27" y="29" width="1" height="1" fill="#752438" />
+<rect x="28" y="29" width="1" height="1" fill="#752438" />
+<rect x="29" y="29" width="1" height="1" fill="#752438" />
+<rect x="30" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="31" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="32" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="33" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="34" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="35" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="36" y="29" width="1" height="1" fill="#752438" />
+<rect x="37" y="29" width="1" height="1" fill="#752438" />
+<rect x="38" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="39" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="40" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="41" y="29" width="1" height="1" fill="#752438" />
+<rect x="42" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="43" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="44" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="45" y="29" width="1" height="1" fill="#752438" />
+<rect x="46" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="47" y="29" width="1" height="1" fill="#581C2C" />
+<rect x="1" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="2" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="3" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="4" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="5" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="6" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="7" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="8" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="9" y="30" width="1" height="1" fill="#752438" />
+<rect x="10" y="30" width="1" height="1" fill="#752438" />
+<rect x="11" y="30" width="1" height="1" fill="#752438" />
+<rect x="12" y="30" width="1" height="1" fill="#752438" />
+<rect x="13" y="30" width="1" height="1" fill="#752438" />
+<rect x="14" y="30" width="1" height="1" fill="#752438" />
+<rect x="15" y="30" width="1" height="1" fill="#752438" />
+<rect x="16" y="30" width="1" height="1" fill="#752438" />
+<rect x="17" y="30" width="1" height="1" fill="#752438" />
+<rect x="18" y="30" width="1" height="1" fill="#752438" />
+<rect x="19" y="30" width="1" height="1" fill="#752438" />
+<rect x="20" y="30" width="1" height="1" fill="#752438" />
+<rect x="21" y="30" width="1" height="1" fill="#752438" />
+<rect x="22" y="30" width="1" height="1" fill="#752438" />
+<rect x="23" y="30" width="1" height="1" fill="#752438" />
+<rect x="24" y="30" width="1" height="1" fill="#752438" />
+<rect x="25" y="30" width="1" height="1" fill="#752438" />
+<rect x="26" y="30" width="1" height="1" fill="#752438" />
+<rect x="27" y="30" width="1" height="1" fill="#752438" />
+<rect x="28" y="30" width="1" height="1" fill="#752438" />
+<rect x="29" y="30" width="1" height="1" fill="#752438" />
+<rect x="30" y="30" width="1" height="1" fill="#752438" />
+<rect x="31" y="30" width="1" height="1" fill="#752438" />
+<rect x="32" y="30" width="1" height="1" fill="#752438" />
+<rect x="33" y="30" width="1" height="1" fill="#752438" />
+<rect x="34" y="30" width="1" height="1" fill="#752438" />
+<rect x="35" y="30" width="1" height="1" fill="#752438" />
+<rect x="36" y="30" width="1" height="1" fill="#752438" />
+<rect x="37" y="30" width="1" height="1" fill="#752438" />
+<rect x="38" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="39" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="40" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="41" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="42" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="43" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="44" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="45" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="46" y="30" width="1" height="1" fill="#581C2C" />
+<rect x="2" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="3" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="4" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="5" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="6" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="7" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="8" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="9" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="10" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="11" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="12" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="13" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="14" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="15" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="16" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="17" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="18" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="19" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="20" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="21" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="22" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="23" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="24" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="25" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="26" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="27" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="28" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="29" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="30" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="31" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="32" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="33" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="34" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="35" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="36" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="37" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="38" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="39" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="40" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="41" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="42" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="43" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="44" y="31" width="1" height="1" fill="#581C2C" />
+<rect x="45" y="31" width="1" height="1" fill="#581C2C" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Gudoko.svg b/Edikoyo/.obsidian/icons/flags/Gudoko.svg
new file mode 100644
index 0000000..ba0ebea
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Gudoko.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="7" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="8" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="9" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="10" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="11" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="12" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="13" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="14" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="15" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="16" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="17" y="0" width="1" height="1" fill="#C3422F" />
+<rect x="18" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="19" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="20" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="21" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="22" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="23" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="24" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="25" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="26" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="27" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="28" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="29" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="30" y="0" width="1" height="1" fill="#D68733" />
+<rect x="31" y="0" width="1" height="1" fill="#D68733" />
+<rect x="32" y="0" width="1" height="1" fill="#D68733" />
+<rect x="33" y="0" width="1" height="1" fill="#D68733" />
+<rect x="34" y="0" width="1" height="1" fill="#D68733" />
+<rect x="35" y="0" width="1" height="1" fill="#D68733" />
+<rect x="36" y="0" width="1" height="1" fill="#D68733" />
+<rect x="37" y="0" width="1" height="1" fill="#D68733" />
+<rect x="38" y="0" width="1" height="1" fill="#D68733" />
+<rect x="39" y="0" width="1" height="1" fill="#D68733" />
+<rect x="40" y="0" width="1" height="1" fill="#D68733" />
+<rect x="41" y="0" width="1" height="1" fill="#D68733" />
+<rect x="42" y="0" width="1" height="1" fill="#D68733" />
+<rect x="43" y="0" width="1" height="1" fill="#D68733" />
+<rect x="44" y="0" width="1" height="1" fill="#D68733" />
+<rect x="45" y="0" width="1" height="1" fill="#D68733" />
+<rect x="1" y="1" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="1" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="1" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="1" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="1" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="1" width="1" height="1" fill="#C3422F" />
+<rect x="7" y="1" width="1" height="1" fill="#C3422F" />
+<rect x="8" y="1" width="1" height="1" fill="#C3422F" />
+<rect x="9" y="1" width="1" height="1" fill="#C3422F" />
+<rect x="10" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="1" width="1" height="1" fill="#D68733" />
+<rect x="34" y="1" width="1" height="1" fill="#D68733" />
+<rect x="35" y="1" width="1" height="1" fill="#D68733" />
+<rect x="36" y="1" width="1" height="1" fill="#D68733" />
+<rect x="37" y="1" width="1" height="1" fill="#D68733" />
+<rect x="38" y="1" width="1" height="1" fill="#D68733" />
+<rect x="39" y="1" width="1" height="1" fill="#D68733" />
+<rect x="40" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="1" width="1" height="1" fill="#D68733" />
+<rect x="42" y="1" width="1" height="1" fill="#D68733" />
+<rect x="43" y="1" width="1" height="1" fill="#D68733" />
+<rect x="44" y="1" width="1" height="1" fill="#D68733" />
+<rect x="45" y="1" width="1" height="1" fill="#D68733" />
+<rect x="46" y="1" width="1" height="1" fill="#D68733" />
+<rect x="0" y="2" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="2" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="2" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="2" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="2" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="2" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="2" width="1" height="1" fill="#D68733" />
+<rect x="38" y="2" width="1" height="1" fill="#D68733" />
+<rect x="39" y="2" width="1" height="1" fill="#D68733" />
+<rect x="40" y="2" width="1" height="1" fill="#D68733" />
+<rect x="41" y="2" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="2" width="1" height="1" fill="#D68733" />
+<rect x="43" y="2" width="1" height="1" fill="#D68733" />
+<rect x="44" y="2" width="1" height="1" fill="#D68733" />
+<rect x="45" y="2" width="1" height="1" fill="#D68733" />
+<rect x="46" y="2" width="1" height="1" fill="#D68733" />
+<rect x="47" y="2" width="1" height="1" fill="#D68733" />
+<rect x="0" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="3" width="1" height="1" fill="#C3422F" />
+<rect x="7" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="3" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="3" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="3" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="3" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="3" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="3" width="1" height="1" fill="#D68733" />
+<rect x="36" y="3" width="1" height="1" fill="#D68733" />
+<rect x="37" y="3" width="1" height="1" fill="#D68733" />
+<rect x="38" y="3" width="1" height="1" fill="#D68733" />
+<rect x="39" y="3" width="1" height="1" fill="#D68733" />
+<rect x="40" y="3" width="1" height="1" fill="#D68733" />
+<rect x="41" y="3" width="1" height="1" fill="#D68733" />
+<rect x="42" y="3" width="1" height="1" fill="#D68733" />
+<rect x="43" y="3" width="1" height="1" fill="#D68733" />
+<rect x="44" y="3" width="1" height="1" fill="#D68733" />
+<rect x="45" y="3" width="1" height="1" fill="#D68733" />
+<rect x="46" y="3" width="1" height="1" fill="#D68733" />
+<rect x="47" y="3" width="1" height="1" fill="#D68733" />
+<rect x="0" y="4" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="4" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="4" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="4" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="4" width="1" height="1" fill="#C3422F" />
+<rect x="7" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="4" width="1" height="1" fill="#D68733" />
+<rect x="37" y="4" width="1" height="1" fill="#D68733" />
+<rect x="38" y="4" width="1" height="1" fill="#D68733" />
+<rect x="39" y="4" width="1" height="1" fill="#D68733" />
+<rect x="40" y="4" width="1" height="1" fill="#D68733" />
+<rect x="41" y="4" width="1" height="1" fill="#D68733" />
+<rect x="42" y="4" width="1" height="1" fill="#D68733" />
+<rect x="43" y="4" width="1" height="1" fill="#D68733" />
+<rect x="44" y="4" width="1" height="1" fill="#D68733" />
+<rect x="45" y="4" width="1" height="1" fill="#D68733" />
+<rect x="46" y="4" width="1" height="1" fill="#D68733" />
+<rect x="47" y="4" width="1" height="1" fill="#D68733" />
+<rect x="0" y="5" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="5" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="5" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="5" width="1" height="1" fill="#C3422F" />
+<rect x="7" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="5" width="1" height="1" fill="#D68733" />
+<rect x="39" y="5" width="1" height="1" fill="#D68733" />
+<rect x="40" y="5" width="1" height="1" fill="#D68733" />
+<rect x="41" y="5" width="1" height="1" fill="#D68733" />
+<rect x="42" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="5" width="1" height="1" fill="#D68733" />
+<rect x="44" y="5" width="1" height="1" fill="#D68733" />
+<rect x="45" y="5" width="1" height="1" fill="#D68733" />
+<rect x="46" y="5" width="1" height="1" fill="#D68733" />
+<rect x="47" y="5" width="1" height="1" fill="#D68733" />
+<rect x="0" y="6" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="6" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="6" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="6" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="6" width="1" height="1" fill="#D68733" />
+<rect x="40" y="6" width="1" height="1" fill="#D68733" />
+<rect x="41" y="6" width="1" height="1" fill="#D68733" />
+<rect x="42" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="6" width="1" height="1" fill="#D68733" />
+<rect x="45" y="6" width="1" height="1" fill="#D68733" />
+<rect x="46" y="6" width="1" height="1" fill="#D68733" />
+<rect x="47" y="6" width="1" height="1" fill="#D68733" />
+<rect x="0" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="7" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="7" width="1" height="1" fill="#D68733" />
+<rect x="40" y="7" width="1" height="1" fill="#D68733" />
+<rect x="41" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="7" width="1" height="1" fill="#D68733" />
+<rect x="45" y="7" width="1" height="1" fill="#D68733" />
+<rect x="46" y="7" width="1" height="1" fill="#D68733" />
+<rect x="47" y="7" width="1" height="1" fill="#D68733" />
+<rect x="0" y="8" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="8" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="8" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="8" width="1" height="1" fill="#C3422F" />
+<rect x="7" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="8" width="1" height="1" fill="#D68733" />
+<rect x="40" y="8" width="1" height="1" fill="#D68733" />
+<rect x="41" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="8" width="1" height="1" fill="#D68733" />
+<rect x="46" y="8" width="1" height="1" fill="#D68733" />
+<rect x="47" y="8" width="1" height="1" fill="#D68733" />
+<rect x="0" y="9" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="9" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="9" width="1" height="1" fill="#D77C3F" />
+<rect x="19" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="9" width="1" height="1" fill="#D68733" />
+<rect x="40" y="9" width="1" height="1" fill="#D68733" />
+<rect x="41" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="9" width="1" height="1" fill="#D68733" />
+<rect x="46" y="9" width="1" height="1" fill="#D68733" />
+<rect x="47" y="9" width="1" height="1" fill="#D68733" />
+<rect x="0" y="10" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="10" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="10" width="1" height="1" fill="#D77C3F" />
+<rect x="20" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="10" width="1" height="1" fill="#D68733" />
+<rect x="41" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="10" width="1" height="1" fill="#D68733" />
+<rect x="47" y="10" width="1" height="1" fill="#D68733" />
+<rect x="0" y="11" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="11" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="11" width="1" height="1" fill="#D77C3F" />
+<rect x="20" y="11" width="1" height="1" fill="#D77C3F" />
+<rect x="21" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="11" width="1" height="1" fill="#D68733" />
+<rect x="41" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="11" width="1" height="1" fill="#D68733" />
+<rect x="47" y="11" width="1" height="1" fill="#D68733" />
+<rect x="0" y="12" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="12" width="1" height="1" fill="#D77C3F" />
+<rect x="21" y="12" width="1" height="1" fill="#D77C3F" />
+<rect x="22" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="12" width="1" height="1" fill="#D77C3F" />
+<rect x="27" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="12" width="1" height="1" fill="#D68733" />
+<rect x="47" y="12" width="1" height="1" fill="#D68733" />
+<rect x="0" y="13" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="13" width="1" height="1" fill="#D77C3F" />
+<rect x="22" y="13" width="1" height="1" fill="#D77C3F" />
+<rect x="23" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="13" width="1" height="1" fill="#D77C3F" />
+<rect x="26" y="13" width="1" height="1" fill="#D77C3F" />
+<rect x="27" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="13" width="1" height="1" fill="#D68733" />
+<rect x="47" y="13" width="1" height="1" fill="#D68733" />
+<rect x="0" y="14" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="14" width="1" height="1" fill="#D77C3F" />
+<rect x="23" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="14" width="1" height="1" fill="#D77C3F" />
+<rect x="25" y="14" width="1" height="1" fill="#D77C3F" />
+<rect x="26" y="14" width="1" height="1" fill="#D77C3F" />
+<rect x="27" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="14" width="1" height="1" fill="#D68733" />
+<rect x="47" y="14" width="1" height="1" fill="#D68733" />
+<rect x="0" y="15" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="15" width="1" height="1" fill="#D77C3F" />
+<rect x="24" y="15" width="1" height="1" fill="#D77C3F" />
+<rect x="25" y="15" width="1" height="1" fill="#D77C3F" />
+<rect x="26" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="15" width="1" height="1" fill="#D68733" />
+<rect x="47" y="15" width="1" height="1" fill="#D68733" />
+<rect x="0" y="16" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="16" width="1" height="1" fill="#D77C3F" />
+<rect x="23" y="16" width="1" height="1" fill="#D77C3F" />
+<rect x="24" y="16" width="1" height="1" fill="#D77C3F" />
+<rect x="25" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="16" width="1" height="1" fill="#D68733" />
+<rect x="47" y="16" width="1" height="1" fill="#D68733" />
+<rect x="0" y="17" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="17" width="1" height="1" fill="#D77C3F" />
+<rect x="22" y="17" width="1" height="1" fill="#D77C3F" />
+<rect x="23" y="17" width="1" height="1" fill="#D77C3F" />
+<rect x="24" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="17" width="1" height="1" fill="#D77C3F" />
+<rect x="26" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="17" width="1" height="1" fill="#D68733" />
+<rect x="46" y="17" width="1" height="1" fill="#D68733" />
+<rect x="47" y="17" width="1" height="1" fill="#D68733" />
+<rect x="0" y="18" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="18" width="1" height="1" fill="#D77C3F" />
+<rect x="22" y="18" width="1" height="1" fill="#D77C3F" />
+<rect x="23" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="18" width="1" height="1" fill="#D77C3F" />
+<rect x="26" y="18" width="1" height="1" fill="#D77C3F" />
+<rect x="27" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="18" width="1" height="1" fill="#D68733" />
+<rect x="46" y="18" width="1" height="1" fill="#D68733" />
+<rect x="47" y="18" width="1" height="1" fill="#D68733" />
+<rect x="0" y="19" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="19" width="1" height="1" fill="#D77C3F" />
+<rect x="22" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="19" width="1" height="1" fill="#D77C3F" />
+<rect x="27" y="19" width="1" height="1" fill="#D77C3F" />
+<rect x="28" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="19" width="1" height="1" fill="#D68733" />
+<rect x="46" y="19" width="1" height="1" fill="#D68733" />
+<rect x="47" y="19" width="1" height="1" fill="#D68733" />
+<rect x="0" y="20" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="20" width="1" height="1" fill="#D77C3F" />
+<rect x="28" y="20" width="1" height="1" fill="#D77C3F" />
+<rect x="29" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="20" width="1" height="1" fill="#D68733" />
+<rect x="45" y="20" width="1" height="1" fill="#D68733" />
+<rect x="46" y="20" width="1" height="1" fill="#D68733" />
+<rect x="47" y="20" width="1" height="1" fill="#D68733" />
+<rect x="0" y="21" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="21" width="1" height="1" fill="#D77C3F" />
+<rect x="29" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="21" width="1" height="1" fill="#D68733" />
+<rect x="45" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="21" width="1" height="1" fill="#D68733" />
+<rect x="47" y="21" width="1" height="1" fill="#D68733" />
+<rect x="0" y="22" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="22" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="22" width="1" height="1" fill="#D77C3F" />
+<rect x="30" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="22" width="1" height="1" fill="#D68733" />
+<rect x="47" y="22" width="1" height="1" fill="#D68733" />
+<rect x="0" y="23" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="23" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="23" width="1" height="1" fill="#D68733" />
+<rect x="46" y="23" width="1" height="1" fill="#D68733" />
+<rect x="47" y="23" width="1" height="1" fill="#D68733" />
+<rect x="0" y="24" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="24" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="24" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="24" width="1" height="1" fill="#D68733" />
+<rect x="42" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="24" width="1" height="1" fill="#D68733" />
+<rect x="46" y="24" width="1" height="1" fill="#D68733" />
+<rect x="47" y="24" width="1" height="1" fill="#D68733" />
+<rect x="0" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="25" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="25" width="1" height="1" fill="#D68733" />
+<rect x="40" y="25" width="1" height="1" fill="#D68733" />
+<rect x="41" y="25" width="1" height="1" fill="#D68733" />
+<rect x="42" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="25" width="1" height="1" fill="#D68733" />
+<rect x="45" y="25" width="1" height="1" fill="#D68733" />
+<rect x="46" y="25" width="1" height="1" fill="#D68733" />
+<rect x="47" y="25" width="1" height="1" fill="#D68733" />
+<rect x="0" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="26" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="26" width="1" height="1" fill="#D68733" />
+<rect x="38" y="26" width="1" height="1" fill="#D68733" />
+<rect x="39" y="26" width="1" height="1" fill="#D68733" />
+<rect x="40" y="26" width="1" height="1" fill="#D68733" />
+<rect x="41" y="26" width="1" height="1" fill="#D68733" />
+<rect x="42" y="26" width="1" height="1" fill="#D68733" />
+<rect x="43" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="26" width="1" height="1" fill="#D68733" />
+<rect x="45" y="26" width="1" height="1" fill="#D68733" />
+<rect x="46" y="26" width="1" height="1" fill="#D68733" />
+<rect x="47" y="26" width="1" height="1" fill="#D68733" />
+<rect x="0" y="27" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="27" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="27" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="27" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="27" width="1" height="1" fill="#C3422F" />
+<rect x="7" y="27" width="1" height="1" fill="#C3422F" />
+<rect x="8" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="27" width="1" height="1" fill="#D68733" />
+<rect x="36" y="27" width="1" height="1" fill="#D68733" />
+<rect x="37" y="27" width="1" height="1" fill="#D68733" />
+<rect x="38" y="27" width="1" height="1" fill="#D68733" />
+<rect x="39" y="27" width="1" height="1" fill="#D68733" />
+<rect x="40" y="27" width="1" height="1" fill="#D68733" />
+<rect x="41" y="27" width="1" height="1" fill="#D68733" />
+<rect x="42" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="27" width="1" height="1" fill="#D68733" />
+<rect x="45" y="27" width="1" height="1" fill="#D68733" />
+<rect x="46" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="47" y="27" width="1" height="1" fill="#D68733" />
+<rect x="0" y="28" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="28" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="28" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="28" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="28" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="28" width="1" height="1" fill="#C3422F" />
+<rect x="7" y="28" width="1" height="1" fill="#C3422F" />
+<rect x="8" y="28" width="1" height="1" fill="#C3422F" />
+<rect x="9" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="28" width="1" height="1" fill="#D68733" />
+<rect x="33" y="28" width="1" height="1" fill="#D68733" />
+<rect x="34" y="28" width="1" height="1" fill="#D68733" />
+<rect x="35" y="28" width="1" height="1" fill="#D68733" />
+<rect x="36" y="28" width="1" height="1" fill="#D68733" />
+<rect x="37" y="28" width="1" height="1" fill="#D68733" />
+<rect x="38" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="28" width="1" height="1" fill="#D68733" />
+<rect x="40" y="28" width="1" height="1" fill="#D68733" />
+<rect x="41" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="28" width="1" height="1" fill="#D68733" />
+<rect x="44" y="28" width="1" height="1" fill="#D68733" />
+<rect x="45" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="47" y="28" width="1" height="1" fill="#D68733" />
+<rect x="0" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="1" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="7" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="8" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="9" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="10" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="11" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="12" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="29" width="1" height="1" fill="#D68733" />
+<rect x="31" y="29" width="1" height="1" fill="#D68733" />
+<rect x="32" y="29" width="1" height="1" fill="#D68733" />
+<rect x="33" y="29" width="1" height="1" fill="#D68733" />
+<rect x="34" y="29" width="1" height="1" fill="#D68733" />
+<rect x="35" y="29" width="1" height="1" fill="#D68733" />
+<rect x="36" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="29" width="1" height="1" fill="#D68733" />
+<rect x="39" y="29" width="1" height="1" fill="#D68733" />
+<rect x="40" y="29" width="1" height="1" fill="#D68733" />
+<rect x="41" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="29" width="1" height="1" fill="#D68733" />
+<rect x="43" y="29" width="1" height="1" fill="#D68733" />
+<rect x="44" y="29" width="1" height="1" fill="#D68733" />
+<rect x="45" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="29" width="1" height="1" fill="#D68733" />
+<rect x="47" y="29" width="1" height="1" fill="#D68733" />
+<rect x="1" y="30" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="30" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="30" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="30" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="30" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="30" width="1" height="1" fill="#C3422F" />
+<rect x="7" y="30" width="1" height="1" fill="#C3422F" />
+<rect x="8" y="30" width="1" height="1" fill="#C3422F" />
+<rect x="9" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="30" width="1" height="1" fill="#D68733" />
+<rect x="39" y="30" width="1" height="1" fill="#D68733" />
+<rect x="40" y="30" width="1" height="1" fill="#D68733" />
+<rect x="41" y="30" width="1" height="1" fill="#D68733" />
+<rect x="42" y="30" width="1" height="1" fill="#D68733" />
+<rect x="43" y="30" width="1" height="1" fill="#D68733" />
+<rect x="44" y="30" width="1" height="1" fill="#D68733" />
+<rect x="45" y="30" width="1" height="1" fill="#D68733" />
+<rect x="46" y="30" width="1" height="1" fill="#D68733" />
+<rect x="2" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="3" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="4" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="5" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="6" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="7" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="8" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="9" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="10" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="11" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="12" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="13" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="14" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="15" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="16" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="17" y="31" width="1" height="1" fill="#C3422F" />
+<rect x="18" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="19" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="20" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="21" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="22" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="23" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="24" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="25" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="26" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="27" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="28" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="29" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="30" y="31" width="1" height="1" fill="#D68733" />
+<rect x="31" y="31" width="1" height="1" fill="#D68733" />
+<rect x="32" y="31" width="1" height="1" fill="#D68733" />
+<rect x="33" y="31" width="1" height="1" fill="#D68733" />
+<rect x="34" y="31" width="1" height="1" fill="#D68733" />
+<rect x="35" y="31" width="1" height="1" fill="#D68733" />
+<rect x="36" y="31" width="1" height="1" fill="#D68733" />
+<rect x="37" y="31" width="1" height="1" fill="#D68733" />
+<rect x="38" y="31" width="1" height="1" fill="#D68733" />
+<rect x="39" y="31" width="1" height="1" fill="#D68733" />
+<rect x="40" y="31" width="1" height="1" fill="#D68733" />
+<rect x="41" y="31" width="1" height="1" fill="#D68733" />
+<rect x="42" y="31" width="1" height="1" fill="#D68733" />
+<rect x="43" y="31" width="1" height="1" fill="#D68733" />
+<rect x="44" y="31" width="1" height="1" fill="#D68733" />
+<rect x="45" y="31" width="1" height="1" fill="#D68733" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Hanoka.svg b/Edikoyo/.obsidian/icons/flags/Hanoka.svg
new file mode 100644
index 0000000..f4aa5c5
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Hanoka.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="4" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="7" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="8" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="9" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="10" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="11" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="12" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="13" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="14" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="15" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="16" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="17" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="18" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="19" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="20" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="21" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="22" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="23" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="24" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="25" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="26" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="27" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="28" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="29" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="30" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="31" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="32" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="33" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="34" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="35" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="36" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="37" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="38" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="39" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="42" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="43" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="44" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="0" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="4" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="7" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="8" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="9" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="10" y="1" width="1" height="1" fill="#C65197" />
+<rect x="11" y="1" width="1" height="1" fill="#C65197" />
+<rect x="12" y="1" width="1" height="1" fill="#C65197" />
+<rect x="13" y="1" width="1" height="1" fill="#C65197" />
+<rect x="14" y="1" width="1" height="1" fill="#C65197" />
+<rect x="15" y="1" width="1" height="1" fill="#C65197" />
+<rect x="16" y="1" width="1" height="1" fill="#C65197" />
+<rect x="17" y="1" width="1" height="1" fill="#C65197" />
+<rect x="18" y="1" width="1" height="1" fill="#C65197" />
+<rect x="19" y="1" width="1" height="1" fill="#C65197" />
+<rect x="20" y="1" width="1" height="1" fill="#C65197" />
+<rect x="21" y="1" width="1" height="1" fill="#C65197" />
+<rect x="22" y="1" width="1" height="1" fill="#C65197" />
+<rect x="23" y="1" width="1" height="1" fill="#C65197" />
+<rect x="24" y="1" width="1" height="1" fill="#C65197" />
+<rect x="25" y="1" width="1" height="1" fill="#C65197" />
+<rect x="26" y="1" width="1" height="1" fill="#C65197" />
+<rect x="27" y="1" width="1" height="1" fill="#C65197" />
+<rect x="28" y="1" width="1" height="1" fill="#C65197" />
+<rect x="29" y="1" width="1" height="1" fill="#C65197" />
+<rect x="30" y="1" width="1" height="1" fill="#C65197" />
+<rect x="31" y="1" width="1" height="1" fill="#C65197" />
+<rect x="32" y="1" width="1" height="1" fill="#C65197" />
+<rect x="33" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="34" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="35" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="36" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="37" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="38" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="39" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="1" width="1" height="1" fill="#C65197" />
+<rect x="41" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="42" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="43" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="44" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="1" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="4" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="2" width="1" height="1" fill="#C65197" />
+<rect x="7" y="2" width="1" height="1" fill="#C65197" />
+<rect x="8" y="2" width="1" height="1" fill="#C65197" />
+<rect x="9" y="2" width="1" height="1" fill="#C65197" />
+<rect x="10" y="2" width="1" height="1" fill="#C65197" />
+<rect x="11" y="2" width="1" height="1" fill="#C65197" />
+<rect x="12" y="2" width="1" height="1" fill="#C65197" />
+<rect x="13" y="2" width="1" height="1" fill="#C65197" />
+<rect x="14" y="2" width="1" height="1" fill="#C65197" />
+<rect x="15" y="2" width="1" height="1" fill="#C65197" />
+<rect x="16" y="2" width="1" height="1" fill="#C65197" />
+<rect x="17" y="2" width="1" height="1" fill="#C65197" />
+<rect x="18" y="2" width="1" height="1" fill="#C65197" />
+<rect x="19" y="2" width="1" height="1" fill="#C65197" />
+<rect x="20" y="2" width="1" height="1" fill="#C65197" />
+<rect x="21" y="2" width="1" height="1" fill="#C65197" />
+<rect x="22" y="2" width="1" height="1" fill="#C65197" />
+<rect x="23" y="2" width="1" height="1" fill="#C65197" />
+<rect x="24" y="2" width="1" height="1" fill="#C65197" />
+<rect x="25" y="2" width="1" height="1" fill="#C65197" />
+<rect x="26" y="2" width="1" height="1" fill="#C65197" />
+<rect x="27" y="2" width="1" height="1" fill="#C65197" />
+<rect x="28" y="2" width="1" height="1" fill="#C65197" />
+<rect x="29" y="2" width="1" height="1" fill="#C65197" />
+<rect x="30" y="2" width="1" height="1" fill="#C65197" />
+<rect x="31" y="2" width="1" height="1" fill="#C65197" />
+<rect x="32" y="2" width="1" height="1" fill="#C65197" />
+<rect x="33" y="2" width="1" height="1" fill="#C65197" />
+<rect x="34" y="2" width="1" height="1" fill="#C65197" />
+<rect x="35" y="2" width="1" height="1" fill="#C65197" />
+<rect x="36" y="2" width="1" height="1" fill="#C65197" />
+<rect x="37" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="38" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="39" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="2" width="1" height="1" fill="#C65197" />
+<rect x="42" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="43" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="44" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="2" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="4" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="7" y="3" width="1" height="1" fill="#C65197" />
+<rect x="8" y="3" width="1" height="1" fill="#C65197" />
+<rect x="9" y="3" width="1" height="1" fill="#C65197" />
+<rect x="10" y="3" width="1" height="1" fill="#C65197" />
+<rect x="11" y="3" width="1" height="1" fill="#C65197" />
+<rect x="12" y="3" width="1" height="1" fill="#C65197" />
+<rect x="13" y="3" width="1" height="1" fill="#C65197" />
+<rect x="14" y="3" width="1" height="1" fill="#C65197" />
+<rect x="15" y="3" width="1" height="1" fill="#C65197" />
+<rect x="16" y="3" width="1" height="1" fill="#C65197" />
+<rect x="17" y="3" width="1" height="1" fill="#C65197" />
+<rect x="18" y="3" width="1" height="1" fill="#C65197" />
+<rect x="19" y="3" width="1" height="1" fill="#C65197" />
+<rect x="20" y="3" width="1" height="1" fill="#C65197" />
+<rect x="21" y="3" width="1" height="1" fill="#C65197" />
+<rect x="22" y="3" width="1" height="1" fill="#C65197" />
+<rect x="23" y="3" width="1" height="1" fill="#C65197" />
+<rect x="24" y="3" width="1" height="1" fill="#C65197" />
+<rect x="25" y="3" width="1" height="1" fill="#C65197" />
+<rect x="26" y="3" width="1" height="1" fill="#C65197" />
+<rect x="27" y="3" width="1" height="1" fill="#C65197" />
+<rect x="28" y="3" width="1" height="1" fill="#C65197" />
+<rect x="29" y="3" width="1" height="1" fill="#C65197" />
+<rect x="30" y="3" width="1" height="1" fill="#C65197" />
+<rect x="31" y="3" width="1" height="1" fill="#C65197" />
+<rect x="32" y="3" width="1" height="1" fill="#C65197" />
+<rect x="33" y="3" width="1" height="1" fill="#C65197" />
+<rect x="34" y="3" width="1" height="1" fill="#C65197" />
+<rect x="35" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="36" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="37" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="38" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="39" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="42" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="43" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="44" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="3" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="4" width="1" height="1" fill="#C65197" />
+<rect x="3" y="4" width="1" height="1" fill="#C65197" />
+<rect x="4" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="7" y="4" width="1" height="1" fill="#C65197" />
+<rect x="8" y="4" width="1" height="1" fill="#C65197" />
+<rect x="9" y="4" width="1" height="1" fill="#C65197" />
+<rect x="10" y="4" width="1" height="1" fill="#C65197" />
+<rect x="11" y="4" width="1" height="1" fill="#C65197" />
+<rect x="12" y="4" width="1" height="1" fill="#C65197" />
+<rect x="13" y="4" width="1" height="1" fill="#C65197" />
+<rect x="14" y="4" width="1" height="1" fill="#C65197" />
+<rect x="15" y="4" width="1" height="1" fill="#C65197" />
+<rect x="16" y="4" width="1" height="1" fill="#C65197" />
+<rect x="17" y="4" width="1" height="1" fill="#C65197" />
+<rect x="18" y="4" width="1" height="1" fill="#C65197" />
+<rect x="19" y="4" width="1" height="1" fill="#C65197" />
+<rect x="20" y="4" width="1" height="1" fill="#C65197" />
+<rect x="21" y="4" width="1" height="1" fill="#C65197" />
+<rect x="22" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="4" width="1" height="1" fill="#C65197" />
+<rect x="27" y="4" width="1" height="1" fill="#C65197" />
+<rect x="28" y="4" width="1" height="1" fill="#C65197" />
+<rect x="29" y="4" width="1" height="1" fill="#C65197" />
+<rect x="30" y="4" width="1" height="1" fill="#C65197" />
+<rect x="31" y="4" width="1" height="1" fill="#C65197" />
+<rect x="32" y="4" width="1" height="1" fill="#C65197" />
+<rect x="33" y="4" width="1" height="1" fill="#C65197" />
+<rect x="34" y="4" width="1" height="1" fill="#C65197" />
+<rect x="35" y="4" width="1" height="1" fill="#C65197" />
+<rect x="36" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="37" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="38" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="39" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="42" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="43" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="44" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="4" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="5" width="1" height="1" fill="#C65197" />
+<rect x="4" y="5" width="1" height="1" fill="#C65197" />
+<rect x="5" y="5" width="1" height="1" fill="#C65197" />
+<rect x="6" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="7" y="5" width="1" height="1" fill="#C65197" />
+<rect x="8" y="5" width="1" height="1" fill="#C65197" />
+<rect x="9" y="5" width="1" height="1" fill="#C65197" />
+<rect x="10" y="5" width="1" height="1" fill="#C65197" />
+<rect x="11" y="5" width="1" height="1" fill="#C65197" />
+<rect x="12" y="5" width="1" height="1" fill="#C65197" />
+<rect x="13" y="5" width="1" height="1" fill="#C65197" />
+<rect x="14" y="5" width="1" height="1" fill="#C65197" />
+<rect x="15" y="5" width="1" height="1" fill="#C65197" />
+<rect x="16" y="5" width="1" height="1" fill="#C65197" />
+<rect x="17" y="5" width="1" height="1" fill="#C65197" />
+<rect x="18" y="5" width="1" height="1" fill="#C65197" />
+<rect x="19" y="5" width="1" height="1" fill="#C65197" />
+<rect x="20" y="5" width="1" height="1" fill="#C65197" />
+<rect x="21" y="5" width="1" height="1" fill="#C65197" />
+<rect x="22" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="5" width="1" height="1" fill="#C65197" />
+<rect x="27" y="5" width="1" height="1" fill="#C65197" />
+<rect x="28" y="5" width="1" height="1" fill="#C65197" />
+<rect x="29" y="5" width="1" height="1" fill="#C65197" />
+<rect x="30" y="5" width="1" height="1" fill="#C65197" />
+<rect x="31" y="5" width="1" height="1" fill="#C65197" />
+<rect x="32" y="5" width="1" height="1" fill="#C65197" />
+<rect x="33" y="5" width="1" height="1" fill="#C65197" />
+<rect x="34" y="5" width="1" height="1" fill="#C65197" />
+<rect x="35" y="5" width="1" height="1" fill="#C65197" />
+<rect x="36" y="5" width="1" height="1" fill="#C65197" />
+<rect x="37" y="5" width="1" height="1" fill="#C65197" />
+<rect x="38" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="39" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="42" y="5" width="1" height="1" fill="#C65197" />
+<rect x="43" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="44" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="5" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="6" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="6" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="6" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="6" width="1" height="1" fill="#B83D80" />
+<rect x="4" y="6" width="1" height="1" fill="#C65197" />
+<rect x="5" y="6" width="1" height="1" fill="#C65197" />
+<rect x="6" y="6" width="1" height="1" fill="#C65197" />
+<rect x="7" y="6" width="1" height="1" fill="#C65197" />
+<rect x="8" y="6" width="1" height="1" fill="#C65197" />
+<rect x="9" y="6" width="1" height="1" fill="#C65197" />
+<rect x="10" y="6" width="1" height="1" fill="#C65197" />
+<rect x="11" y="6" width="1" height="1" fill="#C65197" />
+<rect x="12" y="6" width="1" height="1" fill="#C65197" />
+<rect x="13" y="6" width="1" height="1" fill="#C65197" />
+<rect x="14" y="6" width="1" height="1" fill="#C65197" />
+<rect x="15" y="6" width="1" height="1" fill="#C65197" />
+<rect x="16" y="6" width="1" height="1" fill="#C65197" />
+<rect x="17" y="6" width="1" height="1" fill="#C65197" />
+<rect x="18" y="6" width="1" height="1" fill="#C65197" />
+<rect x="19" y="6" width="1" height="1" fill="#C65197" />
+<rect x="20" y="6" width="1" height="1" fill="#C65197" />
+<rect x="21" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="6" width="1" height="1" fill="#C65197" />
+<rect x="28" y="6" width="1" height="1" fill="#C65197" />
+<rect x="29" y="6" width="1" height="1" fill="#C65197" />
+<rect x="30" y="6" width="1" height="1" fill="#C65197" />
+<rect x="31" y="6" width="1" height="1" fill="#C65197" />
+<rect x="32" y="6" width="1" height="1" fill="#C65197" />
+<rect x="33" y="6" width="1" height="1" fill="#C65197" />
+<rect x="34" y="6" width="1" height="1" fill="#C65197" />
+<rect x="35" y="6" width="1" height="1" fill="#C65197" />
+<rect x="36" y="6" width="1" height="1" fill="#C65197" />
+<rect x="37" y="6" width="1" height="1" fill="#C65197" />
+<rect x="38" y="6" width="1" height="1" fill="#C65197" />
+<rect x="39" y="6" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="6" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="6" width="1" height="1" fill="#B83D80" />
+<rect x="42" y="6" width="1" height="1" fill="#C65197" />
+<rect x="43" y="6" width="1" height="1" fill="#C65197" />
+<rect x="44" y="6" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="6" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="6" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="6" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="7" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="7" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="7" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="7" width="1" height="1" fill="#B83D80" />
+<rect x="4" y="7" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="7" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="7" width="1" height="1" fill="#C65197" />
+<rect x="7" y="7" width="1" height="1" fill="#C65197" />
+<rect x="8" y="7" width="1" height="1" fill="#C65197" />
+<rect x="9" y="7" width="1" height="1" fill="#C65197" />
+<rect x="10" y="7" width="1" height="1" fill="#C65197" />
+<rect x="11" y="7" width="1" height="1" fill="#C65197" />
+<rect x="12" y="7" width="1" height="1" fill="#C65197" />
+<rect x="13" y="7" width="1" height="1" fill="#C65197" />
+<rect x="14" y="7" width="1" height="1" fill="#C65197" />
+<rect x="15" y="7" width="1" height="1" fill="#C65197" />
+<rect x="16" y="7" width="1" height="1" fill="#C65197" />
+<rect x="17" y="7" width="1" height="1" fill="#C65197" />
+<rect x="18" y="7" width="1" height="1" fill="#C65197" />
+<rect x="19" y="7" width="1" height="1" fill="#C65197" />
+<rect x="20" y="7" width="1" height="1" fill="#C65197" />
+<rect x="21" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="7" width="1" height="1" fill="#C65197" />
+<rect x="28" y="7" width="1" height="1" fill="#C65197" />
+<rect x="29" y="7" width="1" height="1" fill="#C65197" />
+<rect x="30" y="7" width="1" height="1" fill="#C65197" />
+<rect x="31" y="7" width="1" height="1" fill="#C65197" />
+<rect x="32" y="7" width="1" height="1" fill="#C65197" />
+<rect x="33" y="7" width="1" height="1" fill="#C65197" />
+<rect x="34" y="7" width="1" height="1" fill="#C65197" />
+<rect x="35" y="7" width="1" height="1" fill="#C65197" />
+<rect x="36" y="7" width="1" height="1" fill="#C65197" />
+<rect x="37" y="7" width="1" height="1" fill="#C65197" />
+<rect x="38" y="7" width="1" height="1" fill="#C65197" />
+<rect x="39" y="7" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="7" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="7" width="1" height="1" fill="#C65197" />
+<rect x="42" y="7" width="1" height="1" fill="#C65197" />
+<rect x="43" y="7" width="1" height="1" fill="#C65197" />
+<rect x="44" y="7" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="7" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="7" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="7" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="8" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="8" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="8" width="1" height="1" fill="#C65197" />
+<rect x="3" y="8" width="1" height="1" fill="#C65197" />
+<rect x="4" y="8" width="1" height="1" fill="#C65197" />
+<rect x="5" y="8" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="8" width="1" height="1" fill="#B83D80" />
+<rect x="7" y="8" width="1" height="1" fill="#C65197" />
+<rect x="8" y="8" width="1" height="1" fill="#C65197" />
+<rect x="9" y="8" width="1" height="1" fill="#C65197" />
+<rect x="10" y="8" width="1" height="1" fill="#C65197" />
+<rect x="11" y="8" width="1" height="1" fill="#C65197" />
+<rect x="12" y="8" width="1" height="1" fill="#C65197" />
+<rect x="13" y="8" width="1" height="1" fill="#C65197" />
+<rect x="14" y="8" width="1" height="1" fill="#C65197" />
+<rect x="15" y="8" width="1" height="1" fill="#C65197" />
+<rect x="16" y="8" width="1" height="1" fill="#C65197" />
+<rect x="17" y="8" width="1" height="1" fill="#C65197" />
+<rect x="18" y="8" width="1" height="1" fill="#C65197" />
+<rect x="19" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="8" width="1" height="1" fill="#C65197" />
+<rect x="21" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="8" width="1" height="1" fill="#C65197" />
+<rect x="28" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="8" width="1" height="1" fill="#C65197" />
+<rect x="30" y="8" width="1" height="1" fill="#C65197" />
+<rect x="31" y="8" width="1" height="1" fill="#C65197" />
+<rect x="32" y="8" width="1" height="1" fill="#C65197" />
+<rect x="33" y="8" width="1" height="1" fill="#C65197" />
+<rect x="34" y="8" width="1" height="1" fill="#C65197" />
+<rect x="35" y="8" width="1" height="1" fill="#C65197" />
+<rect x="36" y="8" width="1" height="1" fill="#C65197" />
+<rect x="37" y="8" width="1" height="1" fill="#C65197" />
+<rect x="38" y="8" width="1" height="1" fill="#C65197" />
+<rect x="39" y="8" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="8" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="8" width="1" height="1" fill="#C65197" />
+<rect x="42" y="8" width="1" height="1" fill="#C65197" />
+<rect x="43" y="8" width="1" height="1" fill="#C65197" />
+<rect x="44" y="8" width="1" height="1" fill="#C65197" />
+<rect x="45" y="8" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="8" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="8" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="9" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="9" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="9" width="1" height="1" fill="#C65197" />
+<rect x="3" y="9" width="1" height="1" fill="#C65197" />
+<rect x="4" y="9" width="1" height="1" fill="#C65197" />
+<rect x="5" y="9" width="1" height="1" fill="#C65197" />
+<rect x="6" y="9" width="1" height="1" fill="#C65197" />
+<rect x="7" y="9" width="1" height="1" fill="#C65197" />
+<rect x="8" y="9" width="1" height="1" fill="#C65197" />
+<rect x="9" y="9" width="1" height="1" fill="#C65197" />
+<rect x="10" y="9" width="1" height="1" fill="#C65197" />
+<rect x="11" y="9" width="1" height="1" fill="#C65197" />
+<rect x="12" y="9" width="1" height="1" fill="#C65197" />
+<rect x="13" y="9" width="1" height="1" fill="#C65197" />
+<rect x="14" y="9" width="1" height="1" fill="#C65197" />
+<rect x="15" y="9" width="1" height="1" fill="#C65197" />
+<rect x="16" y="9" width="1" height="1" fill="#C65197" />
+<rect x="17" y="9" width="1" height="1" fill="#C65197" />
+<rect x="18" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="9" width="1" height="1" fill="#C65197" />
+<rect x="21" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="9" width="1" height="1" fill="#C65197" />
+<rect x="28" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="9" width="1" height="1" fill="#C65197" />
+<rect x="31" y="9" width="1" height="1" fill="#C65197" />
+<rect x="32" y="9" width="1" height="1" fill="#C65197" />
+<rect x="33" y="9" width="1" height="1" fill="#C65197" />
+<rect x="34" y="9" width="1" height="1" fill="#C65197" />
+<rect x="35" y="9" width="1" height="1" fill="#C65197" />
+<rect x="36" y="9" width="1" height="1" fill="#C65197" />
+<rect x="37" y="9" width="1" height="1" fill="#C65197" />
+<rect x="38" y="9" width="1" height="1" fill="#C65197" />
+<rect x="39" y="9" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="9" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="9" width="1" height="1" fill="#C65197" />
+<rect x="42" y="9" width="1" height="1" fill="#C65197" />
+<rect x="43" y="9" width="1" height="1" fill="#C65197" />
+<rect x="44" y="9" width="1" height="1" fill="#C65197" />
+<rect x="45" y="9" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="9" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="9" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="10" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="10" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="10" width="1" height="1" fill="#C65197" />
+<rect x="3" y="10" width="1" height="1" fill="#C65197" />
+<rect x="4" y="10" width="1" height="1" fill="#C65197" />
+<rect x="5" y="10" width="1" height="1" fill="#C65197" />
+<rect x="6" y="10" width="1" height="1" fill="#C65197" />
+<rect x="7" y="10" width="1" height="1" fill="#C65197" />
+<rect x="8" y="10" width="1" height="1" fill="#C65197" />
+<rect x="9" y="10" width="1" height="1" fill="#C65197" />
+<rect x="10" y="10" width="1" height="1" fill="#C65197" />
+<rect x="11" y="10" width="1" height="1" fill="#C65197" />
+<rect x="12" y="10" width="1" height="1" fill="#C65197" />
+<rect x="13" y="10" width="1" height="1" fill="#C65197" />
+<rect x="14" y="10" width="1" height="1" fill="#C65197" />
+<rect x="15" y="10" width="1" height="1" fill="#C65197" />
+<rect x="16" y="10" width="1" height="1" fill="#C65197" />
+<rect x="17" y="10" width="1" height="1" fill="#C65197" />
+<rect x="18" y="10" width="1" height="1" fill="#C65197" />
+<rect x="19" y="10" width="1" height="1" fill="#C65197" />
+<rect x="20" y="10" width="1" height="1" fill="#C65197" />
+<rect x="21" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="10" width="1" height="1" fill="#C65197" />
+<rect x="28" y="10" width="1" height="1" fill="#C65197" />
+<rect x="29" y="10" width="1" height="1" fill="#C65197" />
+<rect x="30" y="10" width="1" height="1" fill="#C65197" />
+<rect x="31" y="10" width="1" height="1" fill="#C65197" />
+<rect x="32" y="10" width="1" height="1" fill="#C65197" />
+<rect x="33" y="10" width="1" height="1" fill="#C65197" />
+<rect x="34" y="10" width="1" height="1" fill="#C65197" />
+<rect x="35" y="10" width="1" height="1" fill="#C65197" />
+<rect x="36" y="10" width="1" height="1" fill="#C65197" />
+<rect x="37" y="10" width="1" height="1" fill="#C65197" />
+<rect x="38" y="10" width="1" height="1" fill="#C65197" />
+<rect x="39" y="10" width="1" height="1" fill="#C65197" />
+<rect x="40" y="10" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="10" width="1" height="1" fill="#C65197" />
+<rect x="42" y="10" width="1" height="1" fill="#C65197" />
+<rect x="43" y="10" width="1" height="1" fill="#C65197" />
+<rect x="44" y="10" width="1" height="1" fill="#C65197" />
+<rect x="45" y="10" width="1" height="1" fill="#C65197" />
+<rect x="46" y="10" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="10" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="11" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="11" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="11" width="1" height="1" fill="#C65197" />
+<rect x="3" y="11" width="1" height="1" fill="#C65197" />
+<rect x="4" y="11" width="1" height="1" fill="#C65197" />
+<rect x="5" y="11" width="1" height="1" fill="#C65197" />
+<rect x="6" y="11" width="1" height="1" fill="#C65197" />
+<rect x="7" y="11" width="1" height="1" fill="#C65197" />
+<rect x="8" y="11" width="1" height="1" fill="#C65197" />
+<rect x="9" y="11" width="1" height="1" fill="#C65197" />
+<rect x="10" y="11" width="1" height="1" fill="#C65197" />
+<rect x="11" y="11" width="1" height="1" fill="#C65197" />
+<rect x="12" y="11" width="1" height="1" fill="#C65197" />
+<rect x="13" y="11" width="1" height="1" fill="#C65197" />
+<rect x="14" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="11" width="1" height="1" fill="#C65197" />
+<rect x="21" y="11" width="1" height="1" fill="#C65197" />
+<rect x="22" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="11" width="1" height="1" fill="#C65197" />
+<rect x="27" y="11" width="1" height="1" fill="#C65197" />
+<rect x="28" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="11" width="1" height="1" fill="#C65197" />
+<rect x="35" y="11" width="1" height="1" fill="#C65197" />
+<rect x="36" y="11" width="1" height="1" fill="#C65197" />
+<rect x="37" y="11" width="1" height="1" fill="#C65197" />
+<rect x="38" y="11" width="1" height="1" fill="#C65197" />
+<rect x="39" y="11" width="1" height="1" fill="#C65197" />
+<rect x="40" y="11" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="11" width="1" height="1" fill="#C65197" />
+<rect x="42" y="11" width="1" height="1" fill="#C65197" />
+<rect x="43" y="11" width="1" height="1" fill="#C65197" />
+<rect x="44" y="11" width="1" height="1" fill="#C65197" />
+<rect x="45" y="11" width="1" height="1" fill="#C65197" />
+<rect x="46" y="11" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="11" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="12" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="12" width="1" height="1" fill="#C65197" />
+<rect x="2" y="12" width="1" height="1" fill="#C65197" />
+<rect x="3" y="12" width="1" height="1" fill="#C65197" />
+<rect x="4" y="12" width="1" height="1" fill="#C65197" />
+<rect x="5" y="12" width="1" height="1" fill="#C65197" />
+<rect x="6" y="12" width="1" height="1" fill="#C65197" />
+<rect x="7" y="12" width="1" height="1" fill="#C65197" />
+<rect x="8" y="12" width="1" height="1" fill="#C65197" />
+<rect x="9" y="12" width="1" height="1" fill="#C65197" />
+<rect x="10" y="12" width="1" height="1" fill="#C65197" />
+<rect x="11" y="12" width="1" height="1" fill="#C65197" />
+<rect x="12" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="12" width="1" height="1" fill="#C65197" />
+<rect x="22" y="12" width="1" height="1" fill="#C65197" />
+<rect x="23" y="12" width="1" height="1" fill="#C65197" />
+<rect x="24" y="12" width="1" height="1" fill="#C65197" />
+<rect x="25" y="12" width="1" height="1" fill="#C65197" />
+<rect x="26" y="12" width="1" height="1" fill="#C65197" />
+<rect x="27" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="12" width="1" height="1" fill="#C65197" />
+<rect x="37" y="12" width="1" height="1" fill="#C65197" />
+<rect x="38" y="12" width="1" height="1" fill="#C65197" />
+<rect x="39" y="12" width="1" height="1" fill="#C65197" />
+<rect x="40" y="12" width="1" height="1" fill="#C65197" />
+<rect x="41" y="12" width="1" height="1" fill="#C65197" />
+<rect x="42" y="12" width="1" height="1" fill="#C65197" />
+<rect x="43" y="12" width="1" height="1" fill="#C65197" />
+<rect x="44" y="12" width="1" height="1" fill="#C65197" />
+<rect x="45" y="12" width="1" height="1" fill="#C65197" />
+<rect x="46" y="12" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="12" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="13" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="13" width="1" height="1" fill="#C65197" />
+<rect x="2" y="13" width="1" height="1" fill="#C65197" />
+<rect x="3" y="13" width="1" height="1" fill="#C65197" />
+<rect x="4" y="13" width="1" height="1" fill="#C65197" />
+<rect x="5" y="13" width="1" height="1" fill="#C65197" />
+<rect x="6" y="13" width="1" height="1" fill="#C65197" />
+<rect x="7" y="13" width="1" height="1" fill="#C65197" />
+<rect x="8" y="13" width="1" height="1" fill="#C65197" />
+<rect x="9" y="13" width="1" height="1" fill="#C65197" />
+<rect x="10" y="13" width="1" height="1" fill="#C65197" />
+<rect x="11" y="13" width="1" height="1" fill="#C65197" />
+<rect x="12" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="13" width="1" height="1" fill="#C65197" />
+<rect x="21" y="13" width="1" height="1" fill="#C65197" />
+<rect x="22" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="13" width="1" height="1" fill="#C65197" />
+<rect x="27" y="13" width="1" height="1" fill="#C65197" />
+<rect x="28" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="13" width="1" height="1" fill="#C65197" />
+<rect x="37" y="13" width="1" height="1" fill="#C65197" />
+<rect x="38" y="13" width="1" height="1" fill="#C65197" />
+<rect x="39" y="13" width="1" height="1" fill="#C65197" />
+<rect x="40" y="13" width="1" height="1" fill="#C65197" />
+<rect x="41" y="13" width="1" height="1" fill="#C65197" />
+<rect x="42" y="13" width="1" height="1" fill="#C65197" />
+<rect x="43" y="13" width="1" height="1" fill="#C65197" />
+<rect x="44" y="13" width="1" height="1" fill="#C65197" />
+<rect x="45" y="13" width="1" height="1" fill="#C65197" />
+<rect x="46" y="13" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="13" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="14" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="14" width="1" height="1" fill="#C65197" />
+<rect x="2" y="14" width="1" height="1" fill="#C65197" />
+<rect x="3" y="14" width="1" height="1" fill="#C65197" />
+<rect x="4" y="14" width="1" height="1" fill="#C65197" />
+<rect x="5" y="14" width="1" height="1" fill="#C65197" />
+<rect x="6" y="14" width="1" height="1" fill="#C65197" />
+<rect x="7" y="14" width="1" height="1" fill="#C65197" />
+<rect x="8" y="14" width="1" height="1" fill="#C65197" />
+<rect x="9" y="14" width="1" height="1" fill="#C65197" />
+<rect x="10" y="14" width="1" height="1" fill="#C65197" />
+<rect x="11" y="14" width="1" height="1" fill="#C65197" />
+<rect x="12" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="14" width="1" height="1" fill="#C65197" />
+<rect x="21" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="14" width="1" height="1" fill="#C65197" />
+<rect x="28" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="14" width="1" height="1" fill="#C65197" />
+<rect x="37" y="14" width="1" height="1" fill="#C65197" />
+<rect x="38" y="14" width="1" height="1" fill="#C65197" />
+<rect x="39" y="14" width="1" height="1" fill="#C65197" />
+<rect x="40" y="14" width="1" height="1" fill="#C65197" />
+<rect x="41" y="14" width="1" height="1" fill="#C65197" />
+<rect x="42" y="14" width="1" height="1" fill="#C65197" />
+<rect x="43" y="14" width="1" height="1" fill="#C65197" />
+<rect x="44" y="14" width="1" height="1" fill="#C65197" />
+<rect x="45" y="14" width="1" height="1" fill="#C65197" />
+<rect x="46" y="14" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="14" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="15" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="15" width="1" height="1" fill="#C65197" />
+<rect x="2" y="15" width="1" height="1" fill="#C65197" />
+<rect x="3" y="15" width="1" height="1" fill="#C65197" />
+<rect x="4" y="15" width="1" height="1" fill="#C65197" />
+<rect x="5" y="15" width="1" height="1" fill="#C65197" />
+<rect x="6" y="15" width="1" height="1" fill="#C65197" />
+<rect x="7" y="15" width="1" height="1" fill="#C65197" />
+<rect x="8" y="15" width="1" height="1" fill="#C65197" />
+<rect x="9" y="15" width="1" height="1" fill="#C65197" />
+<rect x="10" y="15" width="1" height="1" fill="#C65197" />
+<rect x="11" y="15" width="1" height="1" fill="#C65197" />
+<rect x="12" y="15" width="1" height="1" fill="#C65197" />
+<rect x="13" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="15" width="1" height="1" fill="#C65197" />
+<rect x="21" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="15" width="1" height="1" fill="#C65197" />
+<rect x="28" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="15" width="1" height="1" fill="#C65197" />
+<rect x="36" y="15" width="1" height="1" fill="#C65197" />
+<rect x="37" y="15" width="1" height="1" fill="#C65197" />
+<rect x="38" y="15" width="1" height="1" fill="#C65197" />
+<rect x="39" y="15" width="1" height="1" fill="#C65197" />
+<rect x="40" y="15" width="1" height="1" fill="#C65197" />
+<rect x="41" y="15" width="1" height="1" fill="#C65197" />
+<rect x="42" y="15" width="1" height="1" fill="#C65197" />
+<rect x="43" y="15" width="1" height="1" fill="#C65197" />
+<rect x="44" y="15" width="1" height="1" fill="#C65197" />
+<rect x="45" y="15" width="1" height="1" fill="#C65197" />
+<rect x="46" y="15" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="15" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="16" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="16" width="1" height="1" fill="#C65197" />
+<rect x="2" y="16" width="1" height="1" fill="#C65197" />
+<rect x="3" y="16" width="1" height="1" fill="#C65197" />
+<rect x="4" y="16" width="1" height="1" fill="#C65197" />
+<rect x="5" y="16" width="1" height="1" fill="#C65197" />
+<rect x="6" y="16" width="1" height="1" fill="#C65197" />
+<rect x="7" y="16" width="1" height="1" fill="#C65197" />
+<rect x="8" y="16" width="1" height="1" fill="#C65197" />
+<rect x="9" y="16" width="1" height="1" fill="#C65197" />
+<rect x="10" y="16" width="1" height="1" fill="#C65197" />
+<rect x="11" y="16" width="1" height="1" fill="#C65197" />
+<rect x="12" y="16" width="1" height="1" fill="#C65197" />
+<rect x="13" y="16" width="1" height="1" fill="#C65197" />
+<rect x="14" y="16" width="1" height="1" fill="#C65197" />
+<rect x="15" y="16" width="1" height="1" fill="#C65197" />
+<rect x="16" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="16" width="1" height="1" fill="#C65197" />
+<rect x="21" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="16" width="1" height="1" fill="#C65197" />
+<rect x="28" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="16" width="1" height="1" fill="#C65197" />
+<rect x="33" y="16" width="1" height="1" fill="#C65197" />
+<rect x="34" y="16" width="1" height="1" fill="#C65197" />
+<rect x="35" y="16" width="1" height="1" fill="#C65197" />
+<rect x="36" y="16" width="1" height="1" fill="#C65197" />
+<rect x="37" y="16" width="1" height="1" fill="#C65197" />
+<rect x="38" y="16" width="1" height="1" fill="#C65197" />
+<rect x="39" y="16" width="1" height="1" fill="#C65197" />
+<rect x="40" y="16" width="1" height="1" fill="#C65197" />
+<rect x="41" y="16" width="1" height="1" fill="#C65197" />
+<rect x="42" y="16" width="1" height="1" fill="#C65197" />
+<rect x="43" y="16" width="1" height="1" fill="#C65197" />
+<rect x="44" y="16" width="1" height="1" fill="#C65197" />
+<rect x="45" y="16" width="1" height="1" fill="#C65197" />
+<rect x="46" y="16" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="16" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="17" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="17" width="1" height="1" fill="#C65197" />
+<rect x="2" y="17" width="1" height="1" fill="#C65197" />
+<rect x="3" y="17" width="1" height="1" fill="#C65197" />
+<rect x="4" y="17" width="1" height="1" fill="#C65197" />
+<rect x="5" y="17" width="1" height="1" fill="#C65197" />
+<rect x="6" y="17" width="1" height="1" fill="#C65197" />
+<rect x="7" y="17" width="1" height="1" fill="#C65197" />
+<rect x="8" y="17" width="1" height="1" fill="#C65197" />
+<rect x="9" y="17" width="1" height="1" fill="#C65197" />
+<rect x="10" y="17" width="1" height="1" fill="#C65197" />
+<rect x="11" y="17" width="1" height="1" fill="#C65197" />
+<rect x="12" y="17" width="1" height="1" fill="#C65197" />
+<rect x="13" y="17" width="1" height="1" fill="#C65197" />
+<rect x="14" y="17" width="1" height="1" fill="#C65197" />
+<rect x="15" y="17" width="1" height="1" fill="#C65197" />
+<rect x="16" y="17" width="1" height="1" fill="#C65197" />
+<rect x="17" y="17" width="1" height="1" fill="#C65197" />
+<rect x="18" y="17" width="1" height="1" fill="#C65197" />
+<rect x="19" y="17" width="1" height="1" fill="#C65197" />
+<rect x="20" y="17" width="1" height="1" fill="#C65197" />
+<rect x="21" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="17" width="1" height="1" fill="#C65197" />
+<rect x="28" y="17" width="1" height="1" fill="#C65197" />
+<rect x="29" y="17" width="1" height="1" fill="#C65197" />
+<rect x="30" y="17" width="1" height="1" fill="#C65197" />
+<rect x="31" y="17" width="1" height="1" fill="#C65197" />
+<rect x="32" y="17" width="1" height="1" fill="#C65197" />
+<rect x="33" y="17" width="1" height="1" fill="#C65197" />
+<rect x="34" y="17" width="1" height="1" fill="#C65197" />
+<rect x="35" y="17" width="1" height="1" fill="#C65197" />
+<rect x="36" y="17" width="1" height="1" fill="#C65197" />
+<rect x="37" y="17" width="1" height="1" fill="#C65197" />
+<rect x="38" y="17" width="1" height="1" fill="#C65197" />
+<rect x="39" y="17" width="1" height="1" fill="#C65197" />
+<rect x="40" y="17" width="1" height="1" fill="#C65197" />
+<rect x="41" y="17" width="1" height="1" fill="#C65197" />
+<rect x="42" y="17" width="1" height="1" fill="#C65197" />
+<rect x="43" y="17" width="1" height="1" fill="#C65197" />
+<rect x="44" y="17" width="1" height="1" fill="#C65197" />
+<rect x="45" y="17" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="17" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="17" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="18" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="18" width="1" height="1" fill="#C65197" />
+<rect x="2" y="18" width="1" height="1" fill="#C65197" />
+<rect x="3" y="18" width="1" height="1" fill="#C65197" />
+<rect x="4" y="18" width="1" height="1" fill="#C65197" />
+<rect x="5" y="18" width="1" height="1" fill="#C65197" />
+<rect x="6" y="18" width="1" height="1" fill="#C65197" />
+<rect x="7" y="18" width="1" height="1" fill="#C65197" />
+<rect x="8" y="18" width="1" height="1" fill="#C65197" />
+<rect x="9" y="18" width="1" height="1" fill="#C65197" />
+<rect x="10" y="18" width="1" height="1" fill="#C65197" />
+<rect x="11" y="18" width="1" height="1" fill="#C65197" />
+<rect x="12" y="18" width="1" height="1" fill="#C65197" />
+<rect x="13" y="18" width="1" height="1" fill="#C65197" />
+<rect x="14" y="18" width="1" height="1" fill="#C65197" />
+<rect x="15" y="18" width="1" height="1" fill="#C65197" />
+<rect x="16" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="18" width="1" height="1" fill="#C65197" />
+<rect x="19" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="18" width="1" height="1" fill="#C65197" />
+<rect x="21" y="18" width="1" height="1" fill="#C65197" />
+<rect x="22" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="18" width="1" height="1" fill="#C65197" />
+<rect x="27" y="18" width="1" height="1" fill="#C65197" />
+<rect x="28" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="18" width="1" height="1" fill="#C65197" />
+<rect x="30" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="18" width="1" height="1" fill="#C65197" />
+<rect x="33" y="18" width="1" height="1" fill="#C65197" />
+<rect x="34" y="18" width="1" height="1" fill="#C65197" />
+<rect x="35" y="18" width="1" height="1" fill="#C65197" />
+<rect x="36" y="18" width="1" height="1" fill="#C65197" />
+<rect x="37" y="18" width="1" height="1" fill="#C65197" />
+<rect x="38" y="18" width="1" height="1" fill="#C65197" />
+<rect x="39" y="18" width="1" height="1" fill="#C65197" />
+<rect x="40" y="18" width="1" height="1" fill="#C65197" />
+<rect x="41" y="18" width="1" height="1" fill="#C65197" />
+<rect x="42" y="18" width="1" height="1" fill="#C65197" />
+<rect x="43" y="18" width="1" height="1" fill="#C65197" />
+<rect x="44" y="18" width="1" height="1" fill="#C65197" />
+<rect x="45" y="18" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="18" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="18" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="19" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="19" width="1" height="1" fill="#C65197" />
+<rect x="2" y="19" width="1" height="1" fill="#C65197" />
+<rect x="3" y="19" width="1" height="1" fill="#C65197" />
+<rect x="4" y="19" width="1" height="1" fill="#C65197" />
+<rect x="5" y="19" width="1" height="1" fill="#C65197" />
+<rect x="6" y="19" width="1" height="1" fill="#C65197" />
+<rect x="7" y="19" width="1" height="1" fill="#C65197" />
+<rect x="8" y="19" width="1" height="1" fill="#C65197" />
+<rect x="9" y="19" width="1" height="1" fill="#C65197" />
+<rect x="10" y="19" width="1" height="1" fill="#C65197" />
+<rect x="11" y="19" width="1" height="1" fill="#C65197" />
+<rect x="12" y="19" width="1" height="1" fill="#C65197" />
+<rect x="13" y="19" width="1" height="1" fill="#C65197" />
+<rect x="14" y="19" width="1" height="1" fill="#C65197" />
+<rect x="15" y="19" width="1" height="1" fill="#C65197" />
+<rect x="16" y="19" width="1" height="1" fill="#C65197" />
+<rect x="17" y="19" width="1" height="1" fill="#C65197" />
+<rect x="18" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="19" width="1" height="1" fill="#C65197" />
+<rect x="22" y="19" width="1" height="1" fill="#C65197" />
+<rect x="23" y="19" width="1" height="1" fill="#C65197" />
+<rect x="24" y="19" width="1" height="1" fill="#C65197" />
+<rect x="25" y="19" width="1" height="1" fill="#C65197" />
+<rect x="26" y="19" width="1" height="1" fill="#C65197" />
+<rect x="27" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="19" width="1" height="1" fill="#C65197" />
+<rect x="31" y="19" width="1" height="1" fill="#C65197" />
+<rect x="32" y="19" width="1" height="1" fill="#C65197" />
+<rect x="33" y="19" width="1" height="1" fill="#C65197" />
+<rect x="34" y="19" width="1" height="1" fill="#C65197" />
+<rect x="35" y="19" width="1" height="1" fill="#C65197" />
+<rect x="36" y="19" width="1" height="1" fill="#C65197" />
+<rect x="37" y="19" width="1" height="1" fill="#C65197" />
+<rect x="38" y="19" width="1" height="1" fill="#C65197" />
+<rect x="39" y="19" width="1" height="1" fill="#C65197" />
+<rect x="40" y="19" width="1" height="1" fill="#C65197" />
+<rect x="41" y="19" width="1" height="1" fill="#C65197" />
+<rect x="42" y="19" width="1" height="1" fill="#C65197" />
+<rect x="43" y="19" width="1" height="1" fill="#C65197" />
+<rect x="44" y="19" width="1" height="1" fill="#C65197" />
+<rect x="45" y="19" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="19" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="19" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="20" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="20" width="1" height="1" fill="#C65197" />
+<rect x="2" y="20" width="1" height="1" fill="#C65197" />
+<rect x="3" y="20" width="1" height="1" fill="#C65197" />
+<rect x="4" y="20" width="1" height="1" fill="#C65197" />
+<rect x="5" y="20" width="1" height="1" fill="#C65197" />
+<rect x="6" y="20" width="1" height="1" fill="#C65197" />
+<rect x="7" y="20" width="1" height="1" fill="#C65197" />
+<rect x="8" y="20" width="1" height="1" fill="#C65197" />
+<rect x="9" y="20" width="1" height="1" fill="#C65197" />
+<rect x="10" y="20" width="1" height="1" fill="#C65197" />
+<rect x="11" y="20" width="1" height="1" fill="#C65197" />
+<rect x="12" y="20" width="1" height="1" fill="#C65197" />
+<rect x="13" y="20" width="1" height="1" fill="#C65197" />
+<rect x="14" y="20" width="1" height="1" fill="#C65197" />
+<rect x="15" y="20" width="1" height="1" fill="#C65197" />
+<rect x="16" y="20" width="1" height="1" fill="#C65197" />
+<rect x="17" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="20" width="1" height="1" fill="#C65197" />
+<rect x="24" y="20" width="1" height="1" fill="#C65197" />
+<rect x="25" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="20" width="1" height="1" fill="#C65197" />
+<rect x="32" y="20" width="1" height="1" fill="#C65197" />
+<rect x="33" y="20" width="1" height="1" fill="#C65197" />
+<rect x="34" y="20" width="1" height="1" fill="#C65197" />
+<rect x="35" y="20" width="1" height="1" fill="#C65197" />
+<rect x="36" y="20" width="1" height="1" fill="#C65197" />
+<rect x="37" y="20" width="1" height="1" fill="#C65197" />
+<rect x="38" y="20" width="1" height="1" fill="#C65197" />
+<rect x="39" y="20" width="1" height="1" fill="#C65197" />
+<rect x="40" y="20" width="1" height="1" fill="#C65197" />
+<rect x="41" y="20" width="1" height="1" fill="#C65197" />
+<rect x="42" y="20" width="1" height="1" fill="#C65197" />
+<rect x="43" y="20" width="1" height="1" fill="#C65197" />
+<rect x="44" y="20" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="20" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="20" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="20" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="21" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="21" width="1" height="1" fill="#C65197" />
+<rect x="2" y="21" width="1" height="1" fill="#C65197" />
+<rect x="3" y="21" width="1" height="1" fill="#C65197" />
+<rect x="4" y="21" width="1" height="1" fill="#C65197" />
+<rect x="5" y="21" width="1" height="1" fill="#C65197" />
+<rect x="6" y="21" width="1" height="1" fill="#C65197" />
+<rect x="7" y="21" width="1" height="1" fill="#C65197" />
+<rect x="8" y="21" width="1" height="1" fill="#C65197" />
+<rect x="9" y="21" width="1" height="1" fill="#C65197" />
+<rect x="10" y="21" width="1" height="1" fill="#C65197" />
+<rect x="11" y="21" width="1" height="1" fill="#C65197" />
+<rect x="12" y="21" width="1" height="1" fill="#C65197" />
+<rect x="13" y="21" width="1" height="1" fill="#C65197" />
+<rect x="14" y="21" width="1" height="1" fill="#C65197" />
+<rect x="15" y="21" width="1" height="1" fill="#C65197" />
+<rect x="16" y="21" width="1" height="1" fill="#C65197" />
+<rect x="17" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="21" width="1" height="1" fill="#C65197" />
+<rect x="24" y="21" width="1" height="1" fill="#C65197" />
+<rect x="25" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="21" width="1" height="1" fill="#C65197" />
+<rect x="32" y="21" width="1" height="1" fill="#C65197" />
+<rect x="33" y="21" width="1" height="1" fill="#C65197" />
+<rect x="34" y="21" width="1" height="1" fill="#C65197" />
+<rect x="35" y="21" width="1" height="1" fill="#C65197" />
+<rect x="36" y="21" width="1" height="1" fill="#C65197" />
+<rect x="37" y="21" width="1" height="1" fill="#C65197" />
+<rect x="38" y="21" width="1" height="1" fill="#C65197" />
+<rect x="39" y="21" width="1" height="1" fill="#C65197" />
+<rect x="40" y="21" width="1" height="1" fill="#C65197" />
+<rect x="41" y="21" width="1" height="1" fill="#C65197" />
+<rect x="42" y="21" width="1" height="1" fill="#C65197" />
+<rect x="43" y="21" width="1" height="1" fill="#C65197" />
+<rect x="44" y="21" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="21" width="1" height="1" fill="#C65197" />
+<rect x="46" y="21" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="21" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="22" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="22" width="1" height="1" fill="#C65197" />
+<rect x="2" y="22" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="22" width="1" height="1" fill="#C65197" />
+<rect x="4" y="22" width="1" height="1" fill="#C65197" />
+<rect x="5" y="22" width="1" height="1" fill="#C65197" />
+<rect x="6" y="22" width="1" height="1" fill="#C65197" />
+<rect x="7" y="22" width="1" height="1" fill="#C65197" />
+<rect x="8" y="22" width="1" height="1" fill="#C65197" />
+<rect x="9" y="22" width="1" height="1" fill="#C65197" />
+<rect x="10" y="22" width="1" height="1" fill="#C65197" />
+<rect x="11" y="22" width="1" height="1" fill="#C65197" />
+<rect x="12" y="22" width="1" height="1" fill="#C65197" />
+<rect x="13" y="22" width="1" height="1" fill="#C65197" />
+<rect x="14" y="22" width="1" height="1" fill="#C65197" />
+<rect x="15" y="22" width="1" height="1" fill="#C65197" />
+<rect x="16" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="22" width="1" height="1" fill="#C65197" />
+<rect x="23" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="22" width="1" height="1" fill="#C65197" />
+<rect x="26" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="22" width="1" height="1" fill="#C65197" />
+<rect x="33" y="22" width="1" height="1" fill="#C65197" />
+<rect x="34" y="22" width="1" height="1" fill="#C65197" />
+<rect x="35" y="22" width="1" height="1" fill="#C65197" />
+<rect x="36" y="22" width="1" height="1" fill="#C65197" />
+<rect x="37" y="22" width="1" height="1" fill="#C65197" />
+<rect x="38" y="22" width="1" height="1" fill="#C65197" />
+<rect x="39" y="22" width="1" height="1" fill="#C65197" />
+<rect x="40" y="22" width="1" height="1" fill="#C65197" />
+<rect x="41" y="22" width="1" height="1" fill="#C65197" />
+<rect x="42" y="22" width="1" height="1" fill="#C65197" />
+<rect x="43" y="22" width="1" height="1" fill="#C65197" />
+<rect x="44" y="22" width="1" height="1" fill="#C65197" />
+<rect x="45" y="22" width="1" height="1" fill="#C65197" />
+<rect x="46" y="22" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="22" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="23" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="23" width="1" height="1" fill="#C65197" />
+<rect x="2" y="23" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="23" width="1" height="1" fill="#C65197" />
+<rect x="4" y="23" width="1" height="1" fill="#C65197" />
+<rect x="5" y="23" width="1" height="1" fill="#C65197" />
+<rect x="6" y="23" width="1" height="1" fill="#C65197" />
+<rect x="7" y="23" width="1" height="1" fill="#C65197" />
+<rect x="8" y="23" width="1" height="1" fill="#C65197" />
+<rect x="9" y="23" width="1" height="1" fill="#C65197" />
+<rect x="10" y="23" width="1" height="1" fill="#C65197" />
+<rect x="11" y="23" width="1" height="1" fill="#C65197" />
+<rect x="12" y="23" width="1" height="1" fill="#C65197" />
+<rect x="13" y="23" width="1" height="1" fill="#C65197" />
+<rect x="14" y="23" width="1" height="1" fill="#C65197" />
+<rect x="15" y="23" width="1" height="1" fill="#C65197" />
+<rect x="16" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="23" width="1" height="1" fill="#C65197" />
+<rect x="23" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="23" width="1" height="1" fill="#C65197" />
+<rect x="26" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="23" width="1" height="1" fill="#C65197" />
+<rect x="33" y="23" width="1" height="1" fill="#C65197" />
+<rect x="34" y="23" width="1" height="1" fill="#C65197" />
+<rect x="35" y="23" width="1" height="1" fill="#C65197" />
+<rect x="36" y="23" width="1" height="1" fill="#C65197" />
+<rect x="37" y="23" width="1" height="1" fill="#C65197" />
+<rect x="38" y="23" width="1" height="1" fill="#C65197" />
+<rect x="39" y="23" width="1" height="1" fill="#C65197" />
+<rect x="40" y="23" width="1" height="1" fill="#C65197" />
+<rect x="41" y="23" width="1" height="1" fill="#C65197" />
+<rect x="42" y="23" width="1" height="1" fill="#C65197" />
+<rect x="43" y="23" width="1" height="1" fill="#C65197" />
+<rect x="44" y="23" width="1" height="1" fill="#C65197" />
+<rect x="45" y="23" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="23" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="23" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="24" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="24" width="1" height="1" fill="#C65197" />
+<rect x="2" y="24" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="24" width="1" height="1" fill="#B83D80" />
+<rect x="4" y="24" width="1" height="1" fill="#C65197" />
+<rect x="5" y="24" width="1" height="1" fill="#C65197" />
+<rect x="6" y="24" width="1" height="1" fill="#C65197" />
+<rect x="7" y="24" width="1" height="1" fill="#C65197" />
+<rect x="8" y="24" width="1" height="1" fill="#C65197" />
+<rect x="9" y="24" width="1" height="1" fill="#C65197" />
+<rect x="10" y="24" width="1" height="1" fill="#C65197" />
+<rect x="11" y="24" width="1" height="1" fill="#C65197" />
+<rect x="12" y="24" width="1" height="1" fill="#C65197" />
+<rect x="13" y="24" width="1" height="1" fill="#C65197" />
+<rect x="14" y="24" width="1" height="1" fill="#C65197" />
+<rect x="15" y="24" width="1" height="1" fill="#C65197" />
+<rect x="16" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="24" width="1" height="1" fill="#C65197" />
+<rect x="22" y="24" width="1" height="1" fill="#C65197" />
+<rect x="23" y="24" width="1" height="1" fill="#C65197" />
+<rect x="24" y="24" width="1" height="1" fill="#C65197" />
+<rect x="25" y="24" width="1" height="1" fill="#C65197" />
+<rect x="26" y="24" width="1" height="1" fill="#C65197" />
+<rect x="27" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="24" width="1" height="1" fill="#C65197" />
+<rect x="33" y="24" width="1" height="1" fill="#C65197" />
+<rect x="34" y="24" width="1" height="1" fill="#C65197" />
+<rect x="35" y="24" width="1" height="1" fill="#C65197" />
+<rect x="36" y="24" width="1" height="1" fill="#C65197" />
+<rect x="37" y="24" width="1" height="1" fill="#C65197" />
+<rect x="38" y="24" width="1" height="1" fill="#C65197" />
+<rect x="39" y="24" width="1" height="1" fill="#C65197" />
+<rect x="40" y="24" width="1" height="1" fill="#C65197" />
+<rect x="41" y="24" width="1" height="1" fill="#B83D80" />
+<rect x="42" y="24" width="1" height="1" fill="#C65197" />
+<rect x="43" y="24" width="1" height="1" fill="#C65197" />
+<rect x="44" y="24" width="1" height="1" fill="#C65197" />
+<rect x="45" y="24" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="24" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="24" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="25" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="25" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="25" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="25" width="1" height="1" fill="#B83D80" />
+<rect x="4" y="25" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="25" width="1" height="1" fill="#C65197" />
+<rect x="6" y="25" width="1" height="1" fill="#C65197" />
+<rect x="7" y="25" width="1" height="1" fill="#C65197" />
+<rect x="8" y="25" width="1" height="1" fill="#C65197" />
+<rect x="9" y="25" width="1" height="1" fill="#C65197" />
+<rect x="10" y="25" width="1" height="1" fill="#C65197" />
+<rect x="11" y="25" width="1" height="1" fill="#C65197" />
+<rect x="12" y="25" width="1" height="1" fill="#C65197" />
+<rect x="13" y="25" width="1" height="1" fill="#C65197" />
+<rect x="14" y="25" width="1" height="1" fill="#C65197" />
+<rect x="15" y="25" width="1" height="1" fill="#C65197" />
+<rect x="16" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="25" width="1" height="1" fill="#C65197" />
+<rect x="21" y="25" width="1" height="1" fill="#C65197" />
+<rect x="22" y="25" width="1" height="1" fill="#C65197" />
+<rect x="23" y="25" width="1" height="1" fill="#C65197" />
+<rect x="24" y="25" width="1" height="1" fill="#C65197" />
+<rect x="25" y="25" width="1" height="1" fill="#C65197" />
+<rect x="26" y="25" width="1" height="1" fill="#C65197" />
+<rect x="27" y="25" width="1" height="1" fill="#C65197" />
+<rect x="28" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="25" width="1" height="1" fill="#C65197" />
+<rect x="33" y="25" width="1" height="1" fill="#C65197" />
+<rect x="34" y="25" width="1" height="1" fill="#C65197" />
+<rect x="35" y="25" width="1" height="1" fill="#C65197" />
+<rect x="36" y="25" width="1" height="1" fill="#C65197" />
+<rect x="37" y="25" width="1" height="1" fill="#C65197" />
+<rect x="38" y="25" width="1" height="1" fill="#C65197" />
+<rect x="39" y="25" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="25" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="25" width="1" height="1" fill="#B83D80" />
+<rect x="42" y="25" width="1" height="1" fill="#C65197" />
+<rect x="43" y="25" width="1" height="1" fill="#C65197" />
+<rect x="44" y="25" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="25" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="25" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="25" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="26" width="1" height="1" fill="#C65197" />
+<rect x="3" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="4" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="26" width="1" height="1" fill="#C65197" />
+<rect x="7" y="26" width="1" height="1" fill="#C65197" />
+<rect x="8" y="26" width="1" height="1" fill="#C65197" />
+<rect x="9" y="26" width="1" height="1" fill="#C65197" />
+<rect x="10" y="26" width="1" height="1" fill="#C65197" />
+<rect x="11" y="26" width="1" height="1" fill="#C65197" />
+<rect x="12" y="26" width="1" height="1" fill="#C65197" />
+<rect x="13" y="26" width="1" height="1" fill="#C65197" />
+<rect x="14" y="26" width="1" height="1" fill="#C65197" />
+<rect x="15" y="26" width="1" height="1" fill="#C65197" />
+<rect x="16" y="26" width="1" height="1" fill="#C65197" />
+<rect x="17" y="26" width="1" height="1" fill="#C65197" />
+<rect x="18" y="26" width="1" height="1" fill="#C65197" />
+<rect x="19" y="26" width="1" height="1" fill="#C65197" />
+<rect x="20" y="26" width="1" height="1" fill="#C65197" />
+<rect x="21" y="26" width="1" height="1" fill="#C65197" />
+<rect x="22" y="26" width="1" height="1" fill="#C65197" />
+<rect x="23" y="26" width="1" height="1" fill="#C65197" />
+<rect x="24" y="26" width="1" height="1" fill="#C65197" />
+<rect x="25" y="26" width="1" height="1" fill="#C65197" />
+<rect x="26" y="26" width="1" height="1" fill="#C65197" />
+<rect x="27" y="26" width="1" height="1" fill="#C65197" />
+<rect x="28" y="26" width="1" height="1" fill="#C65197" />
+<rect x="29" y="26" width="1" height="1" fill="#C65197" />
+<rect x="30" y="26" width="1" height="1" fill="#C65197" />
+<rect x="31" y="26" width="1" height="1" fill="#C65197" />
+<rect x="32" y="26" width="1" height="1" fill="#C65197" />
+<rect x="33" y="26" width="1" height="1" fill="#C65197" />
+<rect x="34" y="26" width="1" height="1" fill="#C65197" />
+<rect x="35" y="26" width="1" height="1" fill="#C65197" />
+<rect x="36" y="26" width="1" height="1" fill="#C65197" />
+<rect x="37" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="38" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="39" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="42" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="43" y="26" width="1" height="1" fill="#C65197" />
+<rect x="44" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="26" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="27" width="1" height="1" fill="#C65197" />
+<rect x="3" y="27" width="1" height="1" fill="#C65197" />
+<rect x="4" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="7" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="8" y="27" width="1" height="1" fill="#C65197" />
+<rect x="9" y="27" width="1" height="1" fill="#C65197" />
+<rect x="10" y="27" width="1" height="1" fill="#C65197" />
+<rect x="11" y="27" width="1" height="1" fill="#C65197" />
+<rect x="12" y="27" width="1" height="1" fill="#C65197" />
+<rect x="13" y="27" width="1" height="1" fill="#C65197" />
+<rect x="14" y="27" width="1" height="1" fill="#C65197" />
+<rect x="15" y="27" width="1" height="1" fill="#C65197" />
+<rect x="16" y="27" width="1" height="1" fill="#C65197" />
+<rect x="17" y="27" width="1" height="1" fill="#C65197" />
+<rect x="18" y="27" width="1" height="1" fill="#C65197" />
+<rect x="19" y="27" width="1" height="1" fill="#C65197" />
+<rect x="20" y="27" width="1" height="1" fill="#C65197" />
+<rect x="21" y="27" width="1" height="1" fill="#C65197" />
+<rect x="22" y="27" width="1" height="1" fill="#C65197" />
+<rect x="23" y="27" width="1" height="1" fill="#C65197" />
+<rect x="24" y="27" width="1" height="1" fill="#C65197" />
+<rect x="25" y="27" width="1" height="1" fill="#C65197" />
+<rect x="26" y="27" width="1" height="1" fill="#C65197" />
+<rect x="27" y="27" width="1" height="1" fill="#C65197" />
+<rect x="28" y="27" width="1" height="1" fill="#C65197" />
+<rect x="29" y="27" width="1" height="1" fill="#C65197" />
+<rect x="30" y="27" width="1" height="1" fill="#C65197" />
+<rect x="31" y="27" width="1" height="1" fill="#C65197" />
+<rect x="32" y="27" width="1" height="1" fill="#C65197" />
+<rect x="33" y="27" width="1" height="1" fill="#C65197" />
+<rect x="34" y="27" width="1" height="1" fill="#C65197" />
+<rect x="35" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="36" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="37" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="38" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="39" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="42" y="27" width="1" height="1" fill="#C65197" />
+<rect x="43" y="27" width="1" height="1" fill="#C65197" />
+<rect x="44" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="27" width="1" height="1" fill="#C65197" />
+<rect x="47" y="27" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="28" width="1" height="1" fill="#C65197" />
+<rect x="4" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="7" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="8" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="9" y="28" width="1" height="1" fill="#C65197" />
+<rect x="10" y="28" width="1" height="1" fill="#C65197" />
+<rect x="11" y="28" width="1" height="1" fill="#C65197" />
+<rect x="12" y="28" width="1" height="1" fill="#C65197" />
+<rect x="13" y="28" width="1" height="1" fill="#C65197" />
+<rect x="14" y="28" width="1" height="1" fill="#C65197" />
+<rect x="15" y="28" width="1" height="1" fill="#C65197" />
+<rect x="16" y="28" width="1" height="1" fill="#C65197" />
+<rect x="17" y="28" width="1" height="1" fill="#C65197" />
+<rect x="18" y="28" width="1" height="1" fill="#C65197" />
+<rect x="19" y="28" width="1" height="1" fill="#C65197" />
+<rect x="20" y="28" width="1" height="1" fill="#C65197" />
+<rect x="21" y="28" width="1" height="1" fill="#C65197" />
+<rect x="22" y="28" width="1" height="1" fill="#C65197" />
+<rect x="23" y="28" width="1" height="1" fill="#C65197" />
+<rect x="24" y="28" width="1" height="1" fill="#C65197" />
+<rect x="25" y="28" width="1" height="1" fill="#C65197" />
+<rect x="26" y="28" width="1" height="1" fill="#C65197" />
+<rect x="27" y="28" width="1" height="1" fill="#C65197" />
+<rect x="28" y="28" width="1" height="1" fill="#C65197" />
+<rect x="29" y="28" width="1" height="1" fill="#C65197" />
+<rect x="30" y="28" width="1" height="1" fill="#C65197" />
+<rect x="31" y="28" width="1" height="1" fill="#C65197" />
+<rect x="32" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="33" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="34" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="35" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="36" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="37" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="38" y="28" width="1" height="1" fill="#C65197" />
+<rect x="39" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="28" width="1" height="1" fill="#C65197" />
+<rect x="42" y="28" width="1" height="1" fill="#C65197" />
+<rect x="43" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="44" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="28" width="1" height="1" fill="#C65197" />
+<rect x="46" y="28" width="1" height="1" fill="#C65197" />
+<rect x="47" y="28" width="1" height="1" fill="#B83D80" />
+<rect x="0" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="4" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="7" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="8" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="9" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="10" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="11" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="12" y="29" width="1" height="1" fill="#C65197" />
+<rect x="13" y="29" width="1" height="1" fill="#C65197" />
+<rect x="14" y="29" width="1" height="1" fill="#C65197" />
+<rect x="15" y="29" width="1" height="1" fill="#C65197" />
+<rect x="16" y="29" width="1" height="1" fill="#C65197" />
+<rect x="17" y="29" width="1" height="1" fill="#C65197" />
+<rect x="18" y="29" width="1" height="1" fill="#C65197" />
+<rect x="19" y="29" width="1" height="1" fill="#C65197" />
+<rect x="20" y="29" width="1" height="1" fill="#C65197" />
+<rect x="21" y="29" width="1" height="1" fill="#C65197" />
+<rect x="22" y="29" width="1" height="1" fill="#C65197" />
+<rect x="23" y="29" width="1" height="1" fill="#C65197" />
+<rect x="24" y="29" width="1" height="1" fill="#C65197" />
+<rect x="25" y="29" width="1" height="1" fill="#C65197" />
+<rect x="26" y="29" width="1" height="1" fill="#C65197" />
+<rect x="27" y="29" width="1" height="1" fill="#C65197" />
+<rect x="28" y="29" width="1" height="1" fill="#C65197" />
+<rect x="29" y="29" width="1" height="1" fill="#C65197" />
+<rect x="30" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="31" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="32" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="33" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="34" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="35" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="36" y="29" width="1" height="1" fill="#C65197" />
+<rect x="37" y="29" width="1" height="1" fill="#C65197" />
+<rect x="38" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="39" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="29" width="1" height="1" fill="#C65197" />
+<rect x="42" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="43" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="44" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="29" width="1" height="1" fill="#C65197" />
+<rect x="46" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="47" y="29" width="1" height="1" fill="#B83D80" />
+<rect x="1" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="4" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="7" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="8" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="9" y="30" width="1" height="1" fill="#C65197" />
+<rect x="10" y="30" width="1" height="1" fill="#C65197" />
+<rect x="11" y="30" width="1" height="1" fill="#C65197" />
+<rect x="12" y="30" width="1" height="1" fill="#C65197" />
+<rect x="13" y="30" width="1" height="1" fill="#C65197" />
+<rect x="14" y="30" width="1" height="1" fill="#C65197" />
+<rect x="15" y="30" width="1" height="1" fill="#C65197" />
+<rect x="16" y="30" width="1" height="1" fill="#C65197" />
+<rect x="17" y="30" width="1" height="1" fill="#C65197" />
+<rect x="18" y="30" width="1" height="1" fill="#C65197" />
+<rect x="19" y="30" width="1" height="1" fill="#C65197" />
+<rect x="20" y="30" width="1" height="1" fill="#C65197" />
+<rect x="21" y="30" width="1" height="1" fill="#C65197" />
+<rect x="22" y="30" width="1" height="1" fill="#C65197" />
+<rect x="23" y="30" width="1" height="1" fill="#C65197" />
+<rect x="24" y="30" width="1" height="1" fill="#C65197" />
+<rect x="25" y="30" width="1" height="1" fill="#C65197" />
+<rect x="26" y="30" width="1" height="1" fill="#C65197" />
+<rect x="27" y="30" width="1" height="1" fill="#C65197" />
+<rect x="28" y="30" width="1" height="1" fill="#C65197" />
+<rect x="29" y="30" width="1" height="1" fill="#C65197" />
+<rect x="30" y="30" width="1" height="1" fill="#C65197" />
+<rect x="31" y="30" width="1" height="1" fill="#C65197" />
+<rect x="32" y="30" width="1" height="1" fill="#C65197" />
+<rect x="33" y="30" width="1" height="1" fill="#C65197" />
+<rect x="34" y="30" width="1" height="1" fill="#C65197" />
+<rect x="35" y="30" width="1" height="1" fill="#C65197" />
+<rect x="36" y="30" width="1" height="1" fill="#C65197" />
+<rect x="37" y="30" width="1" height="1" fill="#C65197" />
+<rect x="38" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="39" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="42" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="43" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="44" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="46" y="30" width="1" height="1" fill="#B83D80" />
+<rect x="2" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="3" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="4" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="5" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="6" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="7" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="8" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="9" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="10" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="11" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="12" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="13" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="14" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="15" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="16" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="17" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="18" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="19" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="20" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="21" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="22" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="23" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="24" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="25" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="26" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="27" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="28" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="29" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="30" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="31" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="32" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="33" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="34" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="35" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="36" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="37" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="38" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="39" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="40" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="41" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="42" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="43" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="44" y="31" width="1" height="1" fill="#B83D80" />
+<rect x="45" y="31" width="1" height="1" fill="#B83D80" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Krakala.svg b/Edikoyo/.obsidian/icons/flags/Krakala.svg
new file mode 100644
index 0000000..21af42d
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Krakala.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="8" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="9" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="10" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="11" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="12" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="13" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="14" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="15" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="16" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="18" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="19" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="20" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="21" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="22" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="23" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="24" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="25" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="26" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="27" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="28" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="29" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="30" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="33" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="34" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="35" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="8" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="9" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="10" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="34" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="35" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="2" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="8" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="2" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="9" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="12" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="12" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="12" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="13" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="13" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="13" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="14" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="14" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="14" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="15" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="15" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="15" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="16" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="16" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="16" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="22" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="22" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="22" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="22" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="23" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="23" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="23" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="23" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="23" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="24" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="24" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="25" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="25" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="26" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="26" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="8" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="27" width="1" height="1" fill="#73BED3" />
+<rect x="47" y="27" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="8" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="9" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="33" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="34" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="35" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="28" width="1" height="1" fill="#73BED3" />
+<rect x="47" y="28" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="8" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="9" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="10" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="11" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="12" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="33" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="34" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="35" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="29" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="29" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="8" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="9" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="10" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="11" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="12" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="13" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="30" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="30" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="8" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="9" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="10" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="11" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="12" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="13" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="14" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="15" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="16" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="18" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="19" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="20" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="21" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="22" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="23" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="24" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="25" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="26" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="27" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="28" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="29" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="30" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="33" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="34" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="35" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="31" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="31" width="1" height="1" fill="#57AECA" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Lavaki.svg b/Edikoyo/.obsidian/icons/flags/Lavaki.svg
new file mode 100644
index 0000000..ba3e730
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Lavaki.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="8" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="9" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="10" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="11" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="12" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="13" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="14" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="15" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="16" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="17" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="18" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="19" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="20" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="21" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="22" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="23" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="24" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="25" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="26" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="27" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="28" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="29" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="30" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="31" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="32" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="33" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="34" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="35" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="36" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="37" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="0" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="8" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="9" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="10" y="1" width="1" height="1" fill="#A53030" />
+<rect x="11" y="1" width="1" height="1" fill="#A53030" />
+<rect x="12" y="1" width="1" height="1" fill="#A53030" />
+<rect x="13" y="1" width="1" height="1" fill="#A53030" />
+<rect x="14" y="1" width="1" height="1" fill="#A53030" />
+<rect x="15" y="1" width="1" height="1" fill="#A53030" />
+<rect x="16" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="1" width="1" height="1" fill="#A53030" />
+<rect x="20" y="1" width="1" height="1" fill="#A53030" />
+<rect x="21" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="1" width="1" height="1" fill="#A53030" />
+<rect x="28" y="1" width="1" height="1" fill="#A53030" />
+<rect x="29" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="1" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="1" width="1" height="1" fill="#A53030" />
+<rect x="33" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="34" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="35" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="36" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="37" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="1" width="1" height="1" fill="#A53030" />
+<rect x="41" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="1" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="2" width="1" height="1" fill="#A53030" />
+<rect x="7" y="2" width="1" height="1" fill="#A53030" />
+<rect x="8" y="2" width="1" height="1" fill="#A53030" />
+<rect x="9" y="2" width="1" height="1" fill="#A53030" />
+<rect x="10" y="2" width="1" height="1" fill="#A53030" />
+<rect x="11" y="2" width="1" height="1" fill="#A53030" />
+<rect x="12" y="2" width="1" height="1" fill="#A53030" />
+<rect x="13" y="2" width="1" height="1" fill="#A53030" />
+<rect x="14" y="2" width="1" height="1" fill="#A53030" />
+<rect x="15" y="2" width="1" height="1" fill="#A53030" />
+<rect x="16" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="2" width="1" height="1" fill="#A53030" />
+<rect x="20" y="2" width="1" height="1" fill="#A53030" />
+<rect x="21" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="2" width="1" height="1" fill="#A53030" />
+<rect x="28" y="2" width="1" height="1" fill="#A53030" />
+<rect x="29" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="2" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="2" width="1" height="1" fill="#A53030" />
+<rect x="33" y="2" width="1" height="1" fill="#A53030" />
+<rect x="34" y="2" width="1" height="1" fill="#A53030" />
+<rect x="35" y="2" width="1" height="1" fill="#A53030" />
+<rect x="36" y="2" width="1" height="1" fill="#A53030" />
+<rect x="37" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="2" width="1" height="1" fill="#A53030" />
+<rect x="42" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="2" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="3" width="1" height="1" fill="#A53030" />
+<rect x="8" y="3" width="1" height="1" fill="#A53030" />
+<rect x="9" y="3" width="1" height="1" fill="#A53030" />
+<rect x="10" y="3" width="1" height="1" fill="#A53030" />
+<rect x="11" y="3" width="1" height="1" fill="#A53030" />
+<rect x="12" y="3" width="1" height="1" fill="#A53030" />
+<rect x="13" y="3" width="1" height="1" fill="#A53030" />
+<rect x="14" y="3" width="1" height="1" fill="#A53030" />
+<rect x="15" y="3" width="1" height="1" fill="#A53030" />
+<rect x="16" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="3" width="1" height="1" fill="#A53030" />
+<rect x="20" y="3" width="1" height="1" fill="#A53030" />
+<rect x="21" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="3" width="1" height="1" fill="#A53030" />
+<rect x="28" y="3" width="1" height="1" fill="#A53030" />
+<rect x="29" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="3" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="3" width="1" height="1" fill="#A53030" />
+<rect x="33" y="3" width="1" height="1" fill="#A53030" />
+<rect x="34" y="3" width="1" height="1" fill="#A53030" />
+<rect x="35" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="36" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="37" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="3" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="4" width="1" height="1" fill="#A53030" />
+<rect x="3" y="4" width="1" height="1" fill="#A53030" />
+<rect x="4" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="4" width="1" height="1" fill="#A53030" />
+<rect x="8" y="4" width="1" height="1" fill="#A53030" />
+<rect x="9" y="4" width="1" height="1" fill="#A53030" />
+<rect x="10" y="4" width="1" height="1" fill="#A53030" />
+<rect x="11" y="4" width="1" height="1" fill="#A53030" />
+<rect x="12" y="4" width="1" height="1" fill="#A53030" />
+<rect x="13" y="4" width="1" height="1" fill="#A53030" />
+<rect x="14" y="4" width="1" height="1" fill="#A53030" />
+<rect x="15" y="4" width="1" height="1" fill="#A53030" />
+<rect x="16" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="4" width="1" height="1" fill="#A53030" />
+<rect x="20" y="4" width="1" height="1" fill="#A53030" />
+<rect x="21" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="4" width="1" height="1" fill="#A53030" />
+<rect x="28" y="4" width="1" height="1" fill="#A53030" />
+<rect x="29" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="4" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="4" width="1" height="1" fill="#A53030" />
+<rect x="33" y="4" width="1" height="1" fill="#A53030" />
+<rect x="34" y="4" width="1" height="1" fill="#A53030" />
+<rect x="35" y="4" width="1" height="1" fill="#A53030" />
+<rect x="36" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="37" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="4" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="5" width="1" height="1" fill="#A53030" />
+<rect x="4" y="5" width="1" height="1" fill="#A53030" />
+<rect x="5" y="5" width="1" height="1" fill="#A53030" />
+<rect x="6" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="5" width="1" height="1" fill="#A53030" />
+<rect x="8" y="5" width="1" height="1" fill="#A53030" />
+<rect x="9" y="5" width="1" height="1" fill="#A53030" />
+<rect x="10" y="5" width="1" height="1" fill="#A53030" />
+<rect x="11" y="5" width="1" height="1" fill="#A53030" />
+<rect x="12" y="5" width="1" height="1" fill="#A53030" />
+<rect x="13" y="5" width="1" height="1" fill="#A53030" />
+<rect x="14" y="5" width="1" height="1" fill="#A53030" />
+<rect x="15" y="5" width="1" height="1" fill="#A53030" />
+<rect x="16" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="5" width="1" height="1" fill="#A53030" />
+<rect x="20" y="5" width="1" height="1" fill="#A53030" />
+<rect x="21" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="5" width="1" height="1" fill="#A53030" />
+<rect x="28" y="5" width="1" height="1" fill="#A53030" />
+<rect x="29" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="5" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="5" width="1" height="1" fill="#A53030" />
+<rect x="33" y="5" width="1" height="1" fill="#A53030" />
+<rect x="34" y="5" width="1" height="1" fill="#A53030" />
+<rect x="35" y="5" width="1" height="1" fill="#A53030" />
+<rect x="36" y="5" width="1" height="1" fill="#A53030" />
+<rect x="37" y="5" width="1" height="1" fill="#A53030" />
+<rect x="38" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="5" width="1" height="1" fill="#A53030" />
+<rect x="43" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="5" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="6" width="1" height="1" fill="#A53030" />
+<rect x="5" y="6" width="1" height="1" fill="#A53030" />
+<rect x="6" y="6" width="1" height="1" fill="#A53030" />
+<rect x="7" y="6" width="1" height="1" fill="#A53030" />
+<rect x="8" y="6" width="1" height="1" fill="#A53030" />
+<rect x="9" y="6" width="1" height="1" fill="#A53030" />
+<rect x="10" y="6" width="1" height="1" fill="#A53030" />
+<rect x="11" y="6" width="1" height="1" fill="#A53030" />
+<rect x="12" y="6" width="1" height="1" fill="#A53030" />
+<rect x="13" y="6" width="1" height="1" fill="#A53030" />
+<rect x="14" y="6" width="1" height="1" fill="#A53030" />
+<rect x="15" y="6" width="1" height="1" fill="#A53030" />
+<rect x="16" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="6" width="1" height="1" fill="#A53030" />
+<rect x="20" y="6" width="1" height="1" fill="#A53030" />
+<rect x="21" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="6" width="1" height="1" fill="#A53030" />
+<rect x="28" y="6" width="1" height="1" fill="#A53030" />
+<rect x="29" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="6" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="6" width="1" height="1" fill="#A53030" />
+<rect x="33" y="6" width="1" height="1" fill="#A53030" />
+<rect x="34" y="6" width="1" height="1" fill="#A53030" />
+<rect x="35" y="6" width="1" height="1" fill="#A53030" />
+<rect x="36" y="6" width="1" height="1" fill="#A53030" />
+<rect x="37" y="6" width="1" height="1" fill="#A53030" />
+<rect x="38" y="6" width="1" height="1" fill="#A53030" />
+<rect x="39" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="6" width="1" height="1" fill="#A53030" />
+<rect x="43" y="6" width="1" height="1" fill="#A53030" />
+<rect x="44" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="6" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="7" width="1" height="1" fill="#A53030" />
+<rect x="7" y="7" width="1" height="1" fill="#A53030" />
+<rect x="8" y="7" width="1" height="1" fill="#A53030" />
+<rect x="9" y="7" width="1" height="1" fill="#A53030" />
+<rect x="10" y="7" width="1" height="1" fill="#A53030" />
+<rect x="11" y="7" width="1" height="1" fill="#A53030" />
+<rect x="12" y="7" width="1" height="1" fill="#A53030" />
+<rect x="13" y="7" width="1" height="1" fill="#A53030" />
+<rect x="14" y="7" width="1" height="1" fill="#A53030" />
+<rect x="15" y="7" width="1" height="1" fill="#A53030" />
+<rect x="16" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="7" width="1" height="1" fill="#A53030" />
+<rect x="20" y="7" width="1" height="1" fill="#A53030" />
+<rect x="21" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="7" width="1" height="1" fill="#A53030" />
+<rect x="28" y="7" width="1" height="1" fill="#A53030" />
+<rect x="29" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="7" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="7" width="1" height="1" fill="#A53030" />
+<rect x="33" y="7" width="1" height="1" fill="#A53030" />
+<rect x="34" y="7" width="1" height="1" fill="#A53030" />
+<rect x="35" y="7" width="1" height="1" fill="#A53030" />
+<rect x="36" y="7" width="1" height="1" fill="#A53030" />
+<rect x="37" y="7" width="1" height="1" fill="#A53030" />
+<rect x="38" y="7" width="1" height="1" fill="#A53030" />
+<rect x="39" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="7" width="1" height="1" fill="#A53030" />
+<rect x="42" y="7" width="1" height="1" fill="#A53030" />
+<rect x="43" y="7" width="1" height="1" fill="#A53030" />
+<rect x="44" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="7" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="8" width="1" height="1" fill="#A53030" />
+<rect x="3" y="8" width="1" height="1" fill="#A53030" />
+<rect x="4" y="8" width="1" height="1" fill="#A53030" />
+<rect x="5" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="8" width="1" height="1" fill="#A53030" />
+<rect x="8" y="8" width="1" height="1" fill="#A53030" />
+<rect x="9" y="8" width="1" height="1" fill="#A53030" />
+<rect x="10" y="8" width="1" height="1" fill="#A53030" />
+<rect x="11" y="8" width="1" height="1" fill="#A53030" />
+<rect x="12" y="8" width="1" height="1" fill="#A53030" />
+<rect x="13" y="8" width="1" height="1" fill="#A53030" />
+<rect x="14" y="8" width="1" height="1" fill="#A53030" />
+<rect x="15" y="8" width="1" height="1" fill="#A53030" />
+<rect x="16" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="8" width="1" height="1" fill="#A53030" />
+<rect x="20" y="8" width="1" height="1" fill="#A53030" />
+<rect x="21" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="8" width="1" height="1" fill="#A53030" />
+<rect x="28" y="8" width="1" height="1" fill="#A53030" />
+<rect x="29" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="8" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="8" width="1" height="1" fill="#A53030" />
+<rect x="33" y="8" width="1" height="1" fill="#A53030" />
+<rect x="34" y="8" width="1" height="1" fill="#A53030" />
+<rect x="35" y="8" width="1" height="1" fill="#A53030" />
+<rect x="36" y="8" width="1" height="1" fill="#A53030" />
+<rect x="37" y="8" width="1" height="1" fill="#A53030" />
+<rect x="38" y="8" width="1" height="1" fill="#A53030" />
+<rect x="39" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="8" width="1" height="1" fill="#A53030" />
+<rect x="42" y="8" width="1" height="1" fill="#A53030" />
+<rect x="43" y="8" width="1" height="1" fill="#A53030" />
+<rect x="44" y="8" width="1" height="1" fill="#A53030" />
+<rect x="45" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="8" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="9" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="9" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="9" width="1" height="1" fill="#A53030" />
+<rect x="3" y="9" width="1" height="1" fill="#A53030" />
+<rect x="4" y="9" width="1" height="1" fill="#A53030" />
+<rect x="5" y="9" width="1" height="1" fill="#A53030" />
+<rect x="6" y="9" width="1" height="1" fill="#A53030" />
+<rect x="7" y="9" width="1" height="1" fill="#A53030" />
+<rect x="8" y="9" width="1" height="1" fill="#A53030" />
+<rect x="9" y="9" width="1" height="1" fill="#A53030" />
+<rect x="10" y="9" width="1" height="1" fill="#A53030" />
+<rect x="11" y="9" width="1" height="1" fill="#A53030" />
+<rect x="12" y="9" width="1" height="1" fill="#A53030" />
+<rect x="13" y="9" width="1" height="1" fill="#A53030" />
+<rect x="14" y="9" width="1" height="1" fill="#A53030" />
+<rect x="15" y="9" width="1" height="1" fill="#A53030" />
+<rect x="16" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="9" width="1" height="1" fill="#A53030" />
+<rect x="20" y="9" width="1" height="1" fill="#A53030" />
+<rect x="21" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="9" width="1" height="1" fill="#A53030" />
+<rect x="28" y="9" width="1" height="1" fill="#A53030" />
+<rect x="29" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="9" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="9" width="1" height="1" fill="#A53030" />
+<rect x="33" y="9" width="1" height="1" fill="#A53030" />
+<rect x="34" y="9" width="1" height="1" fill="#A53030" />
+<rect x="35" y="9" width="1" height="1" fill="#A53030" />
+<rect x="36" y="9" width="1" height="1" fill="#A53030" />
+<rect x="37" y="9" width="1" height="1" fill="#A53030" />
+<rect x="38" y="9" width="1" height="1" fill="#A53030" />
+<rect x="39" y="9" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="9" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="9" width="1" height="1" fill="#A53030" />
+<rect x="42" y="9" width="1" height="1" fill="#A53030" />
+<rect x="43" y="9" width="1" height="1" fill="#A53030" />
+<rect x="44" y="9" width="1" height="1" fill="#A53030" />
+<rect x="45" y="9" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="9" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="9" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="10" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="10" width="1" height="1" fill="#C3422F" />
+<rect x="2" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="10" width="1" height="1" fill="#A53030" />
+<rect x="20" y="10" width="1" height="1" fill="#A53030" />
+<rect x="21" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="10" width="1" height="1" fill="#A53030" />
+<rect x="28" y="10" width="1" height="1" fill="#A53030" />
+<rect x="29" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="33" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="34" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="35" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="36" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="10" width="1" height="1" fill="#C3422F" />
+<rect x="41" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="10" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="10" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="10" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="11" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="11" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="11" width="1" height="1" fill="#A53030" />
+<rect x="3" y="11" width="1" height="1" fill="#A53030" />
+<rect x="4" y="11" width="1" height="1" fill="#A53030" />
+<rect x="5" y="11" width="1" height="1" fill="#A53030" />
+<rect x="6" y="11" width="1" height="1" fill="#A53030" />
+<rect x="7" y="11" width="1" height="1" fill="#A53030" />
+<rect x="8" y="11" width="1" height="1" fill="#A53030" />
+<rect x="9" y="11" width="1" height="1" fill="#A53030" />
+<rect x="10" y="11" width="1" height="1" fill="#A53030" />
+<rect x="11" y="11" width="1" height="1" fill="#A53030" />
+<rect x="12" y="11" width="1" height="1" fill="#A53030" />
+<rect x="13" y="11" width="1" height="1" fill="#A53030" />
+<rect x="14" y="11" width="1" height="1" fill="#A53030" />
+<rect x="15" y="11" width="1" height="1" fill="#A53030" />
+<rect x="16" y="11" width="1" height="1" fill="#A53030" />
+<rect x="17" y="11" width="1" height="1" fill="#A53030" />
+<rect x="18" y="11" width="1" height="1" fill="#A53030" />
+<rect x="19" y="11" width="1" height="1" fill="#A53030" />
+<rect x="20" y="11" width="1" height="1" fill="#A53030" />
+<rect x="21" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="11" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="11" width="1" height="1" fill="#A53030" />
+<rect x="28" y="11" width="1" height="1" fill="#A53030" />
+<rect x="29" y="11" width="1" height="1" fill="#A53030" />
+<rect x="30" y="11" width="1" height="1" fill="#A53030" />
+<rect x="31" y="11" width="1" height="1" fill="#A53030" />
+<rect x="32" y="11" width="1" height="1" fill="#A53030" />
+<rect x="33" y="11" width="1" height="1" fill="#A53030" />
+<rect x="34" y="11" width="1" height="1" fill="#A53030" />
+<rect x="35" y="11" width="1" height="1" fill="#A53030" />
+<rect x="36" y="11" width="1" height="1" fill="#A53030" />
+<rect x="37" y="11" width="1" height="1" fill="#A53030" />
+<rect x="38" y="11" width="1" height="1" fill="#A53030" />
+<rect x="39" y="11" width="1" height="1" fill="#A53030" />
+<rect x="40" y="11" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="11" width="1" height="1" fill="#A53030" />
+<rect x="42" y="11" width="1" height="1" fill="#A53030" />
+<rect x="43" y="11" width="1" height="1" fill="#A53030" />
+<rect x="44" y="11" width="1" height="1" fill="#A53030" />
+<rect x="45" y="11" width="1" height="1" fill="#A53030" />
+<rect x="46" y="11" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="11" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="12" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="12" width="1" height="1" fill="#A53030" />
+<rect x="2" y="12" width="1" height="1" fill="#A53030" />
+<rect x="3" y="12" width="1" height="1" fill="#A53030" />
+<rect x="4" y="12" width="1" height="1" fill="#A53030" />
+<rect x="5" y="12" width="1" height="1" fill="#A53030" />
+<rect x="6" y="12" width="1" height="1" fill="#A53030" />
+<rect x="7" y="12" width="1" height="1" fill="#A53030" />
+<rect x="8" y="12" width="1" height="1" fill="#A53030" />
+<rect x="9" y="12" width="1" height="1" fill="#A53030" />
+<rect x="10" y="12" width="1" height="1" fill="#A53030" />
+<rect x="11" y="12" width="1" height="1" fill="#A53030" />
+<rect x="12" y="12" width="1" height="1" fill="#A53030" />
+<rect x="13" y="12" width="1" height="1" fill="#A53030" />
+<rect x="14" y="12" width="1" height="1" fill="#A53030" />
+<rect x="15" y="12" width="1" height="1" fill="#A53030" />
+<rect x="16" y="12" width="1" height="1" fill="#A53030" />
+<rect x="17" y="12" width="1" height="1" fill="#A53030" />
+<rect x="18" y="12" width="1" height="1" fill="#A53030" />
+<rect x="19" y="12" width="1" height="1" fill="#A53030" />
+<rect x="20" y="12" width="1" height="1" fill="#A53030" />
+<rect x="21" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="12" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="12" width="1" height="1" fill="#A53030" />
+<rect x="28" y="12" width="1" height="1" fill="#A53030" />
+<rect x="29" y="12" width="1" height="1" fill="#A53030" />
+<rect x="30" y="12" width="1" height="1" fill="#A53030" />
+<rect x="31" y="12" width="1" height="1" fill="#A53030" />
+<rect x="32" y="12" width="1" height="1" fill="#A53030" />
+<rect x="33" y="12" width="1" height="1" fill="#A53030" />
+<rect x="34" y="12" width="1" height="1" fill="#A53030" />
+<rect x="35" y="12" width="1" height="1" fill="#A53030" />
+<rect x="36" y="12" width="1" height="1" fill="#A53030" />
+<rect x="37" y="12" width="1" height="1" fill="#A53030" />
+<rect x="38" y="12" width="1" height="1" fill="#A53030" />
+<rect x="39" y="12" width="1" height="1" fill="#A53030" />
+<rect x="40" y="12" width="1" height="1" fill="#A53030" />
+<rect x="41" y="12" width="1" height="1" fill="#A53030" />
+<rect x="42" y="12" width="1" height="1" fill="#A53030" />
+<rect x="43" y="12" width="1" height="1" fill="#A53030" />
+<rect x="44" y="12" width="1" height="1" fill="#A53030" />
+<rect x="45" y="12" width="1" height="1" fill="#A53030" />
+<rect x="46" y="12" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="12" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="13" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="28" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="29" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="33" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="34" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="35" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="36" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="13" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="13" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="13" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="14" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="28" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="29" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="33" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="34" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="35" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="36" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="14" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="14" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="14" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="15" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="28" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="29" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="33" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="34" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="35" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="36" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="15" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="15" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="15" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="16" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="28" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="29" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="33" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="34" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="35" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="36" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="16" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="16" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="16" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="17" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="28" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="29" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="33" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="34" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="35" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="36" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="17" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="17" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="17" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="17" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="18" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="20" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="21" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="28" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="29" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="33" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="34" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="35" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="36" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="18" width="1" height="1" fill="#CF573C" />
+<rect x="45" y="18" width="1" height="1" fill="#C3422F" />
+<rect x="46" y="18" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="18" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="19" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="19" width="1" height="1" fill="#A53030" />
+<rect x="2" y="19" width="1" height="1" fill="#A53030" />
+<rect x="3" y="19" width="1" height="1" fill="#A53030" />
+<rect x="4" y="19" width="1" height="1" fill="#A53030" />
+<rect x="5" y="19" width="1" height="1" fill="#A53030" />
+<rect x="6" y="19" width="1" height="1" fill="#A53030" />
+<rect x="7" y="19" width="1" height="1" fill="#A53030" />
+<rect x="8" y="19" width="1" height="1" fill="#A53030" />
+<rect x="9" y="19" width="1" height="1" fill="#A53030" />
+<rect x="10" y="19" width="1" height="1" fill="#A53030" />
+<rect x="11" y="19" width="1" height="1" fill="#A53030" />
+<rect x="12" y="19" width="1" height="1" fill="#A53030" />
+<rect x="13" y="19" width="1" height="1" fill="#A53030" />
+<rect x="14" y="19" width="1" height="1" fill="#A53030" />
+<rect x="15" y="19" width="1" height="1" fill="#A53030" />
+<rect x="16" y="19" width="1" height="1" fill="#A53030" />
+<rect x="17" y="19" width="1" height="1" fill="#A53030" />
+<rect x="18" y="19" width="1" height="1" fill="#A53030" />
+<rect x="19" y="19" width="1" height="1" fill="#A53030" />
+<rect x="20" y="19" width="1" height="1" fill="#A53030" />
+<rect x="21" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="19" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="19" width="1" height="1" fill="#A53030" />
+<rect x="28" y="19" width="1" height="1" fill="#A53030" />
+<rect x="29" y="19" width="1" height="1" fill="#A53030" />
+<rect x="30" y="19" width="1" height="1" fill="#A53030" />
+<rect x="31" y="19" width="1" height="1" fill="#A53030" />
+<rect x="32" y="19" width="1" height="1" fill="#A53030" />
+<rect x="33" y="19" width="1" height="1" fill="#A53030" />
+<rect x="34" y="19" width="1" height="1" fill="#A53030" />
+<rect x="35" y="19" width="1" height="1" fill="#A53030" />
+<rect x="36" y="19" width="1" height="1" fill="#A53030" />
+<rect x="37" y="19" width="1" height="1" fill="#A53030" />
+<rect x="38" y="19" width="1" height="1" fill="#A53030" />
+<rect x="39" y="19" width="1" height="1" fill="#A53030" />
+<rect x="40" y="19" width="1" height="1" fill="#A53030" />
+<rect x="41" y="19" width="1" height="1" fill="#A53030" />
+<rect x="42" y="19" width="1" height="1" fill="#A53030" />
+<rect x="43" y="19" width="1" height="1" fill="#A53030" />
+<rect x="44" y="19" width="1" height="1" fill="#A53030" />
+<rect x="45" y="19" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="19" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="19" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="20" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="20" width="1" height="1" fill="#A53030" />
+<rect x="2" y="20" width="1" height="1" fill="#A53030" />
+<rect x="3" y="20" width="1" height="1" fill="#A53030" />
+<rect x="4" y="20" width="1" height="1" fill="#A53030" />
+<rect x="5" y="20" width="1" height="1" fill="#A53030" />
+<rect x="6" y="20" width="1" height="1" fill="#A53030" />
+<rect x="7" y="20" width="1" height="1" fill="#A53030" />
+<rect x="8" y="20" width="1" height="1" fill="#A53030" />
+<rect x="9" y="20" width="1" height="1" fill="#A53030" />
+<rect x="10" y="20" width="1" height="1" fill="#A53030" />
+<rect x="11" y="20" width="1" height="1" fill="#A53030" />
+<rect x="12" y="20" width="1" height="1" fill="#A53030" />
+<rect x="13" y="20" width="1" height="1" fill="#A53030" />
+<rect x="14" y="20" width="1" height="1" fill="#A53030" />
+<rect x="15" y="20" width="1" height="1" fill="#A53030" />
+<rect x="16" y="20" width="1" height="1" fill="#A53030" />
+<rect x="17" y="20" width="1" height="1" fill="#A53030" />
+<rect x="18" y="20" width="1" height="1" fill="#A53030" />
+<rect x="19" y="20" width="1" height="1" fill="#A53030" />
+<rect x="20" y="20" width="1" height="1" fill="#A53030" />
+<rect x="21" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="20" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="20" width="1" height="1" fill="#A53030" />
+<rect x="28" y="20" width="1" height="1" fill="#A53030" />
+<rect x="29" y="20" width="1" height="1" fill="#A53030" />
+<rect x="30" y="20" width="1" height="1" fill="#A53030" />
+<rect x="31" y="20" width="1" height="1" fill="#A53030" />
+<rect x="32" y="20" width="1" height="1" fill="#A53030" />
+<rect x="33" y="20" width="1" height="1" fill="#A53030" />
+<rect x="34" y="20" width="1" height="1" fill="#A53030" />
+<rect x="35" y="20" width="1" height="1" fill="#A53030" />
+<rect x="36" y="20" width="1" height="1" fill="#A53030" />
+<rect x="37" y="20" width="1" height="1" fill="#A53030" />
+<rect x="38" y="20" width="1" height="1" fill="#A53030" />
+<rect x="39" y="20" width="1" height="1" fill="#A53030" />
+<rect x="40" y="20" width="1" height="1" fill="#A53030" />
+<rect x="41" y="20" width="1" height="1" fill="#A53030" />
+<rect x="42" y="20" width="1" height="1" fill="#A53030" />
+<rect x="43" y="20" width="1" height="1" fill="#A53030" />
+<rect x="44" y="20" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="20" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="20" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="20" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="21" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="2" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="3" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="4" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="5" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="6" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="7" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="8" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="9" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="10" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="11" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="12" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="13" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="14" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="15" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="16" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="21" width="1" height="1" fill="#A53030" />
+<rect x="20" y="21" width="1" height="1" fill="#A53030" />
+<rect x="21" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="21" width="1" height="1" fill="#A53030" />
+<rect x="28" y="21" width="1" height="1" fill="#A53030" />
+<rect x="29" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="33" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="34" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="35" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="36" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="37" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="38" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="39" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="40" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="41" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="42" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="43" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="44" y="21" width="1" height="1" fill="#C3422F" />
+<rect x="45" y="21" width="1" height="1" fill="#CF573C" />
+<rect x="46" y="21" width="1" height="1" fill="#C3422F" />
+<rect x="47" y="21" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="22" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="22" width="1" height="1" fill="#A53030" />
+<rect x="2" y="22" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="22" width="1" height="1" fill="#A53030" />
+<rect x="4" y="22" width="1" height="1" fill="#A53030" />
+<rect x="5" y="22" width="1" height="1" fill="#A53030" />
+<rect x="6" y="22" width="1" height="1" fill="#A53030" />
+<rect x="7" y="22" width="1" height="1" fill="#A53030" />
+<rect x="8" y="22" width="1" height="1" fill="#A53030" />
+<rect x="9" y="22" width="1" height="1" fill="#A53030" />
+<rect x="10" y="22" width="1" height="1" fill="#A53030" />
+<rect x="11" y="22" width="1" height="1" fill="#A53030" />
+<rect x="12" y="22" width="1" height="1" fill="#A53030" />
+<rect x="13" y="22" width="1" height="1" fill="#A53030" />
+<rect x="14" y="22" width="1" height="1" fill="#A53030" />
+<rect x="15" y="22" width="1" height="1" fill="#A53030" />
+<rect x="16" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="22" width="1" height="1" fill="#A53030" />
+<rect x="20" y="22" width="1" height="1" fill="#A53030" />
+<rect x="21" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="22" width="1" height="1" fill="#A53030" />
+<rect x="28" y="22" width="1" height="1" fill="#A53030" />
+<rect x="29" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="22" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="22" width="1" height="1" fill="#A53030" />
+<rect x="33" y="22" width="1" height="1" fill="#A53030" />
+<rect x="34" y="22" width="1" height="1" fill="#A53030" />
+<rect x="35" y="22" width="1" height="1" fill="#A53030" />
+<rect x="36" y="22" width="1" height="1" fill="#A53030" />
+<rect x="37" y="22" width="1" height="1" fill="#A53030" />
+<rect x="38" y="22" width="1" height="1" fill="#A53030" />
+<rect x="39" y="22" width="1" height="1" fill="#A53030" />
+<rect x="40" y="22" width="1" height="1" fill="#A53030" />
+<rect x="41" y="22" width="1" height="1" fill="#A53030" />
+<rect x="42" y="22" width="1" height="1" fill="#A53030" />
+<rect x="43" y="22" width="1" height="1" fill="#A53030" />
+<rect x="44" y="22" width="1" height="1" fill="#A53030" />
+<rect x="45" y="22" width="1" height="1" fill="#A53030" />
+<rect x="46" y="22" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="22" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="23" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="23" width="1" height="1" fill="#A53030" />
+<rect x="2" y="23" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="23" width="1" height="1" fill="#A53030" />
+<rect x="4" y="23" width="1" height="1" fill="#A53030" />
+<rect x="5" y="23" width="1" height="1" fill="#A53030" />
+<rect x="6" y="23" width="1" height="1" fill="#A53030" />
+<rect x="7" y="23" width="1" height="1" fill="#A53030" />
+<rect x="8" y="23" width="1" height="1" fill="#A53030" />
+<rect x="9" y="23" width="1" height="1" fill="#A53030" />
+<rect x="10" y="23" width="1" height="1" fill="#A53030" />
+<rect x="11" y="23" width="1" height="1" fill="#A53030" />
+<rect x="12" y="23" width="1" height="1" fill="#A53030" />
+<rect x="13" y="23" width="1" height="1" fill="#A53030" />
+<rect x="14" y="23" width="1" height="1" fill="#A53030" />
+<rect x="15" y="23" width="1" height="1" fill="#A53030" />
+<rect x="16" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="23" width="1" height="1" fill="#A53030" />
+<rect x="20" y="23" width="1" height="1" fill="#A53030" />
+<rect x="21" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="23" width="1" height="1" fill="#A53030" />
+<rect x="28" y="23" width="1" height="1" fill="#A53030" />
+<rect x="29" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="23" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="23" width="1" height="1" fill="#A53030" />
+<rect x="33" y="23" width="1" height="1" fill="#A53030" />
+<rect x="34" y="23" width="1" height="1" fill="#A53030" />
+<rect x="35" y="23" width="1" height="1" fill="#A53030" />
+<rect x="36" y="23" width="1" height="1" fill="#A53030" />
+<rect x="37" y="23" width="1" height="1" fill="#A53030" />
+<rect x="38" y="23" width="1" height="1" fill="#A53030" />
+<rect x="39" y="23" width="1" height="1" fill="#A53030" />
+<rect x="40" y="23" width="1" height="1" fill="#A53030" />
+<rect x="41" y="23" width="1" height="1" fill="#A53030" />
+<rect x="42" y="23" width="1" height="1" fill="#A53030" />
+<rect x="43" y="23" width="1" height="1" fill="#A53030" />
+<rect x="44" y="23" width="1" height="1" fill="#A53030" />
+<rect x="45" y="23" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="23" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="23" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="24" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="24" width="1" height="1" fill="#A53030" />
+<rect x="2" y="24" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="24" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="24" width="1" height="1" fill="#A53030" />
+<rect x="5" y="24" width="1" height="1" fill="#A53030" />
+<rect x="6" y="24" width="1" height="1" fill="#A53030" />
+<rect x="7" y="24" width="1" height="1" fill="#A53030" />
+<rect x="8" y="24" width="1" height="1" fill="#A53030" />
+<rect x="9" y="24" width="1" height="1" fill="#A53030" />
+<rect x="10" y="24" width="1" height="1" fill="#A53030" />
+<rect x="11" y="24" width="1" height="1" fill="#A53030" />
+<rect x="12" y="24" width="1" height="1" fill="#A53030" />
+<rect x="13" y="24" width="1" height="1" fill="#A53030" />
+<rect x="14" y="24" width="1" height="1" fill="#A53030" />
+<rect x="15" y="24" width="1" height="1" fill="#A53030" />
+<rect x="16" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="24" width="1" height="1" fill="#A53030" />
+<rect x="20" y="24" width="1" height="1" fill="#A53030" />
+<rect x="21" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="24" width="1" height="1" fill="#A53030" />
+<rect x="28" y="24" width="1" height="1" fill="#A53030" />
+<rect x="29" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="24" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="24" width="1" height="1" fill="#A53030" />
+<rect x="33" y="24" width="1" height="1" fill="#A53030" />
+<rect x="34" y="24" width="1" height="1" fill="#A53030" />
+<rect x="35" y="24" width="1" height="1" fill="#A53030" />
+<rect x="36" y="24" width="1" height="1" fill="#A53030" />
+<rect x="37" y="24" width="1" height="1" fill="#A53030" />
+<rect x="38" y="24" width="1" height="1" fill="#A53030" />
+<rect x="39" y="24" width="1" height="1" fill="#A53030" />
+<rect x="40" y="24" width="1" height="1" fill="#A53030" />
+<rect x="41" y="24" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="24" width="1" height="1" fill="#A53030" />
+<rect x="43" y="24" width="1" height="1" fill="#A53030" />
+<rect x="44" y="24" width="1" height="1" fill="#A53030" />
+<rect x="45" y="24" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="24" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="24" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="25" width="1" height="1" fill="#A53030" />
+<rect x="6" y="25" width="1" height="1" fill="#A53030" />
+<rect x="7" y="25" width="1" height="1" fill="#A53030" />
+<rect x="8" y="25" width="1" height="1" fill="#A53030" />
+<rect x="9" y="25" width="1" height="1" fill="#A53030" />
+<rect x="10" y="25" width="1" height="1" fill="#A53030" />
+<rect x="11" y="25" width="1" height="1" fill="#A53030" />
+<rect x="12" y="25" width="1" height="1" fill="#A53030" />
+<rect x="13" y="25" width="1" height="1" fill="#A53030" />
+<rect x="14" y="25" width="1" height="1" fill="#A53030" />
+<rect x="15" y="25" width="1" height="1" fill="#A53030" />
+<rect x="16" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="25" width="1" height="1" fill="#A53030" />
+<rect x="20" y="25" width="1" height="1" fill="#A53030" />
+<rect x="21" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="25" width="1" height="1" fill="#A53030" />
+<rect x="28" y="25" width="1" height="1" fill="#A53030" />
+<rect x="29" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="25" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="25" width="1" height="1" fill="#A53030" />
+<rect x="33" y="25" width="1" height="1" fill="#A53030" />
+<rect x="34" y="25" width="1" height="1" fill="#A53030" />
+<rect x="35" y="25" width="1" height="1" fill="#A53030" />
+<rect x="36" y="25" width="1" height="1" fill="#A53030" />
+<rect x="37" y="25" width="1" height="1" fill="#A53030" />
+<rect x="38" y="25" width="1" height="1" fill="#A53030" />
+<rect x="39" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="25" width="1" height="1" fill="#A53030" />
+<rect x="43" y="25" width="1" height="1" fill="#A53030" />
+<rect x="44" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="25" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="26" width="1" height="1" fill="#A53030" />
+<rect x="3" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="26" width="1" height="1" fill="#A53030" />
+<rect x="7" y="26" width="1" height="1" fill="#A53030" />
+<rect x="8" y="26" width="1" height="1" fill="#A53030" />
+<rect x="9" y="26" width="1" height="1" fill="#A53030" />
+<rect x="10" y="26" width="1" height="1" fill="#A53030" />
+<rect x="11" y="26" width="1" height="1" fill="#A53030" />
+<rect x="12" y="26" width="1" height="1" fill="#A53030" />
+<rect x="13" y="26" width="1" height="1" fill="#A53030" />
+<rect x="14" y="26" width="1" height="1" fill="#A53030" />
+<rect x="15" y="26" width="1" height="1" fill="#A53030" />
+<rect x="16" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="26" width="1" height="1" fill="#A53030" />
+<rect x="20" y="26" width="1" height="1" fill="#A53030" />
+<rect x="21" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="26" width="1" height="1" fill="#A53030" />
+<rect x="28" y="26" width="1" height="1" fill="#A53030" />
+<rect x="29" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="26" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="26" width="1" height="1" fill="#A53030" />
+<rect x="33" y="26" width="1" height="1" fill="#A53030" />
+<rect x="34" y="26" width="1" height="1" fill="#A53030" />
+<rect x="35" y="26" width="1" height="1" fill="#A53030" />
+<rect x="36" y="26" width="1" height="1" fill="#A53030" />
+<rect x="37" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="26" width="1" height="1" fill="#A53030" />
+<rect x="44" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="26" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="27" width="1" height="1" fill="#A53030" />
+<rect x="3" y="27" width="1" height="1" fill="#A53030" />
+<rect x="4" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="8" y="27" width="1" height="1" fill="#A53030" />
+<rect x="9" y="27" width="1" height="1" fill="#A53030" />
+<rect x="10" y="27" width="1" height="1" fill="#A53030" />
+<rect x="11" y="27" width="1" height="1" fill="#A53030" />
+<rect x="12" y="27" width="1" height="1" fill="#A53030" />
+<rect x="13" y="27" width="1" height="1" fill="#A53030" />
+<rect x="14" y="27" width="1" height="1" fill="#A53030" />
+<rect x="15" y="27" width="1" height="1" fill="#A53030" />
+<rect x="16" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="27" width="1" height="1" fill="#A53030" />
+<rect x="20" y="27" width="1" height="1" fill="#A53030" />
+<rect x="21" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="27" width="1" height="1" fill="#A53030" />
+<rect x="28" y="27" width="1" height="1" fill="#A53030" />
+<rect x="29" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="27" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="27" width="1" height="1" fill="#A53030" />
+<rect x="33" y="27" width="1" height="1" fill="#A53030" />
+<rect x="34" y="27" width="1" height="1" fill="#A53030" />
+<rect x="35" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="36" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="37" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="27" width="1" height="1" fill="#A53030" />
+<rect x="43" y="27" width="1" height="1" fill="#A53030" />
+<rect x="44" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="27" width="1" height="1" fill="#A53030" />
+<rect x="47" y="27" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="28" width="1" height="1" fill="#A53030" />
+<rect x="4" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="8" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="9" y="28" width="1" height="1" fill="#A53030" />
+<rect x="10" y="28" width="1" height="1" fill="#A53030" />
+<rect x="11" y="28" width="1" height="1" fill="#A53030" />
+<rect x="12" y="28" width="1" height="1" fill="#A53030" />
+<rect x="13" y="28" width="1" height="1" fill="#A53030" />
+<rect x="14" y="28" width="1" height="1" fill="#A53030" />
+<rect x="15" y="28" width="1" height="1" fill="#A53030" />
+<rect x="16" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="28" width="1" height="1" fill="#A53030" />
+<rect x="20" y="28" width="1" height="1" fill="#A53030" />
+<rect x="21" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="28" width="1" height="1" fill="#A53030" />
+<rect x="28" y="28" width="1" height="1" fill="#A53030" />
+<rect x="29" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="28" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="33" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="34" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="35" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="36" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="37" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="28" width="1" height="1" fill="#A53030" />
+<rect x="39" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="28" width="1" height="1" fill="#A53030" />
+<rect x="42" y="28" width="1" height="1" fill="#A53030" />
+<rect x="43" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="28" width="1" height="1" fill="#A53030" />
+<rect x="46" y="28" width="1" height="1" fill="#A53030" />
+<rect x="47" y="28" width="1" height="1" fill="#8F2526" />
+<rect x="0" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="8" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="9" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="10" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="11" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="12" y="29" width="1" height="1" fill="#A53030" />
+<rect x="13" y="29" width="1" height="1" fill="#A53030" />
+<rect x="14" y="29" width="1" height="1" fill="#A53030" />
+<rect x="15" y="29" width="1" height="1" fill="#A53030" />
+<rect x="16" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="29" width="1" height="1" fill="#A53030" />
+<rect x="20" y="29" width="1" height="1" fill="#A53030" />
+<rect x="21" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="29" width="1" height="1" fill="#A53030" />
+<rect x="28" y="29" width="1" height="1" fill="#A53030" />
+<rect x="29" y="29" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="31" y="29" width="1" height="1" fill="#C3422F" />
+<rect x="32" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="33" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="34" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="35" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="36" y="29" width="1" height="1" fill="#A53030" />
+<rect x="37" y="29" width="1" height="1" fill="#A53030" />
+<rect x="38" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="29" width="1" height="1" fill="#A53030" />
+<rect x="42" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="29" width="1" height="1" fill="#A53030" />
+<rect x="46" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="47" y="29" width="1" height="1" fill="#8F2526" />
+<rect x="1" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="8" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="9" y="30" width="1" height="1" fill="#A53030" />
+<rect x="10" y="30" width="1" height="1" fill="#A53030" />
+<rect x="11" y="30" width="1" height="1" fill="#A53030" />
+<rect x="12" y="30" width="1" height="1" fill="#A53030" />
+<rect x="13" y="30" width="1" height="1" fill="#A53030" />
+<rect x="14" y="30" width="1" height="1" fill="#A53030" />
+<rect x="15" y="30" width="1" height="1" fill="#A53030" />
+<rect x="16" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="17" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="18" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="19" y="30" width="1" height="1" fill="#A53030" />
+<rect x="20" y="30" width="1" height="1" fill="#A53030" />
+<rect x="21" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="22" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="23" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="24" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="25" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="26" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="27" y="30" width="1" height="1" fill="#A53030" />
+<rect x="28" y="30" width="1" height="1" fill="#A53030" />
+<rect x="29" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="30" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="31" y="30" width="1" height="1" fill="#CF573C" />
+<rect x="32" y="30" width="1" height="1" fill="#A53030" />
+<rect x="33" y="30" width="1" height="1" fill="#A53030" />
+<rect x="34" y="30" width="1" height="1" fill="#A53030" />
+<rect x="35" y="30" width="1" height="1" fill="#A53030" />
+<rect x="36" y="30" width="1" height="1" fill="#A53030" />
+<rect x="37" y="30" width="1" height="1" fill="#A53030" />
+<rect x="38" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="46" y="30" width="1" height="1" fill="#8F2526" />
+<rect x="2" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="3" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="4" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="5" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="6" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="7" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="8" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="9" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="10" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="11" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="12" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="13" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="14" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="15" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="16" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="17" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="18" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="19" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="20" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="21" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="22" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="23" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="24" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="25" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="26" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="27" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="28" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="29" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="30" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="31" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="32" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="33" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="34" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="35" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="36" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="37" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="38" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="39" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="40" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="41" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="42" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="43" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="44" y="31" width="1" height="1" fill="#8F2526" />
+<rect x="45" y="31" width="1" height="1" fill="#8F2526" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Lekia.svg b/Edikoyo/.obsidian/icons/flags/Lekia.svg
new file mode 100644
index 0000000..c996c7f
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Lekia.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#589235" />
+<rect x="3" y="0" width="1" height="1" fill="#589235" />
+<rect x="4" y="0" width="1" height="1" fill="#589235" />
+<rect x="5" y="0" width="1" height="1" fill="#589235" />
+<rect x="6" y="0" width="1" height="1" fill="#589235" />
+<rect x="7" y="0" width="1" height="1" fill="#589235" />
+<rect x="8" y="0" width="1" height="1" fill="#589235" />
+<rect x="9" y="0" width="1" height="1" fill="#589235" />
+<rect x="10" y="0" width="1" height="1" fill="#589235" />
+<rect x="11" y="0" width="1" height="1" fill="#589235" />
+<rect x="12" y="0" width="1" height="1" fill="#589235" />
+<rect x="13" y="0" width="1" height="1" fill="#589235" />
+<rect x="14" y="0" width="1" height="1" fill="#589235" />
+<rect x="15" y="0" width="1" height="1" fill="#589235" />
+<rect x="16" y="0" width="1" height="1" fill="#589235" />
+<rect x="17" y="0" width="1" height="1" fill="#589235" />
+<rect x="18" y="0" width="1" height="1" fill="#589235" />
+<rect x="19" y="0" width="1" height="1" fill="#589235" />
+<rect x="20" y="0" width="1" height="1" fill="#589235" />
+<rect x="21" y="0" width="1" height="1" fill="#589235" />
+<rect x="22" y="0" width="1" height="1" fill="#356427" />
+<rect x="23" y="0" width="1" height="1" fill="#18232B" />
+<rect x="24" y="0" width="1" height="1" fill="#18232B" />
+<rect x="25" y="0" width="1" height="1" fill="#356427" />
+<rect x="26" y="0" width="1" height="1" fill="#589235" />
+<rect x="27" y="0" width="1" height="1" fill="#589235" />
+<rect x="28" y="0" width="1" height="1" fill="#589235" />
+<rect x="29" y="0" width="1" height="1" fill="#589235" />
+<rect x="30" y="0" width="1" height="1" fill="#589235" />
+<rect x="31" y="0" width="1" height="1" fill="#589235" />
+<rect x="32" y="0" width="1" height="1" fill="#589235" />
+<rect x="33" y="0" width="1" height="1" fill="#589235" />
+<rect x="34" y="0" width="1" height="1" fill="#589235" />
+<rect x="35" y="0" width="1" height="1" fill="#589235" />
+<rect x="36" y="0" width="1" height="1" fill="#589235" />
+<rect x="37" y="0" width="1" height="1" fill="#589235" />
+<rect x="38" y="0" width="1" height="1" fill="#589235" />
+<rect x="39" y="0" width="1" height="1" fill="#589235" />
+<rect x="40" y="0" width="1" height="1" fill="#589235" />
+<rect x="41" y="0" width="1" height="1" fill="#589235" />
+<rect x="42" y="0" width="1" height="1" fill="#589235" />
+<rect x="43" y="0" width="1" height="1" fill="#589235" />
+<rect x="44" y="0" width="1" height="1" fill="#589235" />
+<rect x="45" y="0" width="1" height="1" fill="#589235" />
+<rect x="1" y="1" width="1" height="1" fill="#589235" />
+<rect x="2" y="1" width="1" height="1" fill="#589235" />
+<rect x="3" y="1" width="1" height="1" fill="#589235" />
+<rect x="4" y="1" width="1" height="1" fill="#589235" />
+<rect x="5" y="1" width="1" height="1" fill="#589235" />
+<rect x="6" y="1" width="1" height="1" fill="#589235" />
+<rect x="7" y="1" width="1" height="1" fill="#589235" />
+<rect x="8" y="1" width="1" height="1" fill="#589235" />
+<rect x="9" y="1" width="1" height="1" fill="#589235" />
+<rect x="10" y="1" width="1" height="1" fill="#75A743" />
+<rect x="11" y="1" width="1" height="1" fill="#75A743" />
+<rect x="12" y="1" width="1" height="1" fill="#75A743" />
+<rect x="13" y="1" width="1" height="1" fill="#75A743" />
+<rect x="14" y="1" width="1" height="1" fill="#75A743" />
+<rect x="15" y="1" width="1" height="1" fill="#75A743" />
+<rect x="16" y="1" width="1" height="1" fill="#75A743" />
+<rect x="17" y="1" width="1" height="1" fill="#75A743" />
+<rect x="18" y="1" width="1" height="1" fill="#75A743" />
+<rect x="19" y="1" width="1" height="1" fill="#75A743" />
+<rect x="20" y="1" width="1" height="1" fill="#75A743" />
+<rect x="21" y="1" width="1" height="1" fill="#75A743" />
+<rect x="22" y="1" width="1" height="1" fill="#468232" />
+<rect x="23" y="1" width="1" height="1" fill="#202E37" />
+<rect x="24" y="1" width="1" height="1" fill="#202E37" />
+<rect x="25" y="1" width="1" height="1" fill="#468232" />
+<rect x="26" y="1" width="1" height="1" fill="#75A743" />
+<rect x="27" y="1" width="1" height="1" fill="#75A743" />
+<rect x="28" y="1" width="1" height="1" fill="#75A743" />
+<rect x="29" y="1" width="1" height="1" fill="#75A743" />
+<rect x="30" y="1" width="1" height="1" fill="#75A743" />
+<rect x="31" y="1" width="1" height="1" fill="#75A743" />
+<rect x="32" y="1" width="1" height="1" fill="#75A743" />
+<rect x="33" y="1" width="1" height="1" fill="#589235" />
+<rect x="34" y="1" width="1" height="1" fill="#589235" />
+<rect x="35" y="1" width="1" height="1" fill="#589235" />
+<rect x="36" y="1" width="1" height="1" fill="#589235" />
+<rect x="37" y="1" width="1" height="1" fill="#589235" />
+<rect x="38" y="1" width="1" height="1" fill="#589235" />
+<rect x="39" y="1" width="1" height="1" fill="#589235" />
+<rect x="40" y="1" width="1" height="1" fill="#75A743" />
+<rect x="41" y="1" width="1" height="1" fill="#589235" />
+<rect x="42" y="1" width="1" height="1" fill="#589235" />
+<rect x="43" y="1" width="1" height="1" fill="#589235" />
+<rect x="44" y="1" width="1" height="1" fill="#589235" />
+<rect x="45" y="1" width="1" height="1" fill="#589235" />
+<rect x="46" y="1" width="1" height="1" fill="#589235" />
+<rect x="0" y="2" width="1" height="1" fill="#589235" />
+<rect x="1" y="2" width="1" height="1" fill="#589235" />
+<rect x="2" y="2" width="1" height="1" fill="#589235" />
+<rect x="3" y="2" width="1" height="1" fill="#589235" />
+<rect x="4" y="2" width="1" height="1" fill="#589235" />
+<rect x="5" y="2" width="1" height="1" fill="#589235" />
+<rect x="6" y="2" width="1" height="1" fill="#75A743" />
+<rect x="7" y="2" width="1" height="1" fill="#75A743" />
+<rect x="8" y="2" width="1" height="1" fill="#75A743" />
+<rect x="9" y="2" width="1" height="1" fill="#75A743" />
+<rect x="10" y="2" width="1" height="1" fill="#75A743" />
+<rect x="11" y="2" width="1" height="1" fill="#75A743" />
+<rect x="12" y="2" width="1" height="1" fill="#75A743" />
+<rect x="13" y="2" width="1" height="1" fill="#75A743" />
+<rect x="14" y="2" width="1" height="1" fill="#75A743" />
+<rect x="15" y="2" width="1" height="1" fill="#75A743" />
+<rect x="16" y="2" width="1" height="1" fill="#75A743" />
+<rect x="17" y="2" width="1" height="1" fill="#75A743" />
+<rect x="18" y="2" width="1" height="1" fill="#75A743" />
+<rect x="19" y="2" width="1" height="1" fill="#75A743" />
+<rect x="20" y="2" width="1" height="1" fill="#75A743" />
+<rect x="21" y="2" width="1" height="1" fill="#75A743" />
+<rect x="22" y="2" width="1" height="1" fill="#468232" />
+<rect x="23" y="2" width="1" height="1" fill="#202E37" />
+<rect x="24" y="2" width="1" height="1" fill="#202E37" />
+<rect x="25" y="2" width="1" height="1" fill="#468232" />
+<rect x="26" y="2" width="1" height="1" fill="#75A743" />
+<rect x="27" y="2" width="1" height="1" fill="#75A743" />
+<rect x="28" y="2" width="1" height="1" fill="#75A743" />
+<rect x="29" y="2" width="1" height="1" fill="#75A743" />
+<rect x="30" y="2" width="1" height="1" fill="#75A743" />
+<rect x="31" y="2" width="1" height="1" fill="#75A743" />
+<rect x="32" y="2" width="1" height="1" fill="#75A743" />
+<rect x="33" y="2" width="1" height="1" fill="#75A743" />
+<rect x="34" y="2" width="1" height="1" fill="#75A743" />
+<rect x="35" y="2" width="1" height="1" fill="#75A743" />
+<rect x="36" y="2" width="1" height="1" fill="#75A743" />
+<rect x="37" y="2" width="1" height="1" fill="#589235" />
+<rect x="38" y="2" width="1" height="1" fill="#589235" />
+<rect x="39" y="2" width="1" height="1" fill="#589235" />
+<rect x="40" y="2" width="1" height="1" fill="#589235" />
+<rect x="41" y="2" width="1" height="1" fill="#75A743" />
+<rect x="42" y="2" width="1" height="1" fill="#589235" />
+<rect x="43" y="2" width="1" height="1" fill="#589235" />
+<rect x="44" y="2" width="1" height="1" fill="#589235" />
+<rect x="45" y="2" width="1" height="1" fill="#589235" />
+<rect x="46" y="2" width="1" height="1" fill="#589235" />
+<rect x="47" y="2" width="1" height="1" fill="#589235" />
+<rect x="0" y="3" width="1" height="1" fill="#589235" />
+<rect x="1" y="3" width="1" height="1" fill="#589235" />
+<rect x="2" y="3" width="1" height="1" fill="#589235" />
+<rect x="3" y="3" width="1" height="1" fill="#589235" />
+<rect x="4" y="3" width="1" height="1" fill="#589235" />
+<rect x="5" y="3" width="1" height="1" fill="#589235" />
+<rect x="6" y="3" width="1" height="1" fill="#589235" />
+<rect x="7" y="3" width="1" height="1" fill="#75A743" />
+<rect x="8" y="3" width="1" height="1" fill="#75A743" />
+<rect x="9" y="3" width="1" height="1" fill="#75A743" />
+<rect x="10" y="3" width="1" height="1" fill="#75A743" />
+<rect x="11" y="3" width="1" height="1" fill="#75A743" />
+<rect x="12" y="3" width="1" height="1" fill="#75A743" />
+<rect x="13" y="3" width="1" height="1" fill="#75A743" />
+<rect x="14" y="3" width="1" height="1" fill="#75A743" />
+<rect x="15" y="3" width="1" height="1" fill="#75A743" />
+<rect x="16" y="3" width="1" height="1" fill="#75A743" />
+<rect x="17" y="3" width="1" height="1" fill="#75A743" />
+<rect x="18" y="3" width="1" height="1" fill="#75A743" />
+<rect x="19" y="3" width="1" height="1" fill="#75A743" />
+<rect x="20" y="3" width="1" height="1" fill="#75A743" />
+<rect x="21" y="3" width="1" height="1" fill="#75A743" />
+<rect x="22" y="3" width="1" height="1" fill="#468232" />
+<rect x="23" y="3" width="1" height="1" fill="#202E37" />
+<rect x="24" y="3" width="1" height="1" fill="#202E37" />
+<rect x="25" y="3" width="1" height="1" fill="#468232" />
+<rect x="26" y="3" width="1" height="1" fill="#75A743" />
+<rect x="27" y="3" width="1" height="1" fill="#75A743" />
+<rect x="28" y="3" width="1" height="1" fill="#75A743" />
+<rect x="29" y="3" width="1" height="1" fill="#75A743" />
+<rect x="30" y="3" width="1" height="1" fill="#75A743" />
+<rect x="31" y="3" width="1" height="1" fill="#75A743" />
+<rect x="32" y="3" width="1" height="1" fill="#75A743" />
+<rect x="33" y="3" width="1" height="1" fill="#75A743" />
+<rect x="34" y="3" width="1" height="1" fill="#75A743" />
+<rect x="35" y="3" width="1" height="1" fill="#589235" />
+<rect x="36" y="3" width="1" height="1" fill="#589235" />
+<rect x="37" y="3" width="1" height="1" fill="#589235" />
+<rect x="38" y="3" width="1" height="1" fill="#589235" />
+<rect x="39" y="3" width="1" height="1" fill="#589235" />
+<rect x="40" y="3" width="1" height="1" fill="#589235" />
+<rect x="41" y="3" width="1" height="1" fill="#589235" />
+<rect x="42" y="3" width="1" height="1" fill="#589235" />
+<rect x="43" y="3" width="1" height="1" fill="#589235" />
+<rect x="44" y="3" width="1" height="1" fill="#589235" />
+<rect x="45" y="3" width="1" height="1" fill="#589235" />
+<rect x="46" y="3" width="1" height="1" fill="#589235" />
+<rect x="47" y="3" width="1" height="1" fill="#589235" />
+<rect x="0" y="4" width="1" height="1" fill="#589235" />
+<rect x="1" y="4" width="1" height="1" fill="#589235" />
+<rect x="2" y="4" width="1" height="1" fill="#75A743" />
+<rect x="3" y="4" width="1" height="1" fill="#75A743" />
+<rect x="4" y="4" width="1" height="1" fill="#589235" />
+<rect x="5" y="4" width="1" height="1" fill="#589235" />
+<rect x="6" y="4" width="1" height="1" fill="#589235" />
+<rect x="7" y="4" width="1" height="1" fill="#75A743" />
+<rect x="8" y="4" width="1" height="1" fill="#75A743" />
+<rect x="9" y="4" width="1" height="1" fill="#75A743" />
+<rect x="10" y="4" width="1" height="1" fill="#75A743" />
+<rect x="11" y="4" width="1" height="1" fill="#75A743" />
+<rect x="12" y="4" width="1" height="1" fill="#75A743" />
+<rect x="13" y="4" width="1" height="1" fill="#75A743" />
+<rect x="14" y="4" width="1" height="1" fill="#75A743" />
+<rect x="15" y="4" width="1" height="1" fill="#75A743" />
+<rect x="16" y="4" width="1" height="1" fill="#75A743" />
+<rect x="17" y="4" width="1" height="1" fill="#75A743" />
+<rect x="18" y="4" width="1" height="1" fill="#75A743" />
+<rect x="19" y="4" width="1" height="1" fill="#75A743" />
+<rect x="20" y="4" width="1" height="1" fill="#75A743" />
+<rect x="21" y="4" width="1" height="1" fill="#75A743" />
+<rect x="22" y="4" width="1" height="1" fill="#468232" />
+<rect x="23" y="4" width="1" height="1" fill="#202E37" />
+<rect x="24" y="4" width="1" height="1" fill="#202E37" />
+<rect x="25" y="4" width="1" height="1" fill="#468232" />
+<rect x="26" y="4" width="1" height="1" fill="#75A743" />
+<rect x="27" y="4" width="1" height="1" fill="#75A743" />
+<rect x="28" y="4" width="1" height="1" fill="#75A743" />
+<rect x="29" y="4" width="1" height="1" fill="#75A743" />
+<rect x="30" y="4" width="1" height="1" fill="#75A743" />
+<rect x="31" y="4" width="1" height="1" fill="#75A743" />
+<rect x="32" y="4" width="1" height="1" fill="#75A743" />
+<rect x="33" y="4" width="1" height="1" fill="#75A743" />
+<rect x="34" y="4" width="1" height="1" fill="#75A743" />
+<rect x="35" y="4" width="1" height="1" fill="#75A743" />
+<rect x="36" y="4" width="1" height="1" fill="#589235" />
+<rect x="37" y="4" width="1" height="1" fill="#589235" />
+<rect x="38" y="4" width="1" height="1" fill="#589235" />
+<rect x="39" y="4" width="1" height="1" fill="#589235" />
+<rect x="40" y="4" width="1" height="1" fill="#589235" />
+<rect x="41" y="4" width="1" height="1" fill="#589235" />
+<rect x="42" y="4" width="1" height="1" fill="#589235" />
+<rect x="43" y="4" width="1" height="1" fill="#589235" />
+<rect x="44" y="4" width="1" height="1" fill="#589235" />
+<rect x="45" y="4" width="1" height="1" fill="#589235" />
+<rect x="46" y="4" width="1" height="1" fill="#589235" />
+<rect x="47" y="4" width="1" height="1" fill="#589235" />
+<rect x="0" y="5" width="1" height="1" fill="#589235" />
+<rect x="1" y="5" width="1" height="1" fill="#589235" />
+<rect x="2" y="5" width="1" height="1" fill="#589235" />
+<rect x="3" y="5" width="1" height="1" fill="#75A743" />
+<rect x="4" y="5" width="1" height="1" fill="#75A743" />
+<rect x="5" y="5" width="1" height="1" fill="#75A743" />
+<rect x="6" y="5" width="1" height="1" fill="#589235" />
+<rect x="7" y="5" width="1" height="1" fill="#75A743" />
+<rect x="8" y="5" width="1" height="1" fill="#75A743" />
+<rect x="9" y="5" width="1" height="1" fill="#75A743" />
+<rect x="10" y="5" width="1" height="1" fill="#75A743" />
+<rect x="11" y="5" width="1" height="1" fill="#75A743" />
+<rect x="12" y="5" width="1" height="1" fill="#75A743" />
+<rect x="13" y="5" width="1" height="1" fill="#75A743" />
+<rect x="14" y="5" width="1" height="1" fill="#75A743" />
+<rect x="15" y="5" width="1" height="1" fill="#75A743" />
+<rect x="16" y="5" width="1" height="1" fill="#75A743" />
+<rect x="17" y="5" width="1" height="1" fill="#75A743" />
+<rect x="18" y="5" width="1" height="1" fill="#75A743" />
+<rect x="19" y="5" width="1" height="1" fill="#75A743" />
+<rect x="20" y="5" width="1" height="1" fill="#75A743" />
+<rect x="21" y="5" width="1" height="1" fill="#75A743" />
+<rect x="22" y="5" width="1" height="1" fill="#468232" />
+<rect x="23" y="5" width="1" height="1" fill="#202E37" />
+<rect x="24" y="5" width="1" height="1" fill="#202E37" />
+<rect x="25" y="5" width="1" height="1" fill="#468232" />
+<rect x="26" y="5" width="1" height="1" fill="#75A743" />
+<rect x="27" y="5" width="1" height="1" fill="#75A743" />
+<rect x="28" y="5" width="1" height="1" fill="#75A743" />
+<rect x="29" y="5" width="1" height="1" fill="#75A743" />
+<rect x="30" y="5" width="1" height="1" fill="#75A743" />
+<rect x="31" y="5" width="1" height="1" fill="#75A743" />
+<rect x="32" y="5" width="1" height="1" fill="#75A743" />
+<rect x="33" y="5" width="1" height="1" fill="#75A743" />
+<rect x="34" y="5" width="1" height="1" fill="#75A743" />
+<rect x="35" y="5" width="1" height="1" fill="#75A743" />
+<rect x="36" y="5" width="1" height="1" fill="#75A743" />
+<rect x="37" y="5" width="1" height="1" fill="#75A743" />
+<rect x="38" y="5" width="1" height="1" fill="#589235" />
+<rect x="39" y="5" width="1" height="1" fill="#589235" />
+<rect x="40" y="5" width="1" height="1" fill="#589235" />
+<rect x="41" y="5" width="1" height="1" fill="#589235" />
+<rect x="42" y="5" width="1" height="1" fill="#75A743" />
+<rect x="43" y="5" width="1" height="1" fill="#589235" />
+<rect x="44" y="5" width="1" height="1" fill="#589235" />
+<rect x="45" y="5" width="1" height="1" fill="#589235" />
+<rect x="46" y="5" width="1" height="1" fill="#589235" />
+<rect x="47" y="5" width="1" height="1" fill="#589235" />
+<rect x="0" y="6" width="1" height="1" fill="#589235" />
+<rect x="1" y="6" width="1" height="1" fill="#589235" />
+<rect x="2" y="6" width="1" height="1" fill="#589235" />
+<rect x="3" y="6" width="1" height="1" fill="#589235" />
+<rect x="4" y="6" width="1" height="1" fill="#75A743" />
+<rect x="5" y="6" width="1" height="1" fill="#75A743" />
+<rect x="6" y="6" width="1" height="1" fill="#75A743" />
+<rect x="7" y="6" width="1" height="1" fill="#75A743" />
+<rect x="8" y="6" width="1" height="1" fill="#75A743" />
+<rect x="9" y="6" width="1" height="1" fill="#75A743" />
+<rect x="10" y="6" width="1" height="1" fill="#75A743" />
+<rect x="11" y="6" width="1" height="1" fill="#75A743" />
+<rect x="12" y="6" width="1" height="1" fill="#75A743" />
+<rect x="13" y="6" width="1" height="1" fill="#75A743" />
+<rect x="14" y="6" width="1" height="1" fill="#75A743" />
+<rect x="15" y="6" width="1" height="1" fill="#75A743" />
+<rect x="16" y="6" width="1" height="1" fill="#75A743" />
+<rect x="17" y="6" width="1" height="1" fill="#75A743" />
+<rect x="18" y="6" width="1" height="1" fill="#75A743" />
+<rect x="19" y="6" width="1" height="1" fill="#75A743" />
+<rect x="20" y="6" width="1" height="1" fill="#75A743" />
+<rect x="21" y="6" width="1" height="1" fill="#75A743" />
+<rect x="22" y="6" width="1" height="1" fill="#468232" />
+<rect x="23" y="6" width="1" height="1" fill="#202E37" />
+<rect x="24" y="6" width="1" height="1" fill="#202E37" />
+<rect x="25" y="6" width="1" height="1" fill="#468232" />
+<rect x="26" y="6" width="1" height="1" fill="#75A743" />
+<rect x="27" y="6" width="1" height="1" fill="#75A743" />
+<rect x="28" y="6" width="1" height="1" fill="#75A743" />
+<rect x="29" y="6" width="1" height="1" fill="#75A743" />
+<rect x="30" y="6" width="1" height="1" fill="#75A743" />
+<rect x="31" y="6" width="1" height="1" fill="#75A743" />
+<rect x="32" y="6" width="1" height="1" fill="#75A743" />
+<rect x="33" y="6" width="1" height="1" fill="#75A743" />
+<rect x="34" y="6" width="1" height="1" fill="#75A743" />
+<rect x="35" y="6" width="1" height="1" fill="#75A743" />
+<rect x="36" y="6" width="1" height="1" fill="#75A743" />
+<rect x="37" y="6" width="1" height="1" fill="#75A743" />
+<rect x="38" y="6" width="1" height="1" fill="#75A743" />
+<rect x="39" y="6" width="1" height="1" fill="#589235" />
+<rect x="40" y="6" width="1" height="1" fill="#589235" />
+<rect x="41" y="6" width="1" height="1" fill="#589235" />
+<rect x="42" y="6" width="1" height="1" fill="#75A743" />
+<rect x="43" y="6" width="1" height="1" fill="#75A743" />
+<rect x="44" y="6" width="1" height="1" fill="#589235" />
+<rect x="45" y="6" width="1" height="1" fill="#589235" />
+<rect x="46" y="6" width="1" height="1" fill="#589235" />
+<rect x="47" y="6" width="1" height="1" fill="#589235" />
+<rect x="0" y="7" width="1" height="1" fill="#589235" />
+<rect x="1" y="7" width="1" height="1" fill="#589235" />
+<rect x="2" y="7" width="1" height="1" fill="#589235" />
+<rect x="3" y="7" width="1" height="1" fill="#589235" />
+<rect x="4" y="7" width="1" height="1" fill="#589235" />
+<rect x="5" y="7" width="1" height="1" fill="#589235" />
+<rect x="6" y="7" width="1" height="1" fill="#75A743" />
+<rect x="7" y="7" width="1" height="1" fill="#75A743" />
+<rect x="8" y="7" width="1" height="1" fill="#75A743" />
+<rect x="9" y="7" width="1" height="1" fill="#75A743" />
+<rect x="10" y="7" width="1" height="1" fill="#75A743" />
+<rect x="11" y="7" width="1" height="1" fill="#75A743" />
+<rect x="12" y="7" width="1" height="1" fill="#75A743" />
+<rect x="13" y="7" width="1" height="1" fill="#75A743" />
+<rect x="14" y="7" width="1" height="1" fill="#75A743" />
+<rect x="15" y="7" width="1" height="1" fill="#75A743" />
+<rect x="16" y="7" width="1" height="1" fill="#75A743" />
+<rect x="17" y="7" width="1" height="1" fill="#75A743" />
+<rect x="18" y="7" width="1" height="1" fill="#75A743" />
+<rect x="19" y="7" width="1" height="1" fill="#75A743" />
+<rect x="20" y="7" width="1" height="1" fill="#75A743" />
+<rect x="21" y="7" width="1" height="1" fill="#75A743" />
+<rect x="22" y="7" width="1" height="1" fill="#468232" />
+<rect x="23" y="7" width="1" height="1" fill="#202E37" />
+<rect x="24" y="7" width="1" height="1" fill="#202E37" />
+<rect x="25" y="7" width="1" height="1" fill="#468232" />
+<rect x="26" y="7" width="1" height="1" fill="#75A743" />
+<rect x="27" y="7" width="1" height="1" fill="#75A743" />
+<rect x="28" y="7" width="1" height="1" fill="#75A743" />
+<rect x="29" y="7" width="1" height="1" fill="#75A743" />
+<rect x="30" y="7" width="1" height="1" fill="#75A743" />
+<rect x="31" y="7" width="1" height="1" fill="#75A743" />
+<rect x="32" y="7" width="1" height="1" fill="#75A743" />
+<rect x="33" y="7" width="1" height="1" fill="#75A743" />
+<rect x="34" y="7" width="1" height="1" fill="#75A743" />
+<rect x="35" y="7" width="1" height="1" fill="#75A743" />
+<rect x="36" y="7" width="1" height="1" fill="#75A743" />
+<rect x="37" y="7" width="1" height="1" fill="#75A743" />
+<rect x="38" y="7" width="1" height="1" fill="#75A743" />
+<rect x="39" y="7" width="1" height="1" fill="#589235" />
+<rect x="40" y="7" width="1" height="1" fill="#589235" />
+<rect x="41" y="7" width="1" height="1" fill="#75A743" />
+<rect x="42" y="7" width="1" height="1" fill="#75A743" />
+<rect x="43" y="7" width="1" height="1" fill="#75A743" />
+<rect x="44" y="7" width="1" height="1" fill="#589235" />
+<rect x="45" y="7" width="1" height="1" fill="#589235" />
+<rect x="46" y="7" width="1" height="1" fill="#589235" />
+<rect x="47" y="7" width="1" height="1" fill="#589235" />
+<rect x="0" y="8" width="1" height="1" fill="#589235" />
+<rect x="1" y="8" width="1" height="1" fill="#589235" />
+<rect x="2" y="8" width="1" height="1" fill="#75A743" />
+<rect x="3" y="8" width="1" height="1" fill="#75A743" />
+<rect x="4" y="8" width="1" height="1" fill="#75A743" />
+<rect x="5" y="8" width="1" height="1" fill="#589235" />
+<rect x="6" y="8" width="1" height="1" fill="#589235" />
+<rect x="7" y="8" width="1" height="1" fill="#75A743" />
+<rect x="8" y="8" width="1" height="1" fill="#75A743" />
+<rect x="9" y="8" width="1" height="1" fill="#75A743" />
+<rect x="10" y="8" width="1" height="1" fill="#75A743" />
+<rect x="11" y="8" width="1" height="1" fill="#75A743" />
+<rect x="12" y="8" width="1" height="1" fill="#75A743" />
+<rect x="13" y="8" width="1" height="1" fill="#75A743" />
+<rect x="14" y="8" width="1" height="1" fill="#75A743" />
+<rect x="15" y="8" width="1" height="1" fill="#75A743" />
+<rect x="16" y="8" width="1" height="1" fill="#75A743" />
+<rect x="17" y="8" width="1" height="1" fill="#75A743" />
+<rect x="18" y="8" width="1" height="1" fill="#75A743" />
+<rect x="19" y="8" width="1" height="1" fill="#75A743" />
+<rect x="20" y="8" width="1" height="1" fill="#75A743" />
+<rect x="21" y="8" width="1" height="1" fill="#75A743" />
+<rect x="22" y="8" width="1" height="1" fill="#468232" />
+<rect x="23" y="8" width="1" height="1" fill="#468232" />
+<rect x="24" y="8" width="1" height="1" fill="#468232" />
+<rect x="25" y="8" width="1" height="1" fill="#468232" />
+<rect x="26" y="8" width="1" height="1" fill="#75A743" />
+<rect x="27" y="8" width="1" height="1" fill="#75A743" />
+<rect x="28" y="8" width="1" height="1" fill="#75A743" />
+<rect x="29" y="8" width="1" height="1" fill="#75A743" />
+<rect x="30" y="8" width="1" height="1" fill="#75A743" />
+<rect x="31" y="8" width="1" height="1" fill="#75A743" />
+<rect x="32" y="8" width="1" height="1" fill="#75A743" />
+<rect x="33" y="8" width="1" height="1" fill="#75A743" />
+<rect x="34" y="8" width="1" height="1" fill="#75A743" />
+<rect x="35" y="8" width="1" height="1" fill="#75A743" />
+<rect x="36" y="8" width="1" height="1" fill="#75A743" />
+<rect x="37" y="8" width="1" height="1" fill="#75A743" />
+<rect x="38" y="8" width="1" height="1" fill="#75A743" />
+<rect x="39" y="8" width="1" height="1" fill="#589235" />
+<rect x="40" y="8" width="1" height="1" fill="#589235" />
+<rect x="41" y="8" width="1" height="1" fill="#75A743" />
+<rect x="42" y="8" width="1" height="1" fill="#75A743" />
+<rect x="43" y="8" width="1" height="1" fill="#75A743" />
+<rect x="44" y="8" width="1" height="1" fill="#75A743" />
+<rect x="45" y="8" width="1" height="1" fill="#589235" />
+<rect x="46" y="8" width="1" height="1" fill="#589235" />
+<rect x="47" y="8" width="1" height="1" fill="#589235" />
+<rect x="0" y="9" width="1" height="1" fill="#589235" />
+<rect x="1" y="9" width="1" height="1" fill="#589235" />
+<rect x="2" y="9" width="1" height="1" fill="#75A743" />
+<rect x="3" y="9" width="1" height="1" fill="#75A743" />
+<rect x="4" y="9" width="1" height="1" fill="#75A743" />
+<rect x="5" y="9" width="1" height="1" fill="#75A743" />
+<rect x="6" y="9" width="1" height="1" fill="#75A743" />
+<rect x="7" y="9" width="1" height="1" fill="#75A743" />
+<rect x="8" y="9" width="1" height="1" fill="#75A743" />
+<rect x="9" y="9" width="1" height="1" fill="#75A743" />
+<rect x="10" y="9" width="1" height="1" fill="#75A743" />
+<rect x="11" y="9" width="1" height="1" fill="#75A743" />
+<rect x="12" y="9" width="1" height="1" fill="#75A743" />
+<rect x="13" y="9" width="1" height="1" fill="#75A743" />
+<rect x="14" y="9" width="1" height="1" fill="#75A743" />
+<rect x="15" y="9" width="1" height="1" fill="#75A743" />
+<rect x="16" y="9" width="1" height="1" fill="#75A743" />
+<rect x="17" y="9" width="1" height="1" fill="#75A743" />
+<rect x="18" y="9" width="1" height="1" fill="#75A743" />
+<rect x="19" y="9" width="1" height="1" fill="#75A743" />
+<rect x="20" y="9" width="1" height="1" fill="#75A743" />
+<rect x="21" y="9" width="1" height="1" fill="#468232" />
+<rect x="22" y="9" width="1" height="1" fill="#468232" />
+<rect x="23" y="9" width="1" height="1" fill="#468232" />
+<rect x="24" y="9" width="1" height="1" fill="#468232" />
+<rect x="25" y="9" width="1" height="1" fill="#468232" />
+<rect x="26" y="9" width="1" height="1" fill="#468232" />
+<rect x="27" y="9" width="1" height="1" fill="#75A743" />
+<rect x="28" y="9" width="1" height="1" fill="#75A743" />
+<rect x="29" y="9" width="1" height="1" fill="#75A743" />
+<rect x="30" y="9" width="1" height="1" fill="#75A743" />
+<rect x="31" y="9" width="1" height="1" fill="#75A743" />
+<rect x="32" y="9" width="1" height="1" fill="#75A743" />
+<rect x="33" y="9" width="1" height="1" fill="#75A743" />
+<rect x="34" y="9" width="1" height="1" fill="#75A743" />
+<rect x="35" y="9" width="1" height="1" fill="#75A743" />
+<rect x="36" y="9" width="1" height="1" fill="#75A743" />
+<rect x="37" y="9" width="1" height="1" fill="#75A743" />
+<rect x="38" y="9" width="1" height="1" fill="#75A743" />
+<rect x="39" y="9" width="1" height="1" fill="#589235" />
+<rect x="40" y="9" width="1" height="1" fill="#589235" />
+<rect x="41" y="9" width="1" height="1" fill="#75A743" />
+<rect x="42" y="9" width="1" height="1" fill="#75A743" />
+<rect x="43" y="9" width="1" height="1" fill="#75A743" />
+<rect x="44" y="9" width="1" height="1" fill="#75A743" />
+<rect x="45" y="9" width="1" height="1" fill="#589235" />
+<rect x="46" y="9" width="1" height="1" fill="#589235" />
+<rect x="47" y="9" width="1" height="1" fill="#589235" />
+<rect x="0" y="10" width="1" height="1" fill="#589235" />
+<rect x="1" y="10" width="1" height="1" fill="#589235" />
+<rect x="2" y="10" width="1" height="1" fill="#75A743" />
+<rect x="3" y="10" width="1" height="1" fill="#75A743" />
+<rect x="4" y="10" width="1" height="1" fill="#75A743" />
+<rect x="5" y="10" width="1" height="1" fill="#75A743" />
+<rect x="6" y="10" width="1" height="1" fill="#75A743" />
+<rect x="7" y="10" width="1" height="1" fill="#75A743" />
+<rect x="8" y="10" width="1" height="1" fill="#75A743" />
+<rect x="9" y="10" width="1" height="1" fill="#75A743" />
+<rect x="10" y="10" width="1" height="1" fill="#75A743" />
+<rect x="11" y="10" width="1" height="1" fill="#75A743" />
+<rect x="12" y="10" width="1" height="1" fill="#75A743" />
+<rect x="13" y="10" width="1" height="1" fill="#75A743" />
+<rect x="14" y="10" width="1" height="1" fill="#75A743" />
+<rect x="15" y="10" width="1" height="1" fill="#75A743" />
+<rect x="16" y="10" width="1" height="1" fill="#75A743" />
+<rect x="17" y="10" width="1" height="1" fill="#75A743" />
+<rect x="18" y="10" width="1" height="1" fill="#75A743" />
+<rect x="19" y="10" width="1" height="1" fill="#75A743" />
+<rect x="20" y="10" width="1" height="1" fill="#468232" />
+<rect x="21" y="10" width="1" height="1" fill="#468232" />
+<rect x="22" y="10" width="1" height="1" fill="#468232" />
+<rect x="23" y="10" width="1" height="1" fill="#25562E" />
+<rect x="24" y="10" width="1" height="1" fill="#25562E" />
+<rect x="25" y="10" width="1" height="1" fill="#468232" />
+<rect x="26" y="10" width="1" height="1" fill="#468232" />
+<rect x="27" y="10" width="1" height="1" fill="#468232" />
+<rect x="28" y="10" width="1" height="1" fill="#75A743" />
+<rect x="29" y="10" width="1" height="1" fill="#75A743" />
+<rect x="30" y="10" width="1" height="1" fill="#75A743" />
+<rect x="31" y="10" width="1" height="1" fill="#75A743" />
+<rect x="32" y="10" width="1" height="1" fill="#75A743" />
+<rect x="33" y="10" width="1" height="1" fill="#75A743" />
+<rect x="34" y="10" width="1" height="1" fill="#75A743" />
+<rect x="35" y="10" width="1" height="1" fill="#75A743" />
+<rect x="36" y="10" width="1" height="1" fill="#75A743" />
+<rect x="37" y="10" width="1" height="1" fill="#75A743" />
+<rect x="38" y="10" width="1" height="1" fill="#75A743" />
+<rect x="39" y="10" width="1" height="1" fill="#75A743" />
+<rect x="40" y="10" width="1" height="1" fill="#589235" />
+<rect x="41" y="10" width="1" height="1" fill="#75A743" />
+<rect x="42" y="10" width="1" height="1" fill="#75A743" />
+<rect x="43" y="10" width="1" height="1" fill="#75A743" />
+<rect x="44" y="10" width="1" height="1" fill="#75A743" />
+<rect x="45" y="10" width="1" height="1" fill="#75A743" />
+<rect x="46" y="10" width="1" height="1" fill="#589235" />
+<rect x="47" y="10" width="1" height="1" fill="#589235" />
+<rect x="0" y="11" width="1" height="1" fill="#356427" />
+<rect x="1" y="11" width="1" height="1" fill="#356427" />
+<rect x="2" y="11" width="1" height="1" fill="#468232" />
+<rect x="3" y="11" width="1" height="1" fill="#468232" />
+<rect x="4" y="11" width="1" height="1" fill="#468232" />
+<rect x="5" y="11" width="1" height="1" fill="#468232" />
+<rect x="6" y="11" width="1" height="1" fill="#468232" />
+<rect x="7" y="11" width="1" height="1" fill="#468232" />
+<rect x="8" y="11" width="1" height="1" fill="#468232" />
+<rect x="9" y="11" width="1" height="1" fill="#468232" />
+<rect x="10" y="11" width="1" height="1" fill="#468232" />
+<rect x="11" y="11" width="1" height="1" fill="#468232" />
+<rect x="12" y="11" width="1" height="1" fill="#468232" />
+<rect x="13" y="11" width="1" height="1" fill="#468232" />
+<rect x="14" y="11" width="1" height="1" fill="#468232" />
+<rect x="15" y="11" width="1" height="1" fill="#468232" />
+<rect x="16" y="11" width="1" height="1" fill="#468232" />
+<rect x="17" y="11" width="1" height="1" fill="#468232" />
+<rect x="18" y="11" width="1" height="1" fill="#468232" />
+<rect x="19" y="11" width="1" height="1" fill="#468232" />
+<rect x="20" y="11" width="1" height="1" fill="#202E37" />
+<rect x="21" y="11" width="1" height="1" fill="#202E37" />
+<rect x="22" y="11" width="1" height="1" fill="#25562E" />
+<rect x="23" y="11" width="1" height="1" fill="#25562E" />
+<rect x="24" y="11" width="1" height="1" fill="#25562E" />
+<rect x="25" y="11" width="1" height="1" fill="#25562E" />
+<rect x="26" y="11" width="1" height="1" fill="#202E37" />
+<rect x="27" y="11" width="1" height="1" fill="#202E37" />
+<rect x="28" y="11" width="1" height="1" fill="#468232" />
+<rect x="29" y="11" width="1" height="1" fill="#468232" />
+<rect x="30" y="11" width="1" height="1" fill="#468232" />
+<rect x="31" y="11" width="1" height="1" fill="#468232" />
+<rect x="32" y="11" width="1" height="1" fill="#468232" />
+<rect x="33" y="11" width="1" height="1" fill="#468232" />
+<rect x="34" y="11" width="1" height="1" fill="#468232" />
+<rect x="35" y="11" width="1" height="1" fill="#468232" />
+<rect x="36" y="11" width="1" height="1" fill="#468232" />
+<rect x="37" y="11" width="1" height="1" fill="#468232" />
+<rect x="38" y="11" width="1" height="1" fill="#468232" />
+<rect x="39" y="11" width="1" height="1" fill="#468232" />
+<rect x="40" y="11" width="1" height="1" fill="#356427" />
+<rect x="41" y="11" width="1" height="1" fill="#468232" />
+<rect x="42" y="11" width="1" height="1" fill="#468232" />
+<rect x="43" y="11" width="1" height="1" fill="#468232" />
+<rect x="44" y="11" width="1" height="1" fill="#468232" />
+<rect x="45" y="11" width="1" height="1" fill="#468232" />
+<rect x="46" y="11" width="1" height="1" fill="#356427" />
+<rect x="47" y="11" width="1" height="1" fill="#356427" />
+<rect x="0" y="12" width="1" height="1" fill="#356427" />
+<rect x="1" y="12" width="1" height="1" fill="#468232" />
+<rect x="2" y="12" width="1" height="1" fill="#468232" />
+<rect x="3" y="12" width="1" height="1" fill="#468232" />
+<rect x="4" y="12" width="1" height="1" fill="#468232" />
+<rect x="5" y="12" width="1" height="1" fill="#468232" />
+<rect x="6" y="12" width="1" height="1" fill="#468232" />
+<rect x="7" y="12" width="1" height="1" fill="#468232" />
+<rect x="8" y="12" width="1" height="1" fill="#468232" />
+<rect x="9" y="12" width="1" height="1" fill="#468232" />
+<rect x="10" y="12" width="1" height="1" fill="#468232" />
+<rect x="11" y="12" width="1" height="1" fill="#468232" />
+<rect x="12" y="12" width="1" height="1" fill="#468232" />
+<rect x="13" y="12" width="1" height="1" fill="#468232" />
+<rect x="14" y="12" width="1" height="1" fill="#468232" />
+<rect x="15" y="12" width="1" height="1" fill="#468232" />
+<rect x="16" y="12" width="1" height="1" fill="#468232" />
+<rect x="17" y="12" width="1" height="1" fill="#468232" />
+<rect x="18" y="12" width="1" height="1" fill="#468232" />
+<rect x="19" y="12" width="1" height="1" fill="#468232" />
+<rect x="20" y="12" width="1" height="1" fill="#468232" />
+<rect x="21" y="12" width="1" height="1" fill="#468232" />
+<rect x="22" y="12" width="1" height="1" fill="#25562E" />
+<rect x="23" y="12" width="1" height="1" fill="#202E37" />
+<rect x="24" y="12" width="1" height="1" fill="#202E37" />
+<rect x="25" y="12" width="1" height="1" fill="#25562E" />
+<rect x="26" y="12" width="1" height="1" fill="#468232" />
+<rect x="27" y="12" width="1" height="1" fill="#468232" />
+<rect x="28" y="12" width="1" height="1" fill="#468232" />
+<rect x="29" y="12" width="1" height="1" fill="#468232" />
+<rect x="30" y="12" width="1" height="1" fill="#468232" />
+<rect x="31" y="12" width="1" height="1" fill="#468232" />
+<rect x="32" y="12" width="1" height="1" fill="#468232" />
+<rect x="33" y="12" width="1" height="1" fill="#468232" />
+<rect x="34" y="12" width="1" height="1" fill="#468232" />
+<rect x="35" y="12" width="1" height="1" fill="#468232" />
+<rect x="36" y="12" width="1" height="1" fill="#468232" />
+<rect x="37" y="12" width="1" height="1" fill="#468232" />
+<rect x="38" y="12" width="1" height="1" fill="#468232" />
+<rect x="39" y="12" width="1" height="1" fill="#468232" />
+<rect x="40" y="12" width="1" height="1" fill="#468232" />
+<rect x="41" y="12" width="1" height="1" fill="#468232" />
+<rect x="42" y="12" width="1" height="1" fill="#468232" />
+<rect x="43" y="12" width="1" height="1" fill="#468232" />
+<rect x="44" y="12" width="1" height="1" fill="#468232" />
+<rect x="45" y="12" width="1" height="1" fill="#468232" />
+<rect x="46" y="12" width="1" height="1" fill="#356427" />
+<rect x="47" y="12" width="1" height="1" fill="#356427" />
+<rect x="0" y="13" width="1" height="1" fill="#356427" />
+<rect x="1" y="13" width="1" height="1" fill="#468232" />
+<rect x="2" y="13" width="1" height="1" fill="#468232" />
+<rect x="3" y="13" width="1" height="1" fill="#468232" />
+<rect x="4" y="13" width="1" height="1" fill="#468232" />
+<rect x="5" y="13" width="1" height="1" fill="#468232" />
+<rect x="6" y="13" width="1" height="1" fill="#468232" />
+<rect x="7" y="13" width="1" height="1" fill="#468232" />
+<rect x="8" y="13" width="1" height="1" fill="#468232" />
+<rect x="9" y="13" width="1" height="1" fill="#468232" />
+<rect x="10" y="13" width="1" height="1" fill="#468232" />
+<rect x="11" y="13" width="1" height="1" fill="#468232" />
+<rect x="12" y="13" width="1" height="1" fill="#468232" />
+<rect x="13" y="13" width="1" height="1" fill="#468232" />
+<rect x="14" y="13" width="1" height="1" fill="#468232" />
+<rect x="15" y="13" width="1" height="1" fill="#468232" />
+<rect x="16" y="13" width="1" height="1" fill="#468232" />
+<rect x="17" y="13" width="1" height="1" fill="#468232" />
+<rect x="18" y="13" width="1" height="1" fill="#202E37" />
+<rect x="19" y="13" width="1" height="1" fill="#202E37" />
+<rect x="20" y="13" width="1" height="1" fill="#468232" />
+<rect x="21" y="13" width="1" height="1" fill="#25562E" />
+<rect x="22" y="13" width="1" height="1" fill="#25562E" />
+<rect x="23" y="13" width="1" height="1" fill="#202E37" />
+<rect x="24" y="13" width="1" height="1" fill="#202E37" />
+<rect x="25" y="13" width="1" height="1" fill="#25562E" />
+<rect x="26" y="13" width="1" height="1" fill="#25562E" />
+<rect x="27" y="13" width="1" height="1" fill="#468232" />
+<rect x="28" y="13" width="1" height="1" fill="#202E37" />
+<rect x="29" y="13" width="1" height="1" fill="#202E37" />
+<rect x="30" y="13" width="1" height="1" fill="#468232" />
+<rect x="31" y="13" width="1" height="1" fill="#468232" />
+<rect x="32" y="13" width="1" height="1" fill="#468232" />
+<rect x="33" y="13" width="1" height="1" fill="#468232" />
+<rect x="34" y="13" width="1" height="1" fill="#468232" />
+<rect x="35" y="13" width="1" height="1" fill="#468232" />
+<rect x="36" y="13" width="1" height="1" fill="#468232" />
+<rect x="37" y="13" width="1" height="1" fill="#468232" />
+<rect x="38" y="13" width="1" height="1" fill="#468232" />
+<rect x="39" y="13" width="1" height="1" fill="#468232" />
+<rect x="40" y="13" width="1" height="1" fill="#468232" />
+<rect x="41" y="13" width="1" height="1" fill="#468232" />
+<rect x="42" y="13" width="1" height="1" fill="#468232" />
+<rect x="43" y="13" width="1" height="1" fill="#468232" />
+<rect x="44" y="13" width="1" height="1" fill="#468232" />
+<rect x="45" y="13" width="1" height="1" fill="#468232" />
+<rect x="46" y="13" width="1" height="1" fill="#356427" />
+<rect x="47" y="13" width="1" height="1" fill="#356427" />
+<rect x="0" y="14" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="14" width="1" height="1" fill="#25562E" />
+<rect x="2" y="14" width="1" height="1" fill="#25562E" />
+<rect x="3" y="14" width="1" height="1" fill="#25562E" />
+<rect x="4" y="14" width="1" height="1" fill="#25562E" />
+<rect x="5" y="14" width="1" height="1" fill="#25562E" />
+<rect x="6" y="14" width="1" height="1" fill="#25562E" />
+<rect x="7" y="14" width="1" height="1" fill="#25562E" />
+<rect x="8" y="14" width="1" height="1" fill="#25562E" />
+<rect x="9" y="14" width="1" height="1" fill="#25562E" />
+<rect x="10" y="14" width="1" height="1" fill="#25562E" />
+<rect x="11" y="14" width="1" height="1" fill="#25562E" />
+<rect x="12" y="14" width="1" height="1" fill="#25562E" />
+<rect x="13" y="14" width="1" height="1" fill="#25562E" />
+<rect x="14" y="14" width="1" height="1" fill="#25562E" />
+<rect x="15" y="14" width="1" height="1" fill="#25562E" />
+<rect x="16" y="14" width="1" height="1" fill="#25562E" />
+<rect x="17" y="14" width="1" height="1" fill="#25562E" />
+<rect x="18" y="14" width="1" height="1" fill="#25562E" />
+<rect x="19" y="14" width="1" height="1" fill="#25562E" />
+<rect x="20" y="14" width="1" height="1" fill="#25562E" />
+<rect x="21" y="14" width="1" height="1" fill="#25562E" />
+<rect x="22" y="14" width="1" height="1" fill="#25562E" />
+<rect x="23" y="14" width="1" height="1" fill="#202E37" />
+<rect x="24" y="14" width="1" height="1" fill="#202E37" />
+<rect x="25" y="14" width="1" height="1" fill="#25562E" />
+<rect x="26" y="14" width="1" height="1" fill="#25562E" />
+<rect x="27" y="14" width="1" height="1" fill="#25562E" />
+<rect x="28" y="14" width="1" height="1" fill="#25562E" />
+<rect x="29" y="14" width="1" height="1" fill="#25562E" />
+<rect x="30" y="14" width="1" height="1" fill="#25562E" />
+<rect x="31" y="14" width="1" height="1" fill="#25562E" />
+<rect x="32" y="14" width="1" height="1" fill="#25562E" />
+<rect x="33" y="14" width="1" height="1" fill="#25562E" />
+<rect x="34" y="14" width="1" height="1" fill="#25562E" />
+<rect x="35" y="14" width="1" height="1" fill="#25562E" />
+<rect x="36" y="14" width="1" height="1" fill="#25562E" />
+<rect x="37" y="14" width="1" height="1" fill="#25562E" />
+<rect x="38" y="14" width="1" height="1" fill="#25562E" />
+<rect x="39" y="14" width="1" height="1" fill="#25562E" />
+<rect x="40" y="14" width="1" height="1" fill="#25562E" />
+<rect x="41" y="14" width="1" height="1" fill="#25562E" />
+<rect x="42" y="14" width="1" height="1" fill="#25562E" />
+<rect x="43" y="14" width="1" height="1" fill="#25562E" />
+<rect x="44" y="14" width="1" height="1" fill="#25562E" />
+<rect x="45" y="14" width="1" height="1" fill="#25562E" />
+<rect x="46" y="14" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="14" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="15" width="1" height="1" fill="#18232B" />
+<rect x="1" y="15" width="1" height="1" fill="#202E37" />
+<rect x="2" y="15" width="1" height="1" fill="#202E37" />
+<rect x="3" y="15" width="1" height="1" fill="#202E37" />
+<rect x="4" y="15" width="1" height="1" fill="#202E37" />
+<rect x="5" y="15" width="1" height="1" fill="#202E37" />
+<rect x="6" y="15" width="1" height="1" fill="#202E37" />
+<rect x="7" y="15" width="1" height="1" fill="#202E37" />
+<rect x="8" y="15" width="1" height="1" fill="#202E37" />
+<rect x="9" y="15" width="1" height="1" fill="#202E37" />
+<rect x="10" y="15" width="1" height="1" fill="#202E37" />
+<rect x="11" y="15" width="1" height="1" fill="#202E37" />
+<rect x="12" y="15" width="1" height="1" fill="#202E37" />
+<rect x="13" y="15" width="1" height="1" fill="#202E37" />
+<rect x="14" y="15" width="1" height="1" fill="#202E37" />
+<rect x="15" y="15" width="1" height="1" fill="#202E37" />
+<rect x="16" y="15" width="1" height="1" fill="#202E37" />
+<rect x="17" y="15" width="1" height="1" fill="#25562E" />
+<rect x="18" y="15" width="1" height="1" fill="#25562E" />
+<rect x="19" y="15" width="1" height="1" fill="#25562E" />
+<rect x="20" y="15" width="1" height="1" fill="#202E37" />
+<rect x="21" y="15" width="1" height="1" fill="#202E37" />
+<rect x="22" y="15" width="1" height="1" fill="#202E37" />
+<rect x="23" y="15" width="1" height="1" fill="#202E37" />
+<rect x="24" y="15" width="1" height="1" fill="#202E37" />
+<rect x="25" y="15" width="1" height="1" fill="#202E37" />
+<rect x="26" y="15" width="1" height="1" fill="#202E37" />
+<rect x="27" y="15" width="1" height="1" fill="#202E37" />
+<rect x="28" y="15" width="1" height="1" fill="#25562E" />
+<rect x="29" y="15" width="1" height="1" fill="#25562E" />
+<rect x="30" y="15" width="1" height="1" fill="#25562E" />
+<rect x="31" y="15" width="1" height="1" fill="#202E37" />
+<rect x="32" y="15" width="1" height="1" fill="#202E37" />
+<rect x="33" y="15" width="1" height="1" fill="#202E37" />
+<rect x="34" y="15" width="1" height="1" fill="#202E37" />
+<rect x="35" y="15" width="1" height="1" fill="#202E37" />
+<rect x="36" y="15" width="1" height="1" fill="#202E37" />
+<rect x="37" y="15" width="1" height="1" fill="#202E37" />
+<rect x="38" y="15" width="1" height="1" fill="#202E37" />
+<rect x="39" y="15" width="1" height="1" fill="#202E37" />
+<rect x="40" y="15" width="1" height="1" fill="#202E37" />
+<rect x="41" y="15" width="1" height="1" fill="#202E37" />
+<rect x="42" y="15" width="1" height="1" fill="#202E37" />
+<rect x="43" y="15" width="1" height="1" fill="#202E37" />
+<rect x="44" y="15" width="1" height="1" fill="#202E37" />
+<rect x="45" y="15" width="1" height="1" fill="#202E37" />
+<rect x="46" y="15" width="1" height="1" fill="#18232B" />
+<rect x="47" y="15" width="1" height="1" fill="#18232B" />
+<rect x="0" y="16" width="1" height="1" fill="#18232B" />
+<rect x="1" y="16" width="1" height="1" fill="#202E37" />
+<rect x="2" y="16" width="1" height="1" fill="#202E37" />
+<rect x="3" y="16" width="1" height="1" fill="#202E37" />
+<rect x="4" y="16" width="1" height="1" fill="#202E37" />
+<rect x="5" y="16" width="1" height="1" fill="#202E37" />
+<rect x="6" y="16" width="1" height="1" fill="#202E37" />
+<rect x="7" y="16" width="1" height="1" fill="#202E37" />
+<rect x="8" y="16" width="1" height="1" fill="#202E37" />
+<rect x="9" y="16" width="1" height="1" fill="#202E37" />
+<rect x="10" y="16" width="1" height="1" fill="#202E37" />
+<rect x="11" y="16" width="1" height="1" fill="#202E37" />
+<rect x="12" y="16" width="1" height="1" fill="#202E37" />
+<rect x="13" y="16" width="1" height="1" fill="#202E37" />
+<rect x="14" y="16" width="1" height="1" fill="#202E37" />
+<rect x="15" y="16" width="1" height="1" fill="#202E37" />
+<rect x="16" y="16" width="1" height="1" fill="#202E37" />
+<rect x="17" y="16" width="1" height="1" fill="#25562E" />
+<rect x="18" y="16" width="1" height="1" fill="#25562E" />
+<rect x="19" y="16" width="1" height="1" fill="#25562E" />
+<rect x="20" y="16" width="1" height="1" fill="#202E37" />
+<rect x="21" y="16" width="1" height="1" fill="#202E37" />
+<rect x="22" y="16" width="1" height="1" fill="#202E37" />
+<rect x="23" y="16" width="1" height="1" fill="#202E37" />
+<rect x="24" y="16" width="1" height="1" fill="#202E37" />
+<rect x="25" y="16" width="1" height="1" fill="#202E37" />
+<rect x="26" y="16" width="1" height="1" fill="#202E37" />
+<rect x="27" y="16" width="1" height="1" fill="#202E37" />
+<rect x="28" y="16" width="1" height="1" fill="#25562E" />
+<rect x="29" y="16" width="1" height="1" fill="#25562E" />
+<rect x="30" y="16" width="1" height="1" fill="#25562E" />
+<rect x="31" y="16" width="1" height="1" fill="#202E37" />
+<rect x="32" y="16" width="1" height="1" fill="#202E37" />
+<rect x="33" y="16" width="1" height="1" fill="#202E37" />
+<rect x="34" y="16" width="1" height="1" fill="#202E37" />
+<rect x="35" y="16" width="1" height="1" fill="#202E37" />
+<rect x="36" y="16" width="1" height="1" fill="#202E37" />
+<rect x="37" y="16" width="1" height="1" fill="#202E37" />
+<rect x="38" y="16" width="1" height="1" fill="#202E37" />
+<rect x="39" y="16" width="1" height="1" fill="#202E37" />
+<rect x="40" y="16" width="1" height="1" fill="#202E37" />
+<rect x="41" y="16" width="1" height="1" fill="#202E37" />
+<rect x="42" y="16" width="1" height="1" fill="#202E37" />
+<rect x="43" y="16" width="1" height="1" fill="#202E37" />
+<rect x="44" y="16" width="1" height="1" fill="#202E37" />
+<rect x="45" y="16" width="1" height="1" fill="#202E37" />
+<rect x="46" y="16" width="1" height="1" fill="#18232B" />
+<rect x="47" y="16" width="1" height="1" fill="#18232B" />
+<rect x="0" y="17" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="17" width="1" height="1" fill="#25562E" />
+<rect x="2" y="17" width="1" height="1" fill="#25562E" />
+<rect x="3" y="17" width="1" height="1" fill="#25562E" />
+<rect x="4" y="17" width="1" height="1" fill="#25562E" />
+<rect x="5" y="17" width="1" height="1" fill="#25562E" />
+<rect x="6" y="17" width="1" height="1" fill="#25562E" />
+<rect x="7" y="17" width="1" height="1" fill="#25562E" />
+<rect x="8" y="17" width="1" height="1" fill="#25562E" />
+<rect x="9" y="17" width="1" height="1" fill="#25562E" />
+<rect x="10" y="17" width="1" height="1" fill="#25562E" />
+<rect x="11" y="17" width="1" height="1" fill="#25562E" />
+<rect x="12" y="17" width="1" height="1" fill="#25562E" />
+<rect x="13" y="17" width="1" height="1" fill="#25562E" />
+<rect x="14" y="17" width="1" height="1" fill="#25562E" />
+<rect x="15" y="17" width="1" height="1" fill="#25562E" />
+<rect x="16" y="17" width="1" height="1" fill="#25562E" />
+<rect x="17" y="17" width="1" height="1" fill="#25562E" />
+<rect x="18" y="17" width="1" height="1" fill="#25562E" />
+<rect x="19" y="17" width="1" height="1" fill="#25562E" />
+<rect x="20" y="17" width="1" height="1" fill="#25562E" />
+<rect x="21" y="17" width="1" height="1" fill="#25562E" />
+<rect x="22" y="17" width="1" height="1" fill="#25562E" />
+<rect x="23" y="17" width="1" height="1" fill="#202E37" />
+<rect x="24" y="17" width="1" height="1" fill="#202E37" />
+<rect x="25" y="17" width="1" height="1" fill="#25562E" />
+<rect x="26" y="17" width="1" height="1" fill="#25562E" />
+<rect x="27" y="17" width="1" height="1" fill="#25562E" />
+<rect x="28" y="17" width="1" height="1" fill="#25562E" />
+<rect x="29" y="17" width="1" height="1" fill="#25562E" />
+<rect x="30" y="17" width="1" height="1" fill="#25562E" />
+<rect x="31" y="17" width="1" height="1" fill="#25562E" />
+<rect x="32" y="17" width="1" height="1" fill="#25562E" />
+<rect x="33" y="17" width="1" height="1" fill="#25562E" />
+<rect x="34" y="17" width="1" height="1" fill="#25562E" />
+<rect x="35" y="17" width="1" height="1" fill="#25562E" />
+<rect x="36" y="17" width="1" height="1" fill="#25562E" />
+<rect x="37" y="17" width="1" height="1" fill="#25562E" />
+<rect x="38" y="17" width="1" height="1" fill="#25562E" />
+<rect x="39" y="17" width="1" height="1" fill="#25562E" />
+<rect x="40" y="17" width="1" height="1" fill="#25562E" />
+<rect x="41" y="17" width="1" height="1" fill="#25562E" />
+<rect x="42" y="17" width="1" height="1" fill="#25562E" />
+<rect x="43" y="17" width="1" height="1" fill="#25562E" />
+<rect x="44" y="17" width="1" height="1" fill="#25562E" />
+<rect x="45" y="17" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="17" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="17" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="18" width="1" height="1" fill="#356427" />
+<rect x="1" y="18" width="1" height="1" fill="#468232" />
+<rect x="2" y="18" width="1" height="1" fill="#468232" />
+<rect x="3" y="18" width="1" height="1" fill="#468232" />
+<rect x="4" y="18" width="1" height="1" fill="#468232" />
+<rect x="5" y="18" width="1" height="1" fill="#468232" />
+<rect x="6" y="18" width="1" height="1" fill="#468232" />
+<rect x="7" y="18" width="1" height="1" fill="#468232" />
+<rect x="8" y="18" width="1" height="1" fill="#468232" />
+<rect x="9" y="18" width="1" height="1" fill="#468232" />
+<rect x="10" y="18" width="1" height="1" fill="#468232" />
+<rect x="11" y="18" width="1" height="1" fill="#468232" />
+<rect x="12" y="18" width="1" height="1" fill="#468232" />
+<rect x="13" y="18" width="1" height="1" fill="#468232" />
+<rect x="14" y="18" width="1" height="1" fill="#468232" />
+<rect x="15" y="18" width="1" height="1" fill="#468232" />
+<rect x="16" y="18" width="1" height="1" fill="#468232" />
+<rect x="17" y="18" width="1" height="1" fill="#468232" />
+<rect x="18" y="18" width="1" height="1" fill="#202E37" />
+<rect x="19" y="18" width="1" height="1" fill="#202E37" />
+<rect x="20" y="18" width="1" height="1" fill="#468232" />
+<rect x="21" y="18" width="1" height="1" fill="#25562E" />
+<rect x="22" y="18" width="1" height="1" fill="#25562E" />
+<rect x="23" y="18" width="1" height="1" fill="#202E37" />
+<rect x="24" y="18" width="1" height="1" fill="#202E37" />
+<rect x="25" y="18" width="1" height="1" fill="#25562E" />
+<rect x="26" y="18" width="1" height="1" fill="#25562E" />
+<rect x="27" y="18" width="1" height="1" fill="#468232" />
+<rect x="28" y="18" width="1" height="1" fill="#202E37" />
+<rect x="29" y="18" width="1" height="1" fill="#202E37" />
+<rect x="30" y="18" width="1" height="1" fill="#468232" />
+<rect x="31" y="18" width="1" height="1" fill="#468232" />
+<rect x="32" y="18" width="1" height="1" fill="#468232" />
+<rect x="33" y="18" width="1" height="1" fill="#468232" />
+<rect x="34" y="18" width="1" height="1" fill="#468232" />
+<rect x="35" y="18" width="1" height="1" fill="#468232" />
+<rect x="36" y="18" width="1" height="1" fill="#468232" />
+<rect x="37" y="18" width="1" height="1" fill="#468232" />
+<rect x="38" y="18" width="1" height="1" fill="#468232" />
+<rect x="39" y="18" width="1" height="1" fill="#468232" />
+<rect x="40" y="18" width="1" height="1" fill="#468232" />
+<rect x="41" y="18" width="1" height="1" fill="#468232" />
+<rect x="42" y="18" width="1" height="1" fill="#468232" />
+<rect x="43" y="18" width="1" height="1" fill="#468232" />
+<rect x="44" y="18" width="1" height="1" fill="#468232" />
+<rect x="45" y="18" width="1" height="1" fill="#356427" />
+<rect x="46" y="18" width="1" height="1" fill="#356427" />
+<rect x="47" y="18" width="1" height="1" fill="#356427" />
+<rect x="0" y="19" width="1" height="1" fill="#356427" />
+<rect x="1" y="19" width="1" height="1" fill="#468232" />
+<rect x="2" y="19" width="1" height="1" fill="#468232" />
+<rect x="3" y="19" width="1" height="1" fill="#468232" />
+<rect x="4" y="19" width="1" height="1" fill="#468232" />
+<rect x="5" y="19" width="1" height="1" fill="#468232" />
+<rect x="6" y="19" width="1" height="1" fill="#468232" />
+<rect x="7" y="19" width="1" height="1" fill="#468232" />
+<rect x="8" y="19" width="1" height="1" fill="#468232" />
+<rect x="9" y="19" width="1" height="1" fill="#468232" />
+<rect x="10" y="19" width="1" height="1" fill="#468232" />
+<rect x="11" y="19" width="1" height="1" fill="#468232" />
+<rect x="12" y="19" width="1" height="1" fill="#468232" />
+<rect x="13" y="19" width="1" height="1" fill="#468232" />
+<rect x="14" y="19" width="1" height="1" fill="#468232" />
+<rect x="15" y="19" width="1" height="1" fill="#468232" />
+<rect x="16" y="19" width="1" height="1" fill="#468232" />
+<rect x="17" y="19" width="1" height="1" fill="#468232" />
+<rect x="18" y="19" width="1" height="1" fill="#468232" />
+<rect x="19" y="19" width="1" height="1" fill="#468232" />
+<rect x="20" y="19" width="1" height="1" fill="#468232" />
+<rect x="21" y="19" width="1" height="1" fill="#468232" />
+<rect x="22" y="19" width="1" height="1" fill="#25562E" />
+<rect x="23" y="19" width="1" height="1" fill="#202E37" />
+<rect x="24" y="19" width="1" height="1" fill="#202E37" />
+<rect x="25" y="19" width="1" height="1" fill="#25562E" />
+<rect x="26" y="19" width="1" height="1" fill="#468232" />
+<rect x="27" y="19" width="1" height="1" fill="#468232" />
+<rect x="28" y="19" width="1" height="1" fill="#468232" />
+<rect x="29" y="19" width="1" height="1" fill="#468232" />
+<rect x="30" y="19" width="1" height="1" fill="#468232" />
+<rect x="31" y="19" width="1" height="1" fill="#468232" />
+<rect x="32" y="19" width="1" height="1" fill="#468232" />
+<rect x="33" y="19" width="1" height="1" fill="#468232" />
+<rect x="34" y="19" width="1" height="1" fill="#468232" />
+<rect x="35" y="19" width="1" height="1" fill="#468232" />
+<rect x="36" y="19" width="1" height="1" fill="#468232" />
+<rect x="37" y="19" width="1" height="1" fill="#468232" />
+<rect x="38" y="19" width="1" height="1" fill="#468232" />
+<rect x="39" y="19" width="1" height="1" fill="#468232" />
+<rect x="40" y="19" width="1" height="1" fill="#468232" />
+<rect x="41" y="19" width="1" height="1" fill="#468232" />
+<rect x="42" y="19" width="1" height="1" fill="#468232" />
+<rect x="43" y="19" width="1" height="1" fill="#468232" />
+<rect x="44" y="19" width="1" height="1" fill="#468232" />
+<rect x="45" y="19" width="1" height="1" fill="#356427" />
+<rect x="46" y="19" width="1" height="1" fill="#356427" />
+<rect x="47" y="19" width="1" height="1" fill="#356427" />
+<rect x="0" y="20" width="1" height="1" fill="#356427" />
+<rect x="1" y="20" width="1" height="1" fill="#468232" />
+<rect x="2" y="20" width="1" height="1" fill="#468232" />
+<rect x="3" y="20" width="1" height="1" fill="#468232" />
+<rect x="4" y="20" width="1" height="1" fill="#468232" />
+<rect x="5" y="20" width="1" height="1" fill="#468232" />
+<rect x="6" y="20" width="1" height="1" fill="#468232" />
+<rect x="7" y="20" width="1" height="1" fill="#468232" />
+<rect x="8" y="20" width="1" height="1" fill="#468232" />
+<rect x="9" y="20" width="1" height="1" fill="#468232" />
+<rect x="10" y="20" width="1" height="1" fill="#468232" />
+<rect x="11" y="20" width="1" height="1" fill="#468232" />
+<rect x="12" y="20" width="1" height="1" fill="#468232" />
+<rect x="13" y="20" width="1" height="1" fill="#468232" />
+<rect x="14" y="20" width="1" height="1" fill="#468232" />
+<rect x="15" y="20" width="1" height="1" fill="#468232" />
+<rect x="16" y="20" width="1" height="1" fill="#468232" />
+<rect x="17" y="20" width="1" height="1" fill="#468232" />
+<rect x="18" y="20" width="1" height="1" fill="#468232" />
+<rect x="19" y="20" width="1" height="1" fill="#468232" />
+<rect x="20" y="20" width="1" height="1" fill="#202E37" />
+<rect x="21" y="20" width="1" height="1" fill="#202E37" />
+<rect x="22" y="20" width="1" height="1" fill="#25562E" />
+<rect x="23" y="20" width="1" height="1" fill="#25562E" />
+<rect x="24" y="20" width="1" height="1" fill="#25562E" />
+<rect x="25" y="20" width="1" height="1" fill="#25562E" />
+<rect x="26" y="20" width="1" height="1" fill="#202E37" />
+<rect x="27" y="20" width="1" height="1" fill="#202E37" />
+<rect x="28" y="20" width="1" height="1" fill="#468232" />
+<rect x="29" y="20" width="1" height="1" fill="#468232" />
+<rect x="30" y="20" width="1" height="1" fill="#468232" />
+<rect x="31" y="20" width="1" height="1" fill="#468232" />
+<rect x="32" y="20" width="1" height="1" fill="#468232" />
+<rect x="33" y="20" width="1" height="1" fill="#468232" />
+<rect x="34" y="20" width="1" height="1" fill="#468232" />
+<rect x="35" y="20" width="1" height="1" fill="#468232" />
+<rect x="36" y="20" width="1" height="1" fill="#468232" />
+<rect x="37" y="20" width="1" height="1" fill="#468232" />
+<rect x="38" y="20" width="1" height="1" fill="#468232" />
+<rect x="39" y="20" width="1" height="1" fill="#468232" />
+<rect x="40" y="20" width="1" height="1" fill="#468232" />
+<rect x="41" y="20" width="1" height="1" fill="#468232" />
+<rect x="42" y="20" width="1" height="1" fill="#468232" />
+<rect x="43" y="20" width="1" height="1" fill="#468232" />
+<rect x="44" y="20" width="1" height="1" fill="#356427" />
+<rect x="45" y="20" width="1" height="1" fill="#356427" />
+<rect x="46" y="20" width="1" height="1" fill="#356427" />
+<rect x="47" y="20" width="1" height="1" fill="#356427" />
+<rect x="0" y="21" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="21" width="1" height="1" fill="#25562E" />
+<rect x="2" y="21" width="1" height="1" fill="#25562E" />
+<rect x="3" y="21" width="1" height="1" fill="#25562E" />
+<rect x="4" y="21" width="1" height="1" fill="#25562E" />
+<rect x="5" y="21" width="1" height="1" fill="#25562E" />
+<rect x="6" y="21" width="1" height="1" fill="#25562E" />
+<rect x="7" y="21" width="1" height="1" fill="#25562E" />
+<rect x="8" y="21" width="1" height="1" fill="#25562E" />
+<rect x="9" y="21" width="1" height="1" fill="#25562E" />
+<rect x="10" y="21" width="1" height="1" fill="#25562E" />
+<rect x="11" y="21" width="1" height="1" fill="#25562E" />
+<rect x="12" y="21" width="1" height="1" fill="#25562E" />
+<rect x="13" y="21" width="1" height="1" fill="#25562E" />
+<rect x="14" y="21" width="1" height="1" fill="#25562E" />
+<rect x="15" y="21" width="1" height="1" fill="#25562E" />
+<rect x="16" y="21" width="1" height="1" fill="#25562E" />
+<rect x="17" y="21" width="1" height="1" fill="#25562E" />
+<rect x="18" y="21" width="1" height="1" fill="#25562E" />
+<rect x="19" y="21" width="1" height="1" fill="#25562E" />
+<rect x="20" y="21" width="1" height="1" fill="#25562E" />
+<rect x="21" y="21" width="1" height="1" fill="#25562E" />
+<rect x="22" y="21" width="1" height="1" fill="#202E37" />
+<rect x="23" y="21" width="1" height="1" fill="#25562E" />
+<rect x="24" y="21" width="1" height="1" fill="#25562E" />
+<rect x="25" y="21" width="1" height="1" fill="#202E37" />
+<rect x="26" y="21" width="1" height="1" fill="#25562E" />
+<rect x="27" y="21" width="1" height="1" fill="#25562E" />
+<rect x="28" y="21" width="1" height="1" fill="#25562E" />
+<rect x="29" y="21" width="1" height="1" fill="#25562E" />
+<rect x="30" y="21" width="1" height="1" fill="#25562E" />
+<rect x="31" y="21" width="1" height="1" fill="#25562E" />
+<rect x="32" y="21" width="1" height="1" fill="#25562E" />
+<rect x="33" y="21" width="1" height="1" fill="#25562E" />
+<rect x="34" y="21" width="1" height="1" fill="#25562E" />
+<rect x="35" y="21" width="1" height="1" fill="#25562E" />
+<rect x="36" y="21" width="1" height="1" fill="#25562E" />
+<rect x="37" y="21" width="1" height="1" fill="#25562E" />
+<rect x="38" y="21" width="1" height="1" fill="#25562E" />
+<rect x="39" y="21" width="1" height="1" fill="#25562E" />
+<rect x="40" y="21" width="1" height="1" fill="#25562E" />
+<rect x="41" y="21" width="1" height="1" fill="#25562E" />
+<rect x="42" y="21" width="1" height="1" fill="#25562E" />
+<rect x="43" y="21" width="1" height="1" fill="#25562E" />
+<rect x="44" y="21" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="21" width="1" height="1" fill="#25562E" />
+<rect x="46" y="21" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="21" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="22" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="22" width="1" height="1" fill="#25562E" />
+<rect x="2" y="22" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="22" width="1" height="1" fill="#25562E" />
+<rect x="4" y="22" width="1" height="1" fill="#25562E" />
+<rect x="5" y="22" width="1" height="1" fill="#25562E" />
+<rect x="6" y="22" width="1" height="1" fill="#25562E" />
+<rect x="7" y="22" width="1" height="1" fill="#25562E" />
+<rect x="8" y="22" width="1" height="1" fill="#25562E" />
+<rect x="9" y="22" width="1" height="1" fill="#25562E" />
+<rect x="10" y="22" width="1" height="1" fill="#25562E" />
+<rect x="11" y="22" width="1" height="1" fill="#25562E" />
+<rect x="12" y="22" width="1" height="1" fill="#25562E" />
+<rect x="13" y="22" width="1" height="1" fill="#25562E" />
+<rect x="14" y="22" width="1" height="1" fill="#25562E" />
+<rect x="15" y="22" width="1" height="1" fill="#25562E" />
+<rect x="16" y="22" width="1" height="1" fill="#25562E" />
+<rect x="17" y="22" width="1" height="1" fill="#25562E" />
+<rect x="18" y="22" width="1" height="1" fill="#25562E" />
+<rect x="19" y="22" width="1" height="1" fill="#25562E" />
+<rect x="20" y="22" width="1" height="1" fill="#25562E" />
+<rect x="21" y="22" width="1" height="1" fill="#25562E" />
+<rect x="22" y="22" width="1" height="1" fill="#202E37" />
+<rect x="23" y="22" width="1" height="1" fill="#202E37" />
+<rect x="24" y="22" width="1" height="1" fill="#202E37" />
+<rect x="25" y="22" width="1" height="1" fill="#202E37" />
+<rect x="26" y="22" width="1" height="1" fill="#25562E" />
+<rect x="27" y="22" width="1" height="1" fill="#25562E" />
+<rect x="28" y="22" width="1" height="1" fill="#25562E" />
+<rect x="29" y="22" width="1" height="1" fill="#25562E" />
+<rect x="30" y="22" width="1" height="1" fill="#25562E" />
+<rect x="31" y="22" width="1" height="1" fill="#25562E" />
+<rect x="32" y="22" width="1" height="1" fill="#25562E" />
+<rect x="33" y="22" width="1" height="1" fill="#25562E" />
+<rect x="34" y="22" width="1" height="1" fill="#25562E" />
+<rect x="35" y="22" width="1" height="1" fill="#25562E" />
+<rect x="36" y="22" width="1" height="1" fill="#25562E" />
+<rect x="37" y="22" width="1" height="1" fill="#25562E" />
+<rect x="38" y="22" width="1" height="1" fill="#25562E" />
+<rect x="39" y="22" width="1" height="1" fill="#25562E" />
+<rect x="40" y="22" width="1" height="1" fill="#25562E" />
+<rect x="41" y="22" width="1" height="1" fill="#25562E" />
+<rect x="42" y="22" width="1" height="1" fill="#25562E" />
+<rect x="43" y="22" width="1" height="1" fill="#25562E" />
+<rect x="44" y="22" width="1" height="1" fill="#25562E" />
+<rect x="45" y="22" width="1" height="1" fill="#25562E" />
+<rect x="46" y="22" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="22" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="23" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="23" width="1" height="1" fill="#25562E" />
+<rect x="2" y="23" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="23" width="1" height="1" fill="#25562E" />
+<rect x="4" y="23" width="1" height="1" fill="#25562E" />
+<rect x="5" y="23" width="1" height="1" fill="#25562E" />
+<rect x="6" y="23" width="1" height="1" fill="#25562E" />
+<rect x="7" y="23" width="1" height="1" fill="#25562E" />
+<rect x="8" y="23" width="1" height="1" fill="#25562E" />
+<rect x="9" y="23" width="1" height="1" fill="#25562E" />
+<rect x="10" y="23" width="1" height="1" fill="#25562E" />
+<rect x="11" y="23" width="1" height="1" fill="#25562E" />
+<rect x="12" y="23" width="1" height="1" fill="#25562E" />
+<rect x="13" y="23" width="1" height="1" fill="#25562E" />
+<rect x="14" y="23" width="1" height="1" fill="#25562E" />
+<rect x="15" y="23" width="1" height="1" fill="#25562E" />
+<rect x="16" y="23" width="1" height="1" fill="#25562E" />
+<rect x="17" y="23" width="1" height="1" fill="#25562E" />
+<rect x="18" y="23" width="1" height="1" fill="#25562E" />
+<rect x="19" y="23" width="1" height="1" fill="#25562E" />
+<rect x="20" y="23" width="1" height="1" fill="#25562E" />
+<rect x="21" y="23" width="1" height="1" fill="#25562E" />
+<rect x="22" y="23" width="1" height="1" fill="#202E37" />
+<rect x="23" y="23" width="1" height="1" fill="#202E37" />
+<rect x="24" y="23" width="1" height="1" fill="#202E37" />
+<rect x="25" y="23" width="1" height="1" fill="#202E37" />
+<rect x="26" y="23" width="1" height="1" fill="#25562E" />
+<rect x="27" y="23" width="1" height="1" fill="#25562E" />
+<rect x="28" y="23" width="1" height="1" fill="#25562E" />
+<rect x="29" y="23" width="1" height="1" fill="#25562E" />
+<rect x="30" y="23" width="1" height="1" fill="#25562E" />
+<rect x="31" y="23" width="1" height="1" fill="#25562E" />
+<rect x="32" y="23" width="1" height="1" fill="#25562E" />
+<rect x="33" y="23" width="1" height="1" fill="#25562E" />
+<rect x="34" y="23" width="1" height="1" fill="#25562E" />
+<rect x="35" y="23" width="1" height="1" fill="#25562E" />
+<rect x="36" y="23" width="1" height="1" fill="#25562E" />
+<rect x="37" y="23" width="1" height="1" fill="#25562E" />
+<rect x="38" y="23" width="1" height="1" fill="#25562E" />
+<rect x="39" y="23" width="1" height="1" fill="#25562E" />
+<rect x="40" y="23" width="1" height="1" fill="#25562E" />
+<rect x="41" y="23" width="1" height="1" fill="#25562E" />
+<rect x="42" y="23" width="1" height="1" fill="#25562E" />
+<rect x="43" y="23" width="1" height="1" fill="#25562E" />
+<rect x="44" y="23" width="1" height="1" fill="#25562E" />
+<rect x="45" y="23" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="23" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="23" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="24" width="1" height="1" fill="#25562E" />
+<rect x="2" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="24" width="1" height="1" fill="#25562E" />
+<rect x="5" y="24" width="1" height="1" fill="#25562E" />
+<rect x="6" y="24" width="1" height="1" fill="#25562E" />
+<rect x="7" y="24" width="1" height="1" fill="#25562E" />
+<rect x="8" y="24" width="1" height="1" fill="#25562E" />
+<rect x="9" y="24" width="1" height="1" fill="#25562E" />
+<rect x="10" y="24" width="1" height="1" fill="#25562E" />
+<rect x="11" y="24" width="1" height="1" fill="#25562E" />
+<rect x="12" y="24" width="1" height="1" fill="#25562E" />
+<rect x="13" y="24" width="1" height="1" fill="#25562E" />
+<rect x="14" y="24" width="1" height="1" fill="#25562E" />
+<rect x="15" y="24" width="1" height="1" fill="#25562E" />
+<rect x="16" y="24" width="1" height="1" fill="#25562E" />
+<rect x="17" y="24" width="1" height="1" fill="#25562E" />
+<rect x="18" y="24" width="1" height="1" fill="#25562E" />
+<rect x="19" y="24" width="1" height="1" fill="#25562E" />
+<rect x="20" y="24" width="1" height="1" fill="#25562E" />
+<rect x="21" y="24" width="1" height="1" fill="#25562E" />
+<rect x="22" y="24" width="1" height="1" fill="#202E37" />
+<rect x="23" y="24" width="1" height="1" fill="#202E37" />
+<rect x="24" y="24" width="1" height="1" fill="#202E37" />
+<rect x="25" y="24" width="1" height="1" fill="#202E37" />
+<rect x="26" y="24" width="1" height="1" fill="#25562E" />
+<rect x="27" y="24" width="1" height="1" fill="#25562E" />
+<rect x="28" y="24" width="1" height="1" fill="#25562E" />
+<rect x="29" y="24" width="1" height="1" fill="#25562E" />
+<rect x="30" y="24" width="1" height="1" fill="#25562E" />
+<rect x="31" y="24" width="1" height="1" fill="#25562E" />
+<rect x="32" y="24" width="1" height="1" fill="#25562E" />
+<rect x="33" y="24" width="1" height="1" fill="#25562E" />
+<rect x="34" y="24" width="1" height="1" fill="#25562E" />
+<rect x="35" y="24" width="1" height="1" fill="#25562E" />
+<rect x="36" y="24" width="1" height="1" fill="#25562E" />
+<rect x="37" y="24" width="1" height="1" fill="#25562E" />
+<rect x="38" y="24" width="1" height="1" fill="#25562E" />
+<rect x="39" y="24" width="1" height="1" fill="#25562E" />
+<rect x="40" y="24" width="1" height="1" fill="#25562E" />
+<rect x="41" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="24" width="1" height="1" fill="#25562E" />
+<rect x="43" y="24" width="1" height="1" fill="#25562E" />
+<rect x="44" y="24" width="1" height="1" fill="#25562E" />
+<rect x="45" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="25" width="1" height="1" fill="#25562E" />
+<rect x="6" y="25" width="1" height="1" fill="#25562E" />
+<rect x="7" y="25" width="1" height="1" fill="#25562E" />
+<rect x="8" y="25" width="1" height="1" fill="#25562E" />
+<rect x="9" y="25" width="1" height="1" fill="#25562E" />
+<rect x="10" y="25" width="1" height="1" fill="#25562E" />
+<rect x="11" y="25" width="1" height="1" fill="#25562E" />
+<rect x="12" y="25" width="1" height="1" fill="#25562E" />
+<rect x="13" y="25" width="1" height="1" fill="#25562E" />
+<rect x="14" y="25" width="1" height="1" fill="#25562E" />
+<rect x="15" y="25" width="1" height="1" fill="#25562E" />
+<rect x="16" y="25" width="1" height="1" fill="#25562E" />
+<rect x="17" y="25" width="1" height="1" fill="#25562E" />
+<rect x="18" y="25" width="1" height="1" fill="#25562E" />
+<rect x="19" y="25" width="1" height="1" fill="#25562E" />
+<rect x="20" y="25" width="1" height="1" fill="#25562E" />
+<rect x="21" y="25" width="1" height="1" fill="#25562E" />
+<rect x="22" y="25" width="1" height="1" fill="#202E37" />
+<rect x="23" y="25" width="1" height="1" fill="#202E37" />
+<rect x="24" y="25" width="1" height="1" fill="#202E37" />
+<rect x="25" y="25" width="1" height="1" fill="#202E37" />
+<rect x="26" y="25" width="1" height="1" fill="#25562E" />
+<rect x="27" y="25" width="1" height="1" fill="#25562E" />
+<rect x="28" y="25" width="1" height="1" fill="#25562E" />
+<rect x="29" y="25" width="1" height="1" fill="#25562E" />
+<rect x="30" y="25" width="1" height="1" fill="#25562E" />
+<rect x="31" y="25" width="1" height="1" fill="#25562E" />
+<rect x="32" y="25" width="1" height="1" fill="#25562E" />
+<rect x="33" y="25" width="1" height="1" fill="#25562E" />
+<rect x="34" y="25" width="1" height="1" fill="#25562E" />
+<rect x="35" y="25" width="1" height="1" fill="#25562E" />
+<rect x="36" y="25" width="1" height="1" fill="#25562E" />
+<rect x="37" y="25" width="1" height="1" fill="#25562E" />
+<rect x="38" y="25" width="1" height="1" fill="#25562E" />
+<rect x="39" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="25" width="1" height="1" fill="#25562E" />
+<rect x="43" y="25" width="1" height="1" fill="#25562E" />
+<rect x="44" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="26" width="1" height="1" fill="#25562E" />
+<rect x="3" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="26" width="1" height="1" fill="#25562E" />
+<rect x="7" y="26" width="1" height="1" fill="#25562E" />
+<rect x="8" y="26" width="1" height="1" fill="#25562E" />
+<rect x="9" y="26" width="1" height="1" fill="#25562E" />
+<rect x="10" y="26" width="1" height="1" fill="#25562E" />
+<rect x="11" y="26" width="1" height="1" fill="#25562E" />
+<rect x="12" y="26" width="1" height="1" fill="#25562E" />
+<rect x="13" y="26" width="1" height="1" fill="#25562E" />
+<rect x="14" y="26" width="1" height="1" fill="#25562E" />
+<rect x="15" y="26" width="1" height="1" fill="#25562E" />
+<rect x="16" y="26" width="1" height="1" fill="#25562E" />
+<rect x="17" y="26" width="1" height="1" fill="#25562E" />
+<rect x="18" y="26" width="1" height="1" fill="#25562E" />
+<rect x="19" y="26" width="1" height="1" fill="#25562E" />
+<rect x="20" y="26" width="1" height="1" fill="#25562E" />
+<rect x="21" y="26" width="1" height="1" fill="#25562E" />
+<rect x="22" y="26" width="1" height="1" fill="#202E37" />
+<rect x="23" y="26" width="1" height="1" fill="#202E37" />
+<rect x="24" y="26" width="1" height="1" fill="#202E37" />
+<rect x="25" y="26" width="1" height="1" fill="#202E37" />
+<rect x="26" y="26" width="1" height="1" fill="#25562E" />
+<rect x="27" y="26" width="1" height="1" fill="#25562E" />
+<rect x="28" y="26" width="1" height="1" fill="#25562E" />
+<rect x="29" y="26" width="1" height="1" fill="#25562E" />
+<rect x="30" y="26" width="1" height="1" fill="#25562E" />
+<rect x="31" y="26" width="1" height="1" fill="#25562E" />
+<rect x="32" y="26" width="1" height="1" fill="#25562E" />
+<rect x="33" y="26" width="1" height="1" fill="#25562E" />
+<rect x="34" y="26" width="1" height="1" fill="#25562E" />
+<rect x="35" y="26" width="1" height="1" fill="#25562E" />
+<rect x="36" y="26" width="1" height="1" fill="#25562E" />
+<rect x="37" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="26" width="1" height="1" fill="#25562E" />
+<rect x="44" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="27" width="1" height="1" fill="#25562E" />
+<rect x="3" y="27" width="1" height="1" fill="#25562E" />
+<rect x="4" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="8" y="27" width="1" height="1" fill="#25562E" />
+<rect x="9" y="27" width="1" height="1" fill="#25562E" />
+<rect x="10" y="27" width="1" height="1" fill="#25562E" />
+<rect x="11" y="27" width="1" height="1" fill="#25562E" />
+<rect x="12" y="27" width="1" height="1" fill="#25562E" />
+<rect x="13" y="27" width="1" height="1" fill="#25562E" />
+<rect x="14" y="27" width="1" height="1" fill="#25562E" />
+<rect x="15" y="27" width="1" height="1" fill="#25562E" />
+<rect x="16" y="27" width="1" height="1" fill="#25562E" />
+<rect x="17" y="27" width="1" height="1" fill="#25562E" />
+<rect x="18" y="27" width="1" height="1" fill="#25562E" />
+<rect x="19" y="27" width="1" height="1" fill="#25562E" />
+<rect x="20" y="27" width="1" height="1" fill="#25562E" />
+<rect x="21" y="27" width="1" height="1" fill="#25562E" />
+<rect x="22" y="27" width="1" height="1" fill="#202E37" />
+<rect x="23" y="27" width="1" height="1" fill="#202E37" />
+<rect x="24" y="27" width="1" height="1" fill="#202E37" />
+<rect x="25" y="27" width="1" height="1" fill="#202E37" />
+<rect x="26" y="27" width="1" height="1" fill="#25562E" />
+<rect x="27" y="27" width="1" height="1" fill="#25562E" />
+<rect x="28" y="27" width="1" height="1" fill="#25562E" />
+<rect x="29" y="27" width="1" height="1" fill="#25562E" />
+<rect x="30" y="27" width="1" height="1" fill="#25562E" />
+<rect x="31" y="27" width="1" height="1" fill="#25562E" />
+<rect x="32" y="27" width="1" height="1" fill="#25562E" />
+<rect x="33" y="27" width="1" height="1" fill="#25562E" />
+<rect x="34" y="27" width="1" height="1" fill="#25562E" />
+<rect x="35" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="36" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="37" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="27" width="1" height="1" fill="#25562E" />
+<rect x="43" y="27" width="1" height="1" fill="#25562E" />
+<rect x="44" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="27" width="1" height="1" fill="#25562E" />
+<rect x="47" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="28" width="1" height="1" fill="#25562E" />
+<rect x="4" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="8" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="9" y="28" width="1" height="1" fill="#25562E" />
+<rect x="10" y="28" width="1" height="1" fill="#25562E" />
+<rect x="11" y="28" width="1" height="1" fill="#25562E" />
+<rect x="12" y="28" width="1" height="1" fill="#25562E" />
+<rect x="13" y="28" width="1" height="1" fill="#25562E" />
+<rect x="14" y="28" width="1" height="1" fill="#25562E" />
+<rect x="15" y="28" width="1" height="1" fill="#25562E" />
+<rect x="16" y="28" width="1" height="1" fill="#25562E" />
+<rect x="17" y="28" width="1" height="1" fill="#25562E" />
+<rect x="18" y="28" width="1" height="1" fill="#25562E" />
+<rect x="19" y="28" width="1" height="1" fill="#25562E" />
+<rect x="20" y="28" width="1" height="1" fill="#25562E" />
+<rect x="21" y="28" width="1" height="1" fill="#25562E" />
+<rect x="22" y="28" width="1" height="1" fill="#202E37" />
+<rect x="23" y="28" width="1" height="1" fill="#202E37" />
+<rect x="24" y="28" width="1" height="1" fill="#202E37" />
+<rect x="25" y="28" width="1" height="1" fill="#202E37" />
+<rect x="26" y="28" width="1" height="1" fill="#25562E" />
+<rect x="27" y="28" width="1" height="1" fill="#25562E" />
+<rect x="28" y="28" width="1" height="1" fill="#25562E" />
+<rect x="29" y="28" width="1" height="1" fill="#25562E" />
+<rect x="30" y="28" width="1" height="1" fill="#25562E" />
+<rect x="31" y="28" width="1" height="1" fill="#25562E" />
+<rect x="32" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="33" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="34" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="35" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="36" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="37" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="28" width="1" height="1" fill="#25562E" />
+<rect x="39" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="28" width="1" height="1" fill="#25562E" />
+<rect x="42" y="28" width="1" height="1" fill="#25562E" />
+<rect x="43" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="28" width="1" height="1" fill="#25562E" />
+<rect x="46" y="28" width="1" height="1" fill="#25562E" />
+<rect x="47" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="8" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="9" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="10" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="11" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="12" y="29" width="1" height="1" fill="#25562E" />
+<rect x="13" y="29" width="1" height="1" fill="#25562E" />
+<rect x="14" y="29" width="1" height="1" fill="#25562E" />
+<rect x="15" y="29" width="1" height="1" fill="#25562E" />
+<rect x="16" y="29" width="1" height="1" fill="#25562E" />
+<rect x="17" y="29" width="1" height="1" fill="#25562E" />
+<rect x="18" y="29" width="1" height="1" fill="#25562E" />
+<rect x="19" y="29" width="1" height="1" fill="#25562E" />
+<rect x="20" y="29" width="1" height="1" fill="#25562E" />
+<rect x="21" y="29" width="1" height="1" fill="#25562E" />
+<rect x="22" y="29" width="1" height="1" fill="#202E37" />
+<rect x="23" y="29" width="1" height="1" fill="#202E37" />
+<rect x="24" y="29" width="1" height="1" fill="#202E37" />
+<rect x="25" y="29" width="1" height="1" fill="#202E37" />
+<rect x="26" y="29" width="1" height="1" fill="#25562E" />
+<rect x="27" y="29" width="1" height="1" fill="#25562E" />
+<rect x="28" y="29" width="1" height="1" fill="#25562E" />
+<rect x="29" y="29" width="1" height="1" fill="#25562E" />
+<rect x="30" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="31" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="32" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="33" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="34" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="35" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="36" y="29" width="1" height="1" fill="#25562E" />
+<rect x="37" y="29" width="1" height="1" fill="#25562E" />
+<rect x="38" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="29" width="1" height="1" fill="#25562E" />
+<rect x="42" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="29" width="1" height="1" fill="#25562E" />
+<rect x="46" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="8" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="9" y="30" width="1" height="1" fill="#25562E" />
+<rect x="10" y="30" width="1" height="1" fill="#25562E" />
+<rect x="11" y="30" width="1" height="1" fill="#25562E" />
+<rect x="12" y="30" width="1" height="1" fill="#25562E" />
+<rect x="13" y="30" width="1" height="1" fill="#25562E" />
+<rect x="14" y="30" width="1" height="1" fill="#25562E" />
+<rect x="15" y="30" width="1" height="1" fill="#25562E" />
+<rect x="16" y="30" width="1" height="1" fill="#25562E" />
+<rect x="17" y="30" width="1" height="1" fill="#25562E" />
+<rect x="18" y="30" width="1" height="1" fill="#25562E" />
+<rect x="19" y="30" width="1" height="1" fill="#25562E" />
+<rect x="20" y="30" width="1" height="1" fill="#25562E" />
+<rect x="21" y="30" width="1" height="1" fill="#25562E" />
+<rect x="22" y="30" width="1" height="1" fill="#202E37" />
+<rect x="23" y="30" width="1" height="1" fill="#202E37" />
+<rect x="24" y="30" width="1" height="1" fill="#202E37" />
+<rect x="25" y="30" width="1" height="1" fill="#202E37" />
+<rect x="26" y="30" width="1" height="1" fill="#25562E" />
+<rect x="27" y="30" width="1" height="1" fill="#25562E" />
+<rect x="28" y="30" width="1" height="1" fill="#25562E" />
+<rect x="29" y="30" width="1" height="1" fill="#25562E" />
+<rect x="30" y="30" width="1" height="1" fill="#25562E" />
+<rect x="31" y="30" width="1" height="1" fill="#25562E" />
+<rect x="32" y="30" width="1" height="1" fill="#25562E" />
+<rect x="33" y="30" width="1" height="1" fill="#25562E" />
+<rect x="34" y="30" width="1" height="1" fill="#25562E" />
+<rect x="35" y="30" width="1" height="1" fill="#25562E" />
+<rect x="36" y="30" width="1" height="1" fill="#25562E" />
+<rect x="37" y="30" width="1" height="1" fill="#25562E" />
+<rect x="38" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="8" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="9" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="10" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="11" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="12" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="13" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="14" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="15" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="16" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="17" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="18" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="19" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="20" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="21" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="22" y="31" width="1" height="1" fill="#18232B" />
+<rect x="23" y="31" width="1" height="1" fill="#18232B" />
+<rect x="24" y="31" width="1" height="1" fill="#18232B" />
+<rect x="25" y="31" width="1" height="1" fill="#18232B" />
+<rect x="26" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="27" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="28" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="29" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="30" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="31" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="32" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="33" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="34" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="35" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="36" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="37" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="31" width="1" height="1" fill="#1C4124" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Llasuki.svg b/Edikoyo/.obsidian/icons/flags/Llasuki.svg
new file mode 100644
index 0000000..62f5eb9
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Llasuki.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="3" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="4" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="5" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="6" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="7" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="8" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="9" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="10" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="11" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="12" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="13" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="14" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="15" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="16" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="17" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="18" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="19" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="20" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="21" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="22" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="23" y="0" width="1" height="1" fill="#4A3881" />
+<rect x="24" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="25" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="26" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="27" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="28" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="29" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="30" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="31" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="32" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="33" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="34" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="35" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="36" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="37" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="38" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="39" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="40" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="41" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="42" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="43" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="44" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="45" y="0" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="1" width="1" height="1" fill="#4A3881" />
+<rect x="2" y="1" width="1" height="1" fill="#4A3881" />
+<rect x="3" y="1" width="1" height="1" fill="#4A3881" />
+<rect x="4" y="1" width="1" height="1" fill="#4A3881" />
+<rect x="5" y="1" width="1" height="1" fill="#4A3881" />
+<rect x="6" y="1" width="1" height="1" fill="#4A3881" />
+<rect x="7" y="1" width="1" height="1" fill="#4A3881" />
+<rect x="8" y="1" width="1" height="1" fill="#4A3881" />
+<rect x="9" y="1" width="1" height="1" fill="#4A3881" />
+<rect x="10" y="1" width="1" height="1" fill="#624998" />
+<rect x="11" y="1" width="1" height="1" fill="#624998" />
+<rect x="12" y="1" width="1" height="1" fill="#624998" />
+<rect x="13" y="1" width="1" height="1" fill="#624998" />
+<rect x="14" y="1" width="1" height="1" fill="#624998" />
+<rect x="15" y="1" width="1" height="1" fill="#624998" />
+<rect x="16" y="1" width="1" height="1" fill="#624998" />
+<rect x="17" y="1" width="1" height="1" fill="#624998" />
+<rect x="18" y="1" width="1" height="1" fill="#624998" />
+<rect x="19" y="1" width="1" height="1" fill="#624998" />
+<rect x="20" y="1" width="1" height="1" fill="#624998" />
+<rect x="21" y="1" width="1" height="1" fill="#624998" />
+<rect x="22" y="1" width="1" height="1" fill="#624998" />
+<rect x="23" y="1" width="1" height="1" fill="#624998" />
+<rect x="24" y="1" width="1" height="1" fill="#6F61B3" />
+<rect x="25" y="1" width="1" height="1" fill="#6F61B3" />
+<rect x="26" y="1" width="1" height="1" fill="#6F61B3" />
+<rect x="27" y="1" width="1" height="1" fill="#6F61B3" />
+<rect x="28" y="1" width="1" height="1" fill="#6F61B3" />
+<rect x="29" y="1" width="1" height="1" fill="#6F61B3" />
+<rect x="30" y="1" width="1" height="1" fill="#6F61B3" />
+<rect x="31" y="1" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="1" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="34" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="35" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="36" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="37" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="38" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="39" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="40" y="1" width="1" height="1" fill="#6F61B3" />
+<rect x="41" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="42" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="43" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="44" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="45" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="46" y="1" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="2" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="2" width="1" height="1" fill="#4A3881" />
+<rect x="2" y="2" width="1" height="1" fill="#4A3881" />
+<rect x="3" y="2" width="1" height="1" fill="#4A3881" />
+<rect x="4" y="2" width="1" height="1" fill="#4A3881" />
+<rect x="5" y="2" width="1" height="1" fill="#4A3881" />
+<rect x="6" y="2" width="1" height="1" fill="#624998" />
+<rect x="7" y="2" width="1" height="1" fill="#624998" />
+<rect x="8" y="2" width="1" height="1" fill="#624998" />
+<rect x="9" y="2" width="1" height="1" fill="#624998" />
+<rect x="10" y="2" width="1" height="1" fill="#624998" />
+<rect x="11" y="2" width="1" height="1" fill="#624998" />
+<rect x="12" y="2" width="1" height="1" fill="#624998" />
+<rect x="13" y="2" width="1" height="1" fill="#624998" />
+<rect x="14" y="2" width="1" height="1" fill="#624998" />
+<rect x="15" y="2" width="1" height="1" fill="#624998" />
+<rect x="16" y="2" width="1" height="1" fill="#624998" />
+<rect x="17" y="2" width="1" height="1" fill="#624998" />
+<rect x="18" y="2" width="1" height="1" fill="#624998" />
+<rect x="19" y="2" width="1" height="1" fill="#624998" />
+<rect x="20" y="2" width="1" height="1" fill="#624998" />
+<rect x="21" y="2" width="1" height="1" fill="#624998" />
+<rect x="22" y="2" width="1" height="1" fill="#624998" />
+<rect x="23" y="2" width="1" height="1" fill="#624998" />
+<rect x="24" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="25" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="26" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="27" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="28" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="29" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="30" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="31" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="37" y="2" width="1" height="1" fill="#544AA2" />
+<rect x="38" y="2" width="1" height="1" fill="#544AA2" />
+<rect x="39" y="2" width="1" height="1" fill="#544AA2" />
+<rect x="40" y="2" width="1" height="1" fill="#544AA2" />
+<rect x="41" y="2" width="1" height="1" fill="#6F61B3" />
+<rect x="42" y="2" width="1" height="1" fill="#544AA2" />
+<rect x="43" y="2" width="1" height="1" fill="#544AA2" />
+<rect x="44" y="2" width="1" height="1" fill="#544AA2" />
+<rect x="45" y="2" width="1" height="1" fill="#544AA2" />
+<rect x="46" y="2" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="2" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="3" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="3" width="1" height="1" fill="#4A3881" />
+<rect x="2" y="3" width="1" height="1" fill="#4A3881" />
+<rect x="3" y="3" width="1" height="1" fill="#4A3881" />
+<rect x="4" y="3" width="1" height="1" fill="#4A3881" />
+<rect x="5" y="3" width="1" height="1" fill="#4A3881" />
+<rect x="6" y="3" width="1" height="1" fill="#4A3881" />
+<rect x="7" y="3" width="1" height="1" fill="#624998" />
+<rect x="8" y="3" width="1" height="1" fill="#624998" />
+<rect x="9" y="3" width="1" height="1" fill="#624998" />
+<rect x="10" y="3" width="1" height="1" fill="#624998" />
+<rect x="11" y="3" width="1" height="1" fill="#624998" />
+<rect x="12" y="3" width="1" height="1" fill="#624998" />
+<rect x="13" y="3" width="1" height="1" fill="#624998" />
+<rect x="14" y="3" width="1" height="1" fill="#624998" />
+<rect x="15" y="3" width="1" height="1" fill="#624998" />
+<rect x="16" y="3" width="1" height="1" fill="#624998" />
+<rect x="17" y="3" width="1" height="1" fill="#624998" />
+<rect x="18" y="3" width="1" height="1" fill="#624998" />
+<rect x="19" y="3" width="1" height="1" fill="#624998" />
+<rect x="20" y="3" width="1" height="1" fill="#624998" />
+<rect x="21" y="3" width="1" height="1" fill="#624998" />
+<rect x="22" y="3" width="1" height="1" fill="#624998" />
+<rect x="23" y="3" width="1" height="1" fill="#624998" />
+<rect x="24" y="3" width="1" height="1" fill="#6F61B3" />
+<rect x="25" y="3" width="1" height="1" fill="#6F61B3" />
+<rect x="26" y="3" width="1" height="1" fill="#6F61B3" />
+<rect x="27" y="3" width="1" height="1" fill="#6F61B3" />
+<rect x="28" y="3" width="1" height="1" fill="#6F61B3" />
+<rect x="29" y="3" width="1" height="1" fill="#6F61B3" />
+<rect x="30" y="3" width="1" height="1" fill="#6F61B3" />
+<rect x="31" y="3" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="3" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="3" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="3" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="36" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="37" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="38" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="39" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="40" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="41" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="42" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="43" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="44" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="45" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="46" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="3" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="4" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="4" width="1" height="1" fill="#4A3881" />
+<rect x="2" y="4" width="1" height="1" fill="#624998" />
+<rect x="3" y="4" width="1" height="1" fill="#624998" />
+<rect x="4" y="4" width="1" height="1" fill="#4A3881" />
+<rect x="5" y="4" width="1" height="1" fill="#4A3881" />
+<rect x="6" y="4" width="1" height="1" fill="#4A3881" />
+<rect x="7" y="4" width="1" height="1" fill="#624998" />
+<rect x="8" y="4" width="1" height="1" fill="#624998" />
+<rect x="9" y="4" width="1" height="1" fill="#624998" />
+<rect x="10" y="4" width="1" height="1" fill="#624998" />
+<rect x="11" y="4" width="1" height="1" fill="#624998" />
+<rect x="12" y="4" width="1" height="1" fill="#624998" />
+<rect x="13" y="4" width="1" height="1" fill="#624998" />
+<rect x="14" y="4" width="1" height="1" fill="#624998" />
+<rect x="15" y="4" width="1" height="1" fill="#624998" />
+<rect x="16" y="4" width="1" height="1" fill="#624998" />
+<rect x="17" y="4" width="1" height="1" fill="#624998" />
+<rect x="18" y="4" width="1" height="1" fill="#624998" />
+<rect x="19" y="4" width="1" height="1" fill="#624998" />
+<rect x="20" y="4" width="1" height="1" fill="#624998" />
+<rect x="21" y="4" width="1" height="1" fill="#624998" />
+<rect x="22" y="4" width="1" height="1" fill="#624998" />
+<rect x="23" y="4" width="1" height="1" fill="#624998" />
+<rect x="24" y="4" width="1" height="1" fill="#6F61B3" />
+<rect x="25" y="4" width="1" height="1" fill="#6F61B3" />
+<rect x="26" y="4" width="1" height="1" fill="#6F61B3" />
+<rect x="27" y="4" width="1" height="1" fill="#6F61B3" />
+<rect x="28" y="4" width="1" height="1" fill="#6F61B3" />
+<rect x="29" y="4" width="1" height="1" fill="#6F61B3" />
+<rect x="30" y="4" width="1" height="1" fill="#6F61B3" />
+<rect x="31" y="4" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="4" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="4" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="4" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="4" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="4" width="1" height="1" fill="#544AA2" />
+<rect x="37" y="4" width="1" height="1" fill="#544AA2" />
+<rect x="38" y="4" width="1" height="1" fill="#544AA2" />
+<rect x="39" y="4" width="1" height="1" fill="#544AA2" />
+<rect x="40" y="4" width="1" height="1" fill="#544AA2" />
+<rect x="41" y="4" width="1" height="1" fill="#544AA2" />
+<rect x="42" y="4" width="1" height="1" fill="#544AA2" />
+<rect x="43" y="4" width="1" height="1" fill="#544AA2" />
+<rect x="44" y="4" width="1" height="1" fill="#544AA2" />
+<rect x="45" y="4" width="1" height="1" fill="#544AA2" />
+<rect x="46" y="4" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="4" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="5" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="5" width="1" height="1" fill="#4A3881" />
+<rect x="2" y="5" width="1" height="1" fill="#4A3881" />
+<rect x="3" y="5" width="1" height="1" fill="#624998" />
+<rect x="4" y="5" width="1" height="1" fill="#624998" />
+<rect x="5" y="5" width="1" height="1" fill="#624998" />
+<rect x="6" y="5" width="1" height="1" fill="#4A3881" />
+<rect x="7" y="5" width="1" height="1" fill="#624998" />
+<rect x="8" y="5" width="1" height="1" fill="#624998" />
+<rect x="9" y="5" width="1" height="1" fill="#624998" />
+<rect x="10" y="5" width="1" height="1" fill="#624998" />
+<rect x="11" y="5" width="1" height="1" fill="#624998" />
+<rect x="12" y="5" width="1" height="1" fill="#624998" />
+<rect x="13" y="5" width="1" height="1" fill="#624998" />
+<rect x="14" y="5" width="1" height="1" fill="#624998" />
+<rect x="15" y="5" width="1" height="1" fill="#624998" />
+<rect x="16" y="5" width="1" height="1" fill="#624998" />
+<rect x="17" y="5" width="1" height="1" fill="#624998" />
+<rect x="18" y="5" width="1" height="1" fill="#624998" />
+<rect x="19" y="5" width="1" height="1" fill="#624998" />
+<rect x="20" y="5" width="1" height="1" fill="#624998" />
+<rect x="21" y="5" width="1" height="1" fill="#624998" />
+<rect x="22" y="5" width="1" height="1" fill="#624998" />
+<rect x="23" y="5" width="1" height="1" fill="#624998" />
+<rect x="24" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="25" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="26" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="27" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="28" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="29" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="30" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="31" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="37" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="38" y="5" width="1" height="1" fill="#544AA2" />
+<rect x="39" y="5" width="1" height="1" fill="#544AA2" />
+<rect x="40" y="5" width="1" height="1" fill="#544AA2" />
+<rect x="41" y="5" width="1" height="1" fill="#544AA2" />
+<rect x="42" y="5" width="1" height="1" fill="#6F61B3" />
+<rect x="43" y="5" width="1" height="1" fill="#544AA2" />
+<rect x="44" y="5" width="1" height="1" fill="#544AA2" />
+<rect x="45" y="5" width="1" height="1" fill="#544AA2" />
+<rect x="46" y="5" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="5" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="6" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="6" width="1" height="1" fill="#4A3881" />
+<rect x="2" y="6" width="1" height="1" fill="#4A3881" />
+<rect x="3" y="6" width="1" height="1" fill="#4A3881" />
+<rect x="4" y="6" width="1" height="1" fill="#624998" />
+<rect x="5" y="6" width="1" height="1" fill="#624998" />
+<rect x="6" y="6" width="1" height="1" fill="#624998" />
+<rect x="7" y="6" width="1" height="1" fill="#624998" />
+<rect x="8" y="6" width="1" height="1" fill="#624998" />
+<rect x="9" y="6" width="1" height="1" fill="#624998" />
+<rect x="10" y="6" width="1" height="1" fill="#624998" />
+<rect x="11" y="6" width="1" height="1" fill="#624998" />
+<rect x="12" y="6" width="1" height="1" fill="#624998" />
+<rect x="13" y="6" width="1" height="1" fill="#624998" />
+<rect x="14" y="6" width="1" height="1" fill="#624998" />
+<rect x="15" y="6" width="1" height="1" fill="#624998" />
+<rect x="16" y="6" width="1" height="1" fill="#624998" />
+<rect x="17" y="6" width="1" height="1" fill="#624998" />
+<rect x="18" y="6" width="1" height="1" fill="#624998" />
+<rect x="19" y="6" width="1" height="1" fill="#624998" />
+<rect x="20" y="6" width="1" height="1" fill="#624998" />
+<rect x="21" y="6" width="1" height="1" fill="#624998" />
+<rect x="22" y="6" width="1" height="1" fill="#624998" />
+<rect x="23" y="6" width="1" height="1" fill="#624998" />
+<rect x="24" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="25" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="26" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="27" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="28" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="29" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="30" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="31" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="37" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="38" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="39" y="6" width="1" height="1" fill="#544AA2" />
+<rect x="40" y="6" width="1" height="1" fill="#544AA2" />
+<rect x="41" y="6" width="1" height="1" fill="#544AA2" />
+<rect x="42" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="43" y="6" width="1" height="1" fill="#6F61B3" />
+<rect x="44" y="6" width="1" height="1" fill="#544AA2" />
+<rect x="45" y="6" width="1" height="1" fill="#544AA2" />
+<rect x="46" y="6" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="6" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="7" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="7" width="1" height="1" fill="#4A3881" />
+<rect x="2" y="7" width="1" height="1" fill="#4A3881" />
+<rect x="3" y="7" width="1" height="1" fill="#4A3881" />
+<rect x="4" y="7" width="1" height="1" fill="#4A3881" />
+<rect x="5" y="7" width="1" height="1" fill="#4A3881" />
+<rect x="6" y="7" width="1" height="1" fill="#624998" />
+<rect x="7" y="7" width="1" height="1" fill="#624998" />
+<rect x="8" y="7" width="1" height="1" fill="#624998" />
+<rect x="9" y="7" width="1" height="1" fill="#624998" />
+<rect x="10" y="7" width="1" height="1" fill="#624998" />
+<rect x="11" y="7" width="1" height="1" fill="#624998" />
+<rect x="12" y="7" width="1" height="1" fill="#624998" />
+<rect x="13" y="7" width="1" height="1" fill="#624998" />
+<rect x="14" y="7" width="1" height="1" fill="#624998" />
+<rect x="15" y="7" width="1" height="1" fill="#624998" />
+<rect x="16" y="7" width="1" height="1" fill="#624998" />
+<rect x="17" y="7" width="1" height="1" fill="#624998" />
+<rect x="18" y="7" width="1" height="1" fill="#624998" />
+<rect x="19" y="7" width="1" height="1" fill="#624998" />
+<rect x="20" y="7" width="1" height="1" fill="#624998" />
+<rect x="21" y="7" width="1" height="1" fill="#624998" />
+<rect x="22" y="7" width="1" height="1" fill="#624998" />
+<rect x="23" y="7" width="1" height="1" fill="#624998" />
+<rect x="24" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="25" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="26" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="27" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="28" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="30" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="31" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="37" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="38" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="39" y="7" width="1" height="1" fill="#544AA2" />
+<rect x="40" y="7" width="1" height="1" fill="#544AA2" />
+<rect x="41" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="42" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="43" y="7" width="1" height="1" fill="#6F61B3" />
+<rect x="44" y="7" width="1" height="1" fill="#544AA2" />
+<rect x="45" y="7" width="1" height="1" fill="#544AA2" />
+<rect x="46" y="7" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="7" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="8" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="8" width="1" height="1" fill="#4A3881" />
+<rect x="2" y="8" width="1" height="1" fill="#624998" />
+<rect x="3" y="8" width="1" height="1" fill="#624998" />
+<rect x="4" y="8" width="1" height="1" fill="#624998" />
+<rect x="5" y="8" width="1" height="1" fill="#4A3881" />
+<rect x="6" y="8" width="1" height="1" fill="#4A3881" />
+<rect x="7" y="8" width="1" height="1" fill="#624998" />
+<rect x="8" y="8" width="1" height="1" fill="#624998" />
+<rect x="9" y="8" width="1" height="1" fill="#624998" />
+<rect x="10" y="8" width="1" height="1" fill="#624998" />
+<rect x="11" y="8" width="1" height="1" fill="#624998" />
+<rect x="12" y="8" width="1" height="1" fill="#624998" />
+<rect x="13" y="8" width="1" height="1" fill="#624998" />
+<rect x="14" y="8" width="1" height="1" fill="#624998" />
+<rect x="15" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="8" width="1" height="1" fill="#624998" />
+<rect x="17" y="8" width="1" height="1" fill="#624998" />
+<rect x="18" y="8" width="1" height="1" fill="#624998" />
+<rect x="19" y="8" width="1" height="1" fill="#624998" />
+<rect x="20" y="8" width="1" height="1" fill="#624998" />
+<rect x="21" y="8" width="1" height="1" fill="#624998" />
+<rect x="22" y="8" width="1" height="1" fill="#624998" />
+<rect x="23" y="8" width="1" height="1" fill="#624998" />
+<rect x="24" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="25" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="26" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="27" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="28" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="29" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="31" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="37" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="38" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="39" y="8" width="1" height="1" fill="#544AA2" />
+<rect x="40" y="8" width="1" height="1" fill="#544AA2" />
+<rect x="41" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="42" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="43" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="44" y="8" width="1" height="1" fill="#6F61B3" />
+<rect x="45" y="8" width="1" height="1" fill="#544AA2" />
+<rect x="46" y="8" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="8" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="9" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="9" width="1" height="1" fill="#4A3881" />
+<rect x="2" y="9" width="1" height="1" fill="#624998" />
+<rect x="3" y="9" width="1" height="1" fill="#624998" />
+<rect x="4" y="9" width="1" height="1" fill="#624998" />
+<rect x="5" y="9" width="1" height="1" fill="#624998" />
+<rect x="6" y="9" width="1" height="1" fill="#624998" />
+<rect x="7" y="9" width="1" height="1" fill="#624998" />
+<rect x="8" y="9" width="1" height="1" fill="#624998" />
+<rect x="9" y="9" width="1" height="1" fill="#624998" />
+<rect x="10" y="9" width="1" height="1" fill="#624998" />
+<rect x="11" y="9" width="1" height="1" fill="#624998" />
+<rect x="12" y="9" width="1" height="1" fill="#624998" />
+<rect x="13" y="9" width="1" height="1" fill="#624998" />
+<rect x="14" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="9" width="1" height="1" fill="#624998" />
+<rect x="18" y="9" width="1" height="1" fill="#624998" />
+<rect x="19" y="9" width="1" height="1" fill="#624998" />
+<rect x="20" y="9" width="1" height="1" fill="#624998" />
+<rect x="21" y="9" width="1" height="1" fill="#624998" />
+<rect x="22" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="27" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="28" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="29" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="31" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="37" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="38" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="39" y="9" width="1" height="1" fill="#544AA2" />
+<rect x="40" y="9" width="1" height="1" fill="#544AA2" />
+<rect x="41" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="42" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="43" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="44" y="9" width="1" height="1" fill="#6F61B3" />
+<rect x="45" y="9" width="1" height="1" fill="#544AA2" />
+<rect x="46" y="9" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="9" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="10" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="10" width="1" height="1" fill="#4A3881" />
+<rect x="2" y="10" width="1" height="1" fill="#624998" />
+<rect x="3" y="10" width="1" height="1" fill="#624998" />
+<rect x="4" y="10" width="1" height="1" fill="#624998" />
+<rect x="5" y="10" width="1" height="1" fill="#624998" />
+<rect x="6" y="10" width="1" height="1" fill="#624998" />
+<rect x="7" y="10" width="1" height="1" fill="#624998" />
+<rect x="8" y="10" width="1" height="1" fill="#624998" />
+<rect x="9" y="10" width="1" height="1" fill="#624998" />
+<rect x="10" y="10" width="1" height="1" fill="#624998" />
+<rect x="11" y="10" width="1" height="1" fill="#624998" />
+<rect x="12" y="10" width="1" height="1" fill="#624998" />
+<rect x="13" y="10" width="1" height="1" fill="#624998" />
+<rect x="14" y="10" width="1" height="1" fill="#624998" />
+<rect x="15" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="10" width="1" height="1" fill="#624998" />
+<rect x="17" y="10" width="1" height="1" fill="#624998" />
+<rect x="18" y="10" width="1" height="1" fill="#624998" />
+<rect x="19" y="10" width="1" height="1" fill="#624998" />
+<rect x="20" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="10" width="1" height="1" fill="#624998" />
+<rect x="23" y="10" width="1" height="1" fill="#624998" />
+<rect x="24" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="25" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="26" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="29" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="30" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="37" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="38" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="39" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="40" y="10" width="1" height="1" fill="#544AA2" />
+<rect x="41" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="42" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="43" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="44" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="45" y="10" width="1" height="1" fill="#6F61B3" />
+<rect x="46" y="10" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="10" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="11" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="11" width="1" height="1" fill="#4A3881" />
+<rect x="2" y="11" width="1" height="1" fill="#624998" />
+<rect x="3" y="11" width="1" height="1" fill="#624998" />
+<rect x="4" y="11" width="1" height="1" fill="#624998" />
+<rect x="5" y="11" width="1" height="1" fill="#624998" />
+<rect x="6" y="11" width="1" height="1" fill="#624998" />
+<rect x="7" y="11" width="1" height="1" fill="#624998" />
+<rect x="8" y="11" width="1" height="1" fill="#624998" />
+<rect x="9" y="11" width="1" height="1" fill="#624998" />
+<rect x="10" y="11" width="1" height="1" fill="#624998" />
+<rect x="11" y="11" width="1" height="1" fill="#624998" />
+<rect x="12" y="11" width="1" height="1" fill="#624998" />
+<rect x="13" y="11" width="1" height="1" fill="#624998" />
+<rect x="14" y="11" width="1" height="1" fill="#624998" />
+<rect x="15" y="11" width="1" height="1" fill="#624998" />
+<rect x="16" y="11" width="1" height="1" fill="#624998" />
+<rect x="17" y="11" width="1" height="1" fill="#624998" />
+<rect x="18" y="11" width="1" height="1" fill="#624998" />
+<rect x="19" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="11" width="1" height="1" fill="#624998" />
+<rect x="21" y="11" width="1" height="1" fill="#624998" />
+<rect x="22" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="11" width="1" height="1" fill="#624998" />
+<rect x="24" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="27" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="28" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="30" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="37" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="38" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="39" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="40" y="11" width="1" height="1" fill="#544AA2" />
+<rect x="41" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="42" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="43" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="44" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="45" y="11" width="1" height="1" fill="#6F61B3" />
+<rect x="46" y="11" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="11" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="12" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="12" width="1" height="1" fill="#624998" />
+<rect x="17" y="12" width="1" height="1" fill="#624998" />
+<rect x="18" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="12" width="1" height="1" fill="#624998" />
+<rect x="20" y="12" width="1" height="1" fill="#624998" />
+<rect x="21" y="12" width="1" height="1" fill="#624998" />
+<rect x="22" y="12" width="1" height="1" fill="#624998" />
+<rect x="23" y="12" width="1" height="1" fill="#624998" />
+<rect x="24" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="25" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="28" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="29" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="37" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="38" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="39" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="40" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="41" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="42" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="43" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="44" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="45" y="12" width="1" height="1" fill="#6F61B3" />
+<rect x="46" y="12" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="12" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="13" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="13" width="1" height="1" fill="#624998" />
+<rect x="2" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="13" width="1" height="1" fill="#624998" />
+<rect x="4" y="13" width="1" height="1" fill="#624998" />
+<rect x="5" y="13" width="1" height="1" fill="#624998" />
+<rect x="6" y="13" width="1" height="1" fill="#624998" />
+<rect x="7" y="13" width="1" height="1" fill="#624998" />
+<rect x="8" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="13" width="1" height="1" fill="#624998" />
+<rect x="10" y="13" width="1" height="1" fill="#624998" />
+<rect x="11" y="13" width="1" height="1" fill="#624998" />
+<rect x="12" y="13" width="1" height="1" fill="#624998" />
+<rect x="13" y="13" width="1" height="1" fill="#624998" />
+<rect x="14" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="13" width="1" height="1" fill="#624998" />
+<rect x="17" y="13" width="1" height="1" fill="#624998" />
+<rect x="18" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="13" width="1" height="1" fill="#624998" />
+<rect x="20" y="13" width="1" height="1" fill="#624998" />
+<rect x="21" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="37" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="38" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="39" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="40" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="41" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="42" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="43" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="44" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="45" y="13" width="1" height="1" fill="#6F61B3" />
+<rect x="46" y="13" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="13" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="14" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="14" width="1" height="1" fill="#624998" />
+<rect x="3" y="14" width="1" height="1" fill="#624998" />
+<rect x="4" y="14" width="1" height="1" fill="#624998" />
+<rect x="5" y="14" width="1" height="1" fill="#624998" />
+<rect x="6" y="14" width="1" height="1" fill="#624998" />
+<rect x="7" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="14" width="1" height="1" fill="#624998" />
+<rect x="9" y="14" width="1" height="1" fill="#624998" />
+<rect x="10" y="14" width="1" height="1" fill="#624998" />
+<rect x="11" y="14" width="1" height="1" fill="#624998" />
+<rect x="12" y="14" width="1" height="1" fill="#624998" />
+<rect x="13" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="14" width="1" height="1" fill="#624998" />
+<rect x="16" y="14" width="1" height="1" fill="#624998" />
+<rect x="17" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="14" width="1" height="1" fill="#624998" />
+<rect x="19" y="14" width="1" height="1" fill="#624998" />
+<rect x="20" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="30" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="37" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="38" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="39" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="40" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="41" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="42" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="43" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="44" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="45" y="14" width="1" height="1" fill="#6F61B3" />
+<rect x="46" y="14" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="14" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="15" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="15" width="1" height="1" fill="#624998" />
+<rect x="16" y="15" width="1" height="1" fill="#624998" />
+<rect x="17" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="15" width="1" height="1" fill="#624998" />
+<rect x="19" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="30" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="32" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="33" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="34" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="35" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="36" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="37" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="38" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="39" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="40" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="41" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="42" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="43" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="44" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="45" y="15" width="1" height="1" fill="#6F61B3" />
+<rect x="46" y="15" width="1" height="1" fill="#544AA2" />
+<rect x="47" y="15" width="1" height="1" fill="#544AA2" />
+<rect x="0" y="16" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="2" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="3" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="4" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="5" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="6" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="7" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="8" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="9" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="16" width="1" height="1" fill="#6F61B3" />
+<rect x="19" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="16" width="1" height="1" fill="#624998" />
+<rect x="30" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="16" width="1" height="1" fill="#624998" />
+<rect x="32" y="16" width="1" height="1" fill="#624998" />
+<rect x="33" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="16" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="16" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="17" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="2" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="3" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="4" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="5" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="6" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="7" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="8" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="9" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="17" width="1" height="1" fill="#6F61B3" />
+<rect x="19" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="17" width="1" height="1" fill="#624998" />
+<rect x="29" y="17" width="1" height="1" fill="#624998" />
+<rect x="30" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="17" width="1" height="1" fill="#624998" />
+<rect x="32" y="17" width="1" height="1" fill="#624998" />
+<rect x="33" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="17" width="1" height="1" fill="#624998" />
+<rect x="36" y="17" width="1" height="1" fill="#624998" />
+<rect x="37" y="17" width="1" height="1" fill="#624998" />
+<rect x="38" y="17" width="1" height="1" fill="#624998" />
+<rect x="39" y="17" width="1" height="1" fill="#624998" />
+<rect x="40" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="17" width="1" height="1" fill="#624998" />
+<rect x="42" y="17" width="1" height="1" fill="#624998" />
+<rect x="43" y="17" width="1" height="1" fill="#624998" />
+<rect x="44" y="17" width="1" height="1" fill="#624998" />
+<rect x="45" y="17" width="1" height="1" fill="#4A3881" />
+<rect x="46" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="17" width="1" height="1" fill="#4A3881" />
+<rect x="0" y="18" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="2" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="3" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="4" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="5" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="6" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="7" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="8" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="9" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="18" width="1" height="1" fill="#6F61B3" />
+<rect x="20" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="18" width="1" height="1" fill="#624998" />
+<rect x="28" y="18" width="1" height="1" fill="#624998" />
+<rect x="29" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="18" width="1" height="1" fill="#624998" />
+<rect x="31" y="18" width="1" height="1" fill="#624998" />
+<rect x="32" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="18" width="1" height="1" fill="#624998" />
+<rect x="35" y="18" width="1" height="1" fill="#624998" />
+<rect x="36" y="18" width="1" height="1" fill="#624998" />
+<rect x="37" y="18" width="1" height="1" fill="#624998" />
+<rect x="38" y="18" width="1" height="1" fill="#624998" />
+<rect x="39" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="18" width="1" height="1" fill="#624998" />
+<rect x="41" y="18" width="1" height="1" fill="#624998" />
+<rect x="42" y="18" width="1" height="1" fill="#624998" />
+<rect x="43" y="18" width="1" height="1" fill="#624998" />
+<rect x="44" y="18" width="1" height="1" fill="#624998" />
+<rect x="45" y="18" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="18" width="1" height="1" fill="#4A3881" />
+<rect x="47" y="18" width="1" height="1" fill="#4A3881" />
+<rect x="0" y="19" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="2" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="3" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="4" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="5" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="6" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="7" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="8" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="9" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="20" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="21" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="19" width="1" height="1" fill="#6F61B3" />
+<rect x="24" y="19" width="1" height="1" fill="#624998" />
+<rect x="25" y="19" width="1" height="1" fill="#624998" />
+<rect x="26" y="19" width="1" height="1" fill="#624998" />
+<rect x="27" y="19" width="1" height="1" fill="#624998" />
+<rect x="28" y="19" width="1" height="1" fill="#624998" />
+<rect x="29" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="19" width="1" height="1" fill="#624998" />
+<rect x="31" y="19" width="1" height="1" fill="#624998" />
+<rect x="32" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="20" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="2" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="3" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="4" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="5" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="6" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="7" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="8" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="9" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="19" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="21" y="20" width="1" height="1" fill="#6F61B3" />
+<rect x="22" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="20" width="1" height="1" fill="#624998" />
+<rect x="25" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="20" width="1" height="1" fill="#624998" />
+<rect x="27" y="20" width="1" height="1" fill="#624998" />
+<rect x="28" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="20" width="1" height="1" fill="#624998" />
+<rect x="30" y="20" width="1" height="1" fill="#624998" />
+<rect x="31" y="20" width="1" height="1" fill="#624998" />
+<rect x="32" y="20" width="1" height="1" fill="#624998" />
+<rect x="33" y="20" width="1" height="1" fill="#624998" />
+<rect x="34" y="20" width="1" height="1" fill="#624998" />
+<rect x="35" y="20" width="1" height="1" fill="#624998" />
+<rect x="36" y="20" width="1" height="1" fill="#624998" />
+<rect x="37" y="20" width="1" height="1" fill="#624998" />
+<rect x="38" y="20" width="1" height="1" fill="#624998" />
+<rect x="39" y="20" width="1" height="1" fill="#624998" />
+<rect x="40" y="20" width="1" height="1" fill="#624998" />
+<rect x="41" y="20" width="1" height="1" fill="#624998" />
+<rect x="42" y="20" width="1" height="1" fill="#624998" />
+<rect x="43" y="20" width="1" height="1" fill="#624998" />
+<rect x="44" y="20" width="1" height="1" fill="#4A3881" />
+<rect x="45" y="20" width="1" height="1" fill="#4A3881" />
+<rect x="46" y="20" width="1" height="1" fill="#4A3881" />
+<rect x="47" y="20" width="1" height="1" fill="#4A3881" />
+<rect x="0" y="21" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="2" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="3" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="4" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="5" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="6" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="7" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="8" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="9" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="19" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="20" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="23" y="21" width="1" height="1" fill="#6F61B3" />
+<rect x="24" y="21" width="1" height="1" fill="#624998" />
+<rect x="25" y="21" width="1" height="1" fill="#624998" />
+<rect x="26" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="21" width="1" height="1" fill="#624998" />
+<rect x="29" y="21" width="1" height="1" fill="#624998" />
+<rect x="30" y="21" width="1" height="1" fill="#624998" />
+<rect x="31" y="21" width="1" height="1" fill="#624998" />
+<rect x="32" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="21" width="1" height="1" fill="#624998" />
+<rect x="34" y="21" width="1" height="1" fill="#624998" />
+<rect x="35" y="21" width="1" height="1" fill="#624998" />
+<rect x="36" y="21" width="1" height="1" fill="#624998" />
+<rect x="37" y="21" width="1" height="1" fill="#624998" />
+<rect x="38" y="21" width="1" height="1" fill="#624998" />
+<rect x="39" y="21" width="1" height="1" fill="#624998" />
+<rect x="40" y="21" width="1" height="1" fill="#624998" />
+<rect x="41" y="21" width="1" height="1" fill="#624998" />
+<rect x="42" y="21" width="1" height="1" fill="#624998" />
+<rect x="43" y="21" width="1" height="1" fill="#624998" />
+<rect x="44" y="21" width="1" height="1" fill="#4A3881" />
+<rect x="45" y="21" width="1" height="1" fill="#624998" />
+<rect x="46" y="21" width="1" height="1" fill="#4A3881" />
+<rect x="47" y="21" width="1" height="1" fill="#4A3881" />
+<rect x="0" y="22" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="2" y="22" width="1" height="1" fill="#544AA2" />
+<rect x="3" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="4" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="5" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="6" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="7" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="8" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="9" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="18" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="20" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="21" y="22" width="1" height="1" fill="#6F61B3" />
+<rect x="22" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="22" width="1" height="1" fill="#624998" />
+<rect x="27" y="22" width="1" height="1" fill="#624998" />
+<rect x="28" y="22" width="1" height="1" fill="#624998" />
+<rect x="29" y="22" width="1" height="1" fill="#624998" />
+<rect x="30" y="22" width="1" height="1" fill="#624998" />
+<rect x="31" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="22" width="1" height="1" fill="#624998" />
+<rect x="35" y="22" width="1" height="1" fill="#624998" />
+<rect x="36" y="22" width="1" height="1" fill="#624998" />
+<rect x="37" y="22" width="1" height="1" fill="#624998" />
+<rect x="38" y="22" width="1" height="1" fill="#624998" />
+<rect x="39" y="22" width="1" height="1" fill="#624998" />
+<rect x="40" y="22" width="1" height="1" fill="#624998" />
+<rect x="41" y="22" width="1" height="1" fill="#624998" />
+<rect x="42" y="22" width="1" height="1" fill="#624998" />
+<rect x="43" y="22" width="1" height="1" fill="#624998" />
+<rect x="44" y="22" width="1" height="1" fill="#624998" />
+<rect x="45" y="22" width="1" height="1" fill="#624998" />
+<rect x="46" y="22" width="1" height="1" fill="#4A3881" />
+<rect x="47" y="22" width="1" height="1" fill="#4A3881" />
+<rect x="0" y="23" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="2" y="23" width="1" height="1" fill="#544AA2" />
+<rect x="3" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="4" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="5" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="6" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="7" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="8" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="9" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="18" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="20" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="21" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="22" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="23" y="23" width="1" height="1" fill="#6F61B3" />
+<rect x="24" y="23" width="1" height="1" fill="#624998" />
+<rect x="25" y="23" width="1" height="1" fill="#624998" />
+<rect x="26" y="23" width="1" height="1" fill="#624998" />
+<rect x="27" y="23" width="1" height="1" fill="#624998" />
+<rect x="28" y="23" width="1" height="1" fill="#624998" />
+<rect x="29" y="23" width="1" height="1" fill="#624998" />
+<rect x="30" y="23" width="1" height="1" fill="#624998" />
+<rect x="31" y="23" width="1" height="1" fill="#624998" />
+<rect x="32" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="23" width="1" height="1" fill="#624998" />
+<rect x="34" y="23" width="1" height="1" fill="#624998" />
+<rect x="35" y="23" width="1" height="1" fill="#624998" />
+<rect x="36" y="23" width="1" height="1" fill="#624998" />
+<rect x="37" y="23" width="1" height="1" fill="#624998" />
+<rect x="38" y="23" width="1" height="1" fill="#624998" />
+<rect x="39" y="23" width="1" height="1" fill="#624998" />
+<rect x="40" y="23" width="1" height="1" fill="#624998" />
+<rect x="41" y="23" width="1" height="1" fill="#624998" />
+<rect x="42" y="23" width="1" height="1" fill="#624998" />
+<rect x="43" y="23" width="1" height="1" fill="#624998" />
+<rect x="44" y="23" width="1" height="1" fill="#624998" />
+<rect x="45" y="23" width="1" height="1" fill="#4A3881" />
+<rect x="46" y="23" width="1" height="1" fill="#4A3881" />
+<rect x="47" y="23" width="1" height="1" fill="#4A3881" />
+<rect x="0" y="24" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="2" y="24" width="1" height="1" fill="#544AA2" />
+<rect x="3" y="24" width="1" height="1" fill="#544AA2" />
+<rect x="4" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="5" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="6" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="7" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="8" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="9" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="18" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="19" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="21" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="22" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="23" y="24" width="1" height="1" fill="#6F61B3" />
+<rect x="24" y="24" width="1" height="1" fill="#624998" />
+<rect x="25" y="24" width="1" height="1" fill="#624998" />
+<rect x="26" y="24" width="1" height="1" fill="#624998" />
+<rect x="27" y="24" width="1" height="1" fill="#624998" />
+<rect x="28" y="24" width="1" height="1" fill="#624998" />
+<rect x="29" y="24" width="1" height="1" fill="#624998" />
+<rect x="30" y="24" width="1" height="1" fill="#624998" />
+<rect x="31" y="24" width="1" height="1" fill="#624998" />
+<rect x="32" y="24" width="1" height="1" fill="#624998" />
+<rect x="33" y="24" width="1" height="1" fill="#624998" />
+<rect x="34" y="24" width="1" height="1" fill="#624998" />
+<rect x="35" y="24" width="1" height="1" fill="#624998" />
+<rect x="36" y="24" width="1" height="1" fill="#624998" />
+<rect x="37" y="24" width="1" height="1" fill="#624998" />
+<rect x="38" y="24" width="1" height="1" fill="#624998" />
+<rect x="39" y="24" width="1" height="1" fill="#624998" />
+<rect x="40" y="24" width="1" height="1" fill="#624998" />
+<rect x="41" y="24" width="1" height="1" fill="#4A3881" />
+<rect x="42" y="24" width="1" height="1" fill="#624998" />
+<rect x="43" y="24" width="1" height="1" fill="#624998" />
+<rect x="44" y="24" width="1" height="1" fill="#624998" />
+<rect x="45" y="24" width="1" height="1" fill="#4A3881" />
+<rect x="46" y="24" width="1" height="1" fill="#4A3881" />
+<rect x="47" y="24" width="1" height="1" fill="#4A3881" />
+<rect x="0" y="25" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="25" width="1" height="1" fill="#544AA2" />
+<rect x="2" y="25" width="1" height="1" fill="#544AA2" />
+<rect x="3" y="25" width="1" height="1" fill="#544AA2" />
+<rect x="4" y="25" width="1" height="1" fill="#544AA2" />
+<rect x="5" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="6" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="7" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="8" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="9" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="18" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="19" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="20" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="21" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="22" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="23" y="25" width="1" height="1" fill="#6F61B3" />
+<rect x="24" y="25" width="1" height="1" fill="#624998" />
+<rect x="25" y="25" width="1" height="1" fill="#624998" />
+<rect x="26" y="25" width="1" height="1" fill="#624998" />
+<rect x="27" y="25" width="1" height="1" fill="#624998" />
+<rect x="28" y="25" width="1" height="1" fill="#624998" />
+<rect x="29" y="25" width="1" height="1" fill="#624998" />
+<rect x="30" y="25" width="1" height="1" fill="#624998" />
+<rect x="31" y="25" width="1" height="1" fill="#624998" />
+<rect x="32" y="25" width="1" height="1" fill="#624998" />
+<rect x="33" y="25" width="1" height="1" fill="#624998" />
+<rect x="34" y="25" width="1" height="1" fill="#624998" />
+<rect x="35" y="25" width="1" height="1" fill="#624998" />
+<rect x="36" y="25" width="1" height="1" fill="#624998" />
+<rect x="37" y="25" width="1" height="1" fill="#624998" />
+<rect x="38" y="25" width="1" height="1" fill="#624998" />
+<rect x="39" y="25" width="1" height="1" fill="#4A3881" />
+<rect x="40" y="25" width="1" height="1" fill="#4A3881" />
+<rect x="41" y="25" width="1" height="1" fill="#4A3881" />
+<rect x="42" y="25" width="1" height="1" fill="#624998" />
+<rect x="43" y="25" width="1" height="1" fill="#624998" />
+<rect x="44" y="25" width="1" height="1" fill="#4A3881" />
+<rect x="45" y="25" width="1" height="1" fill="#4A3881" />
+<rect x="46" y="25" width="1" height="1" fill="#4A3881" />
+<rect x="47" y="25" width="1" height="1" fill="#4A3881" />
+<rect x="0" y="26" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="26" width="1" height="1" fill="#544AA2" />
+<rect x="2" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="3" y="26" width="1" height="1" fill="#544AA2" />
+<rect x="4" y="26" width="1" height="1" fill="#544AA2" />
+<rect x="5" y="26" width="1" height="1" fill="#544AA2" />
+<rect x="6" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="7" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="8" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="9" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="18" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="19" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="20" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="21" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="22" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="23" y="26" width="1" height="1" fill="#6F61B3" />
+<rect x="24" y="26" width="1" height="1" fill="#624998" />
+<rect x="25" y="26" width="1" height="1" fill="#624998" />
+<rect x="26" y="26" width="1" height="1" fill="#624998" />
+<rect x="27" y="26" width="1" height="1" fill="#624998" />
+<rect x="28" y="26" width="1" height="1" fill="#624998" />
+<rect x="29" y="26" width="1" height="1" fill="#624998" />
+<rect x="30" y="26" width="1" height="1" fill="#624998" />
+<rect x="31" y="26" width="1" height="1" fill="#624998" />
+<rect x="32" y="26" width="1" height="1" fill="#624998" />
+<rect x="33" y="26" width="1" height="1" fill="#624998" />
+<rect x="34" y="26" width="1" height="1" fill="#624998" />
+<rect x="35" y="26" width="1" height="1" fill="#624998" />
+<rect x="36" y="26" width="1" height="1" fill="#624998" />
+<rect x="37" y="26" width="1" height="1" fill="#4A3881" />
+<rect x="38" y="26" width="1" height="1" fill="#4A3881" />
+<rect x="39" y="26" width="1" height="1" fill="#4A3881" />
+<rect x="40" y="26" width="1" height="1" fill="#4A3881" />
+<rect x="41" y="26" width="1" height="1" fill="#4A3881" />
+<rect x="42" y="26" width="1" height="1" fill="#4A3881" />
+<rect x="43" y="26" width="1" height="1" fill="#624998" />
+<rect x="44" y="26" width="1" height="1" fill="#4A3881" />
+<rect x="45" y="26" width="1" height="1" fill="#4A3881" />
+<rect x="46" y="26" width="1" height="1" fill="#4A3881" />
+<rect x="47" y="26" width="1" height="1" fill="#4A3881" />
+<rect x="0" y="27" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="27" width="1" height="1" fill="#544AA2" />
+<rect x="2" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="3" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="4" y="27" width="1" height="1" fill="#544AA2" />
+<rect x="5" y="27" width="1" height="1" fill="#544AA2" />
+<rect x="6" y="27" width="1" height="1" fill="#544AA2" />
+<rect x="7" y="27" width="1" height="1" fill="#544AA2" />
+<rect x="8" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="9" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="18" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="19" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="20" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="21" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="22" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="23" y="27" width="1" height="1" fill="#6F61B3" />
+<rect x="24" y="27" width="1" height="1" fill="#624998" />
+<rect x="25" y="27" width="1" height="1" fill="#624998" />
+<rect x="26" y="27" width="1" height="1" fill="#624998" />
+<rect x="27" y="27" width="1" height="1" fill="#624998" />
+<rect x="28" y="27" width="1" height="1" fill="#624998" />
+<rect x="29" y="27" width="1" height="1" fill="#624998" />
+<rect x="30" y="27" width="1" height="1" fill="#624998" />
+<rect x="31" y="27" width="1" height="1" fill="#624998" />
+<rect x="32" y="27" width="1" height="1" fill="#624998" />
+<rect x="33" y="27" width="1" height="1" fill="#624998" />
+<rect x="34" y="27" width="1" height="1" fill="#624998" />
+<rect x="35" y="27" width="1" height="1" fill="#4A3881" />
+<rect x="36" y="27" width="1" height="1" fill="#4A3881" />
+<rect x="37" y="27" width="1" height="1" fill="#4A3881" />
+<rect x="38" y="27" width="1" height="1" fill="#4A3881" />
+<rect x="39" y="27" width="1" height="1" fill="#4A3881" />
+<rect x="40" y="27" width="1" height="1" fill="#4A3881" />
+<rect x="41" y="27" width="1" height="1" fill="#4A3881" />
+<rect x="42" y="27" width="1" height="1" fill="#624998" />
+<rect x="43" y="27" width="1" height="1" fill="#624998" />
+<rect x="44" y="27" width="1" height="1" fill="#4A3881" />
+<rect x="45" y="27" width="1" height="1" fill="#4A3881" />
+<rect x="46" y="27" width="1" height="1" fill="#624998" />
+<rect x="47" y="27" width="1" height="1" fill="#4A3881" />
+<rect x="0" y="28" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="28" width="1" height="1" fill="#544AA2" />
+<rect x="2" y="28" width="1" height="1" fill="#544AA2" />
+<rect x="3" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="4" y="28" width="1" height="1" fill="#544AA2" />
+<rect x="5" y="28" width="1" height="1" fill="#544AA2" />
+<rect x="6" y="28" width="1" height="1" fill="#544AA2" />
+<rect x="7" y="28" width="1" height="1" fill="#544AA2" />
+<rect x="8" y="28" width="1" height="1" fill="#544AA2" />
+<rect x="9" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="18" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="19" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="20" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="21" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="22" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="23" y="28" width="1" height="1" fill="#6F61B3" />
+<rect x="24" y="28" width="1" height="1" fill="#624998" />
+<rect x="25" y="28" width="1" height="1" fill="#624998" />
+<rect x="26" y="28" width="1" height="1" fill="#624998" />
+<rect x="27" y="28" width="1" height="1" fill="#624998" />
+<rect x="28" y="28" width="1" height="1" fill="#624998" />
+<rect x="29" y="28" width="1" height="1" fill="#624998" />
+<rect x="30" y="28" width="1" height="1" fill="#624998" />
+<rect x="31" y="28" width="1" height="1" fill="#624998" />
+<rect x="32" y="28" width="1" height="1" fill="#4A3881" />
+<rect x="33" y="28" width="1" height="1" fill="#4A3881" />
+<rect x="34" y="28" width="1" height="1" fill="#4A3881" />
+<rect x="35" y="28" width="1" height="1" fill="#4A3881" />
+<rect x="36" y="28" width="1" height="1" fill="#4A3881" />
+<rect x="37" y="28" width="1" height="1" fill="#4A3881" />
+<rect x="38" y="28" width="1" height="1" fill="#624998" />
+<rect x="39" y="28" width="1" height="1" fill="#4A3881" />
+<rect x="40" y="28" width="1" height="1" fill="#4A3881" />
+<rect x="41" y="28" width="1" height="1" fill="#624998" />
+<rect x="42" y="28" width="1" height="1" fill="#624998" />
+<rect x="43" y="28" width="1" height="1" fill="#4A3881" />
+<rect x="44" y="28" width="1" height="1" fill="#4A3881" />
+<rect x="45" y="28" width="1" height="1" fill="#624998" />
+<rect x="46" y="28" width="1" height="1" fill="#624998" />
+<rect x="47" y="28" width="1" height="1" fill="#4A3881" />
+<rect x="0" y="29" width="1" height="1" fill="#544AA2" />
+<rect x="1" y="29" width="1" height="1" fill="#544AA2" />
+<rect x="2" y="29" width="1" height="1" fill="#544AA2" />
+<rect x="3" y="29" width="1" height="1" fill="#544AA2" />
+<rect x="4" y="29" width="1" height="1" fill="#544AA2" />
+<rect x="5" y="29" width="1" height="1" fill="#544AA2" />
+<rect x="6" y="29" width="1" height="1" fill="#544AA2" />
+<rect x="7" y="29" width="1" height="1" fill="#544AA2" />
+<rect x="8" y="29" width="1" height="1" fill="#544AA2" />
+<rect x="9" y="29" width="1" height="1" fill="#544AA2" />
+<rect x="10" y="29" width="1" height="1" fill="#544AA2" />
+<rect x="11" y="29" width="1" height="1" fill="#544AA2" />
+<rect x="12" y="29" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="29" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="29" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="29" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="29" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="29" width="1" height="1" fill="#6F61B3" />
+<rect x="18" y="29" width="1" height="1" fill="#6F61B3" />
+<rect x="19" y="29" width="1" height="1" fill="#6F61B3" />
+<rect x="20" y="29" width="1" height="1" fill="#6F61B3" />
+<rect x="21" y="29" width="1" height="1" fill="#6F61B3" />
+<rect x="22" y="29" width="1" height="1" fill="#6F61B3" />
+<rect x="23" y="29" width="1" height="1" fill="#6F61B3" />
+<rect x="24" y="29" width="1" height="1" fill="#624998" />
+<rect x="25" y="29" width="1" height="1" fill="#624998" />
+<rect x="26" y="29" width="1" height="1" fill="#624998" />
+<rect x="27" y="29" width="1" height="1" fill="#624998" />
+<rect x="28" y="29" width="1" height="1" fill="#624998" />
+<rect x="29" y="29" width="1" height="1" fill="#624998" />
+<rect x="30" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="31" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="32" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="33" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="34" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="35" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="36" y="29" width="1" height="1" fill="#624998" />
+<rect x="37" y="29" width="1" height="1" fill="#624998" />
+<rect x="38" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="39" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="40" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="41" y="29" width="1" height="1" fill="#624998" />
+<rect x="42" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="43" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="44" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="45" y="29" width="1" height="1" fill="#624998" />
+<rect x="46" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="47" y="29" width="1" height="1" fill="#4A3881" />
+<rect x="1" y="30" width="1" height="1" fill="#544AA2" />
+<rect x="2" y="30" width="1" height="1" fill="#544AA2" />
+<rect x="3" y="30" width="1" height="1" fill="#544AA2" />
+<rect x="4" y="30" width="1" height="1" fill="#544AA2" />
+<rect x="5" y="30" width="1" height="1" fill="#544AA2" />
+<rect x="6" y="30" width="1" height="1" fill="#544AA2" />
+<rect x="7" y="30" width="1" height="1" fill="#544AA2" />
+<rect x="8" y="30" width="1" height="1" fill="#544AA2" />
+<rect x="9" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="10" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="11" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="12" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="13" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="14" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="15" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="16" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="17" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="18" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="19" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="20" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="21" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="22" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="23" y="30" width="1" height="1" fill="#6F61B3" />
+<rect x="24" y="30" width="1" height="1" fill="#624998" />
+<rect x="25" y="30" width="1" height="1" fill="#624998" />
+<rect x="26" y="30" width="1" height="1" fill="#624998" />
+<rect x="27" y="30" width="1" height="1" fill="#624998" />
+<rect x="28" y="30" width="1" height="1" fill="#624998" />
+<rect x="29" y="30" width="1" height="1" fill="#624998" />
+<rect x="30" y="30" width="1" height="1" fill="#624998" />
+<rect x="31" y="30" width="1" height="1" fill="#624998" />
+<rect x="32" y="30" width="1" height="1" fill="#624998" />
+<rect x="33" y="30" width="1" height="1" fill="#624998" />
+<rect x="34" y="30" width="1" height="1" fill="#624998" />
+<rect x="35" y="30" width="1" height="1" fill="#624998" />
+<rect x="36" y="30" width="1" height="1" fill="#624998" />
+<rect x="37" y="30" width="1" height="1" fill="#624998" />
+<rect x="38" y="30" width="1" height="1" fill="#4A3881" />
+<rect x="39" y="30" width="1" height="1" fill="#4A3881" />
+<rect x="40" y="30" width="1" height="1" fill="#4A3881" />
+<rect x="41" y="30" width="1" height="1" fill="#4A3881" />
+<rect x="42" y="30" width="1" height="1" fill="#4A3881" />
+<rect x="43" y="30" width="1" height="1" fill="#4A3881" />
+<rect x="44" y="30" width="1" height="1" fill="#4A3881" />
+<rect x="45" y="30" width="1" height="1" fill="#4A3881" />
+<rect x="46" y="30" width="1" height="1" fill="#4A3881" />
+<rect x="2" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="3" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="4" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="5" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="6" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="7" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="8" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="9" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="10" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="11" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="12" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="13" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="14" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="15" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="16" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="17" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="18" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="19" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="20" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="21" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="22" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="23" y="31" width="1" height="1" fill="#544AA2" />
+<rect x="24" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="25" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="26" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="27" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="28" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="29" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="30" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="31" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="32" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="33" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="34" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="35" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="36" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="37" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="38" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="39" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="40" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="41" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="42" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="43" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="44" y="31" width="1" height="1" fill="#4A3881" />
+<rect x="45" y="31" width="1" height="1" fill="#4A3881" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Mantine.svg b/Edikoyo/.obsidian/icons/flags/Mantine.svg
new file mode 100644
index 0000000..0f343e2
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Mantine.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="8" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="9" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="10" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="11" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="12" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="13" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="14" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="15" y="0" width="1" height="1" fill="#2E4771" />
+<rect x="16" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="17" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="18" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="19" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="20" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="21" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="22" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="23" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="24" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="25" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="26" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="27" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="28" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="29" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="30" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="31" y="0" width="1" height="1" fill="#E6E9E4" />
+<rect x="32" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="33" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="1" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="1" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="1" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="1" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="1" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="1" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="1" width="1" height="1" fill="#2E4771" />
+<rect x="8" y="1" width="1" height="1" fill="#2E4771" />
+<rect x="9" y="1" width="1" height="1" fill="#2E4771" />
+<rect x="10" y="1" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="1" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="1" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="1" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="1" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="1" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="1" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="2" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="2" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="2" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="2" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="2" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="2" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="2" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="2" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="2" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="2" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="2" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="2" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="2" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="2" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="2" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="2" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="2" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="3" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="3" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="3" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="3" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="3" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="3" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="3" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="3" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="3" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="3" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="3" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="3" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="3" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="3" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="3" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="3" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="3" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="4" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="4" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="4" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="4" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="4" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="4" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="4" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="4" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="4" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="4" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="4" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="4" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="4" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="4" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="4" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="4" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="5" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="5" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="5" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="5" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="5" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="5" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="5" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="5" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="5" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="5" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="5" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="5" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="5" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="5" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="5" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="5" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="6" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="6" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="6" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="6" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="6" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="6" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="6" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="6" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="6" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="6" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="6" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="6" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="6" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="6" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="6" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="6" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="7" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="7" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="7" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="7" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="7" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="7" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="7" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="7" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="7" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="7" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="7" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="7" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="7" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="7" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="7" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="7" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="8" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="8" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="8" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="8" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="8" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="8" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="8" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="8" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="8" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="8" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="8" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="8" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="8" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="8" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="8" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="8" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="9" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="9" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="9" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="10" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="10" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="10" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="11" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="11" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="11" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="12" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="12" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="12" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="12" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="13" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="13" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="13" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="13" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="14" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="14" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="14" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="14" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="15" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="15" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="15" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="15" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="16" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="16" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="16" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="16" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="17" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="17" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="18" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="18" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="19" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="19" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="20" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="20" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="21" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="22" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="22" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="22" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="22" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="23" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="23" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="23" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="23" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="23" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="24" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="24" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="24" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="24" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="24" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="24" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="24" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="8" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="47" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="8" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="9" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="33" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="47" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="8" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="9" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="10" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="11" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="12" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="31" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="32" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="33" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="8" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="9" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="8" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="9" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="10" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="11" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="12" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="13" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="14" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="15" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="16" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="17" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="18" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="19" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="20" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="21" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="22" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="23" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="24" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="25" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="26" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="27" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="28" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="29" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="30" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="31" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="32" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="33" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="31" width="1" height="1" fill="#3C74AB" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Mortham.svg b/Edikoyo/.obsidian/icons/flags/Mortham.svg
new file mode 100644
index 0000000..16065ad
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Mortham.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="3" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="4" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="5" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="6" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="7" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="8" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="9" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="10" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="11" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="12" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="13" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="14" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="15" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="16" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="17" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="18" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="19" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="20" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="21" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="22" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="23" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="24" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="25" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="26" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="27" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="28" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="29" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="30" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="31" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="32" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="33" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="34" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="35" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="36" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="37" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="38" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="39" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="40" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="41" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="42" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="43" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="44" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="45" y="0" width="1" height="1" fill="#C3BC4A" />
+<rect x="1" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="2" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="3" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="4" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="5" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="6" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="7" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="8" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="9" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="10" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="11" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="12" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="13" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="14" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="15" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="16" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="17" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="18" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="19" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="20" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="21" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="22" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="23" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="24" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="25" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="26" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="27" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="28" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="29" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="30" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="31" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="32" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="33" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="34" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="35" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="36" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="37" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="38" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="39" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="40" y="1" width="1" height="1" fill="#CFC95F" />
+<rect x="41" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="42" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="43" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="44" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="45" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="46" y="1" width="1" height="1" fill="#C3BC4A" />
+<rect x="0" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="1" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="2" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="3" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="4" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="5" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="6" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="7" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="8" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="9" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="10" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="11" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="12" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="13" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="14" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="15" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="16" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="17" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="18" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="19" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="20" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="21" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="22" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="23" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="24" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="25" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="26" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="27" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="28" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="29" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="30" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="31" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="32" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="33" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="34" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="35" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="36" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="37" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="38" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="39" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="40" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="41" y="2" width="1" height="1" fill="#CFC95F" />
+<rect x="42" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="43" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="44" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="45" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="46" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="47" y="2" width="1" height="1" fill="#C3BC4A" />
+<rect x="0" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="1" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="2" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="3" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="4" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="5" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="6" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="7" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="8" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="9" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="10" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="11" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="12" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="13" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="14" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="15" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="16" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="17" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="18" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="19" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="20" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="21" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="22" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="23" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="24" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="25" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="26" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="27" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="28" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="29" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="30" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="31" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="32" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="33" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="34" y="3" width="1" height="1" fill="#CFC95F" />
+<rect x="35" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="36" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="37" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="38" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="39" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="40" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="41" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="42" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="43" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="44" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="45" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="46" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="47" y="3" width="1" height="1" fill="#C3BC4A" />
+<rect x="0" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="1" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="2" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="3" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="4" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="5" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="6" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="7" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="8" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="9" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="10" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="11" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="12" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="13" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="14" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="15" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="16" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="17" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="18" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="19" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="20" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="21" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="22" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="23" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="24" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="25" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="26" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="27" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="28" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="29" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="30" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="31" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="32" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="33" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="34" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="35" y="4" width="1" height="1" fill="#CFC95F" />
+<rect x="36" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="37" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="38" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="39" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="40" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="41" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="42" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="43" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="44" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="45" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="46" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="47" y="4" width="1" height="1" fill="#C3BC4A" />
+<rect x="0" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="1" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="2" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="3" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="4" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="5" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="6" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="7" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="8" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="9" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="10" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="11" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="12" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="13" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="14" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="15" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="16" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="17" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="18" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="19" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="20" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="21" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="22" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="23" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="24" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="25" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="26" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="27" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="28" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="29" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="30" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="31" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="32" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="33" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="34" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="35" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="36" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="37" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="38" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="39" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="40" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="41" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="42" y="5" width="1" height="1" fill="#CFC95F" />
+<rect x="43" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="44" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="45" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="46" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="47" y="5" width="1" height="1" fill="#C3BC4A" />
+<rect x="0" y="6" width="1" height="1" fill="#C3BC4A" />
+<rect x="1" y="6" width="1" height="1" fill="#C3BC4A" />
+<rect x="2" y="6" width="1" height="1" fill="#C3BC4A" />
+<rect x="3" y="6" width="1" height="1" fill="#C3BC4A" />
+<rect x="4" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="5" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="6" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="7" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="8" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="9" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="10" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="11" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="12" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="13" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="14" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="15" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="16" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="17" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="18" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="19" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="20" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="21" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="22" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="23" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="24" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="25" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="26" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="27" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="28" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="29" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="30" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="31" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="32" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="33" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="34" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="35" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="36" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="37" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="38" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="39" y="6" width="1" height="1" fill="#C3BC4A" />
+<rect x="40" y="6" width="1" height="1" fill="#C3BC4A" />
+<rect x="41" y="6" width="1" height="1" fill="#C3BC4A" />
+<rect x="42" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="43" y="6" width="1" height="1" fill="#CFC95F" />
+<rect x="44" y="6" width="1" height="1" fill="#C3BC4A" />
+<rect x="45" y="6" width="1" height="1" fill="#C3BC4A" />
+<rect x="46" y="6" width="1" height="1" fill="#C3BC4A" />
+<rect x="47" y="6" width="1" height="1" fill="#C3BC4A" />
+<rect x="0" y="7" width="1" height="1" fill="#C3BC4A" />
+<rect x="1" y="7" width="1" height="1" fill="#C3BC4A" />
+<rect x="2" y="7" width="1" height="1" fill="#C3BC4A" />
+<rect x="3" y="7" width="1" height="1" fill="#C3BC4A" />
+<rect x="4" y="7" width="1" height="1" fill="#C3BC4A" />
+<rect x="5" y="7" width="1" height="1" fill="#C3BC4A" />
+<rect x="6" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="7" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="8" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="9" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="10" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="11" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="12" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="13" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="14" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="15" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="16" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="17" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="18" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="19" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="20" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="21" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="22" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="23" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="24" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="25" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="26" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="27" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="28" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="29" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="30" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="31" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="32" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="33" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="34" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="35" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="36" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="37" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="38" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="39" y="7" width="1" height="1" fill="#C3BC4A" />
+<rect x="40" y="7" width="1" height="1" fill="#C3BC4A" />
+<rect x="41" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="42" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="43" y="7" width="1" height="1" fill="#CFC95F" />
+<rect x="44" y="7" width="1" height="1" fill="#C3BC4A" />
+<rect x="45" y="7" width="1" height="1" fill="#C3BC4A" />
+<rect x="46" y="7" width="1" height="1" fill="#C3BC4A" />
+<rect x="47" y="7" width="1" height="1" fill="#C3BC4A" />
+<rect x="0" y="8" width="1" height="1" fill="#C3BC4A" />
+<rect x="1" y="8" width="1" height="1" fill="#C3BC4A" />
+<rect x="2" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="3" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="4" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="5" y="8" width="1" height="1" fill="#C3BC4A" />
+<rect x="6" y="8" width="1" height="1" fill="#C3BC4A" />
+<rect x="7" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="8" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="9" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="10" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="11" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="12" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="13" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="14" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="15" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="16" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="17" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="18" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="19" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="20" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="21" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="22" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="23" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="24" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="25" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="26" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="27" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="28" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="29" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="30" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="31" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="32" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="33" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="34" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="35" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="36" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="37" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="38" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="39" y="8" width="1" height="1" fill="#C3BC4A" />
+<rect x="40" y="8" width="1" height="1" fill="#C3BC4A" />
+<rect x="41" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="42" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="43" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="44" y="8" width="1" height="1" fill="#CFC95F" />
+<rect x="45" y="8" width="1" height="1" fill="#C3BC4A" />
+<rect x="46" y="8" width="1" height="1" fill="#C3BC4A" />
+<rect x="47" y="8" width="1" height="1" fill="#C3BC4A" />
+<rect x="0" y="9" width="1" height="1" fill="#C3BC4A" />
+<rect x="1" y="9" width="1" height="1" fill="#C3BC4A" />
+<rect x="2" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="3" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="4" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="5" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="6" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="7" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="8" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="9" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="10" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="11" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="12" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="13" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="14" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="15" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="16" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="17" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="18" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="19" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="20" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="21" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="22" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="23" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="24" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="25" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="26" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="27" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="28" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="29" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="30" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="31" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="32" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="33" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="34" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="35" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="36" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="37" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="38" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="39" y="9" width="1" height="1" fill="#C3BC4A" />
+<rect x="40" y="9" width="1" height="1" fill="#C3BC4A" />
+<rect x="41" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="42" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="43" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="44" y="9" width="1" height="1" fill="#CFC95F" />
+<rect x="45" y="9" width="1" height="1" fill="#C3BC4A" />
+<rect x="46" y="9" width="1" height="1" fill="#C3BC4A" />
+<rect x="47" y="9" width="1" height="1" fill="#C3BC4A" />
+<rect x="0" y="10" width="1" height="1" fill="#C3BC4A" />
+<rect x="1" y="10" width="1" height="1" fill="#C3BC4A" />
+<rect x="2" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="3" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="4" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="5" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="6" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="7" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="8" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="9" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="10" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="11" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="12" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="13" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="14" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="15" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="16" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="17" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="18" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="19" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="20" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="21" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="22" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="23" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="24" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="25" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="26" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="27" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="28" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="29" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="30" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="31" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="32" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="33" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="34" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="35" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="36" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="37" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="38" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="39" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="40" y="10" width="1" height="1" fill="#C3BC4A" />
+<rect x="41" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="42" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="43" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="44" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="45" y="10" width="1" height="1" fill="#CFC95F" />
+<rect x="46" y="10" width="1" height="1" fill="#C3BC4A" />
+<rect x="47" y="10" width="1" height="1" fill="#C3BC4A" />
+<rect x="0" y="11" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="11" width="1" height="1" fill="#E6E9E4" />
+<rect x="2" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="11" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="11" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="11" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="12" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="12" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="12" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="13" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="13" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="13" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="14" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="14" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="14" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="15" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="15" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="15" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="16" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="16" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="16" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="18" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="18" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="18" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="18" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="21" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="17" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="18" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="19" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="20" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="21" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="22" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="23" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="24" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="25" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="26" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="27" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="28" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="29" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="30" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="31" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="32" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="33" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="34" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="35" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="36" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="37" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="38" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="39" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="40" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="41" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="42" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="43" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="44" y="21" width="1" height="1" fill="#2E4771" />
+<rect x="45" y="21" width="1" height="1" fill="#3C5E8B" />
+<rect x="46" y="21" width="1" height="1" fill="#2E4771" />
+<rect x="47" y="21" width="1" height="1" fill="#2E4771" />
+<rect x="0" y="22" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="22" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="17" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="18" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="19" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="20" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="21" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="22" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="23" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="24" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="25" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="26" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="27" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="28" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="29" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="30" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="31" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="32" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="33" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="34" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="35" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="36" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="37" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="38" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="39" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="40" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="41" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="42" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="43" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="44" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="45" y="22" width="1" height="1" fill="#3C5E8B" />
+<rect x="46" y="22" width="1" height="1" fill="#2E4771" />
+<rect x="47" y="22" width="1" height="1" fill="#2E4771" />
+<rect x="0" y="23" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="23" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="17" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="18" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="19" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="20" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="21" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="22" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="23" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="24" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="25" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="26" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="27" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="28" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="29" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="30" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="31" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="32" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="33" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="34" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="35" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="36" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="37" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="38" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="39" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="40" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="41" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="42" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="43" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="44" y="23" width="1" height="1" fill="#3C5E8B" />
+<rect x="45" y="23" width="1" height="1" fill="#2E4771" />
+<rect x="46" y="23" width="1" height="1" fill="#2E4771" />
+<rect x="47" y="23" width="1" height="1" fill="#2E4771" />
+<rect x="0" y="24" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="2" y="24" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="24" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="5" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="17" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="18" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="19" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="20" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="21" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="22" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="23" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="24" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="25" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="26" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="27" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="28" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="29" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="30" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="31" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="32" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="33" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="34" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="35" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="36" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="37" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="38" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="39" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="40" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="41" y="24" width="1" height="1" fill="#2E4771" />
+<rect x="42" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="43" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="44" y="24" width="1" height="1" fill="#3C5E8B" />
+<rect x="45" y="24" width="1" height="1" fill="#2E4771" />
+<rect x="46" y="24" width="1" height="1" fill="#2E4771" />
+<rect x="47" y="24" width="1" height="1" fill="#2E4771" />
+<rect x="0" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="6" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="17" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="18" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="19" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="20" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="21" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="22" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="23" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="24" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="25" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="26" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="27" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="28" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="29" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="30" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="31" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="32" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="33" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="34" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="35" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="36" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="37" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="38" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="39" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="40" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="41" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="42" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="43" y="25" width="1" height="1" fill="#3C5E8B" />
+<rect x="44" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="45" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="46" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="47" y="25" width="1" height="1" fill="#2E4771" />
+<rect x="0" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="7" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="8" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="17" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="18" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="19" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="20" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="21" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="22" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="23" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="24" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="25" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="26" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="27" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="28" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="29" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="30" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="31" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="32" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="33" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="34" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="35" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="36" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="37" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="38" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="39" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="40" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="41" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="42" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="43" y="26" width="1" height="1" fill="#3C5E8B" />
+<rect x="44" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="45" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="46" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="47" y="26" width="1" height="1" fill="#2E4771" />
+<rect x="0" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="3" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="8" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="9" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="17" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="18" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="19" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="20" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="21" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="22" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="23" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="24" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="25" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="26" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="27" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="28" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="29" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="30" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="31" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="32" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="33" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="34" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="35" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="36" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="37" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="38" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="39" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="40" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="41" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="42" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="43" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="44" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="45" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="46" y="27" width="1" height="1" fill="#3C5E8B" />
+<rect x="47" y="27" width="1" height="1" fill="#2E4771" />
+<rect x="0" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="4" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="8" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="9" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="17" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="18" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="19" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="20" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="21" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="22" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="23" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="24" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="25" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="26" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="27" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="28" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="29" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="30" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="31" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="32" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="33" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="34" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="35" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="36" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="37" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="38" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="39" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="40" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="41" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="42" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="43" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="44" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="45" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="46" y="28" width="1" height="1" fill="#3C5E8B" />
+<rect x="47" y="28" width="1" height="1" fill="#2E4771" />
+<rect x="0" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="8" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="9" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="10" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="11" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="12" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="17" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="18" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="19" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="20" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="21" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="22" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="23" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="24" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="25" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="26" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="27" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="28" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="29" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="30" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="31" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="32" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="33" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="34" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="35" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="36" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="37" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="38" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="39" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="40" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="41" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="42" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="43" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="44" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="45" y="29" width="1" height="1" fill="#3C5E8B" />
+<rect x="46" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="47" y="29" width="1" height="1" fill="#2E4771" />
+<rect x="1" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="8" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="9" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="10" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="11" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="12" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="13" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="14" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="15" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="16" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="17" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="18" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="19" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="20" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="21" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="22" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="23" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="24" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="25" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="26" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="27" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="28" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="29" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="30" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="31" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="32" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="33" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="34" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="35" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="36" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="37" y="30" width="1" height="1" fill="#3C5E8B" />
+<rect x="38" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="39" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="40" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="41" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="42" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="43" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="44" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="45" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="46" y="30" width="1" height="1" fill="#2E4771" />
+<rect x="2" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="3" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="4" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="5" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="6" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="7" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="8" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="9" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="10" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="11" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="12" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="13" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="14" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="15" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="16" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="17" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="18" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="19" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="20" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="21" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="22" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="23" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="24" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="25" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="26" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="27" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="28" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="29" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="30" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="31" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="32" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="33" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="34" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="35" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="36" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="37" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="38" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="39" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="40" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="41" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="42" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="43" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="44" y="31" width="1" height="1" fill="#2E4771" />
+<rect x="45" y="31" width="1" height="1" fill="#2E4771" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Nakadon.svg b/Edikoyo/.obsidian/icons/flags/Nakadon.svg
new file mode 100644
index 0000000..7abe65f
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Nakadon.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#589235" />
+<rect x="3" y="0" width="1" height="1" fill="#589235" />
+<rect x="4" y="0" width="1" height="1" fill="#589235" />
+<rect x="5" y="0" width="1" height="1" fill="#589235" />
+<rect x="6" y="0" width="1" height="1" fill="#589235" />
+<rect x="7" y="0" width="1" height="1" fill="#589235" />
+<rect x="8" y="0" width="1" height="1" fill="#589235" />
+<rect x="9" y="0" width="1" height="1" fill="#589235" />
+<rect x="10" y="0" width="1" height="1" fill="#589235" />
+<rect x="11" y="0" width="1" height="1" fill="#589235" />
+<rect x="12" y="0" width="1" height="1" fill="#589235" />
+<rect x="13" y="0" width="1" height="1" fill="#589235" />
+<rect x="14" y="0" width="1" height="1" fill="#589235" />
+<rect x="15" y="0" width="1" height="1" fill="#589235" />
+<rect x="16" y="0" width="1" height="1" fill="#589235" />
+<rect x="17" y="0" width="1" height="1" fill="#589235" />
+<rect x="18" y="0" width="1" height="1" fill="#589235" />
+<rect x="19" y="0" width="1" height="1" fill="#589235" />
+<rect x="20" y="0" width="1" height="1" fill="#589235" />
+<rect x="21" y="0" width="1" height="1" fill="#589235" />
+<rect x="22" y="0" width="1" height="1" fill="#589235" />
+<rect x="23" y="0" width="1" height="1" fill="#589235" />
+<rect x="24" y="0" width="1" height="1" fill="#589235" />
+<rect x="25" y="0" width="1" height="1" fill="#589235" />
+<rect x="26" y="0" width="1" height="1" fill="#589235" />
+<rect x="27" y="0" width="1" height="1" fill="#589235" />
+<rect x="28" y="0" width="1" height="1" fill="#589235" />
+<rect x="29" y="0" width="1" height="1" fill="#589235" />
+<rect x="30" y="0" width="1" height="1" fill="#589235" />
+<rect x="31" y="0" width="1" height="1" fill="#589235" />
+<rect x="32" y="0" width="1" height="1" fill="#589235" />
+<rect x="33" y="0" width="1" height="1" fill="#589235" />
+<rect x="34" y="0" width="1" height="1" fill="#589235" />
+<rect x="35" y="0" width="1" height="1" fill="#589235" />
+<rect x="36" y="0" width="1" height="1" fill="#589235" />
+<rect x="37" y="0" width="1" height="1" fill="#589235" />
+<rect x="38" y="0" width="1" height="1" fill="#589235" />
+<rect x="39" y="0" width="1" height="1" fill="#589235" />
+<rect x="40" y="0" width="1" height="1" fill="#589235" />
+<rect x="41" y="0" width="1" height="1" fill="#589235" />
+<rect x="42" y="0" width="1" height="1" fill="#589235" />
+<rect x="43" y="0" width="1" height="1" fill="#589235" />
+<rect x="44" y="0" width="1" height="1" fill="#589235" />
+<rect x="45" y="0" width="1" height="1" fill="#589235" />
+<rect x="1" y="1" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="1" width="1" height="1" fill="#589235" />
+<rect x="3" y="1" width="1" height="1" fill="#589235" />
+<rect x="4" y="1" width="1" height="1" fill="#589235" />
+<rect x="5" y="1" width="1" height="1" fill="#589235" />
+<rect x="6" y="1" width="1" height="1" fill="#589235" />
+<rect x="7" y="1" width="1" height="1" fill="#589235" />
+<rect x="8" y="1" width="1" height="1" fill="#589235" />
+<rect x="9" y="1" width="1" height="1" fill="#589235" />
+<rect x="10" y="1" width="1" height="1" fill="#75A743" />
+<rect x="11" y="1" width="1" height="1" fill="#75A743" />
+<rect x="12" y="1" width="1" height="1" fill="#75A743" />
+<rect x="13" y="1" width="1" height="1" fill="#75A743" />
+<rect x="14" y="1" width="1" height="1" fill="#75A743" />
+<rect x="15" y="1" width="1" height="1" fill="#75A743" />
+<rect x="16" y="1" width="1" height="1" fill="#75A743" />
+<rect x="17" y="1" width="1" height="1" fill="#75A743" />
+<rect x="18" y="1" width="1" height="1" fill="#75A743" />
+<rect x="19" y="1" width="1" height="1" fill="#75A743" />
+<rect x="20" y="1" width="1" height="1" fill="#75A743" />
+<rect x="21" y="1" width="1" height="1" fill="#75A743" />
+<rect x="22" y="1" width="1" height="1" fill="#75A743" />
+<rect x="23" y="1" width="1" height="1" fill="#75A743" />
+<rect x="24" y="1" width="1" height="1" fill="#75A743" />
+<rect x="25" y="1" width="1" height="1" fill="#75A743" />
+<rect x="26" y="1" width="1" height="1" fill="#75A743" />
+<rect x="27" y="1" width="1" height="1" fill="#75A743" />
+<rect x="28" y="1" width="1" height="1" fill="#75A743" />
+<rect x="29" y="1" width="1" height="1" fill="#75A743" />
+<rect x="30" y="1" width="1" height="1" fill="#75A743" />
+<rect x="31" y="1" width="1" height="1" fill="#75A743" />
+<rect x="32" y="1" width="1" height="1" fill="#75A743" />
+<rect x="33" y="1" width="1" height="1" fill="#589235" />
+<rect x="34" y="1" width="1" height="1" fill="#589235" />
+<rect x="35" y="1" width="1" height="1" fill="#589235" />
+<rect x="36" y="1" width="1" height="1" fill="#589235" />
+<rect x="37" y="1" width="1" height="1" fill="#589235" />
+<rect x="38" y="1" width="1" height="1" fill="#589235" />
+<rect x="39" y="1" width="1" height="1" fill="#589235" />
+<rect x="40" y="1" width="1" height="1" fill="#75A743" />
+<rect x="41" y="1" width="1" height="1" fill="#589235" />
+<rect x="42" y="1" width="1" height="1" fill="#589235" />
+<rect x="43" y="1" width="1" height="1" fill="#589235" />
+<rect x="44" y="1" width="1" height="1" fill="#589235" />
+<rect x="45" y="1" width="1" height="1" fill="#589235" />
+<rect x="46" y="1" width="1" height="1" fill="#589235" />
+<rect x="0" y="2" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="2" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="2" width="1" height="1" fill="#2B383F" />
+<rect x="3" y="2" width="1" height="1" fill="#2B383F" />
+<rect x="4" y="2" width="1" height="1" fill="#589235" />
+<rect x="5" y="2" width="1" height="1" fill="#589235" />
+<rect x="6" y="2" width="1" height="1" fill="#75A743" />
+<rect x="7" y="2" width="1" height="1" fill="#75A743" />
+<rect x="8" y="2" width="1" height="1" fill="#75A743" />
+<rect x="9" y="2" width="1" height="1" fill="#75A743" />
+<rect x="10" y="2" width="1" height="1" fill="#75A743" />
+<rect x="11" y="2" width="1" height="1" fill="#75A743" />
+<rect x="12" y="2" width="1" height="1" fill="#75A743" />
+<rect x="13" y="2" width="1" height="1" fill="#75A743" />
+<rect x="14" y="2" width="1" height="1" fill="#75A743" />
+<rect x="15" y="2" width="1" height="1" fill="#75A743" />
+<rect x="16" y="2" width="1" height="1" fill="#75A743" />
+<rect x="17" y="2" width="1" height="1" fill="#75A743" />
+<rect x="18" y="2" width="1" height="1" fill="#75A743" />
+<rect x="19" y="2" width="1" height="1" fill="#75A743" />
+<rect x="20" y="2" width="1" height="1" fill="#75A743" />
+<rect x="21" y="2" width="1" height="1" fill="#75A743" />
+<rect x="22" y="2" width="1" height="1" fill="#75A743" />
+<rect x="23" y="2" width="1" height="1" fill="#75A743" />
+<rect x="24" y="2" width="1" height="1" fill="#75A743" />
+<rect x="25" y="2" width="1" height="1" fill="#75A743" />
+<rect x="26" y="2" width="1" height="1" fill="#75A743" />
+<rect x="27" y="2" width="1" height="1" fill="#75A743" />
+<rect x="28" y="2" width="1" height="1" fill="#75A743" />
+<rect x="29" y="2" width="1" height="1" fill="#75A743" />
+<rect x="30" y="2" width="1" height="1" fill="#75A743" />
+<rect x="31" y="2" width="1" height="1" fill="#75A743" />
+<rect x="32" y="2" width="1" height="1" fill="#75A743" />
+<rect x="33" y="2" width="1" height="1" fill="#75A743" />
+<rect x="34" y="2" width="1" height="1" fill="#75A743" />
+<rect x="35" y="2" width="1" height="1" fill="#75A743" />
+<rect x="36" y="2" width="1" height="1" fill="#75A743" />
+<rect x="37" y="2" width="1" height="1" fill="#589235" />
+<rect x="38" y="2" width="1" height="1" fill="#589235" />
+<rect x="39" y="2" width="1" height="1" fill="#589235" />
+<rect x="40" y="2" width="1" height="1" fill="#589235" />
+<rect x="41" y="2" width="1" height="1" fill="#75A743" />
+<rect x="42" y="2" width="1" height="1" fill="#589235" />
+<rect x="43" y="2" width="1" height="1" fill="#589235" />
+<rect x="44" y="2" width="1" height="1" fill="#589235" />
+<rect x="45" y="2" width="1" height="1" fill="#589235" />
+<rect x="46" y="2" width="1" height="1" fill="#589235" />
+<rect x="47" y="2" width="1" height="1" fill="#589235" />
+<rect x="0" y="3" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="3" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="3" width="1" height="1" fill="#2B383F" />
+<rect x="3" y="3" width="1" height="1" fill="#2B383F" />
+<rect x="4" y="3" width="1" height="1" fill="#2B383F" />
+<rect x="5" y="3" width="1" height="1" fill="#2B383F" />
+<rect x="6" y="3" width="1" height="1" fill="#589235" />
+<rect x="7" y="3" width="1" height="1" fill="#75A743" />
+<rect x="8" y="3" width="1" height="1" fill="#75A743" />
+<rect x="9" y="3" width="1" height="1" fill="#75A743" />
+<rect x="10" y="3" width="1" height="1" fill="#75A743" />
+<rect x="11" y="3" width="1" height="1" fill="#75A743" />
+<rect x="12" y="3" width="1" height="1" fill="#75A743" />
+<rect x="13" y="3" width="1" height="1" fill="#75A743" />
+<rect x="14" y="3" width="1" height="1" fill="#75A743" />
+<rect x="15" y="3" width="1" height="1" fill="#75A743" />
+<rect x="16" y="3" width="1" height="1" fill="#75A743" />
+<rect x="17" y="3" width="1" height="1" fill="#75A743" />
+<rect x="18" y="3" width="1" height="1" fill="#75A743" />
+<rect x="19" y="3" width="1" height="1" fill="#75A743" />
+<rect x="20" y="3" width="1" height="1" fill="#75A743" />
+<rect x="21" y="3" width="1" height="1" fill="#75A743" />
+<rect x="22" y="3" width="1" height="1" fill="#75A743" />
+<rect x="23" y="3" width="1" height="1" fill="#75A743" />
+<rect x="24" y="3" width="1" height="1" fill="#75A743" />
+<rect x="25" y="3" width="1" height="1" fill="#75A743" />
+<rect x="26" y="3" width="1" height="1" fill="#75A743" />
+<rect x="27" y="3" width="1" height="1" fill="#75A743" />
+<rect x="28" y="3" width="1" height="1" fill="#75A743" />
+<rect x="29" y="3" width="1" height="1" fill="#75A743" />
+<rect x="30" y="3" width="1" height="1" fill="#75A743" />
+<rect x="31" y="3" width="1" height="1" fill="#75A743" />
+<rect x="32" y="3" width="1" height="1" fill="#75A743" />
+<rect x="33" y="3" width="1" height="1" fill="#75A743" />
+<rect x="34" y="3" width="1" height="1" fill="#75A743" />
+<rect x="35" y="3" width="1" height="1" fill="#589235" />
+<rect x="36" y="3" width="1" height="1" fill="#589235" />
+<rect x="37" y="3" width="1" height="1" fill="#589235" />
+<rect x="38" y="3" width="1" height="1" fill="#589235" />
+<rect x="39" y="3" width="1" height="1" fill="#589235" />
+<rect x="40" y="3" width="1" height="1" fill="#589235" />
+<rect x="41" y="3" width="1" height="1" fill="#589235" />
+<rect x="42" y="3" width="1" height="1" fill="#589235" />
+<rect x="43" y="3" width="1" height="1" fill="#589235" />
+<rect x="44" y="3" width="1" height="1" fill="#589235" />
+<rect x="45" y="3" width="1" height="1" fill="#589235" />
+<rect x="46" y="3" width="1" height="1" fill="#589235" />
+<rect x="47" y="3" width="1" height="1" fill="#589235" />
+<rect x="0" y="4" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="4" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="4" width="1" height="1" fill="#394A50" />
+<rect x="3" y="4" width="1" height="1" fill="#394A50" />
+<rect x="4" y="4" width="1" height="1" fill="#2B383F" />
+<rect x="5" y="4" width="1" height="1" fill="#2B383F" />
+<rect x="6" y="4" width="1" height="1" fill="#2B383F" />
+<rect x="7" y="4" width="1" height="1" fill="#394A50" />
+<rect x="8" y="4" width="1" height="1" fill="#75A743" />
+<rect x="9" y="4" width="1" height="1" fill="#75A743" />
+<rect x="10" y="4" width="1" height="1" fill="#75A743" />
+<rect x="11" y="4" width="1" height="1" fill="#75A743" />
+<rect x="12" y="4" width="1" height="1" fill="#75A743" />
+<rect x="13" y="4" width="1" height="1" fill="#75A743" />
+<rect x="14" y="4" width="1" height="1" fill="#75A743" />
+<rect x="15" y="4" width="1" height="1" fill="#75A743" />
+<rect x="16" y="4" width="1" height="1" fill="#75A743" />
+<rect x="17" y="4" width="1" height="1" fill="#75A743" />
+<rect x="18" y="4" width="1" height="1" fill="#75A743" />
+<rect x="19" y="4" width="1" height="1" fill="#75A743" />
+<rect x="20" y="4" width="1" height="1" fill="#75A743" />
+<rect x="21" y="4" width="1" height="1" fill="#75A743" />
+<rect x="22" y="4" width="1" height="1" fill="#75A743" />
+<rect x="23" y="4" width="1" height="1" fill="#75A743" />
+<rect x="24" y="4" width="1" height="1" fill="#75A743" />
+<rect x="25" y="4" width="1" height="1" fill="#75A743" />
+<rect x="26" y="4" width="1" height="1" fill="#75A743" />
+<rect x="27" y="4" width="1" height="1" fill="#75A743" />
+<rect x="28" y="4" width="1" height="1" fill="#75A743" />
+<rect x="29" y="4" width="1" height="1" fill="#75A743" />
+<rect x="30" y="4" width="1" height="1" fill="#75A743" />
+<rect x="31" y="4" width="1" height="1" fill="#75A743" />
+<rect x="32" y="4" width="1" height="1" fill="#75A743" />
+<rect x="33" y="4" width="1" height="1" fill="#75A743" />
+<rect x="34" y="4" width="1" height="1" fill="#75A743" />
+<rect x="35" y="4" width="1" height="1" fill="#75A743" />
+<rect x="36" y="4" width="1" height="1" fill="#589235" />
+<rect x="37" y="4" width="1" height="1" fill="#589235" />
+<rect x="38" y="4" width="1" height="1" fill="#589235" />
+<rect x="39" y="4" width="1" height="1" fill="#589235" />
+<rect x="40" y="4" width="1" height="1" fill="#589235" />
+<rect x="41" y="4" width="1" height="1" fill="#589235" />
+<rect x="42" y="4" width="1" height="1" fill="#589235" />
+<rect x="43" y="4" width="1" height="1" fill="#589235" />
+<rect x="44" y="4" width="1" height="1" fill="#589235" />
+<rect x="45" y="4" width="1" height="1" fill="#589235" />
+<rect x="46" y="4" width="1" height="1" fill="#589235" />
+<rect x="47" y="4" width="1" height="1" fill="#589235" />
+<rect x="0" y="5" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="5" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="5" width="1" height="1" fill="#2B383F" />
+<rect x="3" y="5" width="1" height="1" fill="#394A50" />
+<rect x="4" y="5" width="1" height="1" fill="#394A50" />
+<rect x="5" y="5" width="1" height="1" fill="#394A50" />
+<rect x="6" y="5" width="1" height="1" fill="#2B383F" />
+<rect x="7" y="5" width="1" height="1" fill="#394A50" />
+<rect x="8" y="5" width="1" height="1" fill="#394A50" />
+<rect x="9" y="5" width="1" height="1" fill="#394A50" />
+<rect x="10" y="5" width="1" height="1" fill="#75A743" />
+<rect x="11" y="5" width="1" height="1" fill="#75A743" />
+<rect x="12" y="5" width="1" height="1" fill="#75A743" />
+<rect x="13" y="5" width="1" height="1" fill="#75A743" />
+<rect x="14" y="5" width="1" height="1" fill="#75A743" />
+<rect x="15" y="5" width="1" height="1" fill="#75A743" />
+<rect x="16" y="5" width="1" height="1" fill="#75A743" />
+<rect x="17" y="5" width="1" height="1" fill="#75A743" />
+<rect x="18" y="5" width="1" height="1" fill="#75A743" />
+<rect x="19" y="5" width="1" height="1" fill="#75A743" />
+<rect x="20" y="5" width="1" height="1" fill="#75A743" />
+<rect x="21" y="5" width="1" height="1" fill="#75A743" />
+<rect x="22" y="5" width="1" height="1" fill="#75A743" />
+<rect x="23" y="5" width="1" height="1" fill="#75A743" />
+<rect x="24" y="5" width="1" height="1" fill="#75A743" />
+<rect x="25" y="5" width="1" height="1" fill="#75A743" />
+<rect x="26" y="5" width="1" height="1" fill="#75A743" />
+<rect x="27" y="5" width="1" height="1" fill="#75A743" />
+<rect x="28" y="5" width="1" height="1" fill="#75A743" />
+<rect x="29" y="5" width="1" height="1" fill="#75A743" />
+<rect x="30" y="5" width="1" height="1" fill="#75A743" />
+<rect x="31" y="5" width="1" height="1" fill="#75A743" />
+<rect x="32" y="5" width="1" height="1" fill="#75A743" />
+<rect x="33" y="5" width="1" height="1" fill="#75A743" />
+<rect x="34" y="5" width="1" height="1" fill="#75A743" />
+<rect x="35" y="5" width="1" height="1" fill="#75A743" />
+<rect x="36" y="5" width="1" height="1" fill="#75A743" />
+<rect x="37" y="5" width="1" height="1" fill="#75A743" />
+<rect x="38" y="5" width="1" height="1" fill="#589235" />
+<rect x="39" y="5" width="1" height="1" fill="#589235" />
+<rect x="40" y="5" width="1" height="1" fill="#589235" />
+<rect x="41" y="5" width="1" height="1" fill="#589235" />
+<rect x="42" y="5" width="1" height="1" fill="#75A743" />
+<rect x="43" y="5" width="1" height="1" fill="#589235" />
+<rect x="44" y="5" width="1" height="1" fill="#589235" />
+<rect x="45" y="5" width="1" height="1" fill="#589235" />
+<rect x="46" y="5" width="1" height="1" fill="#589235" />
+<rect x="47" y="5" width="1" height="1" fill="#589235" />
+<rect x="0" y="6" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="6" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="6" width="1" height="1" fill="#2B383F" />
+<rect x="3" y="6" width="1" height="1" fill="#2B383F" />
+<rect x="4" y="6" width="1" height="1" fill="#394A50" />
+<rect x="5" y="6" width="1" height="1" fill="#394A50" />
+<rect x="6" y="6" width="1" height="1" fill="#394A50" />
+<rect x="7" y="6" width="1" height="1" fill="#394A50" />
+<rect x="8" y="6" width="1" height="1" fill="#394A50" />
+<rect x="9" y="6" width="1" height="1" fill="#394A50" />
+<rect x="10" y="6" width="1" height="1" fill="#394A50" />
+<rect x="11" y="6" width="1" height="1" fill="#394A50" />
+<rect x="12" y="6" width="1" height="1" fill="#75A743" />
+<rect x="13" y="6" width="1" height="1" fill="#75A743" />
+<rect x="14" y="6" width="1" height="1" fill="#75A743" />
+<rect x="15" y="6" width="1" height="1" fill="#75A743" />
+<rect x="16" y="6" width="1" height="1" fill="#75A743" />
+<rect x="17" y="6" width="1" height="1" fill="#75A743" />
+<rect x="18" y="6" width="1" height="1" fill="#75A743" />
+<rect x="19" y="6" width="1" height="1" fill="#75A743" />
+<rect x="20" y="6" width="1" height="1" fill="#75A743" />
+<rect x="21" y="6" width="1" height="1" fill="#75A743" />
+<rect x="22" y="6" width="1" height="1" fill="#75A743" />
+<rect x="23" y="6" width="1" height="1" fill="#75A743" />
+<rect x="24" y="6" width="1" height="1" fill="#75A743" />
+<rect x="25" y="6" width="1" height="1" fill="#75A743" />
+<rect x="26" y="6" width="1" height="1" fill="#75A743" />
+<rect x="27" y="6" width="1" height="1" fill="#75A743" />
+<rect x="28" y="6" width="1" height="1" fill="#75A743" />
+<rect x="29" y="6" width="1" height="1" fill="#75A743" />
+<rect x="30" y="6" width="1" height="1" fill="#75A743" />
+<rect x="31" y="6" width="1" height="1" fill="#75A743" />
+<rect x="32" y="6" width="1" height="1" fill="#75A743" />
+<rect x="33" y="6" width="1" height="1" fill="#75A743" />
+<rect x="34" y="6" width="1" height="1" fill="#75A743" />
+<rect x="35" y="6" width="1" height="1" fill="#75A743" />
+<rect x="36" y="6" width="1" height="1" fill="#75A743" />
+<rect x="37" y="6" width="1" height="1" fill="#75A743" />
+<rect x="38" y="6" width="1" height="1" fill="#75A743" />
+<rect x="39" y="6" width="1" height="1" fill="#589235" />
+<rect x="40" y="6" width="1" height="1" fill="#589235" />
+<rect x="41" y="6" width="1" height="1" fill="#589235" />
+<rect x="42" y="6" width="1" height="1" fill="#75A743" />
+<rect x="43" y="6" width="1" height="1" fill="#75A743" />
+<rect x="44" y="6" width="1" height="1" fill="#589235" />
+<rect x="45" y="6" width="1" height="1" fill="#589235" />
+<rect x="46" y="6" width="1" height="1" fill="#589235" />
+<rect x="47" y="6" width="1" height="1" fill="#589235" />
+<rect x="0" y="7" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="7" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="7" width="1" height="1" fill="#2B383F" />
+<rect x="3" y="7" width="1" height="1" fill="#2B383F" />
+<rect x="4" y="7" width="1" height="1" fill="#2B383F" />
+<rect x="5" y="7" width="1" height="1" fill="#2B383F" />
+<rect x="6" y="7" width="1" height="1" fill="#394A50" />
+<rect x="7" y="7" width="1" height="1" fill="#394A50" />
+<rect x="8" y="7" width="1" height="1" fill="#394A50" />
+<rect x="9" y="7" width="1" height="1" fill="#394A50" />
+<rect x="10" y="7" width="1" height="1" fill="#394A50" />
+<rect x="11" y="7" width="1" height="1" fill="#394A50" />
+<rect x="12" y="7" width="1" height="1" fill="#394A50" />
+<rect x="13" y="7" width="1" height="1" fill="#394A50" />
+<rect x="14" y="7" width="1" height="1" fill="#75A743" />
+<rect x="15" y="7" width="1" height="1" fill="#75A743" />
+<rect x="16" y="7" width="1" height="1" fill="#75A743" />
+<rect x="17" y="7" width="1" height="1" fill="#75A743" />
+<rect x="18" y="7" width="1" height="1" fill="#75A743" />
+<rect x="19" y="7" width="1" height="1" fill="#75A743" />
+<rect x="20" y="7" width="1" height="1" fill="#75A743" />
+<rect x="21" y="7" width="1" height="1" fill="#75A743" />
+<rect x="22" y="7" width="1" height="1" fill="#75A743" />
+<rect x="23" y="7" width="1" height="1" fill="#75A743" />
+<rect x="24" y="7" width="1" height="1" fill="#75A743" />
+<rect x="25" y="7" width="1" height="1" fill="#75A743" />
+<rect x="26" y="7" width="1" height="1" fill="#75A743" />
+<rect x="27" y="7" width="1" height="1" fill="#75A743" />
+<rect x="28" y="7" width="1" height="1" fill="#75A743" />
+<rect x="29" y="7" width="1" height="1" fill="#75A743" />
+<rect x="30" y="7" width="1" height="1" fill="#75A743" />
+<rect x="31" y="7" width="1" height="1" fill="#75A743" />
+<rect x="32" y="7" width="1" height="1" fill="#75A743" />
+<rect x="33" y="7" width="1" height="1" fill="#75A743" />
+<rect x="34" y="7" width="1" height="1" fill="#75A743" />
+<rect x="35" y="7" width="1" height="1" fill="#75A743" />
+<rect x="36" y="7" width="1" height="1" fill="#75A743" />
+<rect x="37" y="7" width="1" height="1" fill="#75A743" />
+<rect x="38" y="7" width="1" height="1" fill="#75A743" />
+<rect x="39" y="7" width="1" height="1" fill="#589235" />
+<rect x="40" y="7" width="1" height="1" fill="#589235" />
+<rect x="41" y="7" width="1" height="1" fill="#75A743" />
+<rect x="42" y="7" width="1" height="1" fill="#75A743" />
+<rect x="43" y="7" width="1" height="1" fill="#75A743" />
+<rect x="44" y="7" width="1" height="1" fill="#589235" />
+<rect x="45" y="7" width="1" height="1" fill="#589235" />
+<rect x="46" y="7" width="1" height="1" fill="#589235" />
+<rect x="47" y="7" width="1" height="1" fill="#589235" />
+<rect x="0" y="8" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="8" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="8" width="1" height="1" fill="#394A50" />
+<rect x="3" y="8" width="1" height="1" fill="#394A50" />
+<rect x="4" y="8" width="1" height="1" fill="#394A50" />
+<rect x="5" y="8" width="1" height="1" fill="#2B383F" />
+<rect x="6" y="8" width="1" height="1" fill="#2B383F" />
+<rect x="7" y="8" width="1" height="1" fill="#394A50" />
+<rect x="8" y="8" width="1" height="1" fill="#394A50" />
+<rect x="9" y="8" width="1" height="1" fill="#394A50" />
+<rect x="10" y="8" width="1" height="1" fill="#394A50" />
+<rect x="11" y="8" width="1" height="1" fill="#394A50" />
+<rect x="12" y="8" width="1" height="1" fill="#394A50" />
+<rect x="13" y="8" width="1" height="1" fill="#394A50" />
+<rect x="14" y="8" width="1" height="1" fill="#394A50" />
+<rect x="15" y="8" width="1" height="1" fill="#394A50" />
+<rect x="16" y="8" width="1" height="1" fill="#75A743" />
+<rect x="17" y="8" width="1" height="1" fill="#75A743" />
+<rect x="18" y="8" width="1" height="1" fill="#75A743" />
+<rect x="19" y="8" width="1" height="1" fill="#75A743" />
+<rect x="20" y="8" width="1" height="1" fill="#75A743" />
+<rect x="21" y="8" width="1" height="1" fill="#75A743" />
+<rect x="22" y="8" width="1" height="1" fill="#75A743" />
+<rect x="23" y="8" width="1" height="1" fill="#75A743" />
+<rect x="24" y="8" width="1" height="1" fill="#75A743" />
+<rect x="25" y="8" width="1" height="1" fill="#75A743" />
+<rect x="26" y="8" width="1" height="1" fill="#75A743" />
+<rect x="27" y="8" width="1" height="1" fill="#75A743" />
+<rect x="28" y="8" width="1" height="1" fill="#75A743" />
+<rect x="29" y="8" width="1" height="1" fill="#75A743" />
+<rect x="30" y="8" width="1" height="1" fill="#75A743" />
+<rect x="31" y="8" width="1" height="1" fill="#75A743" />
+<rect x="32" y="8" width="1" height="1" fill="#75A743" />
+<rect x="33" y="8" width="1" height="1" fill="#75A743" />
+<rect x="34" y="8" width="1" height="1" fill="#75A743" />
+<rect x="35" y="8" width="1" height="1" fill="#75A743" />
+<rect x="36" y="8" width="1" height="1" fill="#75A743" />
+<rect x="37" y="8" width="1" height="1" fill="#75A743" />
+<rect x="38" y="8" width="1" height="1" fill="#75A743" />
+<rect x="39" y="8" width="1" height="1" fill="#589235" />
+<rect x="40" y="8" width="1" height="1" fill="#589235" />
+<rect x="41" y="8" width="1" height="1" fill="#75A743" />
+<rect x="42" y="8" width="1" height="1" fill="#75A743" />
+<rect x="43" y="8" width="1" height="1" fill="#75A743" />
+<rect x="44" y="8" width="1" height="1" fill="#75A743" />
+<rect x="45" y="8" width="1" height="1" fill="#589235" />
+<rect x="46" y="8" width="1" height="1" fill="#589235" />
+<rect x="47" y="8" width="1" height="1" fill="#589235" />
+<rect x="0" y="9" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="9" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="9" width="1" height="1" fill="#394A50" />
+<rect x="3" y="9" width="1" height="1" fill="#394A50" />
+<rect x="4" y="9" width="1" height="1" fill="#394A50" />
+<rect x="5" y="9" width="1" height="1" fill="#394A50" />
+<rect x="6" y="9" width="1" height="1" fill="#394A50" />
+<rect x="7" y="9" width="1" height="1" fill="#394A50" />
+<rect x="8" y="9" width="1" height="1" fill="#394A50" />
+<rect x="9" y="9" width="1" height="1" fill="#394A50" />
+<rect x="10" y="9" width="1" height="1" fill="#75A743" />
+<rect x="11" y="9" width="1" height="1" fill="#75A743" />
+<rect x="12" y="9" width="1" height="1" fill="#394A50" />
+<rect x="13" y="9" width="1" height="1" fill="#394A50" />
+<rect x="14" y="9" width="1" height="1" fill="#394A50" />
+<rect x="15" y="9" width="1" height="1" fill="#394A50" />
+<rect x="16" y="9" width="1" height="1" fill="#394A50" />
+<rect x="17" y="9" width="1" height="1" fill="#394A50" />
+<rect x="18" y="9" width="1" height="1" fill="#75A743" />
+<rect x="19" y="9" width="1" height="1" fill="#75A743" />
+<rect x="20" y="9" width="1" height="1" fill="#75A743" />
+<rect x="21" y="9" width="1" height="1" fill="#75A743" />
+<rect x="22" y="9" width="1" height="1" fill="#75A743" />
+<rect x="23" y="9" width="1" height="1" fill="#75A743" />
+<rect x="24" y="9" width="1" height="1" fill="#75A743" />
+<rect x="25" y="9" width="1" height="1" fill="#75A743" />
+<rect x="26" y="9" width="1" height="1" fill="#75A743" />
+<rect x="27" y="9" width="1" height="1" fill="#75A743" />
+<rect x="28" y="9" width="1" height="1" fill="#75A743" />
+<rect x="29" y="9" width="1" height="1" fill="#75A743" />
+<rect x="30" y="9" width="1" height="1" fill="#75A743" />
+<rect x="31" y="9" width="1" height="1" fill="#75A743" />
+<rect x="32" y="9" width="1" height="1" fill="#75A743" />
+<rect x="33" y="9" width="1" height="1" fill="#75A743" />
+<rect x="34" y="9" width="1" height="1" fill="#75A743" />
+<rect x="35" y="9" width="1" height="1" fill="#75A743" />
+<rect x="36" y="9" width="1" height="1" fill="#75A743" />
+<rect x="37" y="9" width="1" height="1" fill="#75A743" />
+<rect x="38" y="9" width="1" height="1" fill="#75A743" />
+<rect x="39" y="9" width="1" height="1" fill="#589235" />
+<rect x="40" y="9" width="1" height="1" fill="#589235" />
+<rect x="41" y="9" width="1" height="1" fill="#75A743" />
+<rect x="42" y="9" width="1" height="1" fill="#75A743" />
+<rect x="43" y="9" width="1" height="1" fill="#75A743" />
+<rect x="44" y="9" width="1" height="1" fill="#75A743" />
+<rect x="45" y="9" width="1" height="1" fill="#589235" />
+<rect x="46" y="9" width="1" height="1" fill="#589235" />
+<rect x="47" y="9" width="1" height="1" fill="#589235" />
+<rect x="0" y="10" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="10" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="10" width="1" height="1" fill="#394A50" />
+<rect x="3" y="10" width="1" height="1" fill="#394A50" />
+<rect x="4" y="10" width="1" height="1" fill="#394A50" />
+<rect x="5" y="10" width="1" height="1" fill="#394A50" />
+<rect x="6" y="10" width="1" height="1" fill="#394A50" />
+<rect x="7" y="10" width="1" height="1" fill="#394A50" />
+<rect x="8" y="10" width="1" height="1" fill="#394A50" />
+<rect x="9" y="10" width="1" height="1" fill="#75A743" />
+<rect x="10" y="10" width="1" height="1" fill="#75A743" />
+<rect x="11" y="10" width="1" height="1" fill="#75A743" />
+<rect x="12" y="10" width="1" height="1" fill="#75A743" />
+<rect x="13" y="10" width="1" height="1" fill="#394A50" />
+<rect x="14" y="10" width="1" height="1" fill="#394A50" />
+<rect x="15" y="10" width="1" height="1" fill="#394A50" />
+<rect x="16" y="10" width="1" height="1" fill="#394A50" />
+<rect x="17" y="10" width="1" height="1" fill="#394A50" />
+<rect x="18" y="10" width="1" height="1" fill="#394A50" />
+<rect x="19" y="10" width="1" height="1" fill="#394A50" />
+<rect x="20" y="10" width="1" height="1" fill="#75A743" />
+<rect x="21" y="10" width="1" height="1" fill="#75A743" />
+<rect x="22" y="10" width="1" height="1" fill="#75A743" />
+<rect x="23" y="10" width="1" height="1" fill="#75A743" />
+<rect x="24" y="10" width="1" height="1" fill="#75A743" />
+<rect x="25" y="10" width="1" height="1" fill="#75A743" />
+<rect x="26" y="10" width="1" height="1" fill="#75A743" />
+<rect x="27" y="10" width="1" height="1" fill="#75A743" />
+<rect x="28" y="10" width="1" height="1" fill="#75A743" />
+<rect x="29" y="10" width="1" height="1" fill="#75A743" />
+<rect x="30" y="10" width="1" height="1" fill="#75A743" />
+<rect x="31" y="10" width="1" height="1" fill="#75A743" />
+<rect x="32" y="10" width="1" height="1" fill="#75A743" />
+<rect x="33" y="10" width="1" height="1" fill="#75A743" />
+<rect x="34" y="10" width="1" height="1" fill="#75A743" />
+<rect x="35" y="10" width="1" height="1" fill="#75A743" />
+<rect x="36" y="10" width="1" height="1" fill="#75A743" />
+<rect x="37" y="10" width="1" height="1" fill="#75A743" />
+<rect x="38" y="10" width="1" height="1" fill="#75A743" />
+<rect x="39" y="10" width="1" height="1" fill="#75A743" />
+<rect x="40" y="10" width="1" height="1" fill="#589235" />
+<rect x="41" y="10" width="1" height="1" fill="#75A743" />
+<rect x="42" y="10" width="1" height="1" fill="#75A743" />
+<rect x="43" y="10" width="1" height="1" fill="#75A743" />
+<rect x="44" y="10" width="1" height="1" fill="#75A743" />
+<rect x="45" y="10" width="1" height="1" fill="#75A743" />
+<rect x="46" y="10" width="1" height="1" fill="#589235" />
+<rect x="47" y="10" width="1" height="1" fill="#589235" />
+<rect x="0" y="11" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="11" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="11" width="1" height="1" fill="#394A50" />
+<rect x="3" y="11" width="1" height="1" fill="#394A50" />
+<rect x="4" y="11" width="1" height="1" fill="#394A50" />
+<rect x="5" y="11" width="1" height="1" fill="#394A50" />
+<rect x="6" y="11" width="1" height="1" fill="#394A50" />
+<rect x="7" y="11" width="1" height="1" fill="#394A50" />
+<rect x="8" y="11" width="1" height="1" fill="#75A743" />
+<rect x="9" y="11" width="1" height="1" fill="#75A743" />
+<rect x="10" y="11" width="1" height="1" fill="#394A50" />
+<rect x="11" y="11" width="1" height="1" fill="#394A50" />
+<rect x="12" y="11" width="1" height="1" fill="#75A743" />
+<rect x="13" y="11" width="1" height="1" fill="#394A50" />
+<rect x="14" y="11" width="1" height="1" fill="#394A50" />
+<rect x="15" y="11" width="1" height="1" fill="#394A50" />
+<rect x="16" y="11" width="1" height="1" fill="#394A50" />
+<rect x="17" y="11" width="1" height="1" fill="#394A50" />
+<rect x="18" y="11" width="1" height="1" fill="#394A50" />
+<rect x="19" y="11" width="1" height="1" fill="#394A50" />
+<rect x="20" y="11" width="1" height="1" fill="#394A50" />
+<rect x="21" y="11" width="1" height="1" fill="#394A50" />
+<rect x="22" y="11" width="1" height="1" fill="#75A743" />
+<rect x="23" y="11" width="1" height="1" fill="#75A743" />
+<rect x="24" y="11" width="1" height="1" fill="#75A743" />
+<rect x="25" y="11" width="1" height="1" fill="#75A743" />
+<rect x="26" y="11" width="1" height="1" fill="#75A743" />
+<rect x="27" y="11" width="1" height="1" fill="#75A743" />
+<rect x="28" y="11" width="1" height="1" fill="#75A743" />
+<rect x="29" y="11" width="1" height="1" fill="#75A743" />
+<rect x="30" y="11" width="1" height="1" fill="#75A743" />
+<rect x="31" y="11" width="1" height="1" fill="#75A743" />
+<rect x="32" y="11" width="1" height="1" fill="#75A743" />
+<rect x="33" y="11" width="1" height="1" fill="#75A743" />
+<rect x="34" y="11" width="1" height="1" fill="#75A743" />
+<rect x="35" y="11" width="1" height="1" fill="#75A743" />
+<rect x="36" y="11" width="1" height="1" fill="#75A743" />
+<rect x="37" y="11" width="1" height="1" fill="#75A743" />
+<rect x="38" y="11" width="1" height="1" fill="#75A743" />
+<rect x="39" y="11" width="1" height="1" fill="#75A743" />
+<rect x="40" y="11" width="1" height="1" fill="#589235" />
+<rect x="41" y="11" width="1" height="1" fill="#75A743" />
+<rect x="42" y="11" width="1" height="1" fill="#75A743" />
+<rect x="43" y="11" width="1" height="1" fill="#75A743" />
+<rect x="44" y="11" width="1" height="1" fill="#75A743" />
+<rect x="45" y="11" width="1" height="1" fill="#75A743" />
+<rect x="46" y="11" width="1" height="1" fill="#589235" />
+<rect x="47" y="11" width="1" height="1" fill="#589235" />
+<rect x="0" y="12" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="12" width="1" height="1" fill="#394A50" />
+<rect x="2" y="12" width="1" height="1" fill="#394A50" />
+<rect x="3" y="12" width="1" height="1" fill="#394A50" />
+<rect x="4" y="12" width="1" height="1" fill="#394A50" />
+<rect x="5" y="12" width="1" height="1" fill="#394A50" />
+<rect x="6" y="12" width="1" height="1" fill="#394A50" />
+<rect x="7" y="12" width="1" height="1" fill="#75A743" />
+<rect x="8" y="12" width="1" height="1" fill="#75A743" />
+<rect x="9" y="12" width="1" height="1" fill="#394A50" />
+<rect x="10" y="12" width="1" height="1" fill="#394A50" />
+<rect x="11" y="12" width="1" height="1" fill="#394A50" />
+<rect x="12" y="12" width="1" height="1" fill="#394A50" />
+<rect x="13" y="12" width="1" height="1" fill="#394A50" />
+<rect x="14" y="12" width="1" height="1" fill="#394A50" />
+<rect x="15" y="12" width="1" height="1" fill="#75A743" />
+<rect x="16" y="12" width="1" height="1" fill="#75A743" />
+<rect x="17" y="12" width="1" height="1" fill="#394A50" />
+<rect x="18" y="12" width="1" height="1" fill="#394A50" />
+<rect x="19" y="12" width="1" height="1" fill="#394A50" />
+<rect x="20" y="12" width="1" height="1" fill="#394A50" />
+<rect x="21" y="12" width="1" height="1" fill="#394A50" />
+<rect x="22" y="12" width="1" height="1" fill="#394A50" />
+<rect x="23" y="12" width="1" height="1" fill="#394A50" />
+<rect x="24" y="12" width="1" height="1" fill="#75A743" />
+<rect x="25" y="12" width="1" height="1" fill="#75A743" />
+<rect x="26" y="12" width="1" height="1" fill="#75A743" />
+<rect x="27" y="12" width="1" height="1" fill="#75A743" />
+<rect x="28" y="12" width="1" height="1" fill="#75A743" />
+<rect x="29" y="12" width="1" height="1" fill="#75A743" />
+<rect x="30" y="12" width="1" height="1" fill="#75A743" />
+<rect x="31" y="12" width="1" height="1" fill="#75A743" />
+<rect x="32" y="12" width="1" height="1" fill="#75A743" />
+<rect x="33" y="12" width="1" height="1" fill="#75A743" />
+<rect x="34" y="12" width="1" height="1" fill="#75A743" />
+<rect x="35" y="12" width="1" height="1" fill="#75A743" />
+<rect x="36" y="12" width="1" height="1" fill="#75A743" />
+<rect x="37" y="12" width="1" height="1" fill="#75A743" />
+<rect x="38" y="12" width="1" height="1" fill="#75A743" />
+<rect x="39" y="12" width="1" height="1" fill="#75A743" />
+<rect x="40" y="12" width="1" height="1" fill="#75A743" />
+<rect x="41" y="12" width="1" height="1" fill="#75A743" />
+<rect x="42" y="12" width="1" height="1" fill="#75A743" />
+<rect x="43" y="12" width="1" height="1" fill="#75A743" />
+<rect x="44" y="12" width="1" height="1" fill="#75A743" />
+<rect x="45" y="12" width="1" height="1" fill="#75A743" />
+<rect x="46" y="12" width="1" height="1" fill="#589235" />
+<rect x="47" y="12" width="1" height="1" fill="#589235" />
+<rect x="0" y="13" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="13" width="1" height="1" fill="#394A50" />
+<rect x="2" y="13" width="1" height="1" fill="#394A50" />
+<rect x="3" y="13" width="1" height="1" fill="#394A50" />
+<rect x="4" y="13" width="1" height="1" fill="#394A50" />
+<rect x="5" y="13" width="1" height="1" fill="#394A50" />
+<rect x="6" y="13" width="1" height="1" fill="#394A50" />
+<rect x="7" y="13" width="1" height="1" fill="#75A743" />
+<rect x="8" y="13" width="1" height="1" fill="#75A743" />
+<rect x="9" y="13" width="1" height="1" fill="#394A50" />
+<rect x="10" y="13" width="1" height="1" fill="#394A50" />
+<rect x="11" y="13" width="1" height="1" fill="#394A50" />
+<rect x="12" y="13" width="1" height="1" fill="#394A50" />
+<rect x="13" y="13" width="1" height="1" fill="#394A50" />
+<rect x="14" y="13" width="1" height="1" fill="#394A50" />
+<rect x="15" y="13" width="1" height="1" fill="#75A743" />
+<rect x="16" y="13" width="1" height="1" fill="#75A743" />
+<rect x="17" y="13" width="1" height="1" fill="#394A50" />
+<rect x="18" y="13" width="1" height="1" fill="#394A50" />
+<rect x="19" y="13" width="1" height="1" fill="#394A50" />
+<rect x="20" y="13" width="1" height="1" fill="#394A50" />
+<rect x="21" y="13" width="1" height="1" fill="#394A50" />
+<rect x="22" y="13" width="1" height="1" fill="#394A50" />
+<rect x="23" y="13" width="1" height="1" fill="#394A50" />
+<rect x="24" y="13" width="1" height="1" fill="#394A50" />
+<rect x="25" y="13" width="1" height="1" fill="#394A50" />
+<rect x="26" y="13" width="1" height="1" fill="#75A743" />
+<rect x="27" y="13" width="1" height="1" fill="#75A743" />
+<rect x="28" y="13" width="1" height="1" fill="#75A743" />
+<rect x="29" y="13" width="1" height="1" fill="#75A743" />
+<rect x="30" y="13" width="1" height="1" fill="#75A743" />
+<rect x="31" y="13" width="1" height="1" fill="#75A743" />
+<rect x="32" y="13" width="1" height="1" fill="#75A743" />
+<rect x="33" y="13" width="1" height="1" fill="#75A743" />
+<rect x="34" y="13" width="1" height="1" fill="#75A743" />
+<rect x="35" y="13" width="1" height="1" fill="#75A743" />
+<rect x="36" y="13" width="1" height="1" fill="#75A743" />
+<rect x="37" y="13" width="1" height="1" fill="#75A743" />
+<rect x="38" y="13" width="1" height="1" fill="#75A743" />
+<rect x="39" y="13" width="1" height="1" fill="#75A743" />
+<rect x="40" y="13" width="1" height="1" fill="#75A743" />
+<rect x="41" y="13" width="1" height="1" fill="#75A743" />
+<rect x="42" y="13" width="1" height="1" fill="#75A743" />
+<rect x="43" y="13" width="1" height="1" fill="#75A743" />
+<rect x="44" y="13" width="1" height="1" fill="#75A743" />
+<rect x="45" y="13" width="1" height="1" fill="#75A743" />
+<rect x="46" y="13" width="1" height="1" fill="#589235" />
+<rect x="47" y="13" width="1" height="1" fill="#589235" />
+<rect x="0" y="14" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="14" width="1" height="1" fill="#394A50" />
+<rect x="2" y="14" width="1" height="1" fill="#394A50" />
+<rect x="3" y="14" width="1" height="1" fill="#394A50" />
+<rect x="4" y="14" width="1" height="1" fill="#394A50" />
+<rect x="5" y="14" width="1" height="1" fill="#394A50" />
+<rect x="6" y="14" width="1" height="1" fill="#75A743" />
+<rect x="7" y="14" width="1" height="1" fill="#75A743" />
+<rect x="8" y="14" width="1" height="1" fill="#394A50" />
+<rect x="9" y="14" width="1" height="1" fill="#394A50" />
+<rect x="10" y="14" width="1" height="1" fill="#394A50" />
+<rect x="11" y="14" width="1" height="1" fill="#394A50" />
+<rect x="12" y="14" width="1" height="1" fill="#394A50" />
+<rect x="13" y="14" width="1" height="1" fill="#394A50" />
+<rect x="14" y="14" width="1" height="1" fill="#394A50" />
+<rect x="15" y="14" width="1" height="1" fill="#75A743" />
+<rect x="16" y="14" width="1" height="1" fill="#75A743" />
+<rect x="17" y="14" width="1" height="1" fill="#394A50" />
+<rect x="18" y="14" width="1" height="1" fill="#394A50" />
+<rect x="19" y="14" width="1" height="1" fill="#394A50" />
+<rect x="20" y="14" width="1" height="1" fill="#394A50" />
+<rect x="21" y="14" width="1" height="1" fill="#394A50" />
+<rect x="22" y="14" width="1" height="1" fill="#394A50" />
+<rect x="23" y="14" width="1" height="1" fill="#394A50" />
+<rect x="24" y="14" width="1" height="1" fill="#394A50" />
+<rect x="25" y="14" width="1" height="1" fill="#394A50" />
+<rect x="26" y="14" width="1" height="1" fill="#394A50" />
+<rect x="27" y="14" width="1" height="1" fill="#394A50" />
+<rect x="28" y="14" width="1" height="1" fill="#75A743" />
+<rect x="29" y="14" width="1" height="1" fill="#75A743" />
+<rect x="30" y="14" width="1" height="1" fill="#75A743" />
+<rect x="31" y="14" width="1" height="1" fill="#75A743" />
+<rect x="32" y="14" width="1" height="1" fill="#75A743" />
+<rect x="33" y="14" width="1" height="1" fill="#75A743" />
+<rect x="34" y="14" width="1" height="1" fill="#75A743" />
+<rect x="35" y="14" width="1" height="1" fill="#75A743" />
+<rect x="36" y="14" width="1" height="1" fill="#75A743" />
+<rect x="37" y="14" width="1" height="1" fill="#75A743" />
+<rect x="38" y="14" width="1" height="1" fill="#75A743" />
+<rect x="39" y="14" width="1" height="1" fill="#75A743" />
+<rect x="40" y="14" width="1" height="1" fill="#75A743" />
+<rect x="41" y="14" width="1" height="1" fill="#75A743" />
+<rect x="42" y="14" width="1" height="1" fill="#75A743" />
+<rect x="43" y="14" width="1" height="1" fill="#75A743" />
+<rect x="44" y="14" width="1" height="1" fill="#75A743" />
+<rect x="45" y="14" width="1" height="1" fill="#75A743" />
+<rect x="46" y="14" width="1" height="1" fill="#589235" />
+<rect x="47" y="14" width="1" height="1" fill="#589235" />
+<rect x="0" y="15" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="15" width="1" height="1" fill="#394A50" />
+<rect x="2" y="15" width="1" height="1" fill="#394A50" />
+<rect x="3" y="15" width="1" height="1" fill="#394A50" />
+<rect x="4" y="15" width="1" height="1" fill="#394A50" />
+<rect x="5" y="15" width="1" height="1" fill="#394A50" />
+<rect x="6" y="15" width="1" height="1" fill="#75A743" />
+<rect x="7" y="15" width="1" height="1" fill="#75A743" />
+<rect x="8" y="15" width="1" height="1" fill="#394A50" />
+<rect x="9" y="15" width="1" height="1" fill="#394A50" />
+<rect x="10" y="15" width="1" height="1" fill="#394A50" />
+<rect x="11" y="15" width="1" height="1" fill="#394A50" />
+<rect x="12" y="15" width="1" height="1" fill="#75A743" />
+<rect x="13" y="15" width="1" height="1" fill="#75A743" />
+<rect x="14" y="15" width="1" height="1" fill="#75A743" />
+<rect x="15" y="15" width="1" height="1" fill="#75A743" />
+<rect x="16" y="15" width="1" height="1" fill="#75A743" />
+<rect x="17" y="15" width="1" height="1" fill="#75A743" />
+<rect x="18" y="15" width="1" height="1" fill="#75A743" />
+<rect x="19" y="15" width="1" height="1" fill="#75A743" />
+<rect x="20" y="15" width="1" height="1" fill="#394A50" />
+<rect x="21" y="15" width="1" height="1" fill="#394A50" />
+<rect x="22" y="15" width="1" height="1" fill="#394A50" />
+<rect x="23" y="15" width="1" height="1" fill="#394A50" />
+<rect x="24" y="15" width="1" height="1" fill="#394A50" />
+<rect x="25" y="15" width="1" height="1" fill="#394A50" />
+<rect x="26" y="15" width="1" height="1" fill="#394A50" />
+<rect x="27" y="15" width="1" height="1" fill="#394A50" />
+<rect x="28" y="15" width="1" height="1" fill="#394A50" />
+<rect x="29" y="15" width="1" height="1" fill="#394A50" />
+<rect x="30" y="15" width="1" height="1" fill="#75A743" />
+<rect x="31" y="15" width="1" height="1" fill="#75A743" />
+<rect x="32" y="15" width="1" height="1" fill="#75A743" />
+<rect x="33" y="15" width="1" height="1" fill="#75A743" />
+<rect x="34" y="15" width="1" height="1" fill="#75A743" />
+<rect x="35" y="15" width="1" height="1" fill="#75A743" />
+<rect x="36" y="15" width="1" height="1" fill="#75A743" />
+<rect x="37" y="15" width="1" height="1" fill="#75A743" />
+<rect x="38" y="15" width="1" height="1" fill="#75A743" />
+<rect x="39" y="15" width="1" height="1" fill="#75A743" />
+<rect x="40" y="15" width="1" height="1" fill="#75A743" />
+<rect x="41" y="15" width="1" height="1" fill="#75A743" />
+<rect x="42" y="15" width="1" height="1" fill="#75A743" />
+<rect x="43" y="15" width="1" height="1" fill="#75A743" />
+<rect x="44" y="15" width="1" height="1" fill="#75A743" />
+<rect x="45" y="15" width="1" height="1" fill="#75A743" />
+<rect x="46" y="15" width="1" height="1" fill="#589235" />
+<rect x="47" y="15" width="1" height="1" fill="#589235" />
+<rect x="0" y="16" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="16" width="1" height="1" fill="#394A50" />
+<rect x="2" y="16" width="1" height="1" fill="#394A50" />
+<rect x="3" y="16" width="1" height="1" fill="#394A50" />
+<rect x="4" y="16" width="1" height="1" fill="#394A50" />
+<rect x="5" y="16" width="1" height="1" fill="#394A50" />
+<rect x="6" y="16" width="1" height="1" fill="#75A743" />
+<rect x="7" y="16" width="1" height="1" fill="#75A743" />
+<rect x="8" y="16" width="1" height="1" fill="#394A50" />
+<rect x="9" y="16" width="1" height="1" fill="#394A50" />
+<rect x="10" y="16" width="1" height="1" fill="#394A50" />
+<rect x="11" y="16" width="1" height="1" fill="#394A50" />
+<rect x="12" y="16" width="1" height="1" fill="#75A743" />
+<rect x="13" y="16" width="1" height="1" fill="#75A743" />
+<rect x="14" y="16" width="1" height="1" fill="#75A743" />
+<rect x="15" y="16" width="1" height="1" fill="#75A743" />
+<rect x="16" y="16" width="1" height="1" fill="#75A743" />
+<rect x="17" y="16" width="1" height="1" fill="#75A743" />
+<rect x="18" y="16" width="1" height="1" fill="#75A743" />
+<rect x="19" y="16" width="1" height="1" fill="#75A743" />
+<rect x="20" y="16" width="1" height="1" fill="#394A50" />
+<rect x="21" y="16" width="1" height="1" fill="#394A50" />
+<rect x="22" y="16" width="1" height="1" fill="#394A50" />
+<rect x="23" y="16" width="1" height="1" fill="#394A50" />
+<rect x="24" y="16" width="1" height="1" fill="#394A50" />
+<rect x="25" y="16" width="1" height="1" fill="#394A50" />
+<rect x="26" y="16" width="1" height="1" fill="#394A50" />
+<rect x="27" y="16" width="1" height="1" fill="#394A50" />
+<rect x="28" y="16" width="1" height="1" fill="#394A50" />
+<rect x="29" y="16" width="1" height="1" fill="#394A50" />
+<rect x="30" y="16" width="1" height="1" fill="#468232" />
+<rect x="31" y="16" width="1" height="1" fill="#468232" />
+<rect x="32" y="16" width="1" height="1" fill="#468232" />
+<rect x="33" y="16" width="1" height="1" fill="#468232" />
+<rect x="34" y="16" width="1" height="1" fill="#468232" />
+<rect x="35" y="16" width="1" height="1" fill="#468232" />
+<rect x="36" y="16" width="1" height="1" fill="#468232" />
+<rect x="37" y="16" width="1" height="1" fill="#468232" />
+<rect x="38" y="16" width="1" height="1" fill="#468232" />
+<rect x="39" y="16" width="1" height="1" fill="#468232" />
+<rect x="40" y="16" width="1" height="1" fill="#468232" />
+<rect x="41" y="16" width="1" height="1" fill="#468232" />
+<rect x="42" y="16" width="1" height="1" fill="#468232" />
+<rect x="43" y="16" width="1" height="1" fill="#468232" />
+<rect x="44" y="16" width="1" height="1" fill="#468232" />
+<rect x="45" y="16" width="1" height="1" fill="#468232" />
+<rect x="46" y="16" width="1" height="1" fill="#356427" />
+<rect x="47" y="16" width="1" height="1" fill="#356427" />
+<rect x="0" y="17" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="17" width="1" height="1" fill="#394A50" />
+<rect x="2" y="17" width="1" height="1" fill="#394A50" />
+<rect x="3" y="17" width="1" height="1" fill="#394A50" />
+<rect x="4" y="17" width="1" height="1" fill="#394A50" />
+<rect x="5" y="17" width="1" height="1" fill="#394A50" />
+<rect x="6" y="17" width="1" height="1" fill="#75A743" />
+<rect x="7" y="17" width="1" height="1" fill="#75A743" />
+<rect x="8" y="17" width="1" height="1" fill="#394A50" />
+<rect x="9" y="17" width="1" height="1" fill="#394A50" />
+<rect x="10" y="17" width="1" height="1" fill="#394A50" />
+<rect x="11" y="17" width="1" height="1" fill="#394A50" />
+<rect x="12" y="17" width="1" height="1" fill="#394A50" />
+<rect x="13" y="17" width="1" height="1" fill="#394A50" />
+<rect x="14" y="17" width="1" height="1" fill="#394A50" />
+<rect x="15" y="17" width="1" height="1" fill="#75A743" />
+<rect x="16" y="17" width="1" height="1" fill="#75A743" />
+<rect x="17" y="17" width="1" height="1" fill="#394A50" />
+<rect x="18" y="17" width="1" height="1" fill="#394A50" />
+<rect x="19" y="17" width="1" height="1" fill="#394A50" />
+<rect x="20" y="17" width="1" height="1" fill="#394A50" />
+<rect x="21" y="17" width="1" height="1" fill="#394A50" />
+<rect x="22" y="17" width="1" height="1" fill="#394A50" />
+<rect x="23" y="17" width="1" height="1" fill="#394A50" />
+<rect x="24" y="17" width="1" height="1" fill="#394A50" />
+<rect x="25" y="17" width="1" height="1" fill="#394A50" />
+<rect x="26" y="17" width="1" height="1" fill="#394A50" />
+<rect x="27" y="17" width="1" height="1" fill="#394A50" />
+<rect x="28" y="17" width="1" height="1" fill="#468232" />
+<rect x="29" y="17" width="1" height="1" fill="#468232" />
+<rect x="30" y="17" width="1" height="1" fill="#468232" />
+<rect x="31" y="17" width="1" height="1" fill="#468232" />
+<rect x="32" y="17" width="1" height="1" fill="#468232" />
+<rect x="33" y="17" width="1" height="1" fill="#468232" />
+<rect x="34" y="17" width="1" height="1" fill="#468232" />
+<rect x="35" y="17" width="1" height="1" fill="#468232" />
+<rect x="36" y="17" width="1" height="1" fill="#468232" />
+<rect x="37" y="17" width="1" height="1" fill="#468232" />
+<rect x="38" y="17" width="1" height="1" fill="#468232" />
+<rect x="39" y="17" width="1" height="1" fill="#468232" />
+<rect x="40" y="17" width="1" height="1" fill="#468232" />
+<rect x="41" y="17" width="1" height="1" fill="#468232" />
+<rect x="42" y="17" width="1" height="1" fill="#468232" />
+<rect x="43" y="17" width="1" height="1" fill="#468232" />
+<rect x="44" y="17" width="1" height="1" fill="#468232" />
+<rect x="45" y="17" width="1" height="1" fill="#356427" />
+<rect x="46" y="17" width="1" height="1" fill="#356427" />
+<rect x="47" y="17" width="1" height="1" fill="#356427" />
+<rect x="0" y="18" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="18" width="1" height="1" fill="#394A50" />
+<rect x="2" y="18" width="1" height="1" fill="#394A50" />
+<rect x="3" y="18" width="1" height="1" fill="#394A50" />
+<rect x="4" y="18" width="1" height="1" fill="#394A50" />
+<rect x="5" y="18" width="1" height="1" fill="#394A50" />
+<rect x="6" y="18" width="1" height="1" fill="#394A50" />
+<rect x="7" y="18" width="1" height="1" fill="#75A743" />
+<rect x="8" y="18" width="1" height="1" fill="#75A743" />
+<rect x="9" y="18" width="1" height="1" fill="#394A50" />
+<rect x="10" y="18" width="1" height="1" fill="#394A50" />
+<rect x="11" y="18" width="1" height="1" fill="#394A50" />
+<rect x="12" y="18" width="1" height="1" fill="#394A50" />
+<rect x="13" y="18" width="1" height="1" fill="#394A50" />
+<rect x="14" y="18" width="1" height="1" fill="#394A50" />
+<rect x="15" y="18" width="1" height="1" fill="#75A743" />
+<rect x="16" y="18" width="1" height="1" fill="#75A743" />
+<rect x="17" y="18" width="1" height="1" fill="#394A50" />
+<rect x="18" y="18" width="1" height="1" fill="#394A50" />
+<rect x="19" y="18" width="1" height="1" fill="#394A50" />
+<rect x="20" y="18" width="1" height="1" fill="#394A50" />
+<rect x="21" y="18" width="1" height="1" fill="#394A50" />
+<rect x="22" y="18" width="1" height="1" fill="#394A50" />
+<rect x="23" y="18" width="1" height="1" fill="#394A50" />
+<rect x="24" y="18" width="1" height="1" fill="#394A50" />
+<rect x="25" y="18" width="1" height="1" fill="#394A50" />
+<rect x="26" y="18" width="1" height="1" fill="#468232" />
+<rect x="27" y="18" width="1" height="1" fill="#468232" />
+<rect x="28" y="18" width="1" height="1" fill="#468232" />
+<rect x="29" y="18" width="1" height="1" fill="#468232" />
+<rect x="30" y="18" width="1" height="1" fill="#468232" />
+<rect x="31" y="18" width="1" height="1" fill="#468232" />
+<rect x="32" y="18" width="1" height="1" fill="#468232" />
+<rect x="33" y="18" width="1" height="1" fill="#468232" />
+<rect x="34" y="18" width="1" height="1" fill="#468232" />
+<rect x="35" y="18" width="1" height="1" fill="#468232" />
+<rect x="36" y="18" width="1" height="1" fill="#468232" />
+<rect x="37" y="18" width="1" height="1" fill="#468232" />
+<rect x="38" y="18" width="1" height="1" fill="#468232" />
+<rect x="39" y="18" width="1" height="1" fill="#468232" />
+<rect x="40" y="18" width="1" height="1" fill="#468232" />
+<rect x="41" y="18" width="1" height="1" fill="#468232" />
+<rect x="42" y="18" width="1" height="1" fill="#468232" />
+<rect x="43" y="18" width="1" height="1" fill="#468232" />
+<rect x="44" y="18" width="1" height="1" fill="#468232" />
+<rect x="45" y="18" width="1" height="1" fill="#356427" />
+<rect x="46" y="18" width="1" height="1" fill="#356427" />
+<rect x="47" y="18" width="1" height="1" fill="#356427" />
+<rect x="0" y="19" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="19" width="1" height="1" fill="#394A50" />
+<rect x="2" y="19" width="1" height="1" fill="#394A50" />
+<rect x="3" y="19" width="1" height="1" fill="#394A50" />
+<rect x="4" y="19" width="1" height="1" fill="#394A50" />
+<rect x="5" y="19" width="1" height="1" fill="#394A50" />
+<rect x="6" y="19" width="1" height="1" fill="#394A50" />
+<rect x="7" y="19" width="1" height="1" fill="#75A743" />
+<rect x="8" y="19" width="1" height="1" fill="#75A743" />
+<rect x="9" y="19" width="1" height="1" fill="#394A50" />
+<rect x="10" y="19" width="1" height="1" fill="#394A50" />
+<rect x="11" y="19" width="1" height="1" fill="#394A50" />
+<rect x="12" y="19" width="1" height="1" fill="#394A50" />
+<rect x="13" y="19" width="1" height="1" fill="#394A50" />
+<rect x="14" y="19" width="1" height="1" fill="#394A50" />
+<rect x="15" y="19" width="1" height="1" fill="#75A743" />
+<rect x="16" y="19" width="1" height="1" fill="#75A743" />
+<rect x="17" y="19" width="1" height="1" fill="#394A50" />
+<rect x="18" y="19" width="1" height="1" fill="#394A50" />
+<rect x="19" y="19" width="1" height="1" fill="#394A50" />
+<rect x="20" y="19" width="1" height="1" fill="#394A50" />
+<rect x="21" y="19" width="1" height="1" fill="#394A50" />
+<rect x="22" y="19" width="1" height="1" fill="#394A50" />
+<rect x="23" y="19" width="1" height="1" fill="#394A50" />
+<rect x="24" y="19" width="1" height="1" fill="#468232" />
+<rect x="25" y="19" width="1" height="1" fill="#468232" />
+<rect x="26" y="19" width="1" height="1" fill="#468232" />
+<rect x="27" y="19" width="1" height="1" fill="#468232" />
+<rect x="28" y="19" width="1" height="1" fill="#468232" />
+<rect x="29" y="19" width="1" height="1" fill="#468232" />
+<rect x="30" y="19" width="1" height="1" fill="#468232" />
+<rect x="31" y="19" width="1" height="1" fill="#468232" />
+<rect x="32" y="19" width="1" height="1" fill="#468232" />
+<rect x="33" y="19" width="1" height="1" fill="#468232" />
+<rect x="34" y="19" width="1" height="1" fill="#468232" />
+<rect x="35" y="19" width="1" height="1" fill="#468232" />
+<rect x="36" y="19" width="1" height="1" fill="#468232" />
+<rect x="37" y="19" width="1" height="1" fill="#468232" />
+<rect x="38" y="19" width="1" height="1" fill="#468232" />
+<rect x="39" y="19" width="1" height="1" fill="#468232" />
+<rect x="40" y="19" width="1" height="1" fill="#468232" />
+<rect x="41" y="19" width="1" height="1" fill="#468232" />
+<rect x="42" y="19" width="1" height="1" fill="#468232" />
+<rect x="43" y="19" width="1" height="1" fill="#468232" />
+<rect x="44" y="19" width="1" height="1" fill="#468232" />
+<rect x="45" y="19" width="1" height="1" fill="#356427" />
+<rect x="46" y="19" width="1" height="1" fill="#356427" />
+<rect x="47" y="19" width="1" height="1" fill="#356427" />
+<rect x="0" y="20" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="20" width="1" height="1" fill="#394A50" />
+<rect x="2" y="20" width="1" height="1" fill="#394A50" />
+<rect x="3" y="20" width="1" height="1" fill="#394A50" />
+<rect x="4" y="20" width="1" height="1" fill="#394A50" />
+<rect x="5" y="20" width="1" height="1" fill="#394A50" />
+<rect x="6" y="20" width="1" height="1" fill="#394A50" />
+<rect x="7" y="20" width="1" height="1" fill="#394A50" />
+<rect x="8" y="20" width="1" height="1" fill="#75A743" />
+<rect x="9" y="20" width="1" height="1" fill="#75A743" />
+<rect x="10" y="20" width="1" height="1" fill="#394A50" />
+<rect x="11" y="20" width="1" height="1" fill="#394A50" />
+<rect x="12" y="20" width="1" height="1" fill="#75A743" />
+<rect x="13" y="20" width="1" height="1" fill="#394A50" />
+<rect x="14" y="20" width="1" height="1" fill="#394A50" />
+<rect x="15" y="20" width="1" height="1" fill="#394A50" />
+<rect x="16" y="20" width="1" height="1" fill="#394A50" />
+<rect x="17" y="20" width="1" height="1" fill="#394A50" />
+<rect x="18" y="20" width="1" height="1" fill="#394A50" />
+<rect x="19" y="20" width="1" height="1" fill="#394A50" />
+<rect x="20" y="20" width="1" height="1" fill="#394A50" />
+<rect x="21" y="20" width="1" height="1" fill="#394A50" />
+<rect x="22" y="20" width="1" height="1" fill="#468232" />
+<rect x="23" y="20" width="1" height="1" fill="#468232" />
+<rect x="24" y="20" width="1" height="1" fill="#468232" />
+<rect x="25" y="20" width="1" height="1" fill="#468232" />
+<rect x="26" y="20" width="1" height="1" fill="#468232" />
+<rect x="27" y="20" width="1" height="1" fill="#468232" />
+<rect x="28" y="20" width="1" height="1" fill="#468232" />
+<rect x="29" y="20" width="1" height="1" fill="#468232" />
+<rect x="30" y="20" width="1" height="1" fill="#468232" />
+<rect x="31" y="20" width="1" height="1" fill="#468232" />
+<rect x="32" y="20" width="1" height="1" fill="#468232" />
+<rect x="33" y="20" width="1" height="1" fill="#468232" />
+<rect x="34" y="20" width="1" height="1" fill="#468232" />
+<rect x="35" y="20" width="1" height="1" fill="#468232" />
+<rect x="36" y="20" width="1" height="1" fill="#468232" />
+<rect x="37" y="20" width="1" height="1" fill="#468232" />
+<rect x="38" y="20" width="1" height="1" fill="#468232" />
+<rect x="39" y="20" width="1" height="1" fill="#468232" />
+<rect x="40" y="20" width="1" height="1" fill="#468232" />
+<rect x="41" y="20" width="1" height="1" fill="#468232" />
+<rect x="42" y="20" width="1" height="1" fill="#468232" />
+<rect x="43" y="20" width="1" height="1" fill="#468232" />
+<rect x="44" y="20" width="1" height="1" fill="#356427" />
+<rect x="45" y="20" width="1" height="1" fill="#356427" />
+<rect x="46" y="20" width="1" height="1" fill="#356427" />
+<rect x="47" y="20" width="1" height="1" fill="#356427" />
+<rect x="0" y="21" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="21" width="1" height="1" fill="#394A50" />
+<rect x="2" y="21" width="1" height="1" fill="#394A50" />
+<rect x="3" y="21" width="1" height="1" fill="#394A50" />
+<rect x="4" y="21" width="1" height="1" fill="#394A50" />
+<rect x="5" y="21" width="1" height="1" fill="#394A50" />
+<rect x="6" y="21" width="1" height="1" fill="#394A50" />
+<rect x="7" y="21" width="1" height="1" fill="#394A50" />
+<rect x="8" y="21" width="1" height="1" fill="#394A50" />
+<rect x="9" y="21" width="1" height="1" fill="#75A743" />
+<rect x="10" y="21" width="1" height="1" fill="#75A743" />
+<rect x="11" y="21" width="1" height="1" fill="#75A743" />
+<rect x="12" y="21" width="1" height="1" fill="#75A743" />
+<rect x="13" y="21" width="1" height="1" fill="#394A50" />
+<rect x="14" y="21" width="1" height="1" fill="#394A50" />
+<rect x="15" y="21" width="1" height="1" fill="#394A50" />
+<rect x="16" y="21" width="1" height="1" fill="#394A50" />
+<rect x="17" y="21" width="1" height="1" fill="#394A50" />
+<rect x="18" y="21" width="1" height="1" fill="#394A50" />
+<rect x="19" y="21" width="1" height="1" fill="#394A50" />
+<rect x="20" y="21" width="1" height="1" fill="#468232" />
+<rect x="21" y="21" width="1" height="1" fill="#468232" />
+<rect x="22" y="21" width="1" height="1" fill="#468232" />
+<rect x="23" y="21" width="1" height="1" fill="#468232" />
+<rect x="24" y="21" width="1" height="1" fill="#468232" />
+<rect x="25" y="21" width="1" height="1" fill="#468232" />
+<rect x="26" y="21" width="1" height="1" fill="#468232" />
+<rect x="27" y="21" width="1" height="1" fill="#468232" />
+<rect x="28" y="21" width="1" height="1" fill="#468232" />
+<rect x="29" y="21" width="1" height="1" fill="#468232" />
+<rect x="30" y="21" width="1" height="1" fill="#468232" />
+<rect x="31" y="21" width="1" height="1" fill="#468232" />
+<rect x="32" y="21" width="1" height="1" fill="#468232" />
+<rect x="33" y="21" width="1" height="1" fill="#468232" />
+<rect x="34" y="21" width="1" height="1" fill="#468232" />
+<rect x="35" y="21" width="1" height="1" fill="#468232" />
+<rect x="36" y="21" width="1" height="1" fill="#468232" />
+<rect x="37" y="21" width="1" height="1" fill="#468232" />
+<rect x="38" y="21" width="1" height="1" fill="#468232" />
+<rect x="39" y="21" width="1" height="1" fill="#468232" />
+<rect x="40" y="21" width="1" height="1" fill="#468232" />
+<rect x="41" y="21" width="1" height="1" fill="#468232" />
+<rect x="42" y="21" width="1" height="1" fill="#468232" />
+<rect x="43" y="21" width="1" height="1" fill="#468232" />
+<rect x="44" y="21" width="1" height="1" fill="#356427" />
+<rect x="45" y="21" width="1" height="1" fill="#468232" />
+<rect x="46" y="21" width="1" height="1" fill="#356427" />
+<rect x="47" y="21" width="1" height="1" fill="#356427" />
+<rect x="0" y="22" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="22" width="1" height="1" fill="#394A50" />
+<rect x="2" y="22" width="1" height="1" fill="#2B383F" />
+<rect x="3" y="22" width="1" height="1" fill="#394A50" />
+<rect x="4" y="22" width="1" height="1" fill="#394A50" />
+<rect x="5" y="22" width="1" height="1" fill="#394A50" />
+<rect x="6" y="22" width="1" height="1" fill="#394A50" />
+<rect x="7" y="22" width="1" height="1" fill="#394A50" />
+<rect x="8" y="22" width="1" height="1" fill="#394A50" />
+<rect x="9" y="22" width="1" height="1" fill="#394A50" />
+<rect x="10" y="22" width="1" height="1" fill="#75A743" />
+<rect x="11" y="22" width="1" height="1" fill="#75A743" />
+<rect x="12" y="22" width="1" height="1" fill="#394A50" />
+<rect x="13" y="22" width="1" height="1" fill="#394A50" />
+<rect x="14" y="22" width="1" height="1" fill="#394A50" />
+<rect x="15" y="22" width="1" height="1" fill="#394A50" />
+<rect x="16" y="22" width="1" height="1" fill="#394A50" />
+<rect x="17" y="22" width="1" height="1" fill="#394A50" />
+<rect x="18" y="22" width="1" height="1" fill="#468232" />
+<rect x="19" y="22" width="1" height="1" fill="#468232" />
+<rect x="20" y="22" width="1" height="1" fill="#468232" />
+<rect x="21" y="22" width="1" height="1" fill="#468232" />
+<rect x="22" y="22" width="1" height="1" fill="#468232" />
+<rect x="23" y="22" width="1" height="1" fill="#468232" />
+<rect x="24" y="22" width="1" height="1" fill="#468232" />
+<rect x="25" y="22" width="1" height="1" fill="#468232" />
+<rect x="26" y="22" width="1" height="1" fill="#468232" />
+<rect x="27" y="22" width="1" height="1" fill="#468232" />
+<rect x="28" y="22" width="1" height="1" fill="#468232" />
+<rect x="29" y="22" width="1" height="1" fill="#468232" />
+<rect x="30" y="22" width="1" height="1" fill="#468232" />
+<rect x="31" y="22" width="1" height="1" fill="#468232" />
+<rect x="32" y="22" width="1" height="1" fill="#468232" />
+<rect x="33" y="22" width="1" height="1" fill="#468232" />
+<rect x="34" y="22" width="1" height="1" fill="#468232" />
+<rect x="35" y="22" width="1" height="1" fill="#468232" />
+<rect x="36" y="22" width="1" height="1" fill="#468232" />
+<rect x="37" y="22" width="1" height="1" fill="#468232" />
+<rect x="38" y="22" width="1" height="1" fill="#468232" />
+<rect x="39" y="22" width="1" height="1" fill="#468232" />
+<rect x="40" y="22" width="1" height="1" fill="#468232" />
+<rect x="41" y="22" width="1" height="1" fill="#468232" />
+<rect x="42" y="22" width="1" height="1" fill="#468232" />
+<rect x="43" y="22" width="1" height="1" fill="#468232" />
+<rect x="44" y="22" width="1" height="1" fill="#468232" />
+<rect x="45" y="22" width="1" height="1" fill="#468232" />
+<rect x="46" y="22" width="1" height="1" fill="#356427" />
+<rect x="47" y="22" width="1" height="1" fill="#356427" />
+<rect x="0" y="23" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="23" width="1" height="1" fill="#394A50" />
+<rect x="2" y="23" width="1" height="1" fill="#2B383F" />
+<rect x="3" y="23" width="1" height="1" fill="#394A50" />
+<rect x="4" y="23" width="1" height="1" fill="#394A50" />
+<rect x="5" y="23" width="1" height="1" fill="#394A50" />
+<rect x="6" y="23" width="1" height="1" fill="#394A50" />
+<rect x="7" y="23" width="1" height="1" fill="#394A50" />
+<rect x="8" y="23" width="1" height="1" fill="#394A50" />
+<rect x="9" y="23" width="1" height="1" fill="#394A50" />
+<rect x="10" y="23" width="1" height="1" fill="#394A50" />
+<rect x="11" y="23" width="1" height="1" fill="#394A50" />
+<rect x="12" y="23" width="1" height="1" fill="#394A50" />
+<rect x="13" y="23" width="1" height="1" fill="#394A50" />
+<rect x="14" y="23" width="1" height="1" fill="#394A50" />
+<rect x="15" y="23" width="1" height="1" fill="#394A50" />
+<rect x="16" y="23" width="1" height="1" fill="#468232" />
+<rect x="17" y="23" width="1" height="1" fill="#468232" />
+<rect x="18" y="23" width="1" height="1" fill="#468232" />
+<rect x="19" y="23" width="1" height="1" fill="#468232" />
+<rect x="20" y="23" width="1" height="1" fill="#468232" />
+<rect x="21" y="23" width="1" height="1" fill="#468232" />
+<rect x="22" y="23" width="1" height="1" fill="#468232" />
+<rect x="23" y="23" width="1" height="1" fill="#468232" />
+<rect x="24" y="23" width="1" height="1" fill="#468232" />
+<rect x="25" y="23" width="1" height="1" fill="#468232" />
+<rect x="26" y="23" width="1" height="1" fill="#468232" />
+<rect x="27" y="23" width="1" height="1" fill="#468232" />
+<rect x="28" y="23" width="1" height="1" fill="#468232" />
+<rect x="29" y="23" width="1" height="1" fill="#468232" />
+<rect x="30" y="23" width="1" height="1" fill="#468232" />
+<rect x="31" y="23" width="1" height="1" fill="#468232" />
+<rect x="32" y="23" width="1" height="1" fill="#468232" />
+<rect x="33" y="23" width="1" height="1" fill="#468232" />
+<rect x="34" y="23" width="1" height="1" fill="#468232" />
+<rect x="35" y="23" width="1" height="1" fill="#468232" />
+<rect x="36" y="23" width="1" height="1" fill="#468232" />
+<rect x="37" y="23" width="1" height="1" fill="#468232" />
+<rect x="38" y="23" width="1" height="1" fill="#468232" />
+<rect x="39" y="23" width="1" height="1" fill="#468232" />
+<rect x="40" y="23" width="1" height="1" fill="#468232" />
+<rect x="41" y="23" width="1" height="1" fill="#468232" />
+<rect x="42" y="23" width="1" height="1" fill="#468232" />
+<rect x="43" y="23" width="1" height="1" fill="#468232" />
+<rect x="44" y="23" width="1" height="1" fill="#468232" />
+<rect x="45" y="23" width="1" height="1" fill="#356427" />
+<rect x="46" y="23" width="1" height="1" fill="#356427" />
+<rect x="47" y="23" width="1" height="1" fill="#356427" />
+<rect x="0" y="24" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="24" width="1" height="1" fill="#394A50" />
+<rect x="2" y="24" width="1" height="1" fill="#2B383F" />
+<rect x="3" y="24" width="1" height="1" fill="#2B383F" />
+<rect x="4" y="24" width="1" height="1" fill="#394A50" />
+<rect x="5" y="24" width="1" height="1" fill="#394A50" />
+<rect x="6" y="24" width="1" height="1" fill="#394A50" />
+<rect x="7" y="24" width="1" height="1" fill="#394A50" />
+<rect x="8" y="24" width="1" height="1" fill="#394A50" />
+<rect x="9" y="24" width="1" height="1" fill="#394A50" />
+<rect x="10" y="24" width="1" height="1" fill="#394A50" />
+<rect x="11" y="24" width="1" height="1" fill="#394A50" />
+<rect x="12" y="24" width="1" height="1" fill="#394A50" />
+<rect x="13" y="24" width="1" height="1" fill="#394A50" />
+<rect x="14" y="24" width="1" height="1" fill="#468232" />
+<rect x="15" y="24" width="1" height="1" fill="#468232" />
+<rect x="16" y="24" width="1" height="1" fill="#468232" />
+<rect x="17" y="24" width="1" height="1" fill="#468232" />
+<rect x="18" y="24" width="1" height="1" fill="#468232" />
+<rect x="19" y="24" width="1" height="1" fill="#468232" />
+<rect x="20" y="24" width="1" height="1" fill="#468232" />
+<rect x="21" y="24" width="1" height="1" fill="#468232" />
+<rect x="22" y="24" width="1" height="1" fill="#468232" />
+<rect x="23" y="24" width="1" height="1" fill="#468232" />
+<rect x="24" y="24" width="1" height="1" fill="#468232" />
+<rect x="25" y="24" width="1" height="1" fill="#468232" />
+<rect x="26" y="24" width="1" height="1" fill="#468232" />
+<rect x="27" y="24" width="1" height="1" fill="#468232" />
+<rect x="28" y="24" width="1" height="1" fill="#468232" />
+<rect x="29" y="24" width="1" height="1" fill="#468232" />
+<rect x="30" y="24" width="1" height="1" fill="#468232" />
+<rect x="31" y="24" width="1" height="1" fill="#468232" />
+<rect x="32" y="24" width="1" height="1" fill="#468232" />
+<rect x="33" y="24" width="1" height="1" fill="#468232" />
+<rect x="34" y="24" width="1" height="1" fill="#468232" />
+<rect x="35" y="24" width="1" height="1" fill="#468232" />
+<rect x="36" y="24" width="1" height="1" fill="#468232" />
+<rect x="37" y="24" width="1" height="1" fill="#468232" />
+<rect x="38" y="24" width="1" height="1" fill="#468232" />
+<rect x="39" y="24" width="1" height="1" fill="#468232" />
+<rect x="40" y="24" width="1" height="1" fill="#468232" />
+<rect x="41" y="24" width="1" height="1" fill="#356427" />
+<rect x="42" y="24" width="1" height="1" fill="#468232" />
+<rect x="43" y="24" width="1" height="1" fill="#468232" />
+<rect x="44" y="24" width="1" height="1" fill="#468232" />
+<rect x="45" y="24" width="1" height="1" fill="#356427" />
+<rect x="46" y="24" width="1" height="1" fill="#356427" />
+<rect x="47" y="24" width="1" height="1" fill="#356427" />
+<rect x="0" y="25" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="25" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="25" width="1" height="1" fill="#2B383F" />
+<rect x="3" y="25" width="1" height="1" fill="#2B383F" />
+<rect x="4" y="25" width="1" height="1" fill="#2B383F" />
+<rect x="5" y="25" width="1" height="1" fill="#394A50" />
+<rect x="6" y="25" width="1" height="1" fill="#394A50" />
+<rect x="7" y="25" width="1" height="1" fill="#394A50" />
+<rect x="8" y="25" width="1" height="1" fill="#394A50" />
+<rect x="9" y="25" width="1" height="1" fill="#394A50" />
+<rect x="10" y="25" width="1" height="1" fill="#394A50" />
+<rect x="11" y="25" width="1" height="1" fill="#394A50" />
+<rect x="12" y="25" width="1" height="1" fill="#468232" />
+<rect x="13" y="25" width="1" height="1" fill="#468232" />
+<rect x="14" y="25" width="1" height="1" fill="#468232" />
+<rect x="15" y="25" width="1" height="1" fill="#468232" />
+<rect x="16" y="25" width="1" height="1" fill="#468232" />
+<rect x="17" y="25" width="1" height="1" fill="#468232" />
+<rect x="18" y="25" width="1" height="1" fill="#468232" />
+<rect x="19" y="25" width="1" height="1" fill="#468232" />
+<rect x="20" y="25" width="1" height="1" fill="#468232" />
+<rect x="21" y="25" width="1" height="1" fill="#468232" />
+<rect x="22" y="25" width="1" height="1" fill="#468232" />
+<rect x="23" y="25" width="1" height="1" fill="#468232" />
+<rect x="24" y="25" width="1" height="1" fill="#468232" />
+<rect x="25" y="25" width="1" height="1" fill="#468232" />
+<rect x="26" y="25" width="1" height="1" fill="#468232" />
+<rect x="27" y="25" width="1" height="1" fill="#468232" />
+<rect x="28" y="25" width="1" height="1" fill="#468232" />
+<rect x="29" y="25" width="1" height="1" fill="#468232" />
+<rect x="30" y="25" width="1" height="1" fill="#468232" />
+<rect x="31" y="25" width="1" height="1" fill="#468232" />
+<rect x="32" y="25" width="1" height="1" fill="#468232" />
+<rect x="33" y="25" width="1" height="1" fill="#468232" />
+<rect x="34" y="25" width="1" height="1" fill="#468232" />
+<rect x="35" y="25" width="1" height="1" fill="#468232" />
+<rect x="36" y="25" width="1" height="1" fill="#468232" />
+<rect x="37" y="25" width="1" height="1" fill="#468232" />
+<rect x="38" y="25" width="1" height="1" fill="#468232" />
+<rect x="39" y="25" width="1" height="1" fill="#356427" />
+<rect x="40" y="25" width="1" height="1" fill="#356427" />
+<rect x="41" y="25" width="1" height="1" fill="#356427" />
+<rect x="42" y="25" width="1" height="1" fill="#468232" />
+<rect x="43" y="25" width="1" height="1" fill="#468232" />
+<rect x="44" y="25" width="1" height="1" fill="#356427" />
+<rect x="45" y="25" width="1" height="1" fill="#356427" />
+<rect x="46" y="25" width="1" height="1" fill="#356427" />
+<rect x="47" y="25" width="1" height="1" fill="#356427" />
+<rect x="0" y="26" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="26" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="26" width="1" height="1" fill="#394A50" />
+<rect x="3" y="26" width="1" height="1" fill="#2B383F" />
+<rect x="4" y="26" width="1" height="1" fill="#2B383F" />
+<rect x="5" y="26" width="1" height="1" fill="#2B383F" />
+<rect x="6" y="26" width="1" height="1" fill="#394A50" />
+<rect x="7" y="26" width="1" height="1" fill="#394A50" />
+<rect x="8" y="26" width="1" height="1" fill="#394A50" />
+<rect x="9" y="26" width="1" height="1" fill="#394A50" />
+<rect x="10" y="26" width="1" height="1" fill="#468232" />
+<rect x="11" y="26" width="1" height="1" fill="#468232" />
+<rect x="12" y="26" width="1" height="1" fill="#468232" />
+<rect x="13" y="26" width="1" height="1" fill="#468232" />
+<rect x="14" y="26" width="1" height="1" fill="#468232" />
+<rect x="15" y="26" width="1" height="1" fill="#468232" />
+<rect x="16" y="26" width="1" height="1" fill="#468232" />
+<rect x="17" y="26" width="1" height="1" fill="#468232" />
+<rect x="18" y="26" width="1" height="1" fill="#468232" />
+<rect x="19" y="26" width="1" height="1" fill="#468232" />
+<rect x="20" y="26" width="1" height="1" fill="#468232" />
+<rect x="21" y="26" width="1" height="1" fill="#468232" />
+<rect x="22" y="26" width="1" height="1" fill="#468232" />
+<rect x="23" y="26" width="1" height="1" fill="#468232" />
+<rect x="24" y="26" width="1" height="1" fill="#468232" />
+<rect x="25" y="26" width="1" height="1" fill="#468232" />
+<rect x="26" y="26" width="1" height="1" fill="#468232" />
+<rect x="27" y="26" width="1" height="1" fill="#468232" />
+<rect x="28" y="26" width="1" height="1" fill="#468232" />
+<rect x="29" y="26" width="1" height="1" fill="#468232" />
+<rect x="30" y="26" width="1" height="1" fill="#468232" />
+<rect x="31" y="26" width="1" height="1" fill="#468232" />
+<rect x="32" y="26" width="1" height="1" fill="#468232" />
+<rect x="33" y="26" width="1" height="1" fill="#468232" />
+<rect x="34" y="26" width="1" height="1" fill="#468232" />
+<rect x="35" y="26" width="1" height="1" fill="#468232" />
+<rect x="36" y="26" width="1" height="1" fill="#468232" />
+<rect x="37" y="26" width="1" height="1" fill="#356427" />
+<rect x="38" y="26" width="1" height="1" fill="#356427" />
+<rect x="39" y="26" width="1" height="1" fill="#356427" />
+<rect x="40" y="26" width="1" height="1" fill="#356427" />
+<rect x="41" y="26" width="1" height="1" fill="#356427" />
+<rect x="42" y="26" width="1" height="1" fill="#356427" />
+<rect x="43" y="26" width="1" height="1" fill="#468232" />
+<rect x="44" y="26" width="1" height="1" fill="#356427" />
+<rect x="45" y="26" width="1" height="1" fill="#356427" />
+<rect x="46" y="26" width="1" height="1" fill="#356427" />
+<rect x="47" y="26" width="1" height="1" fill="#356427" />
+<rect x="0" y="27" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="27" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="27" width="1" height="1" fill="#394A50" />
+<rect x="3" y="27" width="1" height="1" fill="#394A50" />
+<rect x="4" y="27" width="1" height="1" fill="#2B383F" />
+<rect x="5" y="27" width="1" height="1" fill="#2B383F" />
+<rect x="6" y="27" width="1" height="1" fill="#2B383F" />
+<rect x="7" y="27" width="1" height="1" fill="#2B383F" />
+<rect x="8" y="27" width="1" height="1" fill="#468232" />
+<rect x="9" y="27" width="1" height="1" fill="#468232" />
+<rect x="10" y="27" width="1" height="1" fill="#468232" />
+<rect x="11" y="27" width="1" height="1" fill="#468232" />
+<rect x="12" y="27" width="1" height="1" fill="#468232" />
+<rect x="13" y="27" width="1" height="1" fill="#468232" />
+<rect x="14" y="27" width="1" height="1" fill="#468232" />
+<rect x="15" y="27" width="1" height="1" fill="#468232" />
+<rect x="16" y="27" width="1" height="1" fill="#468232" />
+<rect x="17" y="27" width="1" height="1" fill="#468232" />
+<rect x="18" y="27" width="1" height="1" fill="#468232" />
+<rect x="19" y="27" width="1" height="1" fill="#468232" />
+<rect x="20" y="27" width="1" height="1" fill="#468232" />
+<rect x="21" y="27" width="1" height="1" fill="#468232" />
+<rect x="22" y="27" width="1" height="1" fill="#468232" />
+<rect x="23" y="27" width="1" height="1" fill="#468232" />
+<rect x="24" y="27" width="1" height="1" fill="#468232" />
+<rect x="25" y="27" width="1" height="1" fill="#468232" />
+<rect x="26" y="27" width="1" height="1" fill="#468232" />
+<rect x="27" y="27" width="1" height="1" fill="#468232" />
+<rect x="28" y="27" width="1" height="1" fill="#468232" />
+<rect x="29" y="27" width="1" height="1" fill="#468232" />
+<rect x="30" y="27" width="1" height="1" fill="#468232" />
+<rect x="31" y="27" width="1" height="1" fill="#468232" />
+<rect x="32" y="27" width="1" height="1" fill="#468232" />
+<rect x="33" y="27" width="1" height="1" fill="#468232" />
+<rect x="34" y="27" width="1" height="1" fill="#468232" />
+<rect x="35" y="27" width="1" height="1" fill="#356427" />
+<rect x="36" y="27" width="1" height="1" fill="#356427" />
+<rect x="37" y="27" width="1" height="1" fill="#356427" />
+<rect x="38" y="27" width="1" height="1" fill="#356427" />
+<rect x="39" y="27" width="1" height="1" fill="#356427" />
+<rect x="40" y="27" width="1" height="1" fill="#356427" />
+<rect x="41" y="27" width="1" height="1" fill="#356427" />
+<rect x="42" y="27" width="1" height="1" fill="#468232" />
+<rect x="43" y="27" width="1" height="1" fill="#468232" />
+<rect x="44" y="27" width="1" height="1" fill="#356427" />
+<rect x="45" y="27" width="1" height="1" fill="#356427" />
+<rect x="46" y="27" width="1" height="1" fill="#468232" />
+<rect x="47" y="27" width="1" height="1" fill="#356427" />
+<rect x="0" y="28" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="28" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="28" width="1" height="1" fill="#2B383F" />
+<rect x="3" y="28" width="1" height="1" fill="#394A50" />
+<rect x="4" y="28" width="1" height="1" fill="#2B383F" />
+<rect x="5" y="28" width="1" height="1" fill="#2B383F" />
+<rect x="6" y="28" width="1" height="1" fill="#356427" />
+<rect x="7" y="28" width="1" height="1" fill="#356427" />
+<rect x="8" y="28" width="1" height="1" fill="#356427" />
+<rect x="9" y="28" width="1" height="1" fill="#468232" />
+<rect x="10" y="28" width="1" height="1" fill="#468232" />
+<rect x="11" y="28" width="1" height="1" fill="#468232" />
+<rect x="12" y="28" width="1" height="1" fill="#468232" />
+<rect x="13" y="28" width="1" height="1" fill="#468232" />
+<rect x="14" y="28" width="1" height="1" fill="#468232" />
+<rect x="15" y="28" width="1" height="1" fill="#468232" />
+<rect x="16" y="28" width="1" height="1" fill="#468232" />
+<rect x="17" y="28" width="1" height="1" fill="#468232" />
+<rect x="18" y="28" width="1" height="1" fill="#468232" />
+<rect x="19" y="28" width="1" height="1" fill="#468232" />
+<rect x="20" y="28" width="1" height="1" fill="#468232" />
+<rect x="21" y="28" width="1" height="1" fill="#468232" />
+<rect x="22" y="28" width="1" height="1" fill="#468232" />
+<rect x="23" y="28" width="1" height="1" fill="#468232" />
+<rect x="24" y="28" width="1" height="1" fill="#468232" />
+<rect x="25" y="28" width="1" height="1" fill="#468232" />
+<rect x="26" y="28" width="1" height="1" fill="#468232" />
+<rect x="27" y="28" width="1" height="1" fill="#468232" />
+<rect x="28" y="28" width="1" height="1" fill="#468232" />
+<rect x="29" y="28" width="1" height="1" fill="#468232" />
+<rect x="30" y="28" width="1" height="1" fill="#468232" />
+<rect x="31" y="28" width="1" height="1" fill="#468232" />
+<rect x="32" y="28" width="1" height="1" fill="#356427" />
+<rect x="33" y="28" width="1" height="1" fill="#356427" />
+<rect x="34" y="28" width="1" height="1" fill="#356427" />
+<rect x="35" y="28" width="1" height="1" fill="#356427" />
+<rect x="36" y="28" width="1" height="1" fill="#356427" />
+<rect x="37" y="28" width="1" height="1" fill="#356427" />
+<rect x="38" y="28" width="1" height="1" fill="#468232" />
+<rect x="39" y="28" width="1" height="1" fill="#356427" />
+<rect x="40" y="28" width="1" height="1" fill="#356427" />
+<rect x="41" y="28" width="1" height="1" fill="#468232" />
+<rect x="42" y="28" width="1" height="1" fill="#468232" />
+<rect x="43" y="28" width="1" height="1" fill="#356427" />
+<rect x="44" y="28" width="1" height="1" fill="#356427" />
+<rect x="45" y="28" width="1" height="1" fill="#468232" />
+<rect x="46" y="28" width="1" height="1" fill="#468232" />
+<rect x="47" y="28" width="1" height="1" fill="#356427" />
+<rect x="0" y="29" width="1" height="1" fill="#2B383F" />
+<rect x="1" y="29" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="29" width="1" height="1" fill="#2B383F" />
+<rect x="3" y="29" width="1" height="1" fill="#2B383F" />
+<rect x="4" y="29" width="1" height="1" fill="#356427" />
+<rect x="5" y="29" width="1" height="1" fill="#356427" />
+<rect x="6" y="29" width="1" height="1" fill="#356427" />
+<rect x="7" y="29" width="1" height="1" fill="#356427" />
+<rect x="8" y="29" width="1" height="1" fill="#356427" />
+<rect x="9" y="29" width="1" height="1" fill="#356427" />
+<rect x="10" y="29" width="1" height="1" fill="#356427" />
+<rect x="11" y="29" width="1" height="1" fill="#356427" />
+<rect x="12" y="29" width="1" height="1" fill="#468232" />
+<rect x="13" y="29" width="1" height="1" fill="#468232" />
+<rect x="14" y="29" width="1" height="1" fill="#468232" />
+<rect x="15" y="29" width="1" height="1" fill="#468232" />
+<rect x="16" y="29" width="1" height="1" fill="#468232" />
+<rect x="17" y="29" width="1" height="1" fill="#468232" />
+<rect x="18" y="29" width="1" height="1" fill="#468232" />
+<rect x="19" y="29" width="1" height="1" fill="#468232" />
+<rect x="20" y="29" width="1" height="1" fill="#468232" />
+<rect x="21" y="29" width="1" height="1" fill="#468232" />
+<rect x="22" y="29" width="1" height="1" fill="#468232" />
+<rect x="23" y="29" width="1" height="1" fill="#468232" />
+<rect x="24" y="29" width="1" height="1" fill="#468232" />
+<rect x="25" y="29" width="1" height="1" fill="#468232" />
+<rect x="26" y="29" width="1" height="1" fill="#468232" />
+<rect x="27" y="29" width="1" height="1" fill="#468232" />
+<rect x="28" y="29" width="1" height="1" fill="#468232" />
+<rect x="29" y="29" width="1" height="1" fill="#468232" />
+<rect x="30" y="29" width="1" height="1" fill="#356427" />
+<rect x="31" y="29" width="1" height="1" fill="#356427" />
+<rect x="32" y="29" width="1" height="1" fill="#356427" />
+<rect x="33" y="29" width="1" height="1" fill="#356427" />
+<rect x="34" y="29" width="1" height="1" fill="#356427" />
+<rect x="35" y="29" width="1" height="1" fill="#356427" />
+<rect x="36" y="29" width="1" height="1" fill="#468232" />
+<rect x="37" y="29" width="1" height="1" fill="#468232" />
+<rect x="38" y="29" width="1" height="1" fill="#356427" />
+<rect x="39" y="29" width="1" height="1" fill="#356427" />
+<rect x="40" y="29" width="1" height="1" fill="#356427" />
+<rect x="41" y="29" width="1" height="1" fill="#468232" />
+<rect x="42" y="29" width="1" height="1" fill="#356427" />
+<rect x="43" y="29" width="1" height="1" fill="#356427" />
+<rect x="44" y="29" width="1" height="1" fill="#356427" />
+<rect x="45" y="29" width="1" height="1" fill="#468232" />
+<rect x="46" y="29" width="1" height="1" fill="#356427" />
+<rect x="47" y="29" width="1" height="1" fill="#356427" />
+<rect x="1" y="30" width="1" height="1" fill="#2B383F" />
+<rect x="2" y="30" width="1" height="1" fill="#356427" />
+<rect x="3" y="30" width="1" height="1" fill="#356427" />
+<rect x="4" y="30" width="1" height="1" fill="#356427" />
+<rect x="5" y="30" width="1" height="1" fill="#356427" />
+<rect x="6" y="30" width="1" height="1" fill="#356427" />
+<rect x="7" y="30" width="1" height="1" fill="#356427" />
+<rect x="8" y="30" width="1" height="1" fill="#356427" />
+<rect x="9" y="30" width="1" height="1" fill="#468232" />
+<rect x="10" y="30" width="1" height="1" fill="#468232" />
+<rect x="11" y="30" width="1" height="1" fill="#468232" />
+<rect x="12" y="30" width="1" height="1" fill="#468232" />
+<rect x="13" y="30" width="1" height="1" fill="#468232" />
+<rect x="14" y="30" width="1" height="1" fill="#468232" />
+<rect x="15" y="30" width="1" height="1" fill="#468232" />
+<rect x="16" y="30" width="1" height="1" fill="#468232" />
+<rect x="17" y="30" width="1" height="1" fill="#468232" />
+<rect x="18" y="30" width="1" height="1" fill="#468232" />
+<rect x="19" y="30" width="1" height="1" fill="#468232" />
+<rect x="20" y="30" width="1" height="1" fill="#468232" />
+<rect x="21" y="30" width="1" height="1" fill="#468232" />
+<rect x="22" y="30" width="1" height="1" fill="#468232" />
+<rect x="23" y="30" width="1" height="1" fill="#468232" />
+<rect x="24" y="30" width="1" height="1" fill="#468232" />
+<rect x="25" y="30" width="1" height="1" fill="#468232" />
+<rect x="26" y="30" width="1" height="1" fill="#468232" />
+<rect x="27" y="30" width="1" height="1" fill="#468232" />
+<rect x="28" y="30" width="1" height="1" fill="#468232" />
+<rect x="29" y="30" width="1" height="1" fill="#468232" />
+<rect x="30" y="30" width="1" height="1" fill="#468232" />
+<rect x="31" y="30" width="1" height="1" fill="#468232" />
+<rect x="32" y="30" width="1" height="1" fill="#468232" />
+<rect x="33" y="30" width="1" height="1" fill="#468232" />
+<rect x="34" y="30" width="1" height="1" fill="#468232" />
+<rect x="35" y="30" width="1" height="1" fill="#468232" />
+<rect x="36" y="30" width="1" height="1" fill="#468232" />
+<rect x="37" y="30" width="1" height="1" fill="#468232" />
+<rect x="38" y="30" width="1" height="1" fill="#356427" />
+<rect x="39" y="30" width="1" height="1" fill="#356427" />
+<rect x="40" y="30" width="1" height="1" fill="#356427" />
+<rect x="41" y="30" width="1" height="1" fill="#356427" />
+<rect x="42" y="30" width="1" height="1" fill="#356427" />
+<rect x="43" y="30" width="1" height="1" fill="#356427" />
+<rect x="44" y="30" width="1" height="1" fill="#356427" />
+<rect x="45" y="30" width="1" height="1" fill="#356427" />
+<rect x="46" y="30" width="1" height="1" fill="#356427" />
+<rect x="2" y="31" width="1" height="1" fill="#356427" />
+<rect x="3" y="31" width="1" height="1" fill="#356427" />
+<rect x="4" y="31" width="1" height="1" fill="#356427" />
+<rect x="5" y="31" width="1" height="1" fill="#356427" />
+<rect x="6" y="31" width="1" height="1" fill="#356427" />
+<rect x="7" y="31" width="1" height="1" fill="#356427" />
+<rect x="8" y="31" width="1" height="1" fill="#356427" />
+<rect x="9" y="31" width="1" height="1" fill="#356427" />
+<rect x="10" y="31" width="1" height="1" fill="#356427" />
+<rect x="11" y="31" width="1" height="1" fill="#356427" />
+<rect x="12" y="31" width="1" height="1" fill="#356427" />
+<rect x="13" y="31" width="1" height="1" fill="#356427" />
+<rect x="14" y="31" width="1" height="1" fill="#356427" />
+<rect x="15" y="31" width="1" height="1" fill="#356427" />
+<rect x="16" y="31" width="1" height="1" fill="#356427" />
+<rect x="17" y="31" width="1" height="1" fill="#356427" />
+<rect x="18" y="31" width="1" height="1" fill="#356427" />
+<rect x="19" y="31" width="1" height="1" fill="#356427" />
+<rect x="20" y="31" width="1" height="1" fill="#356427" />
+<rect x="21" y="31" width="1" height="1" fill="#356427" />
+<rect x="22" y="31" width="1" height="1" fill="#356427" />
+<rect x="23" y="31" width="1" height="1" fill="#356427" />
+<rect x="24" y="31" width="1" height="1" fill="#356427" />
+<rect x="25" y="31" width="1" height="1" fill="#356427" />
+<rect x="26" y="31" width="1" height="1" fill="#356427" />
+<rect x="27" y="31" width="1" height="1" fill="#356427" />
+<rect x="28" y="31" width="1" height="1" fill="#356427" />
+<rect x="29" y="31" width="1" height="1" fill="#356427" />
+<rect x="30" y="31" width="1" height="1" fill="#356427" />
+<rect x="31" y="31" width="1" height="1" fill="#356427" />
+<rect x="32" y="31" width="1" height="1" fill="#356427" />
+<rect x="33" y="31" width="1" height="1" fill="#356427" />
+<rect x="34" y="31" width="1" height="1" fill="#356427" />
+<rect x="35" y="31" width="1" height="1" fill="#356427" />
+<rect x="36" y="31" width="1" height="1" fill="#356427" />
+<rect x="37" y="31" width="1" height="1" fill="#356427" />
+<rect x="38" y="31" width="1" height="1" fill="#356427" />
+<rect x="39" y="31" width="1" height="1" fill="#356427" />
+<rect x="40" y="31" width="1" height="1" fill="#356427" />
+<rect x="41" y="31" width="1" height="1" fill="#356427" />
+<rect x="42" y="31" width="1" height="1" fill="#356427" />
+<rect x="43" y="31" width="1" height="1" fill="#356427" />
+<rect x="44" y="31" width="1" height="1" fill="#356427" />
+<rect x="45" y="31" width="1" height="1" fill="#356427" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Nasahra.svg b/Edikoyo/.obsidian/icons/flags/Nasahra.svg
new file mode 100644
index 0000000..dcff57d
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Nasahra.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="8" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="9" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="10" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="11" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="12" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="13" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="14" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="15" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="16" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="17" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="18" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="19" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="20" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="21" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="22" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="23" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="24" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="25" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="26" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="27" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="28" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="29" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="30" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="31" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="32" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="33" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="0" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="8" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="9" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="10" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="1" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="1" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="2" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="2" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="3" width="1" height="1" fill="#62A8C7" />
+<rect x="22" y="3" width="1" height="1" fill="#62A8C7" />
+<rect x="23" y="3" width="1" height="1" fill="#62A8C7" />
+<rect x="24" y="3" width="1" height="1" fill="#62A8C7" />
+<rect x="25" y="3" width="1" height="1" fill="#62A8C7" />
+<rect x="26" y="3" width="1" height="1" fill="#62A8C7" />
+<rect x="27" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="3" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="3" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="4" width="1" height="1" fill="#62A8C7" />
+<rect x="19" y="4" width="1" height="1" fill="#62A8C7" />
+<rect x="20" y="4" width="1" height="1" fill="#62A8C7" />
+<rect x="21" y="4" width="1" height="1" fill="#62A8C7" />
+<rect x="22" y="4" width="1" height="1" fill="#62A8C7" />
+<rect x="23" y="4" width="1" height="1" fill="#62A8C7" />
+<rect x="24" y="4" width="1" height="1" fill="#62A8C7" />
+<rect x="25" y="4" width="1" height="1" fill="#62A8C7" />
+<rect x="26" y="4" width="1" height="1" fill="#62A8C7" />
+<rect x="27" y="4" width="1" height="1" fill="#62A8C7" />
+<rect x="28" y="4" width="1" height="1" fill="#62A8C7" />
+<rect x="29" y="4" width="1" height="1" fill="#62A8C7" />
+<rect x="30" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="4" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="4" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="18" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="19" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="20" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="21" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="22" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="23" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="24" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="25" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="26" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="27" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="28" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="29" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="30" y="5" width="1" height="1" fill="#62A8C7" />
+<rect x="31" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="5" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="5" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="16" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="17" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="18" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="19" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="20" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="21" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="22" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="23" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="24" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="25" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="26" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="27" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="28" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="29" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="30" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="31" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="32" y="6" width="1" height="1" fill="#62A8C7" />
+<rect x="33" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="6" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="6" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="15" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="16" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="17" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="18" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="19" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="20" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="21" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="22" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="23" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="24" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="25" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="26" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="27" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="28" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="29" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="30" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="31" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="32" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="33" y="7" width="1" height="1" fill="#62A8C7" />
+<rect x="34" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="7" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="7" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="14" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="15" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="16" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="17" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="18" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="19" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="20" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="21" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="22" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="23" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="24" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="25" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="26" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="27" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="28" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="29" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="30" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="31" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="32" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="33" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="34" y="8" width="1" height="1" fill="#62A8C7" />
+<rect x="35" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="8" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="8" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="13" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="14" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="15" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="16" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="17" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="18" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="19" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="20" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="21" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="22" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="27" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="28" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="29" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="30" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="31" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="32" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="33" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="34" y="9" width="1" height="1" fill="#62A8C7" />
+<rect x="35" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="9" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="9" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="12" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="13" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="14" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="15" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="16" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="17" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="18" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="19" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="20" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="21" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="28" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="29" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="30" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="31" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="32" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="33" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="34" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="35" y="10" width="1" height="1" fill="#62A8C7" />
+<rect x="36" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="10" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="10" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="12" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="13" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="14" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="15" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="16" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="17" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="18" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="19" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="20" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="29" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="30" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="31" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="32" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="33" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="34" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="35" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="36" y="11" width="1" height="1" fill="#62A8C7" />
+<rect x="37" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="11" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="11" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="12" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="12" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="13" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="14" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="15" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="16" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="17" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="18" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="19" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="30" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="31" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="32" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="33" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="34" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="35" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="36" y="12" width="1" height="1" fill="#62A8C7" />
+<rect x="37" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="12" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="12" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="12" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="13" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="11" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="12" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="13" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="14" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="15" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="16" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="17" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="18" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="31" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="32" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="33" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="34" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="35" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="36" y="13" width="1" height="1" fill="#62A8C7" />
+<rect x="37" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="13" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="13" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="13" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="14" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="11" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="12" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="13" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="14" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="15" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="16" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="17" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="32" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="33" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="34" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="35" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="36" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="37" y="14" width="1" height="1" fill="#62A8C7" />
+<rect x="38" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="14" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="14" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="14" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="15" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="15" width="1" height="1" fill="#62A8C7" />
+<rect x="11" y="15" width="1" height="1" fill="#62A8C7" />
+<rect x="12" y="15" width="1" height="1" fill="#62A8C7" />
+<rect x="13" y="15" width="1" height="1" fill="#62A8C7" />
+<rect x="14" y="15" width="1" height="1" fill="#62A8C7" />
+<rect x="15" y="15" width="1" height="1" fill="#62A8C7" />
+<rect x="16" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="15" width="1" height="1" fill="#62A8C7" />
+<rect x="33" y="15" width="1" height="1" fill="#62A8C7" />
+<rect x="34" y="15" width="1" height="1" fill="#62A8C7" />
+<rect x="35" y="15" width="1" height="1" fill="#62A8C7" />
+<rect x="36" y="15" width="1" height="1" fill="#62A8C7" />
+<rect x="37" y="15" width="1" height="1" fill="#62A8C7" />
+<rect x="38" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="15" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="15" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="15" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="16" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="16" width="1" height="1" fill="#62A8C7" />
+<rect x="11" y="16" width="1" height="1" fill="#62A8C7" />
+<rect x="12" y="16" width="1" height="1" fill="#62A8C7" />
+<rect x="13" y="16" width="1" height="1" fill="#62A8C7" />
+<rect x="14" y="16" width="1" height="1" fill="#62A8C7" />
+<rect x="15" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="16" width="1" height="1" fill="#62A8C7" />
+<rect x="34" y="16" width="1" height="1" fill="#62A8C7" />
+<rect x="35" y="16" width="1" height="1" fill="#62A8C7" />
+<rect x="36" y="16" width="1" height="1" fill="#62A8C7" />
+<rect x="37" y="16" width="1" height="1" fill="#62A8C7" />
+<rect x="38" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="16" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="16" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="16" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="17" width="1" height="1" fill="#62A8C7" />
+<rect x="11" y="17" width="1" height="1" fill="#62A8C7" />
+<rect x="12" y="17" width="1" height="1" fill="#62A8C7" />
+<rect x="13" y="17" width="1" height="1" fill="#62A8C7" />
+<rect x="14" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="17" width="1" height="1" fill="#62A8C7" />
+<rect x="35" y="17" width="1" height="1" fill="#62A8C7" />
+<rect x="36" y="17" width="1" height="1" fill="#62A8C7" />
+<rect x="37" y="17" width="1" height="1" fill="#62A8C7" />
+<rect x="38" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="17" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="17" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="18" width="1" height="1" fill="#62A8C7" />
+<rect x="11" y="18" width="1" height="1" fill="#62A8C7" />
+<rect x="12" y="18" width="1" height="1" fill="#62A8C7" />
+<rect x="13" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="18" width="1" height="1" fill="#62A8C7" />
+<rect x="36" y="18" width="1" height="1" fill="#62A8C7" />
+<rect x="37" y="18" width="1" height="1" fill="#62A8C7" />
+<rect x="38" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="19" width="1" height="1" fill="#62A8C7" />
+<rect x="11" y="19" width="1" height="1" fill="#62A8C7" />
+<rect x="12" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="19" width="1" height="1" fill="#62A8C7" />
+<rect x="37" y="19" width="1" height="1" fill="#62A8C7" />
+<rect x="38" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="20" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="20" width="1" height="1" fill="#62A8C7" />
+<rect x="11" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="20" width="1" height="1" fill="#62A8C7" />
+<rect x="38" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="20" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="21" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="2" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="10" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="21" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="21" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="22" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="2" y="22" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="46" y="22" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="22" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="23" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="2" y="23" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="4" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="45" y="23" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="23" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="23" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="2" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="4" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="5" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="24" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="44" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="45" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="4" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="5" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="6" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="25" width="1" height="1" fill="#D68733" />
+<rect x="40" y="25" width="1" height="1" fill="#D68733" />
+<rect x="41" y="25" width="1" height="1" fill="#D68733" />
+<rect x="42" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="43" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="44" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="3" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="4" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="5" y="26" width="1" height="1" fill="#D68733" />
+<rect x="6" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="26" width="1" height="1" fill="#D68733" />
+<rect x="38" y="26" width="1" height="1" fill="#D68733" />
+<rect x="39" y="26" width="1" height="1" fill="#D68733" />
+<rect x="40" y="26" width="1" height="1" fill="#D68733" />
+<rect x="41" y="26" width="1" height="1" fill="#D68733" />
+<rect x="42" y="26" width="1" height="1" fill="#D68733" />
+<rect x="43" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="44" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="3" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="4" y="27" width="1" height="1" fill="#D68733" />
+<rect x="5" y="27" width="1" height="1" fill="#D68733" />
+<rect x="6" y="27" width="1" height="1" fill="#D68733" />
+<rect x="7" y="27" width="1" height="1" fill="#D68733" />
+<rect x="8" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="27" width="1" height="1" fill="#D68733" />
+<rect x="36" y="27" width="1" height="1" fill="#D68733" />
+<rect x="37" y="27" width="1" height="1" fill="#D68733" />
+<rect x="38" y="27" width="1" height="1" fill="#D68733" />
+<rect x="39" y="27" width="1" height="1" fill="#D68733" />
+<rect x="40" y="27" width="1" height="1" fill="#D68733" />
+<rect x="41" y="27" width="1" height="1" fill="#D68733" />
+<rect x="42" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="47" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="28" width="1" height="1" fill="#D68733" />
+<rect x="5" y="28" width="1" height="1" fill="#D68733" />
+<rect x="6" y="28" width="1" height="1" fill="#D68733" />
+<rect x="7" y="28" width="1" height="1" fill="#D68733" />
+<rect x="8" y="28" width="1" height="1" fill="#D68733" />
+<rect x="9" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="28" width="1" height="1" fill="#D68733" />
+<rect x="33" y="28" width="1" height="1" fill="#D68733" />
+<rect x="34" y="28" width="1" height="1" fill="#D68733" />
+<rect x="35" y="28" width="1" height="1" fill="#D68733" />
+<rect x="36" y="28" width="1" height="1" fill="#D68733" />
+<rect x="37" y="28" width="1" height="1" fill="#D68733" />
+<rect x="38" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="28" width="1" height="1" fill="#D68733" />
+<rect x="40" y="28" width="1" height="1" fill="#D68733" />
+<rect x="41" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="28" width="1" height="1" fill="#D68733" />
+<rect x="44" y="28" width="1" height="1" fill="#D68733" />
+<rect x="45" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="46" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="47" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="29" width="1" height="1" fill="#D68733" />
+<rect x="3" y="29" width="1" height="1" fill="#D68733" />
+<rect x="4" y="29" width="1" height="1" fill="#D68733" />
+<rect x="5" y="29" width="1" height="1" fill="#D68733" />
+<rect x="6" y="29" width="1" height="1" fill="#D68733" />
+<rect x="7" y="29" width="1" height="1" fill="#D68733" />
+<rect x="8" y="29" width="1" height="1" fill="#D68733" />
+<rect x="9" y="29" width="1" height="1" fill="#D68733" />
+<rect x="10" y="29" width="1" height="1" fill="#D68733" />
+<rect x="11" y="29" width="1" height="1" fill="#D68733" />
+<rect x="12" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="29" width="1" height="1" fill="#D68733" />
+<rect x="31" y="29" width="1" height="1" fill="#D68733" />
+<rect x="32" y="29" width="1" height="1" fill="#D68733" />
+<rect x="33" y="29" width="1" height="1" fill="#D68733" />
+<rect x="34" y="29" width="1" height="1" fill="#D68733" />
+<rect x="35" y="29" width="1" height="1" fill="#D68733" />
+<rect x="36" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="29" width="1" height="1" fill="#D68733" />
+<rect x="39" y="29" width="1" height="1" fill="#D68733" />
+<rect x="40" y="29" width="1" height="1" fill="#D68733" />
+<rect x="41" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="29" width="1" height="1" fill="#D68733" />
+<rect x="43" y="29" width="1" height="1" fill="#D68733" />
+<rect x="44" y="29" width="1" height="1" fill="#D68733" />
+<rect x="45" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="30" width="1" height="1" fill="#D68733" />
+<rect x="2" y="30" width="1" height="1" fill="#D68733" />
+<rect x="3" y="30" width="1" height="1" fill="#D68733" />
+<rect x="4" y="30" width="1" height="1" fill="#D68733" />
+<rect x="5" y="30" width="1" height="1" fill="#D68733" />
+<rect x="6" y="30" width="1" height="1" fill="#D68733" />
+<rect x="7" y="30" width="1" height="1" fill="#D68733" />
+<rect x="8" y="30" width="1" height="1" fill="#D68733" />
+<rect x="9" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="30" width="1" height="1" fill="#D68733" />
+<rect x="39" y="30" width="1" height="1" fill="#D68733" />
+<rect x="40" y="30" width="1" height="1" fill="#D68733" />
+<rect x="41" y="30" width="1" height="1" fill="#D68733" />
+<rect x="42" y="30" width="1" height="1" fill="#D68733" />
+<rect x="43" y="30" width="1" height="1" fill="#D68733" />
+<rect x="44" y="30" width="1" height="1" fill="#D68733" />
+<rect x="45" y="30" width="1" height="1" fill="#D68733" />
+<rect x="46" y="30" width="1" height="1" fill="#D68733" />
+<rect x="2" y="31" width="1" height="1" fill="#D68733" />
+<rect x="3" y="31" width="1" height="1" fill="#D68733" />
+<rect x="4" y="31" width="1" height="1" fill="#D68733" />
+<rect x="5" y="31" width="1" height="1" fill="#D68733" />
+<rect x="6" y="31" width="1" height="1" fill="#D68733" />
+<rect x="7" y="31" width="1" height="1" fill="#D68733" />
+<rect x="8" y="31" width="1" height="1" fill="#D68733" />
+<rect x="9" y="31" width="1" height="1" fill="#D68733" />
+<rect x="10" y="31" width="1" height="1" fill="#D68733" />
+<rect x="11" y="31" width="1" height="1" fill="#D68733" />
+<rect x="12" y="31" width="1" height="1" fill="#D68733" />
+<rect x="13" y="31" width="1" height="1" fill="#D68733" />
+<rect x="14" y="31" width="1" height="1" fill="#D68733" />
+<rect x="15" y="31" width="1" height="1" fill="#D68733" />
+<rect x="16" y="31" width="1" height="1" fill="#D68733" />
+<rect x="17" y="31" width="1" height="1" fill="#D68733" />
+<rect x="18" y="31" width="1" height="1" fill="#D68733" />
+<rect x="19" y="31" width="1" height="1" fill="#D68733" />
+<rect x="20" y="31" width="1" height="1" fill="#D68733" />
+<rect x="21" y="31" width="1" height="1" fill="#D68733" />
+<rect x="22" y="31" width="1" height="1" fill="#D68733" />
+<rect x="23" y="31" width="1" height="1" fill="#D68733" />
+<rect x="24" y="31" width="1" height="1" fill="#D68733" />
+<rect x="25" y="31" width="1" height="1" fill="#D68733" />
+<rect x="26" y="31" width="1" height="1" fill="#D68733" />
+<rect x="27" y="31" width="1" height="1" fill="#D68733" />
+<rect x="28" y="31" width="1" height="1" fill="#D68733" />
+<rect x="29" y="31" width="1" height="1" fill="#D68733" />
+<rect x="30" y="31" width="1" height="1" fill="#D68733" />
+<rect x="31" y="31" width="1" height="1" fill="#D68733" />
+<rect x="32" y="31" width="1" height="1" fill="#D68733" />
+<rect x="33" y="31" width="1" height="1" fill="#D68733" />
+<rect x="34" y="31" width="1" height="1" fill="#D68733" />
+<rect x="35" y="31" width="1" height="1" fill="#D68733" />
+<rect x="36" y="31" width="1" height="1" fill="#D68733" />
+<rect x="37" y="31" width="1" height="1" fill="#D68733" />
+<rect x="38" y="31" width="1" height="1" fill="#D68733" />
+<rect x="39" y="31" width="1" height="1" fill="#D68733" />
+<rect x="40" y="31" width="1" height="1" fill="#D68733" />
+<rect x="41" y="31" width="1" height="1" fill="#D68733" />
+<rect x="42" y="31" width="1" height="1" fill="#D68733" />
+<rect x="43" y="31" width="1" height="1" fill="#D68733" />
+<rect x="44" y="31" width="1" height="1" fill="#D68733" />
+<rect x="45" y="31" width="1" height="1" fill="#D68733" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Nonkur.svg b/Edikoyo/.obsidian/icons/flags/Nonkur.svg
new file mode 100644
index 0000000..5364a2a
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Nonkur.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="0" width="1" height="1" fill="#356427" />
+<rect x="4" y="0" width="1" height="1" fill="#356427" />
+<rect x="5" y="0" width="1" height="1" fill="#356427" />
+<rect x="6" y="0" width="1" height="1" fill="#356427" />
+<rect x="7" y="0" width="1" height="1" fill="#356427" />
+<rect x="8" y="0" width="1" height="1" fill="#356427" />
+<rect x="9" y="0" width="1" height="1" fill="#356427" />
+<rect x="10" y="0" width="1" height="1" fill="#356427" />
+<rect x="11" y="0" width="1" height="1" fill="#356427" />
+<rect x="12" y="0" width="1" height="1" fill="#356427" />
+<rect x="13" y="0" width="1" height="1" fill="#356427" />
+<rect x="14" y="0" width="1" height="1" fill="#356427" />
+<rect x="15" y="0" width="1" height="1" fill="#356427" />
+<rect x="16" y="0" width="1" height="1" fill="#356427" />
+<rect x="17" y="0" width="1" height="1" fill="#356427" />
+<rect x="18" y="0" width="1" height="1" fill="#356427" />
+<rect x="19" y="0" width="1" height="1" fill="#356427" />
+<rect x="20" y="0" width="1" height="1" fill="#356427" />
+<rect x="21" y="0" width="1" height="1" fill="#356427" />
+<rect x="22" y="0" width="1" height="1" fill="#356427" />
+<rect x="23" y="0" width="1" height="1" fill="#356427" />
+<rect x="24" y="0" width="1" height="1" fill="#356427" />
+<rect x="25" y="0" width="1" height="1" fill="#356427" />
+<rect x="26" y="0" width="1" height="1" fill="#356427" />
+<rect x="27" y="0" width="1" height="1" fill="#356427" />
+<rect x="28" y="0" width="1" height="1" fill="#356427" />
+<rect x="29" y="0" width="1" height="1" fill="#356427" />
+<rect x="30" y="0" width="1" height="1" fill="#356427" />
+<rect x="31" y="0" width="1" height="1" fill="#356427" />
+<rect x="32" y="0" width="1" height="1" fill="#356427" />
+<rect x="33" y="0" width="1" height="1" fill="#356427" />
+<rect x="34" y="0" width="1" height="1" fill="#356427" />
+<rect x="35" y="0" width="1" height="1" fill="#356427" />
+<rect x="36" y="0" width="1" height="1" fill="#356427" />
+<rect x="37" y="0" width="1" height="1" fill="#356427" />
+<rect x="38" y="0" width="1" height="1" fill="#356427" />
+<rect x="39" y="0" width="1" height="1" fill="#356427" />
+<rect x="40" y="0" width="1" height="1" fill="#356427" />
+<rect x="41" y="0" width="1" height="1" fill="#356427" />
+<rect x="42" y="0" width="1" height="1" fill="#356427" />
+<rect x="43" y="0" width="1" height="1" fill="#356427" />
+<rect x="44" y="0" width="1" height="1" fill="#356427" />
+<rect x="45" y="0" width="1" height="1" fill="#356427" />
+<rect x="1" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="1" width="1" height="1" fill="#356427" />
+<rect x="5" y="1" width="1" height="1" fill="#356427" />
+<rect x="6" y="1" width="1" height="1" fill="#356427" />
+<rect x="7" y="1" width="1" height="1" fill="#356427" />
+<rect x="8" y="1" width="1" height="1" fill="#356427" />
+<rect x="9" y="1" width="1" height="1" fill="#356427" />
+<rect x="10" y="1" width="1" height="1" fill="#468232" />
+<rect x="11" y="1" width="1" height="1" fill="#468232" />
+<rect x="12" y="1" width="1" height="1" fill="#468232" />
+<rect x="13" y="1" width="1" height="1" fill="#468232" />
+<rect x="14" y="1" width="1" height="1" fill="#468232" />
+<rect x="15" y="1" width="1" height="1" fill="#468232" />
+<rect x="16" y="1" width="1" height="1" fill="#468232" />
+<rect x="17" y="1" width="1" height="1" fill="#468232" />
+<rect x="18" y="1" width="1" height="1" fill="#468232" />
+<rect x="19" y="1" width="1" height="1" fill="#468232" />
+<rect x="20" y="1" width="1" height="1" fill="#468232" />
+<rect x="21" y="1" width="1" height="1" fill="#468232" />
+<rect x="22" y="1" width="1" height="1" fill="#468232" />
+<rect x="23" y="1" width="1" height="1" fill="#468232" />
+<rect x="24" y="1" width="1" height="1" fill="#468232" />
+<rect x="25" y="1" width="1" height="1" fill="#468232" />
+<rect x="26" y="1" width="1" height="1" fill="#468232" />
+<rect x="27" y="1" width="1" height="1" fill="#468232" />
+<rect x="28" y="1" width="1" height="1" fill="#468232" />
+<rect x="29" y="1" width="1" height="1" fill="#468232" />
+<rect x="30" y="1" width="1" height="1" fill="#468232" />
+<rect x="31" y="1" width="1" height="1" fill="#468232" />
+<rect x="32" y="1" width="1" height="1" fill="#468232" />
+<rect x="33" y="1" width="1" height="1" fill="#356427" />
+<rect x="34" y="1" width="1" height="1" fill="#356427" />
+<rect x="35" y="1" width="1" height="1" fill="#356427" />
+<rect x="36" y="1" width="1" height="1" fill="#356427" />
+<rect x="37" y="1" width="1" height="1" fill="#356427" />
+<rect x="38" y="1" width="1" height="1" fill="#356427" />
+<rect x="39" y="1" width="1" height="1" fill="#356427" />
+<rect x="40" y="1" width="1" height="1" fill="#468232" />
+<rect x="41" y="1" width="1" height="1" fill="#356427" />
+<rect x="42" y="1" width="1" height="1" fill="#356427" />
+<rect x="43" y="1" width="1" height="1" fill="#356427" />
+<rect x="44" y="1" width="1" height="1" fill="#356427" />
+<rect x="45" y="1" width="1" height="1" fill="#356427" />
+<rect x="46" y="1" width="1" height="1" fill="#356427" />
+<rect x="0" y="2" width="1" height="1" fill="#18232B" />
+<rect x="1" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="2" width="1" height="1" fill="#468232" />
+<rect x="7" y="2" width="1" height="1" fill="#468232" />
+<rect x="8" y="2" width="1" height="1" fill="#468232" />
+<rect x="9" y="2" width="1" height="1" fill="#468232" />
+<rect x="10" y="2" width="1" height="1" fill="#468232" />
+<rect x="11" y="2" width="1" height="1" fill="#468232" />
+<rect x="12" y="2" width="1" height="1" fill="#468232" />
+<rect x="13" y="2" width="1" height="1" fill="#468232" />
+<rect x="14" y="2" width="1" height="1" fill="#468232" />
+<rect x="15" y="2" width="1" height="1" fill="#468232" />
+<rect x="16" y="2" width="1" height="1" fill="#468232" />
+<rect x="17" y="2" width="1" height="1" fill="#468232" />
+<rect x="18" y="2" width="1" height="1" fill="#468232" />
+<rect x="19" y="2" width="1" height="1" fill="#468232" />
+<rect x="20" y="2" width="1" height="1" fill="#468232" />
+<rect x="21" y="2" width="1" height="1" fill="#468232" />
+<rect x="22" y="2" width="1" height="1" fill="#468232" />
+<rect x="23" y="2" width="1" height="1" fill="#468232" />
+<rect x="24" y="2" width="1" height="1" fill="#468232" />
+<rect x="25" y="2" width="1" height="1" fill="#468232" />
+<rect x="26" y="2" width="1" height="1" fill="#468232" />
+<rect x="27" y="2" width="1" height="1" fill="#468232" />
+<rect x="28" y="2" width="1" height="1" fill="#468232" />
+<rect x="29" y="2" width="1" height="1" fill="#468232" />
+<rect x="30" y="2" width="1" height="1" fill="#468232" />
+<rect x="31" y="2" width="1" height="1" fill="#468232" />
+<rect x="32" y="2" width="1" height="1" fill="#468232" />
+<rect x="33" y="2" width="1" height="1" fill="#468232" />
+<rect x="34" y="2" width="1" height="1" fill="#468232" />
+<rect x="35" y="2" width="1" height="1" fill="#468232" />
+<rect x="36" y="2" width="1" height="1" fill="#468232" />
+<rect x="37" y="2" width="1" height="1" fill="#356427" />
+<rect x="38" y="2" width="1" height="1" fill="#356427" />
+<rect x="39" y="2" width="1" height="1" fill="#356427" />
+<rect x="40" y="2" width="1" height="1" fill="#356427" />
+<rect x="41" y="2" width="1" height="1" fill="#468232" />
+<rect x="42" y="2" width="1" height="1" fill="#356427" />
+<rect x="43" y="2" width="1" height="1" fill="#356427" />
+<rect x="44" y="2" width="1" height="1" fill="#356427" />
+<rect x="45" y="2" width="1" height="1" fill="#356427" />
+<rect x="46" y="2" width="1" height="1" fill="#356427" />
+<rect x="47" y="2" width="1" height="1" fill="#356427" />
+<rect x="0" y="3" width="1" height="1" fill="#18232B" />
+<rect x="1" y="3" width="1" height="1" fill="#18232B" />
+<rect x="2" y="3" width="1" height="1" fill="#18232B" />
+<rect x="3" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="3" width="1" height="1" fill="#468232" />
+<rect x="8" y="3" width="1" height="1" fill="#468232" />
+<rect x="9" y="3" width="1" height="1" fill="#468232" />
+<rect x="10" y="3" width="1" height="1" fill="#468232" />
+<rect x="11" y="3" width="1" height="1" fill="#468232" />
+<rect x="12" y="3" width="1" height="1" fill="#468232" />
+<rect x="13" y="3" width="1" height="1" fill="#468232" />
+<rect x="14" y="3" width="1" height="1" fill="#468232" />
+<rect x="15" y="3" width="1" height="1" fill="#468232" />
+<rect x="16" y="3" width="1" height="1" fill="#468232" />
+<rect x="17" y="3" width="1" height="1" fill="#468232" />
+<rect x="18" y="3" width="1" height="1" fill="#468232" />
+<rect x="19" y="3" width="1" height="1" fill="#75A743" />
+<rect x="20" y="3" width="1" height="1" fill="#75A743" />
+<rect x="21" y="3" width="1" height="1" fill="#75A743" />
+<rect x="22" y="3" width="1" height="1" fill="#75A743" />
+<rect x="23" y="3" width="1" height="1" fill="#75A743" />
+<rect x="24" y="3" width="1" height="1" fill="#75A743" />
+<rect x="25" y="3" width="1" height="1" fill="#75A743" />
+<rect x="26" y="3" width="1" height="1" fill="#468232" />
+<rect x="27" y="3" width="1" height="1" fill="#468232" />
+<rect x="28" y="3" width="1" height="1" fill="#468232" />
+<rect x="29" y="3" width="1" height="1" fill="#468232" />
+<rect x="30" y="3" width="1" height="1" fill="#468232" />
+<rect x="31" y="3" width="1" height="1" fill="#468232" />
+<rect x="32" y="3" width="1" height="1" fill="#468232" />
+<rect x="33" y="3" width="1" height="1" fill="#468232" />
+<rect x="34" y="3" width="1" height="1" fill="#468232" />
+<rect x="35" y="3" width="1" height="1" fill="#356427" />
+<rect x="36" y="3" width="1" height="1" fill="#356427" />
+<rect x="37" y="3" width="1" height="1" fill="#356427" />
+<rect x="38" y="3" width="1" height="1" fill="#356427" />
+<rect x="39" y="3" width="1" height="1" fill="#356427" />
+<rect x="40" y="3" width="1" height="1" fill="#356427" />
+<rect x="41" y="3" width="1" height="1" fill="#356427" />
+<rect x="42" y="3" width="1" height="1" fill="#356427" />
+<rect x="43" y="3" width="1" height="1" fill="#356427" />
+<rect x="44" y="3" width="1" height="1" fill="#356427" />
+<rect x="45" y="3" width="1" height="1" fill="#356427" />
+<rect x="46" y="3" width="1" height="1" fill="#356427" />
+<rect x="47" y="3" width="1" height="1" fill="#356427" />
+<rect x="0" y="4" width="1" height="1" fill="#18232B" />
+<rect x="1" y="4" width="1" height="1" fill="#18232B" />
+<rect x="2" y="4" width="1" height="1" fill="#202E37" />
+<rect x="3" y="4" width="1" height="1" fill="#202E37" />
+<rect x="4" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="4" width="1" height="1" fill="#25562E" />
+<rect x="8" y="4" width="1" height="1" fill="#25562E" />
+<rect x="9" y="4" width="1" height="1" fill="#468232" />
+<rect x="10" y="4" width="1" height="1" fill="#468232" />
+<rect x="11" y="4" width="1" height="1" fill="#468232" />
+<rect x="12" y="4" width="1" height="1" fill="#468232" />
+<rect x="13" y="4" width="1" height="1" fill="#468232" />
+<rect x="14" y="4" width="1" height="1" fill="#468232" />
+<rect x="15" y="4" width="1" height="1" fill="#468232" />
+<rect x="16" y="4" width="1" height="1" fill="#75A743" />
+<rect x="17" y="4" width="1" height="1" fill="#75A743" />
+<rect x="18" y="4" width="1" height="1" fill="#75A743" />
+<rect x="19" y="4" width="1" height="1" fill="#75A743" />
+<rect x="20" y="4" width="1" height="1" fill="#75A743" />
+<rect x="21" y="4" width="1" height="1" fill="#75A743" />
+<rect x="22" y="4" width="1" height="1" fill="#75A743" />
+<rect x="23" y="4" width="1" height="1" fill="#75A743" />
+<rect x="24" y="4" width="1" height="1" fill="#75A743" />
+<rect x="25" y="4" width="1" height="1" fill="#75A743" />
+<rect x="26" y="4" width="1" height="1" fill="#75A743" />
+<rect x="27" y="4" width="1" height="1" fill="#75A743" />
+<rect x="28" y="4" width="1" height="1" fill="#75A743" />
+<rect x="29" y="4" width="1" height="1" fill="#468232" />
+<rect x="30" y="4" width="1" height="1" fill="#468232" />
+<rect x="31" y="4" width="1" height="1" fill="#468232" />
+<rect x="32" y="4" width="1" height="1" fill="#468232" />
+<rect x="33" y="4" width="1" height="1" fill="#468232" />
+<rect x="34" y="4" width="1" height="1" fill="#468232" />
+<rect x="35" y="4" width="1" height="1" fill="#468232" />
+<rect x="36" y="4" width="1" height="1" fill="#356427" />
+<rect x="37" y="4" width="1" height="1" fill="#356427" />
+<rect x="38" y="4" width="1" height="1" fill="#356427" />
+<rect x="39" y="4" width="1" height="1" fill="#356427" />
+<rect x="40" y="4" width="1" height="1" fill="#356427" />
+<rect x="41" y="4" width="1" height="1" fill="#356427" />
+<rect x="42" y="4" width="1" height="1" fill="#356427" />
+<rect x="43" y="4" width="1" height="1" fill="#356427" />
+<rect x="44" y="4" width="1" height="1" fill="#356427" />
+<rect x="45" y="4" width="1" height="1" fill="#356427" />
+<rect x="46" y="4" width="1" height="1" fill="#356427" />
+<rect x="47" y="4" width="1" height="1" fill="#356427" />
+<rect x="0" y="5" width="1" height="1" fill="#18232B" />
+<rect x="1" y="5" width="1" height="1" fill="#18232B" />
+<rect x="2" y="5" width="1" height="1" fill="#18232B" />
+<rect x="3" y="5" width="1" height="1" fill="#202E37" />
+<rect x="4" y="5" width="1" height="1" fill="#202E37" />
+<rect x="5" y="5" width="1" height="1" fill="#202E37" />
+<rect x="6" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="5" width="1" height="1" fill="#25562E" />
+<rect x="8" y="5" width="1" height="1" fill="#25562E" />
+<rect x="9" y="5" width="1" height="1" fill="#25562E" />
+<rect x="10" y="5" width="1" height="1" fill="#468232" />
+<rect x="11" y="5" width="1" height="1" fill="#468232" />
+<rect x="12" y="5" width="1" height="1" fill="#468232" />
+<rect x="13" y="5" width="1" height="1" fill="#468232" />
+<rect x="14" y="5" width="1" height="1" fill="#468232" />
+<rect x="15" y="5" width="1" height="1" fill="#75A743" />
+<rect x="16" y="5" width="1" height="1" fill="#75A743" />
+<rect x="17" y="5" width="1" height="1" fill="#75A743" />
+<rect x="18" y="5" width="1" height="1" fill="#75A743" />
+<rect x="19" y="5" width="1" height="1" fill="#75A743" />
+<rect x="20" y="5" width="1" height="1" fill="#75A743" />
+<rect x="21" y="5" width="1" height="1" fill="#75A743" />
+<rect x="22" y="5" width="1" height="1" fill="#75A743" />
+<rect x="23" y="5" width="1" height="1" fill="#75A743" />
+<rect x="24" y="5" width="1" height="1" fill="#75A743" />
+<rect x="25" y="5" width="1" height="1" fill="#75A743" />
+<rect x="26" y="5" width="1" height="1" fill="#75A743" />
+<rect x="27" y="5" width="1" height="1" fill="#75A743" />
+<rect x="28" y="5" width="1" height="1" fill="#75A743" />
+<rect x="29" y="5" width="1" height="1" fill="#75A743" />
+<rect x="30" y="5" width="1" height="1" fill="#468232" />
+<rect x="31" y="5" width="1" height="1" fill="#468232" />
+<rect x="32" y="5" width="1" height="1" fill="#468232" />
+<rect x="33" y="5" width="1" height="1" fill="#468232" />
+<rect x="34" y="5" width="1" height="1" fill="#468232" />
+<rect x="35" y="5" width="1" height="1" fill="#468232" />
+<rect x="36" y="5" width="1" height="1" fill="#468232" />
+<rect x="37" y="5" width="1" height="1" fill="#468232" />
+<rect x="38" y="5" width="1" height="1" fill="#356427" />
+<rect x="39" y="5" width="1" height="1" fill="#356427" />
+<rect x="40" y="5" width="1" height="1" fill="#356427" />
+<rect x="41" y="5" width="1" height="1" fill="#356427" />
+<rect x="42" y="5" width="1" height="1" fill="#468232" />
+<rect x="43" y="5" width="1" height="1" fill="#356427" />
+<rect x="44" y="5" width="1" height="1" fill="#356427" />
+<rect x="45" y="5" width="1" height="1" fill="#356427" />
+<rect x="46" y="5" width="1" height="1" fill="#356427" />
+<rect x="47" y="5" width="1" height="1" fill="#356427" />
+<rect x="0" y="6" width="1" height="1" fill="#18232B" />
+<rect x="1" y="6" width="1" height="1" fill="#18232B" />
+<rect x="2" y="6" width="1" height="1" fill="#18232B" />
+<rect x="3" y="6" width="1" height="1" fill="#18232B" />
+<rect x="4" y="6" width="1" height="1" fill="#202E37" />
+<rect x="5" y="6" width="1" height="1" fill="#202E37" />
+<rect x="6" y="6" width="1" height="1" fill="#202E37" />
+<rect x="7" y="6" width="1" height="1" fill="#25562E" />
+<rect x="8" y="6" width="1" height="1" fill="#25562E" />
+<rect x="9" y="6" width="1" height="1" fill="#25562E" />
+<rect x="10" y="6" width="1" height="1" fill="#25562E" />
+<rect x="11" y="6" width="1" height="1" fill="#25562E" />
+<rect x="12" y="6" width="1" height="1" fill="#468232" />
+<rect x="13" y="6" width="1" height="1" fill="#468232" />
+<rect x="14" y="6" width="1" height="1" fill="#75A743" />
+<rect x="15" y="6" width="1" height="1" fill="#75A743" />
+<rect x="16" y="6" width="1" height="1" fill="#75A743" />
+<rect x="17" y="6" width="1" height="1" fill="#75A743" />
+<rect x="18" y="6" width="1" height="1" fill="#75A743" />
+<rect x="19" y="6" width="1" height="1" fill="#75A743" />
+<rect x="20" y="6" width="1" height="1" fill="#75A743" />
+<rect x="21" y="6" width="1" height="1" fill="#75A743" />
+<rect x="22" y="6" width="1" height="1" fill="#75A743" />
+<rect x="23" y="6" width="1" height="1" fill="#75A743" />
+<rect x="24" y="6" width="1" height="1" fill="#75A743" />
+<rect x="25" y="6" width="1" height="1" fill="#75A743" />
+<rect x="26" y="6" width="1" height="1" fill="#75A743" />
+<rect x="27" y="6" width="1" height="1" fill="#75A743" />
+<rect x="28" y="6" width="1" height="1" fill="#75A743" />
+<rect x="29" y="6" width="1" height="1" fill="#75A743" />
+<rect x="30" y="6" width="1" height="1" fill="#75A743" />
+<rect x="31" y="6" width="1" height="1" fill="#468232" />
+<rect x="32" y="6" width="1" height="1" fill="#468232" />
+<rect x="33" y="6" width="1" height="1" fill="#468232" />
+<rect x="34" y="6" width="1" height="1" fill="#468232" />
+<rect x="35" y="6" width="1" height="1" fill="#468232" />
+<rect x="36" y="6" width="1" height="1" fill="#468232" />
+<rect x="37" y="6" width="1" height="1" fill="#468232" />
+<rect x="38" y="6" width="1" height="1" fill="#468232" />
+<rect x="39" y="6" width="1" height="1" fill="#356427" />
+<rect x="40" y="6" width="1" height="1" fill="#356427" />
+<rect x="41" y="6" width="1" height="1" fill="#356427" />
+<rect x="42" y="6" width="1" height="1" fill="#468232" />
+<rect x="43" y="6" width="1" height="1" fill="#468232" />
+<rect x="44" y="6" width="1" height="1" fill="#356427" />
+<rect x="45" y="6" width="1" height="1" fill="#356427" />
+<rect x="46" y="6" width="1" height="1" fill="#356427" />
+<rect x="47" y="6" width="1" height="1" fill="#356427" />
+<rect x="0" y="7" width="1" height="1" fill="#18232B" />
+<rect x="1" y="7" width="1" height="1" fill="#18232B" />
+<rect x="2" y="7" width="1" height="1" fill="#18232B" />
+<rect x="3" y="7" width="1" height="1" fill="#18232B" />
+<rect x="4" y="7" width="1" height="1" fill="#18232B" />
+<rect x="5" y="7" width="1" height="1" fill="#18232B" />
+<rect x="6" y="7" width="1" height="1" fill="#202E37" />
+<rect x="7" y="7" width="1" height="1" fill="#202E37" />
+<rect x="8" y="7" width="1" height="1" fill="#202E37" />
+<rect x="9" y="7" width="1" height="1" fill="#25562E" />
+<rect x="10" y="7" width="1" height="1" fill="#25562E" />
+<rect x="11" y="7" width="1" height="1" fill="#25562E" />
+<rect x="12" y="7" width="1" height="1" fill="#25562E" />
+<rect x="13" y="7" width="1" height="1" fill="#75A743" />
+<rect x="14" y="7" width="1" height="1" fill="#75A743" />
+<rect x="15" y="7" width="1" height="1" fill="#75A743" />
+<rect x="16" y="7" width="1" height="1" fill="#75A743" />
+<rect x="17" y="7" width="1" height="1" fill="#75A743" />
+<rect x="18" y="7" width="1" height="1" fill="#75A743" />
+<rect x="19" y="7" width="1" height="1" fill="#75A743" />
+<rect x="20" y="7" width="1" height="1" fill="#75A743" />
+<rect x="21" y="7" width="1" height="1" fill="#75A743" />
+<rect x="22" y="7" width="1" height="1" fill="#75A743" />
+<rect x="23" y="7" width="1" height="1" fill="#75A743" />
+<rect x="24" y="7" width="1" height="1" fill="#75A743" />
+<rect x="25" y="7" width="1" height="1" fill="#75A743" />
+<rect x="26" y="7" width="1" height="1" fill="#75A743" />
+<rect x="27" y="7" width="1" height="1" fill="#75A743" />
+<rect x="28" y="7" width="1" height="1" fill="#75A743" />
+<rect x="29" y="7" width="1" height="1" fill="#75A743" />
+<rect x="30" y="7" width="1" height="1" fill="#75A743" />
+<rect x="31" y="7" width="1" height="1" fill="#75A743" />
+<rect x="32" y="7" width="1" height="1" fill="#468232" />
+<rect x="33" y="7" width="1" height="1" fill="#468232" />
+<rect x="34" y="7" width="1" height="1" fill="#468232" />
+<rect x="35" y="7" width="1" height="1" fill="#468232" />
+<rect x="36" y="7" width="1" height="1" fill="#468232" />
+<rect x="37" y="7" width="1" height="1" fill="#468232" />
+<rect x="38" y="7" width="1" height="1" fill="#468232" />
+<rect x="39" y="7" width="1" height="1" fill="#356427" />
+<rect x="40" y="7" width="1" height="1" fill="#356427" />
+<rect x="41" y="7" width="1" height="1" fill="#468232" />
+<rect x="42" y="7" width="1" height="1" fill="#468232" />
+<rect x="43" y="7" width="1" height="1" fill="#468232" />
+<rect x="44" y="7" width="1" height="1" fill="#356427" />
+<rect x="45" y="7" width="1" height="1" fill="#356427" />
+<rect x="46" y="7" width="1" height="1" fill="#356427" />
+<rect x="47" y="7" width="1" height="1" fill="#356427" />
+<rect x="0" y="8" width="1" height="1" fill="#18232B" />
+<rect x="1" y="8" width="1" height="1" fill="#18232B" />
+<rect x="2" y="8" width="1" height="1" fill="#202E37" />
+<rect x="3" y="8" width="1" height="1" fill="#202E37" />
+<rect x="4" y="8" width="1" height="1" fill="#202E37" />
+<rect x="5" y="8" width="1" height="1" fill="#18232B" />
+<rect x="6" y="8" width="1" height="1" fill="#18232B" />
+<rect x="7" y="8" width="1" height="1" fill="#202E37" />
+<rect x="8" y="8" width="1" height="1" fill="#202E37" />
+<rect x="9" y="8" width="1" height="1" fill="#202E37" />
+<rect x="10" y="8" width="1" height="1" fill="#25562E" />
+<rect x="11" y="8" width="1" height="1" fill="#25562E" />
+<rect x="12" y="8" width="1" height="1" fill="#25562E" />
+<rect x="13" y="8" width="1" height="1" fill="#25562E" />
+<rect x="14" y="8" width="1" height="1" fill="#25562E" />
+<rect x="15" y="8" width="1" height="1" fill="#75A743" />
+<rect x="16" y="8" width="1" height="1" fill="#75A743" />
+<rect x="17" y="8" width="1" height="1" fill="#75A743" />
+<rect x="18" y="8" width="1" height="1" fill="#75A743" />
+<rect x="19" y="8" width="1" height="1" fill="#75A743" />
+<rect x="20" y="8" width="1" height="1" fill="#75A743" />
+<rect x="21" y="8" width="1" height="1" fill="#75A743" />
+<rect x="22" y="8" width="1" height="1" fill="#75A743" />
+<rect x="23" y="8" width="1" height="1" fill="#75A743" />
+<rect x="24" y="8" width="1" height="1" fill="#75A743" />
+<rect x="25" y="8" width="1" height="1" fill="#75A743" />
+<rect x="26" y="8" width="1" height="1" fill="#75A743" />
+<rect x="27" y="8" width="1" height="1" fill="#75A743" />
+<rect x="28" y="8" width="1" height="1" fill="#75A743" />
+<rect x="29" y="8" width="1" height="1" fill="#75A743" />
+<rect x="30" y="8" width="1" height="1" fill="#75A743" />
+<rect x="31" y="8" width="1" height="1" fill="#75A743" />
+<rect x="32" y="8" width="1" height="1" fill="#75A743" />
+<rect x="33" y="8" width="1" height="1" fill="#468232" />
+<rect x="34" y="8" width="1" height="1" fill="#468232" />
+<rect x="35" y="8" width="1" height="1" fill="#468232" />
+<rect x="36" y="8" width="1" height="1" fill="#468232" />
+<rect x="37" y="8" width="1" height="1" fill="#468232" />
+<rect x="38" y="8" width="1" height="1" fill="#468232" />
+<rect x="39" y="8" width="1" height="1" fill="#356427" />
+<rect x="40" y="8" width="1" height="1" fill="#356427" />
+<rect x="41" y="8" width="1" height="1" fill="#468232" />
+<rect x="42" y="8" width="1" height="1" fill="#468232" />
+<rect x="43" y="8" width="1" height="1" fill="#468232" />
+<rect x="44" y="8" width="1" height="1" fill="#468232" />
+<rect x="45" y="8" width="1" height="1" fill="#356427" />
+<rect x="46" y="8" width="1" height="1" fill="#356427" />
+<rect x="47" y="8" width="1" height="1" fill="#356427" />
+<rect x="0" y="9" width="1" height="1" fill="#18232B" />
+<rect x="1" y="9" width="1" height="1" fill="#18232B" />
+<rect x="2" y="9" width="1" height="1" fill="#202E37" />
+<rect x="3" y="9" width="1" height="1" fill="#202E37" />
+<rect x="4" y="9" width="1" height="1" fill="#202E37" />
+<rect x="5" y="9" width="1" height="1" fill="#202E37" />
+<rect x="6" y="9" width="1" height="1" fill="#202E37" />
+<rect x="7" y="9" width="1" height="1" fill="#202E37" />
+<rect x="8" y="9" width="1" height="1" fill="#202E37" />
+<rect x="9" y="9" width="1" height="1" fill="#202E37" />
+<rect x="10" y="9" width="1" height="1" fill="#202E37" />
+<rect x="11" y="9" width="1" height="1" fill="#151D28" />
+<rect x="12" y="9" width="1" height="1" fill="#25562E" />
+<rect x="13" y="9" width="1" height="1" fill="#25562E" />
+<rect x="14" y="9" width="1" height="1" fill="#25562E" />
+<rect x="15" y="9" width="1" height="1" fill="#25562E" />
+<rect x="16" y="9" width="1" height="1" fill="#75A743" />
+<rect x="17" y="9" width="1" height="1" fill="#75A743" />
+<rect x="18" y="9" width="1" height="1" fill="#75A743" />
+<rect x="19" y="9" width="1" height="1" fill="#75A743" />
+<rect x="20" y="9" width="1" height="1" fill="#75A743" />
+<rect x="21" y="9" width="1" height="1" fill="#75A743" />
+<rect x="22" y="9" width="1" height="1" fill="#75A743" />
+<rect x="23" y="9" width="1" height="1" fill="#75A743" />
+<rect x="24" y="9" width="1" height="1" fill="#75A743" />
+<rect x="25" y="9" width="1" height="1" fill="#75A743" />
+<rect x="26" y="9" width="1" height="1" fill="#75A743" />
+<rect x="27" y="9" width="1" height="1" fill="#75A743" />
+<rect x="28" y="9" width="1" height="1" fill="#75A743" />
+<rect x="29" y="9" width="1" height="1" fill="#75A743" />
+<rect x="30" y="9" width="1" height="1" fill="#75A743" />
+<rect x="31" y="9" width="1" height="1" fill="#75A743" />
+<rect x="32" y="9" width="1" height="1" fill="#75A743" />
+<rect x="33" y="9" width="1" height="1" fill="#75A743" />
+<rect x="34" y="9" width="1" height="1" fill="#468232" />
+<rect x="35" y="9" width="1" height="1" fill="#468232" />
+<rect x="36" y="9" width="1" height="1" fill="#468232" />
+<rect x="37" y="9" width="1" height="1" fill="#468232" />
+<rect x="38" y="9" width="1" height="1" fill="#468232" />
+<rect x="39" y="9" width="1" height="1" fill="#356427" />
+<rect x="40" y="9" width="1" height="1" fill="#356427" />
+<rect x="41" y="9" width="1" height="1" fill="#468232" />
+<rect x="42" y="9" width="1" height="1" fill="#468232" />
+<rect x="43" y="9" width="1" height="1" fill="#468232" />
+<rect x="44" y="9" width="1" height="1" fill="#468232" />
+<rect x="45" y="9" width="1" height="1" fill="#356427" />
+<rect x="46" y="9" width="1" height="1" fill="#356427" />
+<rect x="47" y="9" width="1" height="1" fill="#356427" />
+<rect x="0" y="10" width="1" height="1" fill="#18232B" />
+<rect x="1" y="10" width="1" height="1" fill="#18232B" />
+<rect x="2" y="10" width="1" height="1" fill="#202E37" />
+<rect x="3" y="10" width="1" height="1" fill="#202E37" />
+<rect x="4" y="10" width="1" height="1" fill="#202E37" />
+<rect x="5" y="10" width="1" height="1" fill="#202E37" />
+<rect x="6" y="10" width="1" height="1" fill="#202E37" />
+<rect x="7" y="10" width="1" height="1" fill="#202E37" />
+<rect x="8" y="10" width="1" height="1" fill="#202E37" />
+<rect x="9" y="10" width="1" height="1" fill="#202E37" />
+<rect x="10" y="10" width="1" height="1" fill="#151D28" />
+<rect x="11" y="10" width="1" height="1" fill="#151D28" />
+<rect x="12" y="10" width="1" height="1" fill="#151D28" />
+<rect x="13" y="10" width="1" height="1" fill="#25562E" />
+<rect x="14" y="10" width="1" height="1" fill="#25562E" />
+<rect x="15" y="10" width="1" height="1" fill="#25562E" />
+<rect x="16" y="10" width="1" height="1" fill="#25562E" />
+<rect x="17" y="10" width="1" height="1" fill="#25562E" />
+<rect x="18" y="10" width="1" height="1" fill="#75A743" />
+<rect x="19" y="10" width="1" height="1" fill="#75A743" />
+<rect x="20" y="10" width="1" height="1" fill="#75A743" />
+<rect x="21" y="10" width="1" height="1" fill="#75A743" />
+<rect x="22" y="10" width="1" height="1" fill="#75A743" />
+<rect x="23" y="10" width="1" height="1" fill="#75A743" />
+<rect x="24" y="10" width="1" height="1" fill="#75A743" />
+<rect x="25" y="10" width="1" height="1" fill="#75A743" />
+<rect x="26" y="10" width="1" height="1" fill="#75A743" />
+<rect x="27" y="10" width="1" height="1" fill="#75A743" />
+<rect x="28" y="10" width="1" height="1" fill="#75A743" />
+<rect x="29" y="10" width="1" height="1" fill="#75A743" />
+<rect x="30" y="10" width="1" height="1" fill="#75A743" />
+<rect x="31" y="10" width="1" height="1" fill="#75A743" />
+<rect x="32" y="10" width="1" height="1" fill="#75A743" />
+<rect x="33" y="10" width="1" height="1" fill="#75A743" />
+<rect x="34" y="10" width="1" height="1" fill="#75A743" />
+<rect x="35" y="10" width="1" height="1" fill="#468232" />
+<rect x="36" y="10" width="1" height="1" fill="#468232" />
+<rect x="37" y="10" width="1" height="1" fill="#468232" />
+<rect x="38" y="10" width="1" height="1" fill="#468232" />
+<rect x="39" y="10" width="1" height="1" fill="#468232" />
+<rect x="40" y="10" width="1" height="1" fill="#356427" />
+<rect x="41" y="10" width="1" height="1" fill="#468232" />
+<rect x="42" y="10" width="1" height="1" fill="#468232" />
+<rect x="43" y="10" width="1" height="1" fill="#468232" />
+<rect x="44" y="10" width="1" height="1" fill="#468232" />
+<rect x="45" y="10" width="1" height="1" fill="#468232" />
+<rect x="46" y="10" width="1" height="1" fill="#356427" />
+<rect x="47" y="10" width="1" height="1" fill="#356427" />
+<rect x="0" y="11" width="1" height="1" fill="#18232B" />
+<rect x="1" y="11" width="1" height="1" fill="#18232B" />
+<rect x="2" y="11" width="1" height="1" fill="#202E37" />
+<rect x="3" y="11" width="1" height="1" fill="#202E37" />
+<rect x="4" y="11" width="1" height="1" fill="#202E37" />
+<rect x="5" y="11" width="1" height="1" fill="#202E37" />
+<rect x="6" y="11" width="1" height="1" fill="#202E37" />
+<rect x="7" y="11" width="1" height="1" fill="#202E37" />
+<rect x="8" y="11" width="1" height="1" fill="#202E37" />
+<rect x="9" y="11" width="1" height="1" fill="#202E37" />
+<rect x="10" y="11" width="1" height="1" fill="#151D28" />
+<rect x="11" y="11" width="1" height="1" fill="#151D28" />
+<rect x="12" y="11" width="1" height="1" fill="#151D28" />
+<rect x="13" y="11" width="1" height="1" fill="#151D28" />
+<rect x="14" y="11" width="1" height="1" fill="#151D28" />
+<rect x="15" y="11" width="1" height="1" fill="#25562E" />
+<rect x="16" y="11" width="1" height="1" fill="#25562E" />
+<rect x="17" y="11" width="1" height="1" fill="#25562E" />
+<rect x="18" y="11" width="1" height="1" fill="#25562E" />
+<rect x="19" y="11" width="1" height="1" fill="#75A743" />
+<rect x="20" y="11" width="1" height="1" fill="#75A743" />
+<rect x="21" y="11" width="1" height="1" fill="#75A743" />
+<rect x="22" y="11" width="1" height="1" fill="#75A743" />
+<rect x="23" y="11" width="1" height="1" fill="#75A743" />
+<rect x="24" y="11" width="1" height="1" fill="#75A743" />
+<rect x="25" y="11" width="1" height="1" fill="#75A743" />
+<rect x="26" y="11" width="1" height="1" fill="#75A743" />
+<rect x="27" y="11" width="1" height="1" fill="#75A743" />
+<rect x="28" y="11" width="1" height="1" fill="#75A743" />
+<rect x="29" y="11" width="1" height="1" fill="#75A743" />
+<rect x="30" y="11" width="1" height="1" fill="#75A743" />
+<rect x="31" y="11" width="1" height="1" fill="#75A743" />
+<rect x="32" y="11" width="1" height="1" fill="#75A743" />
+<rect x="33" y="11" width="1" height="1" fill="#75A743" />
+<rect x="34" y="11" width="1" height="1" fill="#75A743" />
+<rect x="35" y="11" width="1" height="1" fill="#468232" />
+<rect x="36" y="11" width="1" height="1" fill="#468232" />
+<rect x="37" y="11" width="1" height="1" fill="#468232" />
+<rect x="38" y="11" width="1" height="1" fill="#468232" />
+<rect x="39" y="11" width="1" height="1" fill="#468232" />
+<rect x="40" y="11" width="1" height="1" fill="#356427" />
+<rect x="41" y="11" width="1" height="1" fill="#468232" />
+<rect x="42" y="11" width="1" height="1" fill="#468232" />
+<rect x="43" y="11" width="1" height="1" fill="#468232" />
+<rect x="44" y="11" width="1" height="1" fill="#468232" />
+<rect x="45" y="11" width="1" height="1" fill="#468232" />
+<rect x="46" y="11" width="1" height="1" fill="#356427" />
+<rect x="47" y="11" width="1" height="1" fill="#356427" />
+<rect x="0" y="12" width="1" height="1" fill="#18232B" />
+<rect x="1" y="12" width="1" height="1" fill="#202E37" />
+<rect x="2" y="12" width="1" height="1" fill="#202E37" />
+<rect x="3" y="12" width="1" height="1" fill="#202E37" />
+<rect x="4" y="12" width="1" height="1" fill="#202E37" />
+<rect x="5" y="12" width="1" height="1" fill="#202E37" />
+<rect x="6" y="12" width="1" height="1" fill="#202E37" />
+<rect x="7" y="12" width="1" height="1" fill="#202E37" />
+<rect x="8" y="12" width="1" height="1" fill="#202E37" />
+<rect x="9" y="12" width="1" height="1" fill="#202E37" />
+<rect x="10" y="12" width="1" height="1" fill="#151D28" />
+<rect x="11" y="12" width="1" height="1" fill="#151D28" />
+<rect x="12" y="12" width="1" height="1" fill="#151D28" />
+<rect x="13" y="12" width="1" height="1" fill="#151D28" />
+<rect x="14" y="12" width="1" height="1" fill="#151D28" />
+<rect x="15" y="12" width="1" height="1" fill="#151D28" />
+<rect x="16" y="12" width="1" height="1" fill="#25562E" />
+<rect x="17" y="12" width="1" height="1" fill="#25562E" />
+<rect x="18" y="12" width="1" height="1" fill="#25562E" />
+<rect x="19" y="12" width="1" height="1" fill="#25562E" />
+<rect x="20" y="12" width="1" height="1" fill="#25562E" />
+<rect x="21" y="12" width="1" height="1" fill="#75A743" />
+<rect x="22" y="12" width="1" height="1" fill="#75A743" />
+<rect x="23" y="12" width="1" height="1" fill="#75A743" />
+<rect x="24" y="12" width="1" height="1" fill="#75A743" />
+<rect x="25" y="12" width="1" height="1" fill="#75A743" />
+<rect x="26" y="12" width="1" height="1" fill="#75A743" />
+<rect x="27" y="12" width="1" height="1" fill="#75A743" />
+<rect x="28" y="12" width="1" height="1" fill="#75A743" />
+<rect x="29" y="12" width="1" height="1" fill="#75A743" />
+<rect x="30" y="12" width="1" height="1" fill="#75A743" />
+<rect x="31" y="12" width="1" height="1" fill="#75A743" />
+<rect x="32" y="12" width="1" height="1" fill="#75A743" />
+<rect x="33" y="12" width="1" height="1" fill="#75A743" />
+<rect x="34" y="12" width="1" height="1" fill="#75A743" />
+<rect x="35" y="12" width="1" height="1" fill="#468232" />
+<rect x="36" y="12" width="1" height="1" fill="#468232" />
+<rect x="37" y="12" width="1" height="1" fill="#468232" />
+<rect x="38" y="12" width="1" height="1" fill="#468232" />
+<rect x="39" y="12" width="1" height="1" fill="#468232" />
+<rect x="40" y="12" width="1" height="1" fill="#468232" />
+<rect x="41" y="12" width="1" height="1" fill="#468232" />
+<rect x="42" y="12" width="1" height="1" fill="#468232" />
+<rect x="43" y="12" width="1" height="1" fill="#468232" />
+<rect x="44" y="12" width="1" height="1" fill="#468232" />
+<rect x="45" y="12" width="1" height="1" fill="#468232" />
+<rect x="46" y="12" width="1" height="1" fill="#356427" />
+<rect x="47" y="12" width="1" height="1" fill="#356427" />
+<rect x="0" y="13" width="1" height="1" fill="#18232B" />
+<rect x="1" y="13" width="1" height="1" fill="#202E37" />
+<rect x="2" y="13" width="1" height="1" fill="#202E37" />
+<rect x="3" y="13" width="1" height="1" fill="#202E37" />
+<rect x="4" y="13" width="1" height="1" fill="#202E37" />
+<rect x="5" y="13" width="1" height="1" fill="#202E37" />
+<rect x="6" y="13" width="1" height="1" fill="#202E37" />
+<rect x="7" y="13" width="1" height="1" fill="#202E37" />
+<rect x="8" y="13" width="1" height="1" fill="#202E37" />
+<rect x="9" y="13" width="1" height="1" fill="#151D28" />
+<rect x="10" y="13" width="1" height="1" fill="#151D28" />
+<rect x="11" y="13" width="1" height="1" fill="#151D28" />
+<rect x="12" y="13" width="1" height="1" fill="#151D28" />
+<rect x="13" y="13" width="1" height="1" fill="#151D28" />
+<rect x="14" y="13" width="1" height="1" fill="#151D28" />
+<rect x="15" y="13" width="1" height="1" fill="#151D28" />
+<rect x="16" y="13" width="1" height="1" fill="#151D28" />
+<rect x="17" y="13" width="1" height="1" fill="#151D28" />
+<rect x="18" y="13" width="1" height="1" fill="#25562E" />
+<rect x="19" y="13" width="1" height="1" fill="#25562E" />
+<rect x="20" y="13" width="1" height="1" fill="#25562E" />
+<rect x="21" y="13" width="1" height="1" fill="#25562E" />
+<rect x="22" y="13" width="1" height="1" fill="#75A743" />
+<rect x="23" y="13" width="1" height="1" fill="#75A743" />
+<rect x="24" y="13" width="1" height="1" fill="#75A743" />
+<rect x="25" y="13" width="1" height="1" fill="#75A743" />
+<rect x="26" y="13" width="1" height="1" fill="#75A743" />
+<rect x="27" y="13" width="1" height="1" fill="#75A743" />
+<rect x="28" y="13" width="1" height="1" fill="#75A743" />
+<rect x="29" y="13" width="1" height="1" fill="#75A743" />
+<rect x="30" y="13" width="1" height="1" fill="#75A743" />
+<rect x="31" y="13" width="1" height="1" fill="#75A743" />
+<rect x="32" y="13" width="1" height="1" fill="#75A743" />
+<rect x="33" y="13" width="1" height="1" fill="#75A743" />
+<rect x="34" y="13" width="1" height="1" fill="#75A743" />
+<rect x="35" y="13" width="1" height="1" fill="#75A743" />
+<rect x="36" y="13" width="1" height="1" fill="#468232" />
+<rect x="37" y="13" width="1" height="1" fill="#468232" />
+<rect x="38" y="13" width="1" height="1" fill="#468232" />
+<rect x="39" y="13" width="1" height="1" fill="#468232" />
+<rect x="40" y="13" width="1" height="1" fill="#468232" />
+<rect x="41" y="13" width="1" height="1" fill="#468232" />
+<rect x="42" y="13" width="1" height="1" fill="#468232" />
+<rect x="43" y="13" width="1" height="1" fill="#468232" />
+<rect x="44" y="13" width="1" height="1" fill="#468232" />
+<rect x="45" y="13" width="1" height="1" fill="#468232" />
+<rect x="46" y="13" width="1" height="1" fill="#356427" />
+<rect x="47" y="13" width="1" height="1" fill="#356427" />
+<rect x="0" y="14" width="1" height="1" fill="#18232B" />
+<rect x="1" y="14" width="1" height="1" fill="#202E37" />
+<rect x="2" y="14" width="1" height="1" fill="#202E37" />
+<rect x="3" y="14" width="1" height="1" fill="#202E37" />
+<rect x="4" y="14" width="1" height="1" fill="#202E37" />
+<rect x="5" y="14" width="1" height="1" fill="#202E37" />
+<rect x="6" y="14" width="1" height="1" fill="#202E37" />
+<rect x="7" y="14" width="1" height="1" fill="#202E37" />
+<rect x="8" y="14" width="1" height="1" fill="#202E37" />
+<rect x="9" y="14" width="1" height="1" fill="#151D28" />
+<rect x="10" y="14" width="1" height="1" fill="#151D28" />
+<rect x="11" y="14" width="1" height="1" fill="#151D28" />
+<rect x="12" y="14" width="1" height="1" fill="#151D28" />
+<rect x="13" y="14" width="1" height="1" fill="#151D28" />
+<rect x="14" y="14" width="1" height="1" fill="#151D28" />
+<rect x="15" y="14" width="1" height="1" fill="#151D28" />
+<rect x="16" y="14" width="1" height="1" fill="#151D28" />
+<rect x="17" y="14" width="1" height="1" fill="#151D28" />
+<rect x="18" y="14" width="1" height="1" fill="#151D28" />
+<rect x="19" y="14" width="1" height="1" fill="#25562E" />
+<rect x="20" y="14" width="1" height="1" fill="#25562E" />
+<rect x="21" y="14" width="1" height="1" fill="#25562E" />
+<rect x="22" y="14" width="1" height="1" fill="#25562E" />
+<rect x="23" y="14" width="1" height="1" fill="#25562E" />
+<rect x="24" y="14" width="1" height="1" fill="#75A743" />
+<rect x="25" y="14" width="1" height="1" fill="#75A743" />
+<rect x="26" y="14" width="1" height="1" fill="#75A743" />
+<rect x="27" y="14" width="1" height="1" fill="#75A743" />
+<rect x="28" y="14" width="1" height="1" fill="#75A743" />
+<rect x="29" y="14" width="1" height="1" fill="#75A743" />
+<rect x="30" y="14" width="1" height="1" fill="#75A743" />
+<rect x="31" y="14" width="1" height="1" fill="#75A743" />
+<rect x="32" y="14" width="1" height="1" fill="#75A743" />
+<rect x="33" y="14" width="1" height="1" fill="#75A743" />
+<rect x="34" y="14" width="1" height="1" fill="#75A743" />
+<rect x="35" y="14" width="1" height="1" fill="#75A743" />
+<rect x="36" y="14" width="1" height="1" fill="#468232" />
+<rect x="37" y="14" width="1" height="1" fill="#468232" />
+<rect x="38" y="14" width="1" height="1" fill="#468232" />
+<rect x="39" y="14" width="1" height="1" fill="#468232" />
+<rect x="40" y="14" width="1" height="1" fill="#468232" />
+<rect x="41" y="14" width="1" height="1" fill="#468232" />
+<rect x="42" y="14" width="1" height="1" fill="#468232" />
+<rect x="43" y="14" width="1" height="1" fill="#468232" />
+<rect x="44" y="14" width="1" height="1" fill="#468232" />
+<rect x="45" y="14" width="1" height="1" fill="#468232" />
+<rect x="46" y="14" width="1" height="1" fill="#356427" />
+<rect x="47" y="14" width="1" height="1" fill="#356427" />
+<rect x="0" y="15" width="1" height="1" fill="#18232B" />
+<rect x="1" y="15" width="1" height="1" fill="#202E37" />
+<rect x="2" y="15" width="1" height="1" fill="#202E37" />
+<rect x="3" y="15" width="1" height="1" fill="#202E37" />
+<rect x="4" y="15" width="1" height="1" fill="#202E37" />
+<rect x="5" y="15" width="1" height="1" fill="#202E37" />
+<rect x="6" y="15" width="1" height="1" fill="#202E37" />
+<rect x="7" y="15" width="1" height="1" fill="#202E37" />
+<rect x="8" y="15" width="1" height="1" fill="#202E37" />
+<rect x="9" y="15" width="1" height="1" fill="#151D28" />
+<rect x="10" y="15" width="1" height="1" fill="#151D28" />
+<rect x="11" y="15" width="1" height="1" fill="#151D28" />
+<rect x="12" y="15" width="1" height="1" fill="#151D28" />
+<rect x="13" y="15" width="1" height="1" fill="#151D28" />
+<rect x="14" y="15" width="1" height="1" fill="#151D28" />
+<rect x="15" y="15" width="1" height="1" fill="#151D28" />
+<rect x="16" y="15" width="1" height="1" fill="#151D28" />
+<rect x="17" y="15" width="1" height="1" fill="#151D28" />
+<rect x="18" y="15" width="1" height="1" fill="#151D28" />
+<rect x="19" y="15" width="1" height="1" fill="#151D28" />
+<rect x="20" y="15" width="1" height="1" fill="#151D28" />
+<rect x="21" y="15" width="1" height="1" fill="#25562E" />
+<rect x="22" y="15" width="1" height="1" fill="#25562E" />
+<rect x="23" y="15" width="1" height="1" fill="#25562E" />
+<rect x="24" y="15" width="1" height="1" fill="#25562E" />
+<rect x="25" y="15" width="1" height="1" fill="#25562E" />
+<rect x="26" y="15" width="1" height="1" fill="#75A743" />
+<rect x="27" y="15" width="1" height="1" fill="#75A743" />
+<rect x="28" y="15" width="1" height="1" fill="#75A743" />
+<rect x="29" y="15" width="1" height="1" fill="#75A743" />
+<rect x="30" y="15" width="1" height="1" fill="#75A743" />
+<rect x="31" y="15" width="1" height="1" fill="#75A743" />
+<rect x="32" y="15" width="1" height="1" fill="#75A743" />
+<rect x="33" y="15" width="1" height="1" fill="#75A743" />
+<rect x="34" y="15" width="1" height="1" fill="#75A743" />
+<rect x="35" y="15" width="1" height="1" fill="#75A743" />
+<rect x="36" y="15" width="1" height="1" fill="#468232" />
+<rect x="37" y="15" width="1" height="1" fill="#468232" />
+<rect x="38" y="15" width="1" height="1" fill="#468232" />
+<rect x="39" y="15" width="1" height="1" fill="#468232" />
+<rect x="40" y="15" width="1" height="1" fill="#468232" />
+<rect x="41" y="15" width="1" height="1" fill="#468232" />
+<rect x="42" y="15" width="1" height="1" fill="#468232" />
+<rect x="43" y="15" width="1" height="1" fill="#468232" />
+<rect x="44" y="15" width="1" height="1" fill="#468232" />
+<rect x="45" y="15" width="1" height="1" fill="#468232" />
+<rect x="46" y="15" width="1" height="1" fill="#356427" />
+<rect x="47" y="15" width="1" height="1" fill="#356427" />
+<rect x="0" y="16" width="1" height="1" fill="#18232B" />
+<rect x="1" y="16" width="1" height="1" fill="#202E37" />
+<rect x="2" y="16" width="1" height="1" fill="#202E37" />
+<rect x="3" y="16" width="1" height="1" fill="#202E37" />
+<rect x="4" y="16" width="1" height="1" fill="#202E37" />
+<rect x="5" y="16" width="1" height="1" fill="#202E37" />
+<rect x="6" y="16" width="1" height="1" fill="#202E37" />
+<rect x="7" y="16" width="1" height="1" fill="#202E37" />
+<rect x="8" y="16" width="1" height="1" fill="#202E37" />
+<rect x="9" y="16" width="1" height="1" fill="#151D28" />
+<rect x="10" y="16" width="1" height="1" fill="#151D28" />
+<rect x="11" y="16" width="1" height="1" fill="#151D28" />
+<rect x="12" y="16" width="1" height="1" fill="#151D28" />
+<rect x="13" y="16" width="1" height="1" fill="#151D28" />
+<rect x="14" y="16" width="1" height="1" fill="#151D28" />
+<rect x="15" y="16" width="1" height="1" fill="#151D28" />
+<rect x="16" y="16" width="1" height="1" fill="#151D28" />
+<rect x="17" y="16" width="1" height="1" fill="#151D28" />
+<rect x="18" y="16" width="1" height="1" fill="#151D28" />
+<rect x="19" y="16" width="1" height="1" fill="#151D28" />
+<rect x="20" y="16" width="1" height="1" fill="#151D28" />
+<rect x="21" y="16" width="1" height="1" fill="#151D28" />
+<rect x="22" y="16" width="1" height="1" fill="#25562E" />
+<rect x="23" y="16" width="1" height="1" fill="#25562E" />
+<rect x="24" y="16" width="1" height="1" fill="#25562E" />
+<rect x="25" y="16" width="1" height="1" fill="#25562E" />
+<rect x="26" y="16" width="1" height="1" fill="#25562E" />
+<rect x="27" y="16" width="1" height="1" fill="#75A743" />
+<rect x="28" y="16" width="1" height="1" fill="#75A743" />
+<rect x="29" y="16" width="1" height="1" fill="#75A743" />
+<rect x="30" y="16" width="1" height="1" fill="#75A743" />
+<rect x="31" y="16" width="1" height="1" fill="#75A743" />
+<rect x="32" y="16" width="1" height="1" fill="#75A743" />
+<rect x="33" y="16" width="1" height="1" fill="#75A743" />
+<rect x="34" y="16" width="1" height="1" fill="#75A743" />
+<rect x="35" y="16" width="1" height="1" fill="#75A743" />
+<rect x="36" y="16" width="1" height="1" fill="#468232" />
+<rect x="37" y="16" width="1" height="1" fill="#468232" />
+<rect x="38" y="16" width="1" height="1" fill="#468232" />
+<rect x="39" y="16" width="1" height="1" fill="#468232" />
+<rect x="40" y="16" width="1" height="1" fill="#468232" />
+<rect x="41" y="16" width="1" height="1" fill="#468232" />
+<rect x="42" y="16" width="1" height="1" fill="#468232" />
+<rect x="43" y="16" width="1" height="1" fill="#468232" />
+<rect x="44" y="16" width="1" height="1" fill="#468232" />
+<rect x="45" y="16" width="1" height="1" fill="#468232" />
+<rect x="46" y="16" width="1" height="1" fill="#356427" />
+<rect x="47" y="16" width="1" height="1" fill="#356427" />
+<rect x="0" y="17" width="1" height="1" fill="#18232B" />
+<rect x="1" y="17" width="1" height="1" fill="#202E37" />
+<rect x="2" y="17" width="1" height="1" fill="#202E37" />
+<rect x="3" y="17" width="1" height="1" fill="#202E37" />
+<rect x="4" y="17" width="1" height="1" fill="#202E37" />
+<rect x="5" y="17" width="1" height="1" fill="#202E37" />
+<rect x="6" y="17" width="1" height="1" fill="#202E37" />
+<rect x="7" y="17" width="1" height="1" fill="#202E37" />
+<rect x="8" y="17" width="1" height="1" fill="#202E37" />
+<rect x="9" y="17" width="1" height="1" fill="#151D28" />
+<rect x="10" y="17" width="1" height="1" fill="#151D28" />
+<rect x="11" y="17" width="1" height="1" fill="#151D28" />
+<rect x="12" y="17" width="1" height="1" fill="#151D28" />
+<rect x="13" y="17" width="1" height="1" fill="#151D28" />
+<rect x="14" y="17" width="1" height="1" fill="#151D28" />
+<rect x="15" y="17" width="1" height="1" fill="#151D28" />
+<rect x="16" y="17" width="1" height="1" fill="#151D28" />
+<rect x="17" y="17" width="1" height="1" fill="#151D28" />
+<rect x="18" y="17" width="1" height="1" fill="#151D28" />
+<rect x="19" y="17" width="1" height="1" fill="#151D28" />
+<rect x="20" y="17" width="1" height="1" fill="#151D28" />
+<rect x="21" y="17" width="1" height="1" fill="#151D28" />
+<rect x="22" y="17" width="1" height="1" fill="#151D28" />
+<rect x="23" y="17" width="1" height="1" fill="#151D28" />
+<rect x="24" y="17" width="1" height="1" fill="#25562E" />
+<rect x="25" y="17" width="1" height="1" fill="#25562E" />
+<rect x="26" y="17" width="1" height="1" fill="#25562E" />
+<rect x="27" y="17" width="1" height="1" fill="#25562E" />
+<rect x="28" y="17" width="1" height="1" fill="#25562E" />
+<rect x="29" y="17" width="1" height="1" fill="#75A743" />
+<rect x="30" y="17" width="1" height="1" fill="#75A743" />
+<rect x="31" y="17" width="1" height="1" fill="#75A743" />
+<rect x="32" y="17" width="1" height="1" fill="#75A743" />
+<rect x="33" y="17" width="1" height="1" fill="#75A743" />
+<rect x="34" y="17" width="1" height="1" fill="#75A743" />
+<rect x="35" y="17" width="1" height="1" fill="#75A743" />
+<rect x="36" y="17" width="1" height="1" fill="#468232" />
+<rect x="37" y="17" width="1" height="1" fill="#468232" />
+<rect x="38" y="17" width="1" height="1" fill="#468232" />
+<rect x="39" y="17" width="1" height="1" fill="#468232" />
+<rect x="40" y="17" width="1" height="1" fill="#468232" />
+<rect x="41" y="17" width="1" height="1" fill="#468232" />
+<rect x="42" y="17" width="1" height="1" fill="#468232" />
+<rect x="43" y="17" width="1" height="1" fill="#468232" />
+<rect x="44" y="17" width="1" height="1" fill="#468232" />
+<rect x="45" y="17" width="1" height="1" fill="#356427" />
+<rect x="46" y="17" width="1" height="1" fill="#356427" />
+<rect x="47" y="17" width="1" height="1" fill="#356427" />
+<rect x="0" y="18" width="1" height="1" fill="#18232B" />
+<rect x="1" y="18" width="1" height="1" fill="#202E37" />
+<rect x="2" y="18" width="1" height="1" fill="#202E37" />
+<rect x="3" y="18" width="1" height="1" fill="#202E37" />
+<rect x="4" y="18" width="1" height="1" fill="#202E37" />
+<rect x="5" y="18" width="1" height="1" fill="#202E37" />
+<rect x="6" y="18" width="1" height="1" fill="#202E37" />
+<rect x="7" y="18" width="1" height="1" fill="#202E37" />
+<rect x="8" y="18" width="1" height="1" fill="#202E37" />
+<rect x="9" y="18" width="1" height="1" fill="#151D28" />
+<rect x="10" y="18" width="1" height="1" fill="#151D28" />
+<rect x="11" y="18" width="1" height="1" fill="#151D28" />
+<rect x="12" y="18" width="1" height="1" fill="#151D28" />
+<rect x="13" y="18" width="1" height="1" fill="#151D28" />
+<rect x="14" y="18" width="1" height="1" fill="#151D28" />
+<rect x="15" y="18" width="1" height="1" fill="#151D28" />
+<rect x="16" y="18" width="1" height="1" fill="#151D28" />
+<rect x="17" y="18" width="1" height="1" fill="#151D28" />
+<rect x="18" y="18" width="1" height="1" fill="#151D28" />
+<rect x="19" y="18" width="1" height="1" fill="#151D28" />
+<rect x="20" y="18" width="1" height="1" fill="#151D28" />
+<rect x="21" y="18" width="1" height="1" fill="#151D28" />
+<rect x="22" y="18" width="1" height="1" fill="#151D28" />
+<rect x="23" y="18" width="1" height="1" fill="#151D28" />
+<rect x="24" y="18" width="1" height="1" fill="#151D28" />
+<rect x="25" y="18" width="1" height="1" fill="#151D28" />
+<rect x="26" y="18" width="1" height="1" fill="#25562E" />
+<rect x="27" y="18" width="1" height="1" fill="#25562E" />
+<rect x="28" y="18" width="1" height="1" fill="#25562E" />
+<rect x="29" y="18" width="1" height="1" fill="#25562E" />
+<rect x="30" y="18" width="1" height="1" fill="#75A743" />
+<rect x="31" y="18" width="1" height="1" fill="#75A743" />
+<rect x="32" y="18" width="1" height="1" fill="#75A743" />
+<rect x="33" y="18" width="1" height="1" fill="#75A743" />
+<rect x="34" y="18" width="1" height="1" fill="#75A743" />
+<rect x="35" y="18" width="1" height="1" fill="#75A743" />
+<rect x="36" y="18" width="1" height="1" fill="#468232" />
+<rect x="37" y="18" width="1" height="1" fill="#468232" />
+<rect x="38" y="18" width="1" height="1" fill="#468232" />
+<rect x="39" y="18" width="1" height="1" fill="#468232" />
+<rect x="40" y="18" width="1" height="1" fill="#468232" />
+<rect x="41" y="18" width="1" height="1" fill="#468232" />
+<rect x="42" y="18" width="1" height="1" fill="#468232" />
+<rect x="43" y="18" width="1" height="1" fill="#468232" />
+<rect x="44" y="18" width="1" height="1" fill="#468232" />
+<rect x="45" y="18" width="1" height="1" fill="#356427" />
+<rect x="46" y="18" width="1" height="1" fill="#356427" />
+<rect x="47" y="18" width="1" height="1" fill="#356427" />
+<rect x="0" y="19" width="1" height="1" fill="#18232B" />
+<rect x="1" y="19" width="1" height="1" fill="#202E37" />
+<rect x="2" y="19" width="1" height="1" fill="#202E37" />
+<rect x="3" y="19" width="1" height="1" fill="#202E37" />
+<rect x="4" y="19" width="1" height="1" fill="#202E37" />
+<rect x="5" y="19" width="1" height="1" fill="#202E37" />
+<rect x="6" y="19" width="1" height="1" fill="#202E37" />
+<rect x="7" y="19" width="1" height="1" fill="#202E37" />
+<rect x="8" y="19" width="1" height="1" fill="#202E37" />
+<rect x="9" y="19" width="1" height="1" fill="#151D28" />
+<rect x="10" y="19" width="1" height="1" fill="#151D28" />
+<rect x="11" y="19" width="1" height="1" fill="#151D28" />
+<rect x="12" y="19" width="1" height="1" fill="#151D28" />
+<rect x="13" y="19" width="1" height="1" fill="#151D28" />
+<rect x="14" y="19" width="1" height="1" fill="#151D28" />
+<rect x="15" y="19" width="1" height="1" fill="#151D28" />
+<rect x="16" y="19" width="1" height="1" fill="#151D28" />
+<rect x="17" y="19" width="1" height="1" fill="#151D28" />
+<rect x="18" y="19" width="1" height="1" fill="#151D28" />
+<rect x="19" y="19" width="1" height="1" fill="#151D28" />
+<rect x="20" y="19" width="1" height="1" fill="#151D28" />
+<rect x="21" y="19" width="1" height="1" fill="#151D28" />
+<rect x="22" y="19" width="1" height="1" fill="#151D28" />
+<rect x="23" y="19" width="1" height="1" fill="#151D28" />
+<rect x="24" y="19" width="1" height="1" fill="#151D28" />
+<rect x="25" y="19" width="1" height="1" fill="#151D28" />
+<rect x="26" y="19" width="1" height="1" fill="#151D28" />
+<rect x="27" y="19" width="1" height="1" fill="#25562E" />
+<rect x="28" y="19" width="1" height="1" fill="#25562E" />
+<rect x="29" y="19" width="1" height="1" fill="#25562E" />
+<rect x="30" y="19" width="1" height="1" fill="#25562E" />
+<rect x="31" y="19" width="1" height="1" fill="#25562E" />
+<rect x="32" y="19" width="1" height="1" fill="#75A743" />
+<rect x="33" y="19" width="1" height="1" fill="#75A743" />
+<rect x="34" y="19" width="1" height="1" fill="#75A743" />
+<rect x="35" y="19" width="1" height="1" fill="#75A743" />
+<rect x="36" y="19" width="1" height="1" fill="#468232" />
+<rect x="37" y="19" width="1" height="1" fill="#468232" />
+<rect x="38" y="19" width="1" height="1" fill="#468232" />
+<rect x="39" y="19" width="1" height="1" fill="#468232" />
+<rect x="40" y="19" width="1" height="1" fill="#468232" />
+<rect x="41" y="19" width="1" height="1" fill="#468232" />
+<rect x="42" y="19" width="1" height="1" fill="#468232" />
+<rect x="43" y="19" width="1" height="1" fill="#468232" />
+<rect x="44" y="19" width="1" height="1" fill="#468232" />
+<rect x="45" y="19" width="1" height="1" fill="#356427" />
+<rect x="46" y="19" width="1" height="1" fill="#356427" />
+<rect x="47" y="19" width="1" height="1" fill="#356427" />
+<rect x="0" y="20" width="1" height="1" fill="#18232B" />
+<rect x="1" y="20" width="1" height="1" fill="#202E37" />
+<rect x="2" y="20" width="1" height="1" fill="#202E37" />
+<rect x="3" y="20" width="1" height="1" fill="#202E37" />
+<rect x="4" y="20" width="1" height="1" fill="#202E37" />
+<rect x="5" y="20" width="1" height="1" fill="#202E37" />
+<rect x="6" y="20" width="1" height="1" fill="#202E37" />
+<rect x="7" y="20" width="1" height="1" fill="#202E37" />
+<rect x="8" y="20" width="1" height="1" fill="#202E37" />
+<rect x="9" y="20" width="1" height="1" fill="#202E37" />
+<rect x="10" y="20" width="1" height="1" fill="#151D28" />
+<rect x="11" y="20" width="1" height="1" fill="#151D28" />
+<rect x="12" y="20" width="1" height="1" fill="#151D28" />
+<rect x="13" y="20" width="1" height="1" fill="#151D28" />
+<rect x="14" y="20" width="1" height="1" fill="#151D28" />
+<rect x="15" y="20" width="1" height="1" fill="#151D28" />
+<rect x="16" y="20" width="1" height="1" fill="#151D28" />
+<rect x="17" y="20" width="1" height="1" fill="#151D28" />
+<rect x="18" y="20" width="1" height="1" fill="#151D28" />
+<rect x="19" y="20" width="1" height="1" fill="#151D28" />
+<rect x="20" y="20" width="1" height="1" fill="#151D28" />
+<rect x="21" y="20" width="1" height="1" fill="#151D28" />
+<rect x="22" y="20" width="1" height="1" fill="#151D28" />
+<rect x="23" y="20" width="1" height="1" fill="#151D28" />
+<rect x="24" y="20" width="1" height="1" fill="#151D28" />
+<rect x="25" y="20" width="1" height="1" fill="#151D28" />
+<rect x="26" y="20" width="1" height="1" fill="#151D28" />
+<rect x="27" y="20" width="1" height="1" fill="#151D28" />
+<rect x="28" y="20" width="1" height="1" fill="#151D28" />
+<rect x="29" y="20" width="1" height="1" fill="#25562E" />
+<rect x="30" y="20" width="1" height="1" fill="#25562E" />
+<rect x="31" y="20" width="1" height="1" fill="#25562E" />
+<rect x="32" y="20" width="1" height="1" fill="#25562E" />
+<rect x="33" y="20" width="1" height="1" fill="#75A743" />
+<rect x="34" y="20" width="1" height="1" fill="#75A743" />
+<rect x="35" y="20" width="1" height="1" fill="#468232" />
+<rect x="36" y="20" width="1" height="1" fill="#468232" />
+<rect x="37" y="20" width="1" height="1" fill="#468232" />
+<rect x="38" y="20" width="1" height="1" fill="#468232" />
+<rect x="39" y="20" width="1" height="1" fill="#468232" />
+<rect x="40" y="20" width="1" height="1" fill="#468232" />
+<rect x="41" y="20" width="1" height="1" fill="#468232" />
+<rect x="42" y="20" width="1" height="1" fill="#468232" />
+<rect x="43" y="20" width="1" height="1" fill="#468232" />
+<rect x="44" y="20" width="1" height="1" fill="#356427" />
+<rect x="45" y="20" width="1" height="1" fill="#356427" />
+<rect x="46" y="20" width="1" height="1" fill="#356427" />
+<rect x="47" y="20" width="1" height="1" fill="#356427" />
+<rect x="0" y="21" width="1" height="1" fill="#18232B" />
+<rect x="1" y="21" width="1" height="1" fill="#202E37" />
+<rect x="2" y="21" width="1" height="1" fill="#202E37" />
+<rect x="3" y="21" width="1" height="1" fill="#202E37" />
+<rect x="4" y="21" width="1" height="1" fill="#202E37" />
+<rect x="5" y="21" width="1" height="1" fill="#202E37" />
+<rect x="6" y="21" width="1" height="1" fill="#202E37" />
+<rect x="7" y="21" width="1" height="1" fill="#202E37" />
+<rect x="8" y="21" width="1" height="1" fill="#202E37" />
+<rect x="9" y="21" width="1" height="1" fill="#202E37" />
+<rect x="10" y="21" width="1" height="1" fill="#151D28" />
+<rect x="11" y="21" width="1" height="1" fill="#151D28" />
+<rect x="12" y="21" width="1" height="1" fill="#151D28" />
+<rect x="13" y="21" width="1" height="1" fill="#151D28" />
+<rect x="14" y="21" width="1" height="1" fill="#151D28" />
+<rect x="15" y="21" width="1" height="1" fill="#151D28" />
+<rect x="16" y="21" width="1" height="1" fill="#151D28" />
+<rect x="17" y="21" width="1" height="1" fill="#151D28" />
+<rect x="18" y="21" width="1" height="1" fill="#151D28" />
+<rect x="19" y="21" width="1" height="1" fill="#151D28" />
+<rect x="20" y="21" width="1" height="1" fill="#151D28" />
+<rect x="21" y="21" width="1" height="1" fill="#151D28" />
+<rect x="22" y="21" width="1" height="1" fill="#151D28" />
+<rect x="23" y="21" width="1" height="1" fill="#151D28" />
+<rect x="24" y="21" width="1" height="1" fill="#151D28" />
+<rect x="25" y="21" width="1" height="1" fill="#151D28" />
+<rect x="26" y="21" width="1" height="1" fill="#151D28" />
+<rect x="27" y="21" width="1" height="1" fill="#151D28" />
+<rect x="28" y="21" width="1" height="1" fill="#151D28" />
+<rect x="29" y="21" width="1" height="1" fill="#151D28" />
+<rect x="30" y="21" width="1" height="1" fill="#25562E" />
+<rect x="31" y="21" width="1" height="1" fill="#25562E" />
+<rect x="32" y="21" width="1" height="1" fill="#25562E" />
+<rect x="33" y="21" width="1" height="1" fill="#25562E" />
+<rect x="34" y="21" width="1" height="1" fill="#25562E" />
+<rect x="35" y="21" width="1" height="1" fill="#468232" />
+<rect x="36" y="21" width="1" height="1" fill="#468232" />
+<rect x="37" y="21" width="1" height="1" fill="#468232" />
+<rect x="38" y="21" width="1" height="1" fill="#468232" />
+<rect x="39" y="21" width="1" height="1" fill="#468232" />
+<rect x="40" y="21" width="1" height="1" fill="#468232" />
+<rect x="41" y="21" width="1" height="1" fill="#468232" />
+<rect x="42" y="21" width="1" height="1" fill="#468232" />
+<rect x="43" y="21" width="1" height="1" fill="#468232" />
+<rect x="44" y="21" width="1" height="1" fill="#356427" />
+<rect x="45" y="21" width="1" height="1" fill="#468232" />
+<rect x="46" y="21" width="1" height="1" fill="#356427" />
+<rect x="47" y="21" width="1" height="1" fill="#356427" />
+<rect x="0" y="22" width="1" height="1" fill="#18232B" />
+<rect x="1" y="22" width="1" height="1" fill="#202E37" />
+<rect x="2" y="22" width="1" height="1" fill="#18232B" />
+<rect x="3" y="22" width="1" height="1" fill="#202E37" />
+<rect x="4" y="22" width="1" height="1" fill="#202E37" />
+<rect x="5" y="22" width="1" height="1" fill="#202E37" />
+<rect x="6" y="22" width="1" height="1" fill="#202E37" />
+<rect x="7" y="22" width="1" height="1" fill="#202E37" />
+<rect x="8" y="22" width="1" height="1" fill="#202E37" />
+<rect x="9" y="22" width="1" height="1" fill="#202E37" />
+<rect x="10" y="22" width="1" height="1" fill="#151D28" />
+<rect x="11" y="22" width="1" height="1" fill="#151D28" />
+<rect x="12" y="22" width="1" height="1" fill="#151D28" />
+<rect x="13" y="22" width="1" height="1" fill="#151D28" />
+<rect x="14" y="22" width="1" height="1" fill="#151D28" />
+<rect x="15" y="22" width="1" height="1" fill="#151D28" />
+<rect x="16" y="22" width="1" height="1" fill="#151D28" />
+<rect x="17" y="22" width="1" height="1" fill="#151D28" />
+<rect x="18" y="22" width="1" height="1" fill="#151D28" />
+<rect x="19" y="22" width="1" height="1" fill="#151D28" />
+<rect x="20" y="22" width="1" height="1" fill="#151D28" />
+<rect x="21" y="22" width="1" height="1" fill="#151D28" />
+<rect x="22" y="22" width="1" height="1" fill="#151D28" />
+<rect x="23" y="22" width="1" height="1" fill="#151D28" />
+<rect x="24" y="22" width="1" height="1" fill="#151D28" />
+<rect x="25" y="22" width="1" height="1" fill="#151D28" />
+<rect x="26" y="22" width="1" height="1" fill="#151D28" />
+<rect x="27" y="22" width="1" height="1" fill="#151D28" />
+<rect x="28" y="22" width="1" height="1" fill="#151D28" />
+<rect x="29" y="22" width="1" height="1" fill="#151D28" />
+<rect x="30" y="22" width="1" height="1" fill="#151D28" />
+<rect x="31" y="22" width="1" height="1" fill="#151D28" />
+<rect x="32" y="22" width="1" height="1" fill="#25562E" />
+<rect x="33" y="22" width="1" height="1" fill="#25562E" />
+<rect x="34" y="22" width="1" height="1" fill="#25562E" />
+<rect x="35" y="22" width="1" height="1" fill="#25562E" />
+<rect x="36" y="22" width="1" height="1" fill="#468232" />
+<rect x="37" y="22" width="1" height="1" fill="#468232" />
+<rect x="38" y="22" width="1" height="1" fill="#468232" />
+<rect x="39" y="22" width="1" height="1" fill="#468232" />
+<rect x="40" y="22" width="1" height="1" fill="#468232" />
+<rect x="41" y="22" width="1" height="1" fill="#468232" />
+<rect x="42" y="22" width="1" height="1" fill="#468232" />
+<rect x="43" y="22" width="1" height="1" fill="#468232" />
+<rect x="44" y="22" width="1" height="1" fill="#468232" />
+<rect x="45" y="22" width="1" height="1" fill="#468232" />
+<rect x="46" y="22" width="1" height="1" fill="#356427" />
+<rect x="47" y="22" width="1" height="1" fill="#356427" />
+<rect x="0" y="23" width="1" height="1" fill="#18232B" />
+<rect x="1" y="23" width="1" height="1" fill="#202E37" />
+<rect x="2" y="23" width="1" height="1" fill="#18232B" />
+<rect x="3" y="23" width="1" height="1" fill="#202E37" />
+<rect x="4" y="23" width="1" height="1" fill="#202E37" />
+<rect x="5" y="23" width="1" height="1" fill="#202E37" />
+<rect x="6" y="23" width="1" height="1" fill="#202E37" />
+<rect x="7" y="23" width="1" height="1" fill="#202E37" />
+<rect x="8" y="23" width="1" height="1" fill="#202E37" />
+<rect x="9" y="23" width="1" height="1" fill="#202E37" />
+<rect x="10" y="23" width="1" height="1" fill="#202E37" />
+<rect x="11" y="23" width="1" height="1" fill="#151D28" />
+<rect x="12" y="23" width="1" height="1" fill="#151D28" />
+<rect x="13" y="23" width="1" height="1" fill="#151D28" />
+<rect x="14" y="23" width="1" height="1" fill="#151D28" />
+<rect x="15" y="23" width="1" height="1" fill="#151D28" />
+<rect x="16" y="23" width="1" height="1" fill="#151D28" />
+<rect x="17" y="23" width="1" height="1" fill="#151D28" />
+<rect x="18" y="23" width="1" height="1" fill="#151D28" />
+<rect x="19" y="23" width="1" height="1" fill="#151D28" />
+<rect x="20" y="23" width="1" height="1" fill="#151D28" />
+<rect x="21" y="23" width="1" height="1" fill="#151D28" />
+<rect x="22" y="23" width="1" height="1" fill="#151D28" />
+<rect x="23" y="23" width="1" height="1" fill="#151D28" />
+<rect x="24" y="23" width="1" height="1" fill="#151D28" />
+<rect x="25" y="23" width="1" height="1" fill="#151D28" />
+<rect x="26" y="23" width="1" height="1" fill="#151D28" />
+<rect x="27" y="23" width="1" height="1" fill="#151D28" />
+<rect x="28" y="23" width="1" height="1" fill="#151D28" />
+<rect x="29" y="23" width="1" height="1" fill="#151D28" />
+<rect x="30" y="23" width="1" height="1" fill="#151D28" />
+<rect x="31" y="23" width="1" height="1" fill="#151D28" />
+<rect x="32" y="23" width="1" height="1" fill="#151D28" />
+<rect x="33" y="23" width="1" height="1" fill="#25562E" />
+<rect x="34" y="23" width="1" height="1" fill="#25562E" />
+<rect x="35" y="23" width="1" height="1" fill="#25562E" />
+<rect x="36" y="23" width="1" height="1" fill="#25562E" />
+<rect x="37" y="23" width="1" height="1" fill="#25562E" />
+<rect x="38" y="23" width="1" height="1" fill="#468232" />
+<rect x="39" y="23" width="1" height="1" fill="#468232" />
+<rect x="40" y="23" width="1" height="1" fill="#468232" />
+<rect x="41" y="23" width="1" height="1" fill="#468232" />
+<rect x="42" y="23" width="1" height="1" fill="#468232" />
+<rect x="43" y="23" width="1" height="1" fill="#468232" />
+<rect x="44" y="23" width="1" height="1" fill="#468232" />
+<rect x="45" y="23" width="1" height="1" fill="#356427" />
+<rect x="46" y="23" width="1" height="1" fill="#356427" />
+<rect x="47" y="23" width="1" height="1" fill="#356427" />
+<rect x="0" y="24" width="1" height="1" fill="#18232B" />
+<rect x="1" y="24" width="1" height="1" fill="#202E37" />
+<rect x="2" y="24" width="1" height="1" fill="#18232B" />
+<rect x="3" y="24" width="1" height="1" fill="#18232B" />
+<rect x="4" y="24" width="1" height="1" fill="#202E37" />
+<rect x="5" y="24" width="1" height="1" fill="#202E37" />
+<rect x="6" y="24" width="1" height="1" fill="#202E37" />
+<rect x="7" y="24" width="1" height="1" fill="#202E37" />
+<rect x="8" y="24" width="1" height="1" fill="#202E37" />
+<rect x="9" y="24" width="1" height="1" fill="#202E37" />
+<rect x="10" y="24" width="1" height="1" fill="#202E37" />
+<rect x="11" y="24" width="1" height="1" fill="#202E37" />
+<rect x="12" y="24" width="1" height="1" fill="#151D28" />
+<rect x="13" y="24" width="1" height="1" fill="#151D28" />
+<rect x="14" y="24" width="1" height="1" fill="#151D28" />
+<rect x="15" y="24" width="1" height="1" fill="#151D28" />
+<rect x="16" y="24" width="1" height="1" fill="#151D28" />
+<rect x="17" y="24" width="1" height="1" fill="#151D28" />
+<rect x="18" y="24" width="1" height="1" fill="#151D28" />
+<rect x="19" y="24" width="1" height="1" fill="#151D28" />
+<rect x="20" y="24" width="1" height="1" fill="#151D28" />
+<rect x="21" y="24" width="1" height="1" fill="#151D28" />
+<rect x="22" y="24" width="1" height="1" fill="#151D28" />
+<rect x="23" y="24" width="1" height="1" fill="#151D28" />
+<rect x="24" y="24" width="1" height="1" fill="#151D28" />
+<rect x="25" y="24" width="1" height="1" fill="#151D28" />
+<rect x="26" y="24" width="1" height="1" fill="#151D28" />
+<rect x="27" y="24" width="1" height="1" fill="#151D28" />
+<rect x="28" y="24" width="1" height="1" fill="#151D28" />
+<rect x="29" y="24" width="1" height="1" fill="#151D28" />
+<rect x="30" y="24" width="1" height="1" fill="#151D28" />
+<rect x="31" y="24" width="1" height="1" fill="#151D28" />
+<rect x="32" y="24" width="1" height="1" fill="#151D28" />
+<rect x="33" y="24" width="1" height="1" fill="#202E37" />
+<rect x="34" y="24" width="1" height="1" fill="#202E37" />
+<rect x="35" y="24" width="1" height="1" fill="#25562E" />
+<rect x="36" y="24" width="1" height="1" fill="#25562E" />
+<rect x="37" y="24" width="1" height="1" fill="#25562E" />
+<rect x="38" y="24" width="1" height="1" fill="#25562E" />
+<rect x="39" y="24" width="1" height="1" fill="#468232" />
+<rect x="40" y="24" width="1" height="1" fill="#468232" />
+<rect x="41" y="24" width="1" height="1" fill="#356427" />
+<rect x="42" y="24" width="1" height="1" fill="#468232" />
+<rect x="43" y="24" width="1" height="1" fill="#468232" />
+<rect x="44" y="24" width="1" height="1" fill="#468232" />
+<rect x="45" y="24" width="1" height="1" fill="#356427" />
+<rect x="46" y="24" width="1" height="1" fill="#356427" />
+<rect x="47" y="24" width="1" height="1" fill="#356427" />
+<rect x="0" y="25" width="1" height="1" fill="#18232B" />
+<rect x="1" y="25" width="1" height="1" fill="#18232B" />
+<rect x="2" y="25" width="1" height="1" fill="#18232B" />
+<rect x="3" y="25" width="1" height="1" fill="#18232B" />
+<rect x="4" y="25" width="1" height="1" fill="#18232B" />
+<rect x="5" y="25" width="1" height="1" fill="#202E37" />
+<rect x="6" y="25" width="1" height="1" fill="#202E37" />
+<rect x="7" y="25" width="1" height="1" fill="#202E37" />
+<rect x="8" y="25" width="1" height="1" fill="#202E37" />
+<rect x="9" y="25" width="1" height="1" fill="#202E37" />
+<rect x="10" y="25" width="1" height="1" fill="#202E37" />
+<rect x="11" y="25" width="1" height="1" fill="#202E37" />
+<rect x="12" y="25" width="1" height="1" fill="#202E37" />
+<rect x="13" y="25" width="1" height="1" fill="#151D28" />
+<rect x="14" y="25" width="1" height="1" fill="#151D28" />
+<rect x="15" y="25" width="1" height="1" fill="#151D28" />
+<rect x="16" y="25" width="1" height="1" fill="#151D28" />
+<rect x="17" y="25" width="1" height="1" fill="#151D28" />
+<rect x="18" y="25" width="1" height="1" fill="#151D28" />
+<rect x="19" y="25" width="1" height="1" fill="#151D28" />
+<rect x="20" y="25" width="1" height="1" fill="#151D28" />
+<rect x="21" y="25" width="1" height="1" fill="#151D28" />
+<rect x="22" y="25" width="1" height="1" fill="#151D28" />
+<rect x="23" y="25" width="1" height="1" fill="#151D28" />
+<rect x="24" y="25" width="1" height="1" fill="#151D28" />
+<rect x="25" y="25" width="1" height="1" fill="#151D28" />
+<rect x="26" y="25" width="1" height="1" fill="#151D28" />
+<rect x="27" y="25" width="1" height="1" fill="#151D28" />
+<rect x="28" y="25" width="1" height="1" fill="#151D28" />
+<rect x="29" y="25" width="1" height="1" fill="#151D28" />
+<rect x="30" y="25" width="1" height="1" fill="#151D28" />
+<rect x="31" y="25" width="1" height="1" fill="#151D28" />
+<rect x="32" y="25" width="1" height="1" fill="#202E37" />
+<rect x="33" y="25" width="1" height="1" fill="#202E37" />
+<rect x="34" y="25" width="1" height="1" fill="#202E37" />
+<rect x="35" y="25" width="1" height="1" fill="#202E37" />
+<rect x="36" y="25" width="1" height="1" fill="#25562E" />
+<rect x="37" y="25" width="1" height="1" fill="#25562E" />
+<rect x="38" y="25" width="1" height="1" fill="#25562E" />
+<rect x="39" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="25" width="1" height="1" fill="#356427" />
+<rect x="42" y="25" width="1" height="1" fill="#468232" />
+<rect x="43" y="25" width="1" height="1" fill="#468232" />
+<rect x="44" y="25" width="1" height="1" fill="#356427" />
+<rect x="45" y="25" width="1" height="1" fill="#356427" />
+<rect x="46" y="25" width="1" height="1" fill="#356427" />
+<rect x="47" y="25" width="1" height="1" fill="#356427" />
+<rect x="0" y="26" width="1" height="1" fill="#18232B" />
+<rect x="1" y="26" width="1" height="1" fill="#18232B" />
+<rect x="2" y="26" width="1" height="1" fill="#202E37" />
+<rect x="3" y="26" width="1" height="1" fill="#18232B" />
+<rect x="4" y="26" width="1" height="1" fill="#18232B" />
+<rect x="5" y="26" width="1" height="1" fill="#18232B" />
+<rect x="6" y="26" width="1" height="1" fill="#202E37" />
+<rect x="7" y="26" width="1" height="1" fill="#202E37" />
+<rect x="8" y="26" width="1" height="1" fill="#202E37" />
+<rect x="9" y="26" width="1" height="1" fill="#202E37" />
+<rect x="10" y="26" width="1" height="1" fill="#202E37" />
+<rect x="11" y="26" width="1" height="1" fill="#202E37" />
+<rect x="12" y="26" width="1" height="1" fill="#202E37" />
+<rect x="13" y="26" width="1" height="1" fill="#202E37" />
+<rect x="14" y="26" width="1" height="1" fill="#151D28" />
+<rect x="15" y="26" width="1" height="1" fill="#151D28" />
+<rect x="16" y="26" width="1" height="1" fill="#151D28" />
+<rect x="17" y="26" width="1" height="1" fill="#151D28" />
+<rect x="18" y="26" width="1" height="1" fill="#151D28" />
+<rect x="19" y="26" width="1" height="1" fill="#151D28" />
+<rect x="20" y="26" width="1" height="1" fill="#151D28" />
+<rect x="21" y="26" width="1" height="1" fill="#151D28" />
+<rect x="22" y="26" width="1" height="1" fill="#151D28" />
+<rect x="23" y="26" width="1" height="1" fill="#151D28" />
+<rect x="24" y="26" width="1" height="1" fill="#151D28" />
+<rect x="25" y="26" width="1" height="1" fill="#151D28" />
+<rect x="26" y="26" width="1" height="1" fill="#151D28" />
+<rect x="27" y="26" width="1" height="1" fill="#151D28" />
+<rect x="28" y="26" width="1" height="1" fill="#151D28" />
+<rect x="29" y="26" width="1" height="1" fill="#151D28" />
+<rect x="30" y="26" width="1" height="1" fill="#151D28" />
+<rect x="31" y="26" width="1" height="1" fill="#202E37" />
+<rect x="32" y="26" width="1" height="1" fill="#202E37" />
+<rect x="33" y="26" width="1" height="1" fill="#202E37" />
+<rect x="34" y="26" width="1" height="1" fill="#202E37" />
+<rect x="35" y="26" width="1" height="1" fill="#202E37" />
+<rect x="36" y="26" width="1" height="1" fill="#202E37" />
+<rect x="37" y="26" width="1" height="1" fill="#18232B" />
+<rect x="38" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="26" width="1" height="1" fill="#356427" />
+<rect x="43" y="26" width="1" height="1" fill="#468232" />
+<rect x="44" y="26" width="1" height="1" fill="#356427" />
+<rect x="45" y="26" width="1" height="1" fill="#356427" />
+<rect x="46" y="26" width="1" height="1" fill="#356427" />
+<rect x="47" y="26" width="1" height="1" fill="#356427" />
+<rect x="0" y="27" width="1" height="1" fill="#18232B" />
+<rect x="1" y="27" width="1" height="1" fill="#18232B" />
+<rect x="2" y="27" width="1" height="1" fill="#202E37" />
+<rect x="3" y="27" width="1" height="1" fill="#202E37" />
+<rect x="4" y="27" width="1" height="1" fill="#18232B" />
+<rect x="5" y="27" width="1" height="1" fill="#18232B" />
+<rect x="6" y="27" width="1" height="1" fill="#18232B" />
+<rect x="7" y="27" width="1" height="1" fill="#18232B" />
+<rect x="8" y="27" width="1" height="1" fill="#202E37" />
+<rect x="9" y="27" width="1" height="1" fill="#202E37" />
+<rect x="10" y="27" width="1" height="1" fill="#202E37" />
+<rect x="11" y="27" width="1" height="1" fill="#202E37" />
+<rect x="12" y="27" width="1" height="1" fill="#202E37" />
+<rect x="13" y="27" width="1" height="1" fill="#202E37" />
+<rect x="14" y="27" width="1" height="1" fill="#202E37" />
+<rect x="15" y="27" width="1" height="1" fill="#151D28" />
+<rect x="16" y="27" width="1" height="1" fill="#151D28" />
+<rect x="17" y="27" width="1" height="1" fill="#151D28" />
+<rect x="18" y="27" width="1" height="1" fill="#151D28" />
+<rect x="19" y="27" width="1" height="1" fill="#151D28" />
+<rect x="20" y="27" width="1" height="1" fill="#151D28" />
+<rect x="21" y="27" width="1" height="1" fill="#151D28" />
+<rect x="22" y="27" width="1" height="1" fill="#151D28" />
+<rect x="23" y="27" width="1" height="1" fill="#151D28" />
+<rect x="24" y="27" width="1" height="1" fill="#151D28" />
+<rect x="25" y="27" width="1" height="1" fill="#151D28" />
+<rect x="26" y="27" width="1" height="1" fill="#151D28" />
+<rect x="27" y="27" width="1" height="1" fill="#151D28" />
+<rect x="28" y="27" width="1" height="1" fill="#151D28" />
+<rect x="29" y="27" width="1" height="1" fill="#151D28" />
+<rect x="30" y="27" width="1" height="1" fill="#202E37" />
+<rect x="31" y="27" width="1" height="1" fill="#202E37" />
+<rect x="32" y="27" width="1" height="1" fill="#202E37" />
+<rect x="33" y="27" width="1" height="1" fill="#202E37" />
+<rect x="34" y="27" width="1" height="1" fill="#202E37" />
+<rect x="35" y="27" width="1" height="1" fill="#18232B" />
+<rect x="36" y="27" width="1" height="1" fill="#18232B" />
+<rect x="37" y="27" width="1" height="1" fill="#18232B" />
+<rect x="38" y="27" width="1" height="1" fill="#18232B" />
+<rect x="39" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="27" width="1" height="1" fill="#25562E" />
+<rect x="43" y="27" width="1" height="1" fill="#25562E" />
+<rect x="44" y="27" width="1" height="1" fill="#356427" />
+<rect x="45" y="27" width="1" height="1" fill="#356427" />
+<rect x="46" y="27" width="1" height="1" fill="#468232" />
+<rect x="47" y="27" width="1" height="1" fill="#356427" />
+<rect x="0" y="28" width="1" height="1" fill="#18232B" />
+<rect x="1" y="28" width="1" height="1" fill="#18232B" />
+<rect x="2" y="28" width="1" height="1" fill="#18232B" />
+<rect x="3" y="28" width="1" height="1" fill="#202E37" />
+<rect x="4" y="28" width="1" height="1" fill="#18232B" />
+<rect x="5" y="28" width="1" height="1" fill="#18232B" />
+<rect x="6" y="28" width="1" height="1" fill="#18232B" />
+<rect x="7" y="28" width="1" height="1" fill="#18232B" />
+<rect x="8" y="28" width="1" height="1" fill="#18232B" />
+<rect x="9" y="28" width="1" height="1" fill="#202E37" />
+<rect x="10" y="28" width="1" height="1" fill="#202E37" />
+<rect x="11" y="28" width="1" height="1" fill="#202E37" />
+<rect x="12" y="28" width="1" height="1" fill="#202E37" />
+<rect x="13" y="28" width="1" height="1" fill="#202E37" />
+<rect x="14" y="28" width="1" height="1" fill="#202E37" />
+<rect x="15" y="28" width="1" height="1" fill="#202E37" />
+<rect x="16" y="28" width="1" height="1" fill="#151D28" />
+<rect x="17" y="28" width="1" height="1" fill="#151D28" />
+<rect x="18" y="28" width="1" height="1" fill="#151D28" />
+<rect x="19" y="28" width="1" height="1" fill="#151D28" />
+<rect x="20" y="28" width="1" height="1" fill="#151D28" />
+<rect x="21" y="28" width="1" height="1" fill="#151D28" />
+<rect x="22" y="28" width="1" height="1" fill="#151D28" />
+<rect x="23" y="28" width="1" height="1" fill="#151D28" />
+<rect x="24" y="28" width="1" height="1" fill="#151D28" />
+<rect x="25" y="28" width="1" height="1" fill="#151D28" />
+<rect x="26" y="28" width="1" height="1" fill="#151D28" />
+<rect x="27" y="28" width="1" height="1" fill="#151D28" />
+<rect x="28" y="28" width="1" height="1" fill="#151D28" />
+<rect x="29" y="28" width="1" height="1" fill="#202E37" />
+<rect x="30" y="28" width="1" height="1" fill="#202E37" />
+<rect x="31" y="28" width="1" height="1" fill="#202E37" />
+<rect x="32" y="28" width="1" height="1" fill="#18232B" />
+<rect x="33" y="28" width="1" height="1" fill="#18232B" />
+<rect x="34" y="28" width="1" height="1" fill="#18232B" />
+<rect x="35" y="28" width="1" height="1" fill="#18232B" />
+<rect x="36" y="28" width="1" height="1" fill="#18232B" />
+<rect x="37" y="28" width="1" height="1" fill="#18232B" />
+<rect x="38" y="28" width="1" height="1" fill="#202E37" />
+<rect x="39" y="28" width="1" height="1" fill="#18232B" />
+<rect x="40" y="28" width="1" height="1" fill="#18232B" />
+<rect x="41" y="28" width="1" height="1" fill="#25562E" />
+<rect x="42" y="28" width="1" height="1" fill="#25562E" />
+<rect x="43" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="28" width="1" height="1" fill="#468232" />
+<rect x="46" y="28" width="1" height="1" fill="#468232" />
+<rect x="47" y="28" width="1" height="1" fill="#356427" />
+<rect x="0" y="29" width="1" height="1" fill="#18232B" />
+<rect x="1" y="29" width="1" height="1" fill="#18232B" />
+<rect x="2" y="29" width="1" height="1" fill="#18232B" />
+<rect x="3" y="29" width="1" height="1" fill="#18232B" />
+<rect x="4" y="29" width="1" height="1" fill="#18232B" />
+<rect x="5" y="29" width="1" height="1" fill="#18232B" />
+<rect x="6" y="29" width="1" height="1" fill="#18232B" />
+<rect x="7" y="29" width="1" height="1" fill="#18232B" />
+<rect x="8" y="29" width="1" height="1" fill="#18232B" />
+<rect x="9" y="29" width="1" height="1" fill="#18232B" />
+<rect x="10" y="29" width="1" height="1" fill="#18232B" />
+<rect x="11" y="29" width="1" height="1" fill="#18232B" />
+<rect x="12" y="29" width="1" height="1" fill="#202E37" />
+<rect x="13" y="29" width="1" height="1" fill="#202E37" />
+<rect x="14" y="29" width="1" height="1" fill="#202E37" />
+<rect x="15" y="29" width="1" height="1" fill="#202E37" />
+<rect x="16" y="29" width="1" height="1" fill="#202E37" />
+<rect x="17" y="29" width="1" height="1" fill="#202E37" />
+<rect x="18" y="29" width="1" height="1" fill="#202E37" />
+<rect x="19" y="29" width="1" height="1" fill="#151D28" />
+<rect x="20" y="29" width="1" height="1" fill="#151D28" />
+<rect x="21" y="29" width="1" height="1" fill="#151D28" />
+<rect x="22" y="29" width="1" height="1" fill="#151D28" />
+<rect x="23" y="29" width="1" height="1" fill="#151D28" />
+<rect x="24" y="29" width="1" height="1" fill="#151D28" />
+<rect x="25" y="29" width="1" height="1" fill="#151D28" />
+<rect x="26" y="29" width="1" height="1" fill="#202E37" />
+<rect x="27" y="29" width="1" height="1" fill="#202E37" />
+<rect x="28" y="29" width="1" height="1" fill="#202E37" />
+<rect x="29" y="29" width="1" height="1" fill="#202E37" />
+<rect x="30" y="29" width="1" height="1" fill="#18232B" />
+<rect x="31" y="29" width="1" height="1" fill="#18232B" />
+<rect x="32" y="29" width="1" height="1" fill="#18232B" />
+<rect x="33" y="29" width="1" height="1" fill="#18232B" />
+<rect x="34" y="29" width="1" height="1" fill="#18232B" />
+<rect x="35" y="29" width="1" height="1" fill="#18232B" />
+<rect x="36" y="29" width="1" height="1" fill="#202E37" />
+<rect x="37" y="29" width="1" height="1" fill="#202E37" />
+<rect x="38" y="29" width="1" height="1" fill="#18232B" />
+<rect x="39" y="29" width="1" height="1" fill="#18232B" />
+<rect x="40" y="29" width="1" height="1" fill="#18232B" />
+<rect x="41" y="29" width="1" height="1" fill="#202E37" />
+<rect x="42" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="29" width="1" height="1" fill="#25562E" />
+<rect x="46" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="29" width="1" height="1" fill="#356427" />
+<rect x="1" y="30" width="1" height="1" fill="#18232B" />
+<rect x="2" y="30" width="1" height="1" fill="#18232B" />
+<rect x="3" y="30" width="1" height="1" fill="#18232B" />
+<rect x="4" y="30" width="1" height="1" fill="#18232B" />
+<rect x="5" y="30" width="1" height="1" fill="#18232B" />
+<rect x="6" y="30" width="1" height="1" fill="#18232B" />
+<rect x="7" y="30" width="1" height="1" fill="#18232B" />
+<rect x="8" y="30" width="1" height="1" fill="#18232B" />
+<rect x="9" y="30" width="1" height="1" fill="#202E37" />
+<rect x="10" y="30" width="1" height="1" fill="#202E37" />
+<rect x="11" y="30" width="1" height="1" fill="#202E37" />
+<rect x="12" y="30" width="1" height="1" fill="#202E37" />
+<rect x="13" y="30" width="1" height="1" fill="#202E37" />
+<rect x="14" y="30" width="1" height="1" fill="#202E37" />
+<rect x="15" y="30" width="1" height="1" fill="#202E37" />
+<rect x="16" y="30" width="1" height="1" fill="#202E37" />
+<rect x="17" y="30" width="1" height="1" fill="#202E37" />
+<rect x="18" y="30" width="1" height="1" fill="#202E37" />
+<rect x="19" y="30" width="1" height="1" fill="#202E37" />
+<rect x="20" y="30" width="1" height="1" fill="#202E37" />
+<rect x="21" y="30" width="1" height="1" fill="#202E37" />
+<rect x="22" y="30" width="1" height="1" fill="#202E37" />
+<rect x="23" y="30" width="1" height="1" fill="#202E37" />
+<rect x="24" y="30" width="1" height="1" fill="#202E37" />
+<rect x="25" y="30" width="1" height="1" fill="#202E37" />
+<rect x="26" y="30" width="1" height="1" fill="#202E37" />
+<rect x="27" y="30" width="1" height="1" fill="#202E37" />
+<rect x="28" y="30" width="1" height="1" fill="#202E37" />
+<rect x="29" y="30" width="1" height="1" fill="#202E37" />
+<rect x="30" y="30" width="1" height="1" fill="#202E37" />
+<rect x="31" y="30" width="1" height="1" fill="#202E37" />
+<rect x="32" y="30" width="1" height="1" fill="#202E37" />
+<rect x="33" y="30" width="1" height="1" fill="#202E37" />
+<rect x="34" y="30" width="1" height="1" fill="#202E37" />
+<rect x="35" y="30" width="1" height="1" fill="#202E37" />
+<rect x="36" y="30" width="1" height="1" fill="#202E37" />
+<rect x="37" y="30" width="1" height="1" fill="#202E37" />
+<rect x="38" y="30" width="1" height="1" fill="#18232B" />
+<rect x="39" y="30" width="1" height="1" fill="#18232B" />
+<rect x="40" y="30" width="1" height="1" fill="#18232B" />
+<rect x="41" y="30" width="1" height="1" fill="#18232B" />
+<rect x="42" y="30" width="1" height="1" fill="#18232B" />
+<rect x="43" y="30" width="1" height="1" fill="#18232B" />
+<rect x="44" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="31" width="1" height="1" fill="#18232B" />
+<rect x="3" y="31" width="1" height="1" fill="#18232B" />
+<rect x="4" y="31" width="1" height="1" fill="#18232B" />
+<rect x="5" y="31" width="1" height="1" fill="#18232B" />
+<rect x="6" y="31" width="1" height="1" fill="#18232B" />
+<rect x="7" y="31" width="1" height="1" fill="#18232B" />
+<rect x="8" y="31" width="1" height="1" fill="#18232B" />
+<rect x="9" y="31" width="1" height="1" fill="#18232B" />
+<rect x="10" y="31" width="1" height="1" fill="#18232B" />
+<rect x="11" y="31" width="1" height="1" fill="#18232B" />
+<rect x="12" y="31" width="1" height="1" fill="#18232B" />
+<rect x="13" y="31" width="1" height="1" fill="#18232B" />
+<rect x="14" y="31" width="1" height="1" fill="#18232B" />
+<rect x="15" y="31" width="1" height="1" fill="#18232B" />
+<rect x="16" y="31" width="1" height="1" fill="#18232B" />
+<rect x="17" y="31" width="1" height="1" fill="#18232B" />
+<rect x="18" y="31" width="1" height="1" fill="#18232B" />
+<rect x="19" y="31" width="1" height="1" fill="#18232B" />
+<rect x="20" y="31" width="1" height="1" fill="#18232B" />
+<rect x="21" y="31" width="1" height="1" fill="#18232B" />
+<rect x="22" y="31" width="1" height="1" fill="#18232B" />
+<rect x="23" y="31" width="1" height="1" fill="#18232B" />
+<rect x="24" y="31" width="1" height="1" fill="#18232B" />
+<rect x="25" y="31" width="1" height="1" fill="#18232B" />
+<rect x="26" y="31" width="1" height="1" fill="#18232B" />
+<rect x="27" y="31" width="1" height="1" fill="#18232B" />
+<rect x="28" y="31" width="1" height="1" fill="#18232B" />
+<rect x="29" y="31" width="1" height="1" fill="#18232B" />
+<rect x="30" y="31" width="1" height="1" fill="#18232B" />
+<rect x="31" y="31" width="1" height="1" fill="#18232B" />
+<rect x="32" y="31" width="1" height="1" fill="#18232B" />
+<rect x="33" y="31" width="1" height="1" fill="#18232B" />
+<rect x="34" y="31" width="1" height="1" fill="#18232B" />
+<rect x="35" y="31" width="1" height="1" fill="#18232B" />
+<rect x="36" y="31" width="1" height="1" fill="#18232B" />
+<rect x="37" y="31" width="1" height="1" fill="#18232B" />
+<rect x="38" y="31" width="1" height="1" fill="#18232B" />
+<rect x="39" y="31" width="1" height="1" fill="#18232B" />
+<rect x="40" y="31" width="1" height="1" fill="#18232B" />
+<rect x="41" y="31" width="1" height="1" fill="#18232B" />
+<rect x="42" y="31" width="1" height="1" fill="#18232B" />
+<rect x="43" y="31" width="1" height="1" fill="#18232B" />
+<rect x="44" y="31" width="1" height="1" fill="#18232B" />
+<rect x="45" y="31" width="1" height="1" fill="#1C4124" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Oshela.svg b/Edikoyo/.obsidian/icons/flags/Oshela.svg
new file mode 100644
index 0000000..0632074
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Oshela.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="8" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="9" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="10" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="11" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="12" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="13" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="14" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="15" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="16" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="17" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="18" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="19" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="20" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="21" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="22" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="23" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="24" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="25" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="26" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="27" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="28" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="29" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="30" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="31" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="32" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="33" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="34" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="35" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="36" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="0" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="8" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="9" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="10" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="34" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="35" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="36" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="1" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="1" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="2" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="2" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="3" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="36" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="3" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="4" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="4" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="4" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="5" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="5" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="6" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="6" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="7" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="7" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="8" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="8" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="9" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="9" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="10" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="10" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="10" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="10" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="10" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="10" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="11" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="11" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="11" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="11" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="11" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="11" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="12" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="12" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="12" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="12" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="13" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="13" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="13" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="13" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="14" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="14" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="14" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="14" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="15" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="15" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="15" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="15" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="16" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="16" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="16" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="16" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="17" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="17" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="17" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="17" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="17" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="18" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="18" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="18" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="18" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="18" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="19" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="19" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="19" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="19" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="19" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="20" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="20" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="20" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="20" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="20" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="20" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="21" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="21" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="21" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="21" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="21" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="22" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="22" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="22" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="22" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="22" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="23" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="23" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="23" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="23" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="23" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="23" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="2" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="5" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="40" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="41" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="24" width="1" height="1" fill="#A8CA58" />
+<rect x="45" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="24" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="6" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="25" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="25" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="7" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="8" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="26" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="26" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="3" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="8" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="9" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="36" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="44" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="27" width="1" height="1" fill="#A8CA58" />
+<rect x="47" y="27" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="4" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="8" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="9" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="33" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="34" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="35" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="36" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="39" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="43" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="28" width="1" height="1" fill="#A8CA58" />
+<rect x="47" y="28" width="1" height="1" fill="#93BD45" />
+<rect x="0" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="8" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="9" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="10" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="11" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="12" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="31" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="32" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="33" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="34" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="35" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="36" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="42" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="29" width="1" height="1" fill="#A8CA58" />
+<rect x="46" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="47" y="29" width="1" height="1" fill="#93BD45" />
+<rect x="1" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="8" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="9" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="10" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="11" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="12" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="13" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="14" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="15" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="16" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="17" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="18" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="19" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="20" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="21" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="22" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="23" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="24" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="25" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="26" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="27" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="28" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="29" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="30" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="31" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="32" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="33" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="34" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="35" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="36" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="37" y="30" width="1" height="1" fill="#A8CA58" />
+<rect x="38" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="46" y="30" width="1" height="1" fill="#93BD45" />
+<rect x="2" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="3" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="4" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="5" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="6" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="7" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="8" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="9" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="10" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="11" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="12" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="13" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="14" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="15" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="16" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="17" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="18" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="19" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="20" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="21" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="22" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="23" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="24" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="25" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="26" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="27" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="28" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="29" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="30" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="31" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="32" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="33" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="34" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="35" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="36" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="37" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="38" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="39" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="40" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="41" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="42" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="43" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="44" y="31" width="1" height="1" fill="#93BD45" />
+<rect x="45" y="31" width="1" height="1" fill="#93BD45" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Ovanos.svg b/Edikoyo/.obsidian/icons/flags/Ovanos.svg
new file mode 100644
index 0000000..ccb68ae
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Ovanos.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="4" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="7" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="8" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="9" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="10" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="11" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="12" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="13" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="14" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="15" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="16" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="17" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="18" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="19" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="20" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="21" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="22" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="23" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="24" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="25" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="26" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="27" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="28" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="29" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="30" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="31" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="32" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="33" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="34" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="35" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="36" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="37" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="38" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="39" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="42" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="43" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="44" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="0" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="4" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="7" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="8" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="9" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="10" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="34" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="35" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="36" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="37" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="38" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="39" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="1" width="1" height="1" fill="#E8C170" />
+<rect x="41" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="42" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="43" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="44" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="1" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="4" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="38" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="39" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="2" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="43" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="44" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="2" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="4" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="7" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="3" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="36" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="37" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="38" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="39" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="42" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="43" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="44" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="3" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="7" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="4" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="37" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="38" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="39" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="42" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="43" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="44" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="4" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="7" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="39" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="42" y="5" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="44" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="5" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="4" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="42" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="6" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="3" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="4" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="5" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="45" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="7" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="6" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="7" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="8" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="8" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="9" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="9" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="9" width="1" height="1" fill="#E3B257" />
+<rect x="40" y="9" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="9" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="9" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="9" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="10" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="10" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="40" y="10" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="10" width="1" height="1" fill="#E8C170" />
+<rect x="46" y="10" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="10" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="11" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="11" width="1" height="1" fill="#E3B257" />
+<rect x="2" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="40" y="11" width="1" height="1" fill="#E3B257" />
+<rect x="41" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="46" y="11" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="11" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="12" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="2" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="40" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="41" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="12" width="1" height="1" fill="#E8C170" />
+<rect x="46" y="12" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="12" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="13" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="2" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="40" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="41" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="46" y="13" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="13" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="14" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="2" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="40" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="41" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="46" y="14" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="14" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="15" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="2" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="40" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="41" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="46" y="15" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="15" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="16" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="16" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="16" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="17" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="18" width="1" height="1" fill="#E3B257" />
+<rect x="1" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="2" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="3" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="4" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="5" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="6" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="7" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="8" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="9" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="10" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="11" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="12" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="22" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="23" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="24" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="25" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="26" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="27" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="28" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="29" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="30" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="31" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="32" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="33" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="34" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="35" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="36" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="37" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="38" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="39" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="40" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="41" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="42" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="43" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="44" y="18" width="1" height="1" fill="#E8C170" />
+<rect x="45" y="18" width="1" height="1" fill="#E3B257" />
+<rect x="46" y="18" width="1" height="1" fill="#E3B257" />
+<rect x="47" y="18" width="1" height="1" fill="#E3B257" />
+<rect x="0" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="19" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="20" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="21" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="21" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="21" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="21" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="22" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="22" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="22" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="22" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="23" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="23" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="23" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="23" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="23" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="24" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="2" y="24" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="24" width="1" height="1" fill="#E6E9E4" />
+<rect x="4" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="5" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="40" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="41" y="24" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="45" y="24" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="24" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="24" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="25" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="25" width="1" height="1" fill="#E6E9E4" />
+<rect x="2" y="25" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="25" width="1" height="1" fill="#E6E9E4" />
+<rect x="4" y="25" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="6" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="25" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="25" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="25" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="25" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="25" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="25" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="25" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="2" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="4" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="7" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="8" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="26" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="2" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="3" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="8" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="9" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="36" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="37" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="44" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="47" y="27" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="2" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="4" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="8" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="9" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="33" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="34" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="35" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="36" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="37" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="39" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="43" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="28" width="1" height="1" fill="#EBEDE9" />
+<rect x="47" y="28" width="1" height="1" fill="#E6E9E4" />
+<rect x="0" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="2" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="4" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="8" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="9" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="10" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="11" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="12" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="31" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="32" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="33" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="34" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="35" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="36" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="42" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="29" width="1" height="1" fill="#EBEDE9" />
+<rect x="46" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="47" y="29" width="1" height="1" fill="#E6E9E4" />
+<rect x="1" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="2" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="4" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="8" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="9" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="10" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="11" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="12" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="13" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="37" y="30" width="1" height="1" fill="#EBEDE9" />
+<rect x="38" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="46" y="30" width="1" height="1" fill="#E6E9E4" />
+<rect x="2" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="3" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="4" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="5" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="6" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="7" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="8" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="9" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="10" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="11" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="12" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="13" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="14" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="15" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="16" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="17" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="18" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="19" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="20" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="21" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="22" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="23" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="24" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="25" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="26" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="27" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="28" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="29" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="30" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="31" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="32" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="33" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="34" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="35" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="36" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="37" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="38" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="39" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="40" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="41" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="42" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="43" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="44" y="31" width="1" height="1" fill="#E6E9E4" />
+<rect x="45" y="31" width="1" height="1" fill="#E6E9E4" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Seraphis.svg b/Edikoyo/.obsidian/icons/flags/Seraphis.svg
new file mode 100644
index 0000000..d4f8b67
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Seraphis.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#D68733" />
+<rect x="3" y="0" width="1" height="1" fill="#D68733" />
+<rect x="4" y="0" width="1" height="1" fill="#D68733" />
+<rect x="5" y="0" width="1" height="1" fill="#D68733" />
+<rect x="6" y="0" width="1" height="1" fill="#D68733" />
+<rect x="7" y="0" width="1" height="1" fill="#D68733" />
+<rect x="8" y="0" width="1" height="1" fill="#D68733" />
+<rect x="9" y="0" width="1" height="1" fill="#D68733" />
+<rect x="10" y="0" width="1" height="1" fill="#D68733" />
+<rect x="11" y="0" width="1" height="1" fill="#D68733" />
+<rect x="12" y="0" width="1" height="1" fill="#D68733" />
+<rect x="13" y="0" width="1" height="1" fill="#D68733" />
+<rect x="14" y="0" width="1" height="1" fill="#D68733" />
+<rect x="15" y="0" width="1" height="1" fill="#D68733" />
+<rect x="16" y="0" width="1" height="1" fill="#D68733" />
+<rect x="17" y="0" width="1" height="1" fill="#D68733" />
+<rect x="18" y="0" width="1" height="1" fill="#D68733" />
+<rect x="19" y="0" width="1" height="1" fill="#D68733" />
+<rect x="20" y="0" width="1" height="1" fill="#D68733" />
+<rect x="21" y="0" width="1" height="1" fill="#D68733" />
+<rect x="22" y="0" width="1" height="1" fill="#D68733" />
+<rect x="23" y="0" width="1" height="1" fill="#D68733" />
+<rect x="24" y="0" width="1" height="1" fill="#D68733" />
+<rect x="25" y="0" width="1" height="1" fill="#D68733" />
+<rect x="26" y="0" width="1" height="1" fill="#D68733" />
+<rect x="27" y="0" width="1" height="1" fill="#D68733" />
+<rect x="28" y="0" width="1" height="1" fill="#D68733" />
+<rect x="29" y="0" width="1" height="1" fill="#D68733" />
+<rect x="30" y="0" width="1" height="1" fill="#D68733" />
+<rect x="31" y="0" width="1" height="1" fill="#D68733" />
+<rect x="32" y="0" width="1" height="1" fill="#D68733" />
+<rect x="33" y="0" width="1" height="1" fill="#D68733" />
+<rect x="34" y="0" width="1" height="1" fill="#D68733" />
+<rect x="35" y="0" width="1" height="1" fill="#D68733" />
+<rect x="36" y="0" width="1" height="1" fill="#D68733" />
+<rect x="37" y="0" width="1" height="1" fill="#D68733" />
+<rect x="38" y="0" width="1" height="1" fill="#D68733" />
+<rect x="39" y="0" width="1" height="1" fill="#D68733" />
+<rect x="40" y="0" width="1" height="1" fill="#D68733" />
+<rect x="41" y="0" width="1" height="1" fill="#D68733" />
+<rect x="42" y="0" width="1" height="1" fill="#D68733" />
+<rect x="43" y="0" width="1" height="1" fill="#D68733" />
+<rect x="44" y="0" width="1" height="1" fill="#D68733" />
+<rect x="45" y="0" width="1" height="1" fill="#D68733" />
+<rect x="1" y="1" width="1" height="1" fill="#D68733" />
+<rect x="2" y="1" width="1" height="1" fill="#D68733" />
+<rect x="3" y="1" width="1" height="1" fill="#D68733" />
+<rect x="4" y="1" width="1" height="1" fill="#D68733" />
+<rect x="5" y="1" width="1" height="1" fill="#D68733" />
+<rect x="6" y="1" width="1" height="1" fill="#D68733" />
+<rect x="7" y="1" width="1" height="1" fill="#D68733" />
+<rect x="8" y="1" width="1" height="1" fill="#D68733" />
+<rect x="9" y="1" width="1" height="1" fill="#D68733" />
+<rect x="10" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="1" width="1" height="1" fill="#D68733" />
+<rect x="34" y="1" width="1" height="1" fill="#D68733" />
+<rect x="35" y="1" width="1" height="1" fill="#D68733" />
+<rect x="36" y="1" width="1" height="1" fill="#D68733" />
+<rect x="37" y="1" width="1" height="1" fill="#D68733" />
+<rect x="38" y="1" width="1" height="1" fill="#D68733" />
+<rect x="39" y="1" width="1" height="1" fill="#D68733" />
+<rect x="40" y="1" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="1" width="1" height="1" fill="#D68733" />
+<rect x="42" y="1" width="1" height="1" fill="#D68733" />
+<rect x="43" y="1" width="1" height="1" fill="#D68733" />
+<rect x="44" y="1" width="1" height="1" fill="#D68733" />
+<rect x="45" y="1" width="1" height="1" fill="#D68733" />
+<rect x="46" y="1" width="1" height="1" fill="#D68733" />
+<rect x="0" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="3" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="4" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="5" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="38" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="39" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="43" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="44" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="3" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="4" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="5" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="7" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="36" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="37" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="38" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="39" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="42" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="43" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="44" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="5" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="7" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="37" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="38" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="39" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="42" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="43" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="44" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="3" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="7" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="5" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="39" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="42" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="44" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="6" width="1" height="1" fill="#D68733" />
+<rect x="1" y="6" width="1" height="1" fill="#D68733" />
+<rect x="2" y="6" width="1" height="1" fill="#D68733" />
+<rect x="3" y="6" width="1" height="1" fill="#D68733" />
+<rect x="4" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="6" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="6" width="1" height="1" fill="#D68733" />
+<rect x="40" y="6" width="1" height="1" fill="#D68733" />
+<rect x="41" y="6" width="1" height="1" fill="#D68733" />
+<rect x="42" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="6" width="1" height="1" fill="#D68733" />
+<rect x="45" y="6" width="1" height="1" fill="#D68733" />
+<rect x="46" y="6" width="1" height="1" fill="#D68733" />
+<rect x="47" y="6" width="1" height="1" fill="#D68733" />
+<rect x="0" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="4" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="5" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="6" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="7" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="7" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="35" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="38" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="40" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="41" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="42" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="43" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="44" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="8" width="1" height="1" fill="#D68733" />
+<rect x="1" y="8" width="1" height="1" fill="#D68733" />
+<rect x="2" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="8" width="1" height="1" fill="#D68733" />
+<rect x="6" y="8" width="1" height="1" fill="#D68733" />
+<rect x="7" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="8" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="8" width="1" height="1" fill="#D68733" />
+<rect x="40" y="8" width="1" height="1" fill="#D68733" />
+<rect x="41" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="8" width="1" height="1" fill="#D68733" />
+<rect x="46" y="8" width="1" height="1" fill="#D68733" />
+<rect x="47" y="8" width="1" height="1" fill="#D68733" />
+<rect x="0" y="9" width="1" height="1" fill="#D68733" />
+<rect x="1" y="9" width="1" height="1" fill="#D68733" />
+<rect x="2" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="9" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="9" width="1" height="1" fill="#D68733" />
+<rect x="40" y="9" width="1" height="1" fill="#D68733" />
+<rect x="41" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="9" width="1" height="1" fill="#D68733" />
+<rect x="46" y="9" width="1" height="1" fill="#D68733" />
+<rect x="47" y="9" width="1" height="1" fill="#D68733" />
+<rect x="0" y="10" width="1" height="1" fill="#D68733" />
+<rect x="1" y="10" width="1" height="1" fill="#D68733" />
+<rect x="2" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="10" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="10" width="1" height="1" fill="#D68733" />
+<rect x="41" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="10" width="1" height="1" fill="#D68733" />
+<rect x="47" y="10" width="1" height="1" fill="#D68733" />
+<rect x="0" y="11" width="1" height="1" fill="#D68733" />
+<rect x="1" y="11" width="1" height="1" fill="#D68733" />
+<rect x="2" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="11" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="11" width="1" height="1" fill="#D68733" />
+<rect x="41" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="11" width="1" height="1" fill="#D68733" />
+<rect x="47" y="11" width="1" height="1" fill="#D68733" />
+<rect x="0" y="12" width="1" height="1" fill="#D68733" />
+<rect x="1" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="12" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="12" width="1" height="1" fill="#D68733" />
+<rect x="47" y="12" width="1" height="1" fill="#D68733" />
+<rect x="0" y="13" width="1" height="1" fill="#D68733" />
+<rect x="1" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="13" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="13" width="1" height="1" fill="#D68733" />
+<rect x="47" y="13" width="1" height="1" fill="#D68733" />
+<rect x="0" y="14" width="1" height="1" fill="#D68733" />
+<rect x="1" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="14" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="14" width="1" height="1" fill="#D68733" />
+<rect x="47" y="14" width="1" height="1" fill="#D68733" />
+<rect x="0" y="15" width="1" height="1" fill="#D68733" />
+<rect x="1" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="15" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="15" width="1" height="1" fill="#D68733" />
+<rect x="47" y="15" width="1" height="1" fill="#D68733" />
+<rect x="0" y="16" width="1" height="1" fill="#D68733" />
+<rect x="1" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="14" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="17" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="33" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="16" width="1" height="1" fill="#EBEDE9" />
+<rect x="36" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="16" width="1" height="1" fill="#D68733" />
+<rect x="47" y="16" width="1" height="1" fill="#D68733" />
+<rect x="0" y="17" width="1" height="1" fill="#D68733" />
+<rect x="1" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="15" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="16" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="34" y="17" width="1" height="1" fill="#EBEDE9" />
+<rect x="35" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="17" width="1" height="1" fill="#D68733" />
+<rect x="46" y="17" width="1" height="1" fill="#D68733" />
+<rect x="47" y="17" width="1" height="1" fill="#D68733" />
+<rect x="0" y="18" width="1" height="1" fill="#D68733" />
+<rect x="1" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="18" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="18" width="1" height="1" fill="#D68733" />
+<rect x="46" y="18" width="1" height="1" fill="#D68733" />
+<rect x="47" y="18" width="1" height="1" fill="#D68733" />
+<rect x="0" y="19" width="1" height="1" fill="#D68733" />
+<rect x="1" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="19" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="19" width="1" height="1" fill="#D68733" />
+<rect x="46" y="19" width="1" height="1" fill="#D68733" />
+<rect x="47" y="19" width="1" height="1" fill="#D68733" />
+<rect x="0" y="20" width="1" height="1" fill="#D68733" />
+<rect x="1" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="20" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="20" width="1" height="1" fill="#D68733" />
+<rect x="45" y="20" width="1" height="1" fill="#D68733" />
+<rect x="46" y="20" width="1" height="1" fill="#D68733" />
+<rect x="47" y="20" width="1" height="1" fill="#D68733" />
+<rect x="0" y="21" width="1" height="1" fill="#D68733" />
+<rect x="1" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="20" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="21" width="1" height="1" fill="#EBEDE9" />
+<rect x="30" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="21" width="1" height="1" fill="#D68733" />
+<rect x="45" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="21" width="1" height="1" fill="#D68733" />
+<rect x="47" y="21" width="1" height="1" fill="#D68733" />
+<rect x="0" y="22" width="1" height="1" fill="#D68733" />
+<rect x="1" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="22" width="1" height="1" fill="#D68733" />
+<rect x="3" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="21" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="22" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="28" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="29" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="22" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="46" y="22" width="1" height="1" fill="#D68733" />
+<rect x="47" y="22" width="1" height="1" fill="#D68733" />
+<rect x="0" y="23" width="1" height="1" fill="#D68733" />
+<rect x="1" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="23" width="1" height="1" fill="#D68733" />
+<rect x="3" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="4" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="18" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="19" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="23" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="27" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="31" y="23" width="1" height="1" fill="#EBEDE9" />
+<rect x="32" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="23" width="1" height="1" fill="#D68733" />
+<rect x="46" y="23" width="1" height="1" fill="#D68733" />
+<rect x="47" y="23" width="1" height="1" fill="#D68733" />
+<rect x="0" y="24" width="1" height="1" fill="#D68733" />
+<rect x="1" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="2" y="24" width="1" height="1" fill="#D68733" />
+<rect x="3" y="24" width="1" height="1" fill="#D68733" />
+<rect x="4" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="5" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="6" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="24" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="24" width="1" height="1" fill="#D68733" />
+<rect x="42" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="45" y="24" width="1" height="1" fill="#D68733" />
+<rect x="46" y="24" width="1" height="1" fill="#D68733" />
+<rect x="47" y="24" width="1" height="1" fill="#D68733" />
+<rect x="0" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="4" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="5" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="6" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="7" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="25" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="35" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="38" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="40" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="41" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="42" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="43" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="44" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="26" width="1" height="1" fill="#D68733" />
+<rect x="1" y="26" width="1" height="1" fill="#D68733" />
+<rect x="2" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="3" y="26" width="1" height="1" fill="#D68733" />
+<rect x="4" y="26" width="1" height="1" fill="#D68733" />
+<rect x="5" y="26" width="1" height="1" fill="#D68733" />
+<rect x="6" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="7" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="8" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="9" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="24" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="26" width="1" height="1" fill="#EBEDE9" />
+<rect x="26" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="26" width="1" height="1" fill="#D68733" />
+<rect x="38" y="26" width="1" height="1" fill="#D68733" />
+<rect x="39" y="26" width="1" height="1" fill="#D68733" />
+<rect x="40" y="26" width="1" height="1" fill="#D68733" />
+<rect x="41" y="26" width="1" height="1" fill="#D68733" />
+<rect x="42" y="26" width="1" height="1" fill="#D68733" />
+<rect x="43" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="44" y="26" width="1" height="1" fill="#D68733" />
+<rect x="45" y="26" width="1" height="1" fill="#D68733" />
+<rect x="46" y="26" width="1" height="1" fill="#D68733" />
+<rect x="47" y="26" width="1" height="1" fill="#D68733" />
+<rect x="0" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="5" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="7" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="8" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="27" width="1" height="1" fill="#EBEDE9" />
+<rect x="25" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="36" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="37" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="38" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="39" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="42" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="47" y="27" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="3" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="5" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="7" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="8" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="9" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="33" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="34" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="35" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="36" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="37" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="38" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="44" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="46" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="47" y="28" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="3" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="4" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="5" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="7" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="8" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="9" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="10" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="11" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="12" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="31" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="32" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="33" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="34" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="35" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="36" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="39" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="43" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="44" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="46" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="29" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="30" width="1" height="1" fill="#D68733" />
+<rect x="2" y="30" width="1" height="1" fill="#D68733" />
+<rect x="3" y="30" width="1" height="1" fill="#D68733" />
+<rect x="4" y="30" width="1" height="1" fill="#D68733" />
+<rect x="5" y="30" width="1" height="1" fill="#D68733" />
+<rect x="6" y="30" width="1" height="1" fill="#D68733" />
+<rect x="7" y="30" width="1" height="1" fill="#D68733" />
+<rect x="8" y="30" width="1" height="1" fill="#D68733" />
+<rect x="9" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="10" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="11" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="13" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="30" width="1" height="1" fill="#D68733" />
+<rect x="39" y="30" width="1" height="1" fill="#D68733" />
+<rect x="40" y="30" width="1" height="1" fill="#D68733" />
+<rect x="41" y="30" width="1" height="1" fill="#D68733" />
+<rect x="42" y="30" width="1" height="1" fill="#D68733" />
+<rect x="43" y="30" width="1" height="1" fill="#D68733" />
+<rect x="44" y="30" width="1" height="1" fill="#D68733" />
+<rect x="45" y="30" width="1" height="1" fill="#D68733" />
+<rect x="46" y="30" width="1" height="1" fill="#D68733" />
+<rect x="2" y="31" width="1" height="1" fill="#D68733" />
+<rect x="3" y="31" width="1" height="1" fill="#D68733" />
+<rect x="4" y="31" width="1" height="1" fill="#D68733" />
+<rect x="5" y="31" width="1" height="1" fill="#D68733" />
+<rect x="6" y="31" width="1" height="1" fill="#D68733" />
+<rect x="7" y="31" width="1" height="1" fill="#D68733" />
+<rect x="8" y="31" width="1" height="1" fill="#D68733" />
+<rect x="9" y="31" width="1" height="1" fill="#D68733" />
+<rect x="10" y="31" width="1" height="1" fill="#D68733" />
+<rect x="11" y="31" width="1" height="1" fill="#D68733" />
+<rect x="12" y="31" width="1" height="1" fill="#D68733" />
+<rect x="13" y="31" width="1" height="1" fill="#D68733" />
+<rect x="14" y="31" width="1" height="1" fill="#D68733" />
+<rect x="15" y="31" width="1" height="1" fill="#D68733" />
+<rect x="16" y="31" width="1" height="1" fill="#D68733" />
+<rect x="17" y="31" width="1" height="1" fill="#D68733" />
+<rect x="18" y="31" width="1" height="1" fill="#D68733" />
+<rect x="19" y="31" width="1" height="1" fill="#D68733" />
+<rect x="20" y="31" width="1" height="1" fill="#D68733" />
+<rect x="21" y="31" width="1" height="1" fill="#D68733" />
+<rect x="22" y="31" width="1" height="1" fill="#D68733" />
+<rect x="23" y="31" width="1" height="1" fill="#D68733" />
+<rect x="24" y="31" width="1" height="1" fill="#D68733" />
+<rect x="25" y="31" width="1" height="1" fill="#D68733" />
+<rect x="26" y="31" width="1" height="1" fill="#D68733" />
+<rect x="27" y="31" width="1" height="1" fill="#D68733" />
+<rect x="28" y="31" width="1" height="1" fill="#D68733" />
+<rect x="29" y="31" width="1" height="1" fill="#D68733" />
+<rect x="30" y="31" width="1" height="1" fill="#D68733" />
+<rect x="31" y="31" width="1" height="1" fill="#D68733" />
+<rect x="32" y="31" width="1" height="1" fill="#D68733" />
+<rect x="33" y="31" width="1" height="1" fill="#D68733" />
+<rect x="34" y="31" width="1" height="1" fill="#D68733" />
+<rect x="35" y="31" width="1" height="1" fill="#D68733" />
+<rect x="36" y="31" width="1" height="1" fill="#D68733" />
+<rect x="37" y="31" width="1" height="1" fill="#D68733" />
+<rect x="38" y="31" width="1" height="1" fill="#D68733" />
+<rect x="39" y="31" width="1" height="1" fill="#D68733" />
+<rect x="40" y="31" width="1" height="1" fill="#D68733" />
+<rect x="41" y="31" width="1" height="1" fill="#D68733" />
+<rect x="42" y="31" width="1" height="1" fill="#D68733" />
+<rect x="43" y="31" width="1" height="1" fill="#D68733" />
+<rect x="44" y="31" width="1" height="1" fill="#D68733" />
+<rect x="45" y="31" width="1" height="1" fill="#D68733" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Soljord.svg b/Edikoyo/.obsidian/icons/flags/Soljord.svg
new file mode 100644
index 0000000..1a0dccc
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Soljord.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#10161F" />
+<rect x="3" y="0" width="1" height="1" fill="#10161F" />
+<rect x="4" y="0" width="1" height="1" fill="#10161F" />
+<rect x="5" y="0" width="1" height="1" fill="#10161F" />
+<rect x="6" y="0" width="1" height="1" fill="#10161F" />
+<rect x="7" y="0" width="1" height="1" fill="#10161F" />
+<rect x="8" y="0" width="1" height="1" fill="#10161F" />
+<rect x="9" y="0" width="1" height="1" fill="#10161F" />
+<rect x="10" y="0" width="1" height="1" fill="#10161F" />
+<rect x="11" y="0" width="1" height="1" fill="#10161F" />
+<rect x="12" y="0" width="1" height="1" fill="#10161F" />
+<rect x="13" y="0" width="1" height="1" fill="#10161F" />
+<rect x="14" y="0" width="1" height="1" fill="#10161F" />
+<rect x="15" y="0" width="1" height="1" fill="#10161F" />
+<rect x="16" y="0" width="1" height="1" fill="#10161F" />
+<rect x="17" y="0" width="1" height="1" fill="#10161F" />
+<rect x="18" y="0" width="1" height="1" fill="#10161F" />
+<rect x="19" y="0" width="1" height="1" fill="#10161F" />
+<rect x="20" y="0" width="1" height="1" fill="#10161F" />
+<rect x="21" y="0" width="1" height="1" fill="#10161F" />
+<rect x="22" y="0" width="1" height="1" fill="#18232B" />
+<rect x="23" y="0" width="1" height="1" fill="#18232B" />
+<rect x="24" y="0" width="1" height="1" fill="#18232B" />
+<rect x="25" y="0" width="1" height="1" fill="#18232B" />
+<rect x="26" y="0" width="1" height="1" fill="#18232B" />
+<rect x="27" y="0" width="1" height="1" fill="#18232B" />
+<rect x="28" y="0" width="1" height="1" fill="#18232B" />
+<rect x="29" y="0" width="1" height="1" fill="#18232B" />
+<rect x="30" y="0" width="1" height="1" fill="#18232B" />
+<rect x="31" y="0" width="1" height="1" fill="#18232B" />
+<rect x="32" y="0" width="1" height="1" fill="#18232B" />
+<rect x="33" y="0" width="1" height="1" fill="#18232B" />
+<rect x="34" y="0" width="1" height="1" fill="#18232B" />
+<rect x="35" y="0" width="1" height="1" fill="#18232B" />
+<rect x="36" y="0" width="1" height="1" fill="#18232B" />
+<rect x="37" y="0" width="1" height="1" fill="#18232B" />
+<rect x="38" y="0" width="1" height="1" fill="#18232B" />
+<rect x="39" y="0" width="1" height="1" fill="#18232B" />
+<rect x="40" y="0" width="1" height="1" fill="#18232B" />
+<rect x="41" y="0" width="1" height="1" fill="#18232B" />
+<rect x="42" y="0" width="1" height="1" fill="#18232B" />
+<rect x="43" y="0" width="1" height="1" fill="#18232B" />
+<rect x="44" y="0" width="1" height="1" fill="#18232B" />
+<rect x="45" y="0" width="1" height="1" fill="#18232B" />
+<rect x="1" y="1" width="1" height="1" fill="#10161F" />
+<rect x="2" y="1" width="1" height="1" fill="#10161F" />
+<rect x="3" y="1" width="1" height="1" fill="#10161F" />
+<rect x="4" y="1" width="1" height="1" fill="#10161F" />
+<rect x="5" y="1" width="1" height="1" fill="#10161F" />
+<rect x="6" y="1" width="1" height="1" fill="#10161F" />
+<rect x="7" y="1" width="1" height="1" fill="#10161F" />
+<rect x="8" y="1" width="1" height="1" fill="#10161F" />
+<rect x="9" y="1" width="1" height="1" fill="#10161F" />
+<rect x="10" y="1" width="1" height="1" fill="#151D28" />
+<rect x="11" y="1" width="1" height="1" fill="#151D28" />
+<rect x="12" y="1" width="1" height="1" fill="#151D28" />
+<rect x="13" y="1" width="1" height="1" fill="#151D28" />
+<rect x="14" y="1" width="1" height="1" fill="#151D28" />
+<rect x="15" y="1" width="1" height="1" fill="#151D28" />
+<rect x="16" y="1" width="1" height="1" fill="#151D28" />
+<rect x="17" y="1" width="1" height="1" fill="#202E37" />
+<rect x="18" y="1" width="1" height="1" fill="#202E37" />
+<rect x="19" y="1" width="1" height="1" fill="#202E37" />
+<rect x="20" y="1" width="1" height="1" fill="#202E37" />
+<rect x="21" y="1" width="1" height="1" fill="#202E37" />
+<rect x="22" y="1" width="1" height="1" fill="#202E37" />
+<rect x="23" y="1" width="1" height="1" fill="#202E37" />
+<rect x="24" y="1" width="1" height="1" fill="#202E37" />
+<rect x="25" y="1" width="1" height="1" fill="#202E37" />
+<rect x="26" y="1" width="1" height="1" fill="#202E37" />
+<rect x="27" y="1" width="1" height="1" fill="#202E37" />
+<rect x="28" y="1" width="1" height="1" fill="#202E37" />
+<rect x="29" y="1" width="1" height="1" fill="#202E37" />
+<rect x="30" y="1" width="1" height="1" fill="#202E37" />
+<rect x="31" y="1" width="1" height="1" fill="#202E37" />
+<rect x="32" y="1" width="1" height="1" fill="#202E37" />
+<rect x="33" y="1" width="1" height="1" fill="#18232B" />
+<rect x="34" y="1" width="1" height="1" fill="#18232B" />
+<rect x="35" y="1" width="1" height="1" fill="#18232B" />
+<rect x="36" y="1" width="1" height="1" fill="#18232B" />
+<rect x="37" y="1" width="1" height="1" fill="#18232B" />
+<rect x="38" y="1" width="1" height="1" fill="#18232B" />
+<rect x="39" y="1" width="1" height="1" fill="#18232B" />
+<rect x="40" y="1" width="1" height="1" fill="#202E37" />
+<rect x="41" y="1" width="1" height="1" fill="#18232B" />
+<rect x="42" y="1" width="1" height="1" fill="#18232B" />
+<rect x="43" y="1" width="1" height="1" fill="#18232B" />
+<rect x="44" y="1" width="1" height="1" fill="#18232B" />
+<rect x="45" y="1" width="1" height="1" fill="#18232B" />
+<rect x="46" y="1" width="1" height="1" fill="#18232B" />
+<rect x="0" y="2" width="1" height="1" fill="#10161F" />
+<rect x="1" y="2" width="1" height="1" fill="#10161F" />
+<rect x="2" y="2" width="1" height="1" fill="#10161F" />
+<rect x="3" y="2" width="1" height="1" fill="#10161F" />
+<rect x="4" y="2" width="1" height="1" fill="#10161F" />
+<rect x="5" y="2" width="1" height="1" fill="#10161F" />
+<rect x="6" y="2" width="1" height="1" fill="#151D28" />
+<rect x="7" y="2" width="1" height="1" fill="#151D28" />
+<rect x="8" y="2" width="1" height="1" fill="#151D28" />
+<rect x="9" y="2" width="1" height="1" fill="#151D28" />
+<rect x="10" y="2" width="1" height="1" fill="#151D28" />
+<rect x="11" y="2" width="1" height="1" fill="#151D28" />
+<rect x="12" y="2" width="1" height="1" fill="#151D28" />
+<rect x="13" y="2" width="1" height="1" fill="#202E37" />
+<rect x="14" y="2" width="1" height="1" fill="#202E37" />
+<rect x="15" y="2" width="1" height="1" fill="#202E37" />
+<rect x="16" y="2" width="1" height="1" fill="#202E37" />
+<rect x="17" y="2" width="1" height="1" fill="#202E37" />
+<rect x="18" y="2" width="1" height="1" fill="#202E37" />
+<rect x="19" y="2" width="1" height="1" fill="#202E37" />
+<rect x="20" y="2" width="1" height="1" fill="#202E37" />
+<rect x="21" y="2" width="1" height="1" fill="#202E37" />
+<rect x="22" y="2" width="1" height="1" fill="#202E37" />
+<rect x="23" y="2" width="1" height="1" fill="#202E37" />
+<rect x="24" y="2" width="1" height="1" fill="#202E37" />
+<rect x="25" y="2" width="1" height="1" fill="#202E37" />
+<rect x="26" y="2" width="1" height="1" fill="#202E37" />
+<rect x="27" y="2" width="1" height="1" fill="#202E37" />
+<rect x="28" y="2" width="1" height="1" fill="#202E37" />
+<rect x="29" y="2" width="1" height="1" fill="#202E37" />
+<rect x="30" y="2" width="1" height="1" fill="#202E37" />
+<rect x="31" y="2" width="1" height="1" fill="#202E37" />
+<rect x="32" y="2" width="1" height="1" fill="#202E37" />
+<rect x="33" y="2" width="1" height="1" fill="#202E37" />
+<rect x="34" y="2" width="1" height="1" fill="#202E37" />
+<rect x="35" y="2" width="1" height="1" fill="#202E37" />
+<rect x="36" y="2" width="1" height="1" fill="#202E37" />
+<rect x="37" y="2" width="1" height="1" fill="#18232B" />
+<rect x="38" y="2" width="1" height="1" fill="#18232B" />
+<rect x="39" y="2" width="1" height="1" fill="#18232B" />
+<rect x="40" y="2" width="1" height="1" fill="#18232B" />
+<rect x="41" y="2" width="1" height="1" fill="#202E37" />
+<rect x="42" y="2" width="1" height="1" fill="#18232B" />
+<rect x="43" y="2" width="1" height="1" fill="#18232B" />
+<rect x="44" y="2" width="1" height="1" fill="#18232B" />
+<rect x="45" y="2" width="1" height="1" fill="#18232B" />
+<rect x="46" y="2" width="1" height="1" fill="#18232B" />
+<rect x="47" y="2" width="1" height="1" fill="#18232B" />
+<rect x="0" y="3" width="1" height="1" fill="#10161F" />
+<rect x="1" y="3" width="1" height="1" fill="#10161F" />
+<rect x="2" y="3" width="1" height="1" fill="#10161F" />
+<rect x="3" y="3" width="1" height="1" fill="#10161F" />
+<rect x="4" y="3" width="1" height="1" fill="#10161F" />
+<rect x="5" y="3" width="1" height="1" fill="#10161F" />
+<rect x="6" y="3" width="1" height="1" fill="#10161F" />
+<rect x="7" y="3" width="1" height="1" fill="#151D28" />
+<rect x="8" y="3" width="1" height="1" fill="#151D28" />
+<rect x="9" y="3" width="1" height="1" fill="#151D28" />
+<rect x="10" y="3" width="1" height="1" fill="#151D28" />
+<rect x="11" y="3" width="1" height="1" fill="#151D28" />
+<rect x="12" y="3" width="1" height="1" fill="#202E37" />
+<rect x="13" y="3" width="1" height="1" fill="#202E37" />
+<rect x="14" y="3" width="1" height="1" fill="#202E37" />
+<rect x="15" y="3" width="1" height="1" fill="#202E37" />
+<rect x="16" y="3" width="1" height="1" fill="#202E37" />
+<rect x="17" y="3" width="1" height="1" fill="#202E37" />
+<rect x="18" y="3" width="1" height="1" fill="#202E37" />
+<rect x="19" y="3" width="1" height="1" fill="#202E37" />
+<rect x="20" y="3" width="1" height="1" fill="#202E37" />
+<rect x="21" y="3" width="1" height="1" fill="#202E37" />
+<rect x="22" y="3" width="1" height="1" fill="#202E37" />
+<rect x="23" y="3" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="3" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="3" width="1" height="1" fill="#202E37" />
+<rect x="26" y="3" width="1" height="1" fill="#202E37" />
+<rect x="27" y="3" width="1" height="1" fill="#202E37" />
+<rect x="28" y="3" width="1" height="1" fill="#202E37" />
+<rect x="29" y="3" width="1" height="1" fill="#202E37" />
+<rect x="30" y="3" width="1" height="1" fill="#202E37" />
+<rect x="31" y="3" width="1" height="1" fill="#202E37" />
+<rect x="32" y="3" width="1" height="1" fill="#202E37" />
+<rect x="33" y="3" width="1" height="1" fill="#202E37" />
+<rect x="34" y="3" width="1" height="1" fill="#202E37" />
+<rect x="35" y="3" width="1" height="1" fill="#18232B" />
+<rect x="36" y="3" width="1" height="1" fill="#18232B" />
+<rect x="37" y="3" width="1" height="1" fill="#18232B" />
+<rect x="38" y="3" width="1" height="1" fill="#18232B" />
+<rect x="39" y="3" width="1" height="1" fill="#18232B" />
+<rect x="40" y="3" width="1" height="1" fill="#18232B" />
+<rect x="41" y="3" width="1" height="1" fill="#18232B" />
+<rect x="42" y="3" width="1" height="1" fill="#18232B" />
+<rect x="43" y="3" width="1" height="1" fill="#18232B" />
+<rect x="44" y="3" width="1" height="1" fill="#18232B" />
+<rect x="45" y="3" width="1" height="1" fill="#18232B" />
+<rect x="46" y="3" width="1" height="1" fill="#18232B" />
+<rect x="47" y="3" width="1" height="1" fill="#18232B" />
+<rect x="0" y="4" width="1" height="1" fill="#10161F" />
+<rect x="1" y="4" width="1" height="1" fill="#10161F" />
+<rect x="2" y="4" width="1" height="1" fill="#151D28" />
+<rect x="3" y="4" width="1" height="1" fill="#151D28" />
+<rect x="4" y="4" width="1" height="1" fill="#10161F" />
+<rect x="5" y="4" width="1" height="1" fill="#10161F" />
+<rect x="6" y="4" width="1" height="1" fill="#10161F" />
+<rect x="7" y="4" width="1" height="1" fill="#151D28" />
+<rect x="8" y="4" width="1" height="1" fill="#151D28" />
+<rect x="9" y="4" width="1" height="1" fill="#151D28" />
+<rect x="10" y="4" width="1" height="1" fill="#151D28" />
+<rect x="11" y="4" width="1" height="1" fill="#202E37" />
+<rect x="12" y="4" width="1" height="1" fill="#202E37" />
+<rect x="13" y="4" width="1" height="1" fill="#202E37" />
+<rect x="14" y="4" width="1" height="1" fill="#202E37" />
+<rect x="15" y="4" width="1" height="1" fill="#6384C2" />
+<rect x="16" y="4" width="1" height="1" fill="#202E37" />
+<rect x="17" y="4" width="1" height="1" fill="#202E37" />
+<rect x="18" y="4" width="1" height="1" fill="#202E37" />
+<rect x="19" y="4" width="1" height="1" fill="#202E37" />
+<rect x="20" y="4" width="1" height="1" fill="#202E37" />
+<rect x="21" y="4" width="1" height="1" fill="#202E37" />
+<rect x="22" y="4" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="4" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="4" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="4" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="4" width="1" height="1" fill="#202E37" />
+<rect x="27" y="4" width="1" height="1" fill="#202E37" />
+<rect x="28" y="4" width="1" height="1" fill="#202E37" />
+<rect x="29" y="4" width="1" height="1" fill="#202E37" />
+<rect x="30" y="4" width="1" height="1" fill="#202E37" />
+<rect x="31" y="4" width="1" height="1" fill="#202E37" />
+<rect x="32" y="4" width="1" height="1" fill="#61ABDD" />
+<rect x="33" y="4" width="1" height="1" fill="#202E37" />
+<rect x="34" y="4" width="1" height="1" fill="#202E37" />
+<rect x="35" y="4" width="1" height="1" fill="#202E37" />
+<rect x="36" y="4" width="1" height="1" fill="#18232B" />
+<rect x="37" y="4" width="1" height="1" fill="#18232B" />
+<rect x="38" y="4" width="1" height="1" fill="#18232B" />
+<rect x="39" y="4" width="1" height="1" fill="#18232B" />
+<rect x="40" y="4" width="1" height="1" fill="#18232B" />
+<rect x="41" y="4" width="1" height="1" fill="#18232B" />
+<rect x="42" y="4" width="1" height="1" fill="#18232B" />
+<rect x="43" y="4" width="1" height="1" fill="#18232B" />
+<rect x="44" y="4" width="1" height="1" fill="#18232B" />
+<rect x="45" y="4" width="1" height="1" fill="#18232B" />
+<rect x="46" y="4" width="1" height="1" fill="#18232B" />
+<rect x="47" y="4" width="1" height="1" fill="#18232B" />
+<rect x="0" y="5" width="1" height="1" fill="#10161F" />
+<rect x="1" y="5" width="1" height="1" fill="#10161F" />
+<rect x="2" y="5" width="1" height="1" fill="#10161F" />
+<rect x="3" y="5" width="1" height="1" fill="#151D28" />
+<rect x="4" y="5" width="1" height="1" fill="#151D28" />
+<rect x="5" y="5" width="1" height="1" fill="#151D28" />
+<rect x="6" y="5" width="1" height="1" fill="#10161F" />
+<rect x="7" y="5" width="1" height="1" fill="#151D28" />
+<rect x="8" y="5" width="1" height="1" fill="#151D28" />
+<rect x="9" y="5" width="1" height="1" fill="#151D28" />
+<rect x="10" y="5" width="1" height="1" fill="#151D28" />
+<rect x="11" y="5" width="1" height="1" fill="#202E37" />
+<rect x="12" y="5" width="1" height="1" fill="#202E37" />
+<rect x="13" y="5" width="1" height="1" fill="#202E37" />
+<rect x="14" y="5" width="1" height="1" fill="#202E37" />
+<rect x="15" y="5" width="1" height="1" fill="#202E37" />
+<rect x="16" y="5" width="1" height="1" fill="#202E37" />
+<rect x="17" y="5" width="1" height="1" fill="#202E37" />
+<rect x="18" y="5" width="1" height="1" fill="#202E37" />
+<rect x="19" y="5" width="1" height="1" fill="#6384C2" />
+<rect x="20" y="5" width="1" height="1" fill="#202E37" />
+<rect x="21" y="5" width="1" height="1" fill="#202E37" />
+<rect x="22" y="5" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="5" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="5" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="5" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="5" width="1" height="1" fill="#202E37" />
+<rect x="27" y="5" width="1" height="1" fill="#202E37" />
+<rect x="28" y="5" width="1" height="1" fill="#58CFEB" />
+<rect x="29" y="5" width="1" height="1" fill="#202E37" />
+<rect x="30" y="5" width="1" height="1" fill="#202E37" />
+<rect x="31" y="5" width="1" height="1" fill="#202E37" />
+<rect x="32" y="5" width="1" height="1" fill="#202E37" />
+<rect x="33" y="5" width="1" height="1" fill="#202E37" />
+<rect x="34" y="5" width="1" height="1" fill="#202E37" />
+<rect x="35" y="5" width="1" height="1" fill="#202E37" />
+<rect x="36" y="5" width="1" height="1" fill="#202E37" />
+<rect x="37" y="5" width="1" height="1" fill="#202E37" />
+<rect x="38" y="5" width="1" height="1" fill="#18232B" />
+<rect x="39" y="5" width="1" height="1" fill="#18232B" />
+<rect x="40" y="5" width="1" height="1" fill="#18232B" />
+<rect x="41" y="5" width="1" height="1" fill="#18232B" />
+<rect x="42" y="5" width="1" height="1" fill="#202E37" />
+<rect x="43" y="5" width="1" height="1" fill="#18232B" />
+<rect x="44" y="5" width="1" height="1" fill="#18232B" />
+<rect x="45" y="5" width="1" height="1" fill="#18232B" />
+<rect x="46" y="5" width="1" height="1" fill="#18232B" />
+<rect x="47" y="5" width="1" height="1" fill="#18232B" />
+<rect x="0" y="6" width="1" height="1" fill="#10161F" />
+<rect x="1" y="6" width="1" height="1" fill="#10161F" />
+<rect x="2" y="6" width="1" height="1" fill="#10161F" />
+<rect x="3" y="6" width="1" height="1" fill="#10161F" />
+<rect x="4" y="6" width="1" height="1" fill="#151D28" />
+<rect x="5" y="6" width="1" height="1" fill="#151D28" />
+<rect x="6" y="6" width="1" height="1" fill="#151D28" />
+<rect x="7" y="6" width="1" height="1" fill="#151D28" />
+<rect x="8" y="6" width="1" height="1" fill="#151D28" />
+<rect x="9" y="6" width="1" height="1" fill="#151D28" />
+<rect x="10" y="6" width="1" height="1" fill="#151D28" />
+<rect x="11" y="6" width="1" height="1" fill="#202E37" />
+<rect x="12" y="6" width="1" height="1" fill="#202E37" />
+<rect x="13" y="6" width="1" height="1" fill="#6384C2" />
+<rect x="14" y="6" width="1" height="1" fill="#202E37" />
+<rect x="15" y="6" width="1" height="1" fill="#202E37" />
+<rect x="16" y="6" width="1" height="1" fill="#202E37" />
+<rect x="17" y="6" width="1" height="1" fill="#6384C2" />
+<rect x="18" y="6" width="1" height="1" fill="#6384C2" />
+<rect x="19" y="6" width="1" height="1" fill="#202E37" />
+<rect x="20" y="6" width="1" height="1" fill="#202E37" />
+<rect x="21" y="6" width="1" height="1" fill="#61ABDD" />
+<rect x="22" y="6" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="6" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="6" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="6" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="6" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="6" width="1" height="1" fill="#202E37" />
+<rect x="28" y="6" width="1" height="1" fill="#202E37" />
+<rect x="29" y="6" width="1" height="1" fill="#58CFEB" />
+<rect x="30" y="6" width="1" height="1" fill="#58CFEB" />
+<rect x="31" y="6" width="1" height="1" fill="#202E37" />
+<rect x="32" y="6" width="1" height="1" fill="#202E37" />
+<rect x="33" y="6" width="1" height="1" fill="#202E37" />
+<rect x="34" y="6" width="1" height="1" fill="#61ABDD" />
+<rect x="35" y="6" width="1" height="1" fill="#202E37" />
+<rect x="36" y="6" width="1" height="1" fill="#202E37" />
+<rect x="37" y="6" width="1" height="1" fill="#202E37" />
+<rect x="38" y="6" width="1" height="1" fill="#202E37" />
+<rect x="39" y="6" width="1" height="1" fill="#18232B" />
+<rect x="40" y="6" width="1" height="1" fill="#18232B" />
+<rect x="41" y="6" width="1" height="1" fill="#18232B" />
+<rect x="42" y="6" width="1" height="1" fill="#202E37" />
+<rect x="43" y="6" width="1" height="1" fill="#202E37" />
+<rect x="44" y="6" width="1" height="1" fill="#18232B" />
+<rect x="45" y="6" width="1" height="1" fill="#18232B" />
+<rect x="46" y="6" width="1" height="1" fill="#18232B" />
+<rect x="47" y="6" width="1" height="1" fill="#18232B" />
+<rect x="0" y="7" width="1" height="1" fill="#10161F" />
+<rect x="1" y="7" width="1" height="1" fill="#10161F" />
+<rect x="2" y="7" width="1" height="1" fill="#10161F" />
+<rect x="3" y="7" width="1" height="1" fill="#10161F" />
+<rect x="4" y="7" width="1" height="1" fill="#10161F" />
+<rect x="5" y="7" width="1" height="1" fill="#10161F" />
+<rect x="6" y="7" width="1" height="1" fill="#151D28" />
+<rect x="7" y="7" width="1" height="1" fill="#151D28" />
+<rect x="8" y="7" width="1" height="1" fill="#151D28" />
+<rect x="9" y="7" width="1" height="1" fill="#151D28" />
+<rect x="10" y="7" width="1" height="1" fill="#202E37" />
+<rect x="11" y="7" width="1" height="1" fill="#202E37" />
+<rect x="12" y="7" width="1" height="1" fill="#202E37" />
+<rect x="13" y="7" width="1" height="1" fill="#202E37" />
+<rect x="14" y="7" width="1" height="1" fill="#202E37" />
+<rect x="15" y="7" width="1" height="1" fill="#202E37" />
+<rect x="16" y="7" width="1" height="1" fill="#202E37" />
+<rect x="17" y="7" width="1" height="1" fill="#202E37" />
+<rect x="18" y="7" width="1" height="1" fill="#202E37" />
+<rect x="19" y="7" width="1" height="1" fill="#202E37" />
+<rect x="20" y="7" width="1" height="1" fill="#202E37" />
+<rect x="21" y="7" width="1" height="1" fill="#61ABDD" />
+<rect x="22" y="7" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="7" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="7" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="7" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="7" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="7" width="1" height="1" fill="#202E37" />
+<rect x="28" y="7" width="1" height="1" fill="#202E37" />
+<rect x="29" y="7" width="1" height="1" fill="#202E37" />
+<rect x="30" y="7" width="1" height="1" fill="#202E37" />
+<rect x="31" y="7" width="1" height="1" fill="#202E37" />
+<rect x="32" y="7" width="1" height="1" fill="#202E37" />
+<rect x="33" y="7" width="1" height="1" fill="#202E37" />
+<rect x="34" y="7" width="1" height="1" fill="#202E37" />
+<rect x="35" y="7" width="1" height="1" fill="#202E37" />
+<rect x="36" y="7" width="1" height="1" fill="#202E37" />
+<rect x="37" y="7" width="1" height="1" fill="#202E37" />
+<rect x="38" y="7" width="1" height="1" fill="#202E37" />
+<rect x="39" y="7" width="1" height="1" fill="#18232B" />
+<rect x="40" y="7" width="1" height="1" fill="#18232B" />
+<rect x="41" y="7" width="1" height="1" fill="#202E37" />
+<rect x="42" y="7" width="1" height="1" fill="#202E37" />
+<rect x="43" y="7" width="1" height="1" fill="#202E37" />
+<rect x="44" y="7" width="1" height="1" fill="#18232B" />
+<rect x="45" y="7" width="1" height="1" fill="#18232B" />
+<rect x="46" y="7" width="1" height="1" fill="#18232B" />
+<rect x="47" y="7" width="1" height="1" fill="#18232B" />
+<rect x="0" y="8" width="1" height="1" fill="#10161F" />
+<rect x="1" y="8" width="1" height="1" fill="#10161F" />
+<rect x="2" y="8" width="1" height="1" fill="#151D28" />
+<rect x="3" y="8" width="1" height="1" fill="#151D28" />
+<rect x="4" y="8" width="1" height="1" fill="#151D28" />
+<rect x="5" y="8" width="1" height="1" fill="#10161F" />
+<rect x="6" y="8" width="1" height="1" fill="#10161F" />
+<rect x="7" y="8" width="1" height="1" fill="#151D28" />
+<rect x="8" y="8" width="1" height="1" fill="#151D28" />
+<rect x="9" y="8" width="1" height="1" fill="#202E37" />
+<rect x="10" y="8" width="1" height="1" fill="#202E37" />
+<rect x="11" y="8" width="1" height="1" fill="#202E37" />
+<rect x="12" y="8" width="1" height="1" fill="#202E37" />
+<rect x="13" y="8" width="1" height="1" fill="#202E37" />
+<rect x="14" y="8" width="1" height="1" fill="#202E37" />
+<rect x="15" y="8" width="1" height="1" fill="#202E37" />
+<rect x="16" y="8" width="1" height="1" fill="#202E37" />
+<rect x="17" y="8" width="1" height="1" fill="#202E37" />
+<rect x="18" y="8" width="1" height="1" fill="#202E37" />
+<rect x="19" y="8" width="1" height="1" fill="#202E37" />
+<rect x="20" y="8" width="1" height="1" fill="#61ABDD" />
+<rect x="21" y="8" width="1" height="1" fill="#61ABDD" />
+<rect x="22" y="8" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="8" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="8" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="8" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="8" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="8" width="1" height="1" fill="#58CFEB" />
+<rect x="28" y="8" width="1" height="1" fill="#202E37" />
+<rect x="29" y="8" width="1" height="1" fill="#202E37" />
+<rect x="30" y="8" width="1" height="1" fill="#202E37" />
+<rect x="31" y="8" width="1" height="1" fill="#202E37" />
+<rect x="32" y="8" width="1" height="1" fill="#202E37" />
+<rect x="33" y="8" width="1" height="1" fill="#202E37" />
+<rect x="34" y="8" width="1" height="1" fill="#202E37" />
+<rect x="35" y="8" width="1" height="1" fill="#202E37" />
+<rect x="36" y="8" width="1" height="1" fill="#202E37" />
+<rect x="37" y="8" width="1" height="1" fill="#202E37" />
+<rect x="38" y="8" width="1" height="1" fill="#202E37" />
+<rect x="39" y="8" width="1" height="1" fill="#18232B" />
+<rect x="40" y="8" width="1" height="1" fill="#18232B" />
+<rect x="41" y="8" width="1" height="1" fill="#202E37" />
+<rect x="42" y="8" width="1" height="1" fill="#202E37" />
+<rect x="43" y="8" width="1" height="1" fill="#202E37" />
+<rect x="44" y="8" width="1" height="1" fill="#202E37" />
+<rect x="45" y="8" width="1" height="1" fill="#18232B" />
+<rect x="46" y="8" width="1" height="1" fill="#18232B" />
+<rect x="47" y="8" width="1" height="1" fill="#18232B" />
+<rect x="0" y="9" width="1" height="1" fill="#10161F" />
+<rect x="1" y="9" width="1" height="1" fill="#10161F" />
+<rect x="2" y="9" width="1" height="1" fill="#151D28" />
+<rect x="3" y="9" width="1" height="1" fill="#151D28" />
+<rect x="4" y="9" width="1" height="1" fill="#151D28" />
+<rect x="5" y="9" width="1" height="1" fill="#151D28" />
+<rect x="6" y="9" width="1" height="1" fill="#151D28" />
+<rect x="7" y="9" width="1" height="1" fill="#202E37" />
+<rect x="8" y="9" width="1" height="1" fill="#202E37" />
+<rect x="9" y="9" width="1" height="1" fill="#202E37" />
+<rect x="10" y="9" width="1" height="1" fill="#202E37" />
+<rect x="11" y="9" width="1" height="1" fill="#202E37" />
+<rect x="12" y="9" width="1" height="1" fill="#6384C2" />
+<rect x="13" y="9" width="1" height="1" fill="#61ABDD" />
+<rect x="14" y="9" width="1" height="1" fill="#61ABDD" />
+<rect x="15" y="9" width="1" height="1" fill="#61ABDD" />
+<rect x="16" y="9" width="1" height="1" fill="#61ABDD" />
+<rect x="17" y="9" width="1" height="1" fill="#61ABDD" />
+<rect x="18" y="9" width="1" height="1" fill="#61ABDD" />
+<rect x="19" y="9" width="1" height="1" fill="#202E37" />
+<rect x="20" y="9" width="1" height="1" fill="#61ABDD" />
+<rect x="21" y="9" width="1" height="1" fill="#61ABDD" />
+<rect x="22" y="9" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="9" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="9" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="9" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="9" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="9" width="1" height="1" fill="#58CFEB" />
+<rect x="28" y="9" width="1" height="1" fill="#202E37" />
+<rect x="29" y="9" width="1" height="1" fill="#58CFEB" />
+<rect x="30" y="9" width="1" height="1" fill="#58CFEB" />
+<rect x="31" y="9" width="1" height="1" fill="#58CFEB" />
+<rect x="32" y="9" width="1" height="1" fill="#58CFEB" />
+<rect x="33" y="9" width="1" height="1" fill="#58CFEB" />
+<rect x="34" y="9" width="1" height="1" fill="#58CFEB" />
+<rect x="35" y="9" width="1" height="1" fill="#58CFEB" />
+<rect x="36" y="9" width="1" height="1" fill="#202E37" />
+<rect x="37" y="9" width="1" height="1" fill="#202E37" />
+<rect x="38" y="9" width="1" height="1" fill="#202E37" />
+<rect x="39" y="9" width="1" height="1" fill="#18232B" />
+<rect x="40" y="9" width="1" height="1" fill="#18232B" />
+<rect x="41" y="9" width="1" height="1" fill="#202E37" />
+<rect x="42" y="9" width="1" height="1" fill="#202E37" />
+<rect x="43" y="9" width="1" height="1" fill="#202E37" />
+<rect x="44" y="9" width="1" height="1" fill="#202E37" />
+<rect x="45" y="9" width="1" height="1" fill="#18232B" />
+<rect x="46" y="9" width="1" height="1" fill="#18232B" />
+<rect x="47" y="9" width="1" height="1" fill="#18232B" />
+<rect x="0" y="10" width="1" height="1" fill="#10161F" />
+<rect x="1" y="10" width="1" height="1" fill="#10161F" />
+<rect x="2" y="10" width="1" height="1" fill="#151D28" />
+<rect x="3" y="10" width="1" height="1" fill="#151D28" />
+<rect x="4" y="10" width="1" height="1" fill="#202E37" />
+<rect x="5" y="10" width="1" height="1" fill="#202E37" />
+<rect x="6" y="10" width="1" height="1" fill="#202E37" />
+<rect x="7" y="10" width="1" height="1" fill="#202E37" />
+<rect x="8" y="10" width="1" height="1" fill="#202E37" />
+<rect x="9" y="10" width="1" height="1" fill="#202E37" />
+<rect x="10" y="10" width="1" height="1" fill="#202E37" />
+<rect x="11" y="10" width="1" height="1" fill="#202E37" />
+<rect x="12" y="10" width="1" height="1" fill="#202E37" />
+<rect x="13" y="10" width="1" height="1" fill="#6384C2" />
+<rect x="14" y="10" width="1" height="1" fill="#6384C2" />
+<rect x="15" y="10" width="1" height="1" fill="#61ABDD" />
+<rect x="16" y="10" width="1" height="1" fill="#61ABDD" />
+<rect x="17" y="10" width="1" height="1" fill="#61ABDD" />
+<rect x="18" y="10" width="1" height="1" fill="#61ABDD" />
+<rect x="19" y="10" width="1" height="1" fill="#61ABDD" />
+<rect x="20" y="10" width="1" height="1" fill="#202E37" />
+<rect x="21" y="10" width="1" height="1" fill="#61ABDD" />
+<rect x="22" y="10" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="10" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="10" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="10" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="10" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="10" width="1" height="1" fill="#202E37" />
+<rect x="28" y="10" width="1" height="1" fill="#58CFEB" />
+<rect x="29" y="10" width="1" height="1" fill="#58CFEB" />
+<rect x="30" y="10" width="1" height="1" fill="#58CFEB" />
+<rect x="31" y="10" width="1" height="1" fill="#58CFEB" />
+<rect x="32" y="10" width="1" height="1" fill="#58CFEB" />
+<rect x="33" y="10" width="1" height="1" fill="#58CFEB" />
+<rect x="34" y="10" width="1" height="1" fill="#58CFEB" />
+<rect x="35" y="10" width="1" height="1" fill="#202E37" />
+<rect x="36" y="10" width="1" height="1" fill="#202E37" />
+<rect x="37" y="10" width="1" height="1" fill="#202E37" />
+<rect x="38" y="10" width="1" height="1" fill="#202E37" />
+<rect x="39" y="10" width="1" height="1" fill="#202E37" />
+<rect x="40" y="10" width="1" height="1" fill="#18232B" />
+<rect x="41" y="10" width="1" height="1" fill="#202E37" />
+<rect x="42" y="10" width="1" height="1" fill="#202E37" />
+<rect x="43" y="10" width="1" height="1" fill="#202E37" />
+<rect x="44" y="10" width="1" height="1" fill="#202E37" />
+<rect x="45" y="10" width="1" height="1" fill="#202E37" />
+<rect x="46" y="10" width="1" height="1" fill="#18232B" />
+<rect x="47" y="10" width="1" height="1" fill="#18232B" />
+<rect x="0" y="11" width="1" height="1" fill="#10161F" />
+<rect x="1" y="11" width="1" height="1" fill="#10161F" />
+<rect x="2" y="11" width="1" height="1" fill="#151D28" />
+<rect x="3" y="11" width="1" height="1" fill="#151D28" />
+<rect x="4" y="11" width="1" height="1" fill="#202E37" />
+<rect x="5" y="11" width="1" height="1" fill="#202E37" />
+<rect x="6" y="11" width="1" height="1" fill="#202E37" />
+<rect x="7" y="11" width="1" height="1" fill="#202E37" />
+<rect x="8" y="11" width="1" height="1" fill="#202E37" />
+<rect x="9" y="11" width="1" height="1" fill="#202E37" />
+<rect x="10" y="11" width="1" height="1" fill="#202E37" />
+<rect x="11" y="11" width="1" height="1" fill="#202E37" />
+<rect x="12" y="11" width="1" height="1" fill="#202E37" />
+<rect x="13" y="11" width="1" height="1" fill="#6384C2" />
+<rect x="14" y="11" width="1" height="1" fill="#6384C2" />
+<rect x="15" y="11" width="1" height="1" fill="#6384C2" />
+<rect x="16" y="11" width="1" height="1" fill="#6384C2" />
+<rect x="17" y="11" width="1" height="1" fill="#61ABDD" />
+<rect x="18" y="11" width="1" height="1" fill="#61ABDD" />
+<rect x="19" y="11" width="1" height="1" fill="#61ABDD" />
+<rect x="20" y="11" width="1" height="1" fill="#202E37" />
+<rect x="21" y="11" width="1" height="1" fill="#61ABDD" />
+<rect x="22" y="11" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="11" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="11" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="11" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="11" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="11" width="1" height="1" fill="#202E37" />
+<rect x="28" y="11" width="1" height="1" fill="#58CFEB" />
+<rect x="29" y="11" width="1" height="1" fill="#58CFEB" />
+<rect x="30" y="11" width="1" height="1" fill="#58CFEB" />
+<rect x="31" y="11" width="1" height="1" fill="#58CFEB" />
+<rect x="32" y="11" width="1" height="1" fill="#58CFEB" />
+<rect x="33" y="11" width="1" height="1" fill="#61ABDD" />
+<rect x="34" y="11" width="1" height="1" fill="#61ABDD" />
+<rect x="35" y="11" width="1" height="1" fill="#202E37" />
+<rect x="36" y="11" width="1" height="1" fill="#202E37" />
+<rect x="37" y="11" width="1" height="1" fill="#202E37" />
+<rect x="38" y="11" width="1" height="1" fill="#202E37" />
+<rect x="39" y="11" width="1" height="1" fill="#202E37" />
+<rect x="40" y="11" width="1" height="1" fill="#18232B" />
+<rect x="41" y="11" width="1" height="1" fill="#202E37" />
+<rect x="42" y="11" width="1" height="1" fill="#202E37" />
+<rect x="43" y="11" width="1" height="1" fill="#202E37" />
+<rect x="44" y="11" width="1" height="1" fill="#202E37" />
+<rect x="45" y="11" width="1" height="1" fill="#202E37" />
+<rect x="46" y="11" width="1" height="1" fill="#18232B" />
+<rect x="47" y="11" width="1" height="1" fill="#18232B" />
+<rect x="0" y="12" width="1" height="1" fill="#10161F" />
+<rect x="1" y="12" width="1" height="1" fill="#151D28" />
+<rect x="2" y="12" width="1" height="1" fill="#151D28" />
+<rect x="3" y="12" width="1" height="1" fill="#202E37" />
+<rect x="4" y="12" width="1" height="1" fill="#202E37" />
+<rect x="5" y="12" width="1" height="1" fill="#202E37" />
+<rect x="6" y="12" width="1" height="1" fill="#202E37" />
+<rect x="7" y="12" width="1" height="1" fill="#202E37" />
+<rect x="8" y="12" width="1" height="1" fill="#202E37" />
+<rect x="9" y="12" width="1" height="1" fill="#202E37" />
+<rect x="10" y="12" width="1" height="1" fill="#202E37" />
+<rect x="11" y="12" width="1" height="1" fill="#202E37" />
+<rect x="12" y="12" width="1" height="1" fill="#202E37" />
+<rect x="13" y="12" width="1" height="1" fill="#202E37" />
+<rect x="14" y="12" width="1" height="1" fill="#6384C2" />
+<rect x="15" y="12" width="1" height="1" fill="#6384C2" />
+<rect x="16" y="12" width="1" height="1" fill="#6384C2" />
+<rect x="17" y="12" width="1" height="1" fill="#6384C2" />
+<rect x="18" y="12" width="1" height="1" fill="#6384C2" />
+<rect x="19" y="12" width="1" height="1" fill="#61ABDD" />
+<rect x="20" y="12" width="1" height="1" fill="#61ABDD" />
+<rect x="21" y="12" width="1" height="1" fill="#202E37" />
+<rect x="22" y="12" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="12" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="12" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="12" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="12" width="1" height="1" fill="#202E37" />
+<rect x="27" y="12" width="1" height="1" fill="#58CFEB" />
+<rect x="28" y="12" width="1" height="1" fill="#58CFEB" />
+<rect x="29" y="12" width="1" height="1" fill="#58CFEB" />
+<rect x="30" y="12" width="1" height="1" fill="#58CFEB" />
+<rect x="31" y="12" width="1" height="1" fill="#61ABDD" />
+<rect x="32" y="12" width="1" height="1" fill="#61ABDD" />
+<rect x="33" y="12" width="1" height="1" fill="#61ABDD" />
+<rect x="34" y="12" width="1" height="1" fill="#202E37" />
+<rect x="35" y="12" width="1" height="1" fill="#202E37" />
+<rect x="36" y="12" width="1" height="1" fill="#202E37" />
+<rect x="37" y="12" width="1" height="1" fill="#202E37" />
+<rect x="38" y="12" width="1" height="1" fill="#202E37" />
+<rect x="39" y="12" width="1" height="1" fill="#202E37" />
+<rect x="40" y="12" width="1" height="1" fill="#202E37" />
+<rect x="41" y="12" width="1" height="1" fill="#202E37" />
+<rect x="42" y="12" width="1" height="1" fill="#202E37" />
+<rect x="43" y="12" width="1" height="1" fill="#202E37" />
+<rect x="44" y="12" width="1" height="1" fill="#202E37" />
+<rect x="45" y="12" width="1" height="1" fill="#202E37" />
+<rect x="46" y="12" width="1" height="1" fill="#18232B" />
+<rect x="47" y="12" width="1" height="1" fill="#10161F" />
+<rect x="0" y="13" width="1" height="1" fill="#10161F" />
+<rect x="1" y="13" width="1" height="1" fill="#151D28" />
+<rect x="2" y="13" width="1" height="1" fill="#151D28" />
+<rect x="3" y="13" width="1" height="1" fill="#202E37" />
+<rect x="4" y="13" width="1" height="1" fill="#202E37" />
+<rect x="5" y="13" width="1" height="1" fill="#202E37" />
+<rect x="6" y="13" width="1" height="1" fill="#202E37" />
+<rect x="7" y="13" width="1" height="1" fill="#202E37" />
+<rect x="8" y="13" width="1" height="1" fill="#202E37" />
+<rect x="9" y="13" width="1" height="1" fill="#202E37" />
+<rect x="10" y="13" width="1" height="1" fill="#202E37" />
+<rect x="11" y="13" width="1" height="1" fill="#202E37" />
+<rect x="12" y="13" width="1" height="1" fill="#6384C2" />
+<rect x="13" y="13" width="1" height="1" fill="#202E37" />
+<rect x="14" y="13" width="1" height="1" fill="#6384C2" />
+<rect x="15" y="13" width="1" height="1" fill="#6384C2" />
+<rect x="16" y="13" width="1" height="1" fill="#6384C2" />
+<rect x="17" y="13" width="1" height="1" fill="#6384C2" />
+<rect x="18" y="13" width="1" height="1" fill="#6384C2" />
+<rect x="19" y="13" width="1" height="1" fill="#6384C2" />
+<rect x="20" y="13" width="1" height="1" fill="#6384C2" />
+<rect x="21" y="13" width="1" height="1" fill="#202E37" />
+<rect x="22" y="13" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="13" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="13" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="13" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="13" width="1" height="1" fill="#202E37" />
+<rect x="27" y="13" width="1" height="1" fill="#58CFEB" />
+<rect x="28" y="13" width="1" height="1" fill="#58CFEB" />
+<rect x="29" y="13" width="1" height="1" fill="#61ABDD" />
+<rect x="30" y="13" width="1" height="1" fill="#61ABDD" />
+<rect x="31" y="13" width="1" height="1" fill="#61ABDD" />
+<rect x="32" y="13" width="1" height="1" fill="#61ABDD" />
+<rect x="33" y="13" width="1" height="1" fill="#61ABDD" />
+<rect x="34" y="13" width="1" height="1" fill="#202E37" />
+<rect x="35" y="13" width="1" height="1" fill="#61ABDD" />
+<rect x="36" y="13" width="1" height="1" fill="#202E37" />
+<rect x="37" y="13" width="1" height="1" fill="#202E37" />
+<rect x="38" y="13" width="1" height="1" fill="#202E37" />
+<rect x="39" y="13" width="1" height="1" fill="#202E37" />
+<rect x="40" y="13" width="1" height="1" fill="#202E37" />
+<rect x="41" y="13" width="1" height="1" fill="#202E37" />
+<rect x="42" y="13" width="1" height="1" fill="#202E37" />
+<rect x="43" y="13" width="1" height="1" fill="#202E37" />
+<rect x="44" y="13" width="1" height="1" fill="#202E37" />
+<rect x="45" y="13" width="1" height="1" fill="#202E37" />
+<rect x="46" y="13" width="1" height="1" fill="#10161F" />
+<rect x="47" y="13" width="1" height="1" fill="#10161F" />
+<rect x="0" y="14" width="1" height="1" fill="#10161F" />
+<rect x="1" y="14" width="1" height="1" fill="#151D28" />
+<rect x="2" y="14" width="1" height="1" fill="#151D28" />
+<rect x="3" y="14" width="1" height="1" fill="#202E37" />
+<rect x="4" y="14" width="1" height="1" fill="#202E37" />
+<rect x="5" y="14" width="1" height="1" fill="#202E37" />
+<rect x="6" y="14" width="1" height="1" fill="#202E37" />
+<rect x="7" y="14" width="1" height="1" fill="#202E37" />
+<rect x="8" y="14" width="1" height="1" fill="#202E37" />
+<rect x="9" y="14" width="1" height="1" fill="#6384C2" />
+<rect x="10" y="14" width="1" height="1" fill="#202E37" />
+<rect x="11" y="14" width="1" height="1" fill="#202E37" />
+<rect x="12" y="14" width="1" height="1" fill="#6384C2" />
+<rect x="13" y="14" width="1" height="1" fill="#202E37" />
+<rect x="14" y="14" width="1" height="1" fill="#202E37" />
+<rect x="15" y="14" width="1" height="1" fill="#6384C2" />
+<rect x="16" y="14" width="1" height="1" fill="#6384C2" />
+<rect x="17" y="14" width="1" height="1" fill="#6384C2" />
+<rect x="18" y="14" width="1" height="1" fill="#6384C2" />
+<rect x="19" y="14" width="1" height="1" fill="#6384C2" />
+<rect x="20" y="14" width="1" height="1" fill="#6384C2" />
+<rect x="21" y="14" width="1" height="1" fill="#6384C2" />
+<rect x="22" y="14" width="1" height="1" fill="#202E37" />
+<rect x="23" y="14" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="14" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="14" width="1" height="1" fill="#202E37" />
+<rect x="26" y="14" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="14" width="1" height="1" fill="#61ABDD" />
+<rect x="28" y="14" width="1" height="1" fill="#61ABDD" />
+<rect x="29" y="14" width="1" height="1" fill="#61ABDD" />
+<rect x="30" y="14" width="1" height="1" fill="#61ABDD" />
+<rect x="31" y="14" width="1" height="1" fill="#61ABDD" />
+<rect x="32" y="14" width="1" height="1" fill="#61ABDD" />
+<rect x="33" y="14" width="1" height="1" fill="#202E37" />
+<rect x="34" y="14" width="1" height="1" fill="#202E37" />
+<rect x="35" y="14" width="1" height="1" fill="#61ABDD" />
+<rect x="36" y="14" width="1" height="1" fill="#202E37" />
+<rect x="37" y="14" width="1" height="1" fill="#202E37" />
+<rect x="38" y="14" width="1" height="1" fill="#61ABDD" />
+<rect x="39" y="14" width="1" height="1" fill="#202E37" />
+<rect x="40" y="14" width="1" height="1" fill="#202E37" />
+<rect x="41" y="14" width="1" height="1" fill="#202E37" />
+<rect x="42" y="14" width="1" height="1" fill="#202E37" />
+<rect x="43" y="14" width="1" height="1" fill="#202E37" />
+<rect x="44" y="14" width="1" height="1" fill="#202E37" />
+<rect x="45" y="14" width="1" height="1" fill="#202E37" />
+<rect x="46" y="14" width="1" height="1" fill="#10161F" />
+<rect x="47" y="14" width="1" height="1" fill="#10161F" />
+<rect x="0" y="15" width="1" height="1" fill="#10161F" />
+<rect x="1" y="15" width="1" height="1" fill="#151D28" />
+<rect x="2" y="15" width="1" height="1" fill="#151D28" />
+<rect x="3" y="15" width="1" height="1" fill="#202E37" />
+<rect x="4" y="15" width="1" height="1" fill="#202E37" />
+<rect x="5" y="15" width="1" height="1" fill="#202E37" />
+<rect x="6" y="15" width="1" height="1" fill="#202E37" />
+<rect x="7" y="15" width="1" height="1" fill="#202E37" />
+<rect x="8" y="15" width="1" height="1" fill="#202E37" />
+<rect x="9" y="15" width="1" height="1" fill="#202E37" />
+<rect x="10" y="15" width="1" height="1" fill="#202E37" />
+<rect x="11" y="15" width="1" height="1" fill="#202E37" />
+<rect x="12" y="15" width="1" height="1" fill="#6384C2" />
+<rect x="13" y="15" width="1" height="1" fill="#202E37" />
+<rect x="14" y="15" width="1" height="1" fill="#202E37" />
+<rect x="15" y="15" width="1" height="1" fill="#202E37" />
+<rect x="16" y="15" width="1" height="1" fill="#202E37" />
+<rect x="17" y="15" width="1" height="1" fill="#202E37" />
+<rect x="18" y="15" width="1" height="1" fill="#202E37" />
+<rect x="19" y="15" width="1" height="1" fill="#202E37" />
+<rect x="20" y="15" width="1" height="1" fill="#202E37" />
+<rect x="21" y="15" width="1" height="1" fill="#202E37" />
+<rect x="22" y="15" width="1" height="1" fill="#202E37" />
+<rect x="23" y="15" width="1" height="1" fill="#202E37" />
+<rect x="24" y="15" width="1" height="1" fill="#202E37" />
+<rect x="25" y="15" width="1" height="1" fill="#202E37" />
+<rect x="26" y="15" width="1" height="1" fill="#202E37" />
+<rect x="27" y="15" width="1" height="1" fill="#202E37" />
+<rect x="28" y="15" width="1" height="1" fill="#202E37" />
+<rect x="29" y="15" width="1" height="1" fill="#202E37" />
+<rect x="30" y="15" width="1" height="1" fill="#202E37" />
+<rect x="31" y="15" width="1" height="1" fill="#202E37" />
+<rect x="32" y="15" width="1" height="1" fill="#202E37" />
+<rect x="33" y="15" width="1" height="1" fill="#202E37" />
+<rect x="34" y="15" width="1" height="1" fill="#202E37" />
+<rect x="35" y="15" width="1" height="1" fill="#61ABDD" />
+<rect x="36" y="15" width="1" height="1" fill="#202E37" />
+<rect x="37" y="15" width="1" height="1" fill="#202E37" />
+<rect x="38" y="15" width="1" height="1" fill="#202E37" />
+<rect x="39" y="15" width="1" height="1" fill="#202E37" />
+<rect x="40" y="15" width="1" height="1" fill="#202E37" />
+<rect x="41" y="15" width="1" height="1" fill="#202E37" />
+<rect x="42" y="15" width="1" height="1" fill="#202E37" />
+<rect x="43" y="15" width="1" height="1" fill="#202E37" />
+<rect x="44" y="15" width="1" height="1" fill="#202E37" />
+<rect x="45" y="15" width="1" height="1" fill="#151D28" />
+<rect x="46" y="15" width="1" height="1" fill="#10161F" />
+<rect x="47" y="15" width="1" height="1" fill="#10161F" />
+<rect x="0" y="16" width="1" height="1" fill="#10161F" />
+<rect x="1" y="16" width="1" height="1" fill="#151D28" />
+<rect x="2" y="16" width="1" height="1" fill="#151D28" />
+<rect x="3" y="16" width="1" height="1" fill="#202E37" />
+<rect x="4" y="16" width="1" height="1" fill="#202E37" />
+<rect x="5" y="16" width="1" height="1" fill="#202E37" />
+<rect x="6" y="16" width="1" height="1" fill="#202E37" />
+<rect x="7" y="16" width="1" height="1" fill="#202E37" />
+<rect x="8" y="16" width="1" height="1" fill="#202E37" />
+<rect x="9" y="16" width="1" height="1" fill="#6384C2" />
+<rect x="10" y="16" width="1" height="1" fill="#202E37" />
+<rect x="11" y="16" width="1" height="1" fill="#202E37" />
+<rect x="12" y="16" width="1" height="1" fill="#6384C2" />
+<rect x="13" y="16" width="1" height="1" fill="#202E37" />
+<rect x="14" y="16" width="1" height="1" fill="#202E37" />
+<rect x="15" y="16" width="1" height="1" fill="#61ABDD" />
+<rect x="16" y="16" width="1" height="1" fill="#61ABDD" />
+<rect x="17" y="16" width="1" height="1" fill="#61ABDD" />
+<rect x="18" y="16" width="1" height="1" fill="#61ABDD" />
+<rect x="19" y="16" width="1" height="1" fill="#61ABDD" />
+<rect x="20" y="16" width="1" height="1" fill="#61ABDD" />
+<rect x="21" y="16" width="1" height="1" fill="#6384C2" />
+<rect x="22" y="16" width="1" height="1" fill="#202E37" />
+<rect x="23" y="16" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="16" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="16" width="1" height="1" fill="#202E37" />
+<rect x="26" y="16" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="16" width="1" height="1" fill="#58CFEB" />
+<rect x="28" y="16" width="1" height="1" fill="#58CFEB" />
+<rect x="29" y="16" width="1" height="1" fill="#58CFEB" />
+<rect x="30" y="16" width="1" height="1" fill="#58CFEB" />
+<rect x="31" y="16" width="1" height="1" fill="#58CFEB" />
+<rect x="32" y="16" width="1" height="1" fill="#58CFEB" />
+<rect x="33" y="16" width="1" height="1" fill="#202E37" />
+<rect x="34" y="16" width="1" height="1" fill="#202E37" />
+<rect x="35" y="16" width="1" height="1" fill="#61ABDD" />
+<rect x="36" y="16" width="1" height="1" fill="#202E37" />
+<rect x="37" y="16" width="1" height="1" fill="#202E37" />
+<rect x="38" y="16" width="1" height="1" fill="#61ABDD" />
+<rect x="39" y="16" width="1" height="1" fill="#202E37" />
+<rect x="40" y="16" width="1" height="1" fill="#202E37" />
+<rect x="41" y="16" width="1" height="1" fill="#202E37" />
+<rect x="42" y="16" width="1" height="1" fill="#202E37" />
+<rect x="43" y="16" width="1" height="1" fill="#202E37" />
+<rect x="44" y="16" width="1" height="1" fill="#202E37" />
+<rect x="45" y="16" width="1" height="1" fill="#151D28" />
+<rect x="46" y="16" width="1" height="1" fill="#10161F" />
+<rect x="47" y="16" width="1" height="1" fill="#10161F" />
+<rect x="0" y="17" width="1" height="1" fill="#10161F" />
+<rect x="1" y="17" width="1" height="1" fill="#151D28" />
+<rect x="2" y="17" width="1" height="1" fill="#202E37" />
+<rect x="3" y="17" width="1" height="1" fill="#202E37" />
+<rect x="4" y="17" width="1" height="1" fill="#202E37" />
+<rect x="5" y="17" width="1" height="1" fill="#202E37" />
+<rect x="6" y="17" width="1" height="1" fill="#202E37" />
+<rect x="7" y="17" width="1" height="1" fill="#202E37" />
+<rect x="8" y="17" width="1" height="1" fill="#202E37" />
+<rect x="9" y="17" width="1" height="1" fill="#202E37" />
+<rect x="10" y="17" width="1" height="1" fill="#202E37" />
+<rect x="11" y="17" width="1" height="1" fill="#202E37" />
+<rect x="12" y="17" width="1" height="1" fill="#6384C2" />
+<rect x="13" y="17" width="1" height="1" fill="#202E37" />
+<rect x="14" y="17" width="1" height="1" fill="#61ABDD" />
+<rect x="15" y="17" width="1" height="1" fill="#61ABDD" />
+<rect x="16" y="17" width="1" height="1" fill="#61ABDD" />
+<rect x="17" y="17" width="1" height="1" fill="#61ABDD" />
+<rect x="18" y="17" width="1" height="1" fill="#61ABDD" />
+<rect x="19" y="17" width="1" height="1" fill="#6384C2" />
+<rect x="20" y="17" width="1" height="1" fill="#6384C2" />
+<rect x="21" y="17" width="1" height="1" fill="#202E37" />
+<rect x="22" y="17" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="17" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="17" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="17" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="17" width="1" height="1" fill="#202E37" />
+<rect x="27" y="17" width="1" height="1" fill="#58CFEB" />
+<rect x="28" y="17" width="1" height="1" fill="#58CFEB" />
+<rect x="29" y="17" width="1" height="1" fill="#58CFEB" />
+<rect x="30" y="17" width="1" height="1" fill="#58CFEB" />
+<rect x="31" y="17" width="1" height="1" fill="#58CFEB" />
+<rect x="32" y="17" width="1" height="1" fill="#58CFEB" />
+<rect x="33" y="17" width="1" height="1" fill="#58CFEB" />
+<rect x="34" y="17" width="1" height="1" fill="#202E37" />
+<rect x="35" y="17" width="1" height="1" fill="#61ABDD" />
+<rect x="36" y="17" width="1" height="1" fill="#202E37" />
+<rect x="37" y="17" width="1" height="1" fill="#202E37" />
+<rect x="38" y="17" width="1" height="1" fill="#202E37" />
+<rect x="39" y="17" width="1" height="1" fill="#202E37" />
+<rect x="40" y="17" width="1" height="1" fill="#202E37" />
+<rect x="41" y="17" width="1" height="1" fill="#202E37" />
+<rect x="42" y="17" width="1" height="1" fill="#202E37" />
+<rect x="43" y="17" width="1" height="1" fill="#202E37" />
+<rect x="44" y="17" width="1" height="1" fill="#202E37" />
+<rect x="45" y="17" width="1" height="1" fill="#10161F" />
+<rect x="46" y="17" width="1" height="1" fill="#10161F" />
+<rect x="47" y="17" width="1" height="1" fill="#10161F" />
+<rect x="0" y="18" width="1" height="1" fill="#10161F" />
+<rect x="1" y="18" width="1" height="1" fill="#151D28" />
+<rect x="2" y="18" width="1" height="1" fill="#202E37" />
+<rect x="3" y="18" width="1" height="1" fill="#202E37" />
+<rect x="4" y="18" width="1" height="1" fill="#202E37" />
+<rect x="5" y="18" width="1" height="1" fill="#202E37" />
+<rect x="6" y="18" width="1" height="1" fill="#202E37" />
+<rect x="7" y="18" width="1" height="1" fill="#202E37" />
+<rect x="8" y="18" width="1" height="1" fill="#202E37" />
+<rect x="9" y="18" width="1" height="1" fill="#202E37" />
+<rect x="10" y="18" width="1" height="1" fill="#202E37" />
+<rect x="11" y="18" width="1" height="1" fill="#202E37" />
+<rect x="12" y="18" width="1" height="1" fill="#202E37" />
+<rect x="13" y="18" width="1" height="1" fill="#202E37" />
+<rect x="14" y="18" width="1" height="1" fill="#61ABDD" />
+<rect x="15" y="18" width="1" height="1" fill="#61ABDD" />
+<rect x="16" y="18" width="1" height="1" fill="#61ABDD" />
+<rect x="17" y="18" width="1" height="1" fill="#6384C2" />
+<rect x="18" y="18" width="1" height="1" fill="#6384C2" />
+<rect x="19" y="18" width="1" height="1" fill="#6384C2" />
+<rect x="20" y="18" width="1" height="1" fill="#6384C2" />
+<rect x="21" y="18" width="1" height="1" fill="#202E37" />
+<rect x="22" y="18" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="18" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="18" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="18" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="18" width="1" height="1" fill="#202E37" />
+<rect x="27" y="18" width="1" height="1" fill="#61ABDD" />
+<rect x="28" y="18" width="1" height="1" fill="#61ABDD" />
+<rect x="29" y="18" width="1" height="1" fill="#58CFEB" />
+<rect x="30" y="18" width="1" height="1" fill="#58CFEB" />
+<rect x="31" y="18" width="1" height="1" fill="#58CFEB" />
+<rect x="32" y="18" width="1" height="1" fill="#58CFEB" />
+<rect x="33" y="18" width="1" height="1" fill="#58CFEB" />
+<rect x="34" y="18" width="1" height="1" fill="#202E37" />
+<rect x="35" y="18" width="1" height="1" fill="#202E37" />
+<rect x="36" y="18" width="1" height="1" fill="#202E37" />
+<rect x="37" y="18" width="1" height="1" fill="#202E37" />
+<rect x="38" y="18" width="1" height="1" fill="#202E37" />
+<rect x="39" y="18" width="1" height="1" fill="#202E37" />
+<rect x="40" y="18" width="1" height="1" fill="#202E37" />
+<rect x="41" y="18" width="1" height="1" fill="#202E37" />
+<rect x="42" y="18" width="1" height="1" fill="#202E37" />
+<rect x="43" y="18" width="1" height="1" fill="#202E37" />
+<rect x="44" y="18" width="1" height="1" fill="#202E37" />
+<rect x="45" y="18" width="1" height="1" fill="#10161F" />
+<rect x="46" y="18" width="1" height="1" fill="#10161F" />
+<rect x="47" y="18" width="1" height="1" fill="#10161F" />
+<rect x="0" y="19" width="1" height="1" fill="#10161F" />
+<rect x="1" y="19" width="1" height="1" fill="#202E37" />
+<rect x="2" y="19" width="1" height="1" fill="#202E37" />
+<rect x="3" y="19" width="1" height="1" fill="#202E37" />
+<rect x="4" y="19" width="1" height="1" fill="#202E37" />
+<rect x="5" y="19" width="1" height="1" fill="#202E37" />
+<rect x="6" y="19" width="1" height="1" fill="#202E37" />
+<rect x="7" y="19" width="1" height="1" fill="#202E37" />
+<rect x="8" y="19" width="1" height="1" fill="#202E37" />
+<rect x="9" y="19" width="1" height="1" fill="#202E37" />
+<rect x="10" y="19" width="1" height="1" fill="#202E37" />
+<rect x="11" y="19" width="1" height="1" fill="#202E37" />
+<rect x="12" y="19" width="1" height="1" fill="#202E37" />
+<rect x="13" y="19" width="1" height="1" fill="#61ABDD" />
+<rect x="14" y="19" width="1" height="1" fill="#61ABDD" />
+<rect x="15" y="19" width="1" height="1" fill="#6384C2" />
+<rect x="16" y="19" width="1" height="1" fill="#6384C2" />
+<rect x="17" y="19" width="1" height="1" fill="#6384C2" />
+<rect x="18" y="19" width="1" height="1" fill="#6384C2" />
+<rect x="19" y="19" width="1" height="1" fill="#6384C2" />
+<rect x="20" y="19" width="1" height="1" fill="#202E37" />
+<rect x="21" y="19" width="1" height="1" fill="#61ABDD" />
+<rect x="22" y="19" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="19" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="19" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="19" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="19" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="19" width="1" height="1" fill="#202E37" />
+<rect x="28" y="19" width="1" height="1" fill="#61ABDD" />
+<rect x="29" y="19" width="1" height="1" fill="#61ABDD" />
+<rect x="30" y="19" width="1" height="1" fill="#61ABDD" />
+<rect x="31" y="19" width="1" height="1" fill="#58CFEB" />
+<rect x="32" y="19" width="1" height="1" fill="#58CFEB" />
+<rect x="33" y="19" width="1" height="1" fill="#58CFEB" />
+<rect x="34" y="19" width="1" height="1" fill="#58CFEB" />
+<rect x="35" y="19" width="1" height="1" fill="#202E37" />
+<rect x="36" y="19" width="1" height="1" fill="#202E37" />
+<rect x="37" y="19" width="1" height="1" fill="#202E37" />
+<rect x="38" y="19" width="1" height="1" fill="#202E37" />
+<rect x="39" y="19" width="1" height="1" fill="#202E37" />
+<rect x="40" y="19" width="1" height="1" fill="#202E37" />
+<rect x="41" y="19" width="1" height="1" fill="#202E37" />
+<rect x="42" y="19" width="1" height="1" fill="#202E37" />
+<rect x="43" y="19" width="1" height="1" fill="#202E37" />
+<rect x="44" y="19" width="1" height="1" fill="#202E37" />
+<rect x="45" y="19" width="1" height="1" fill="#10161F" />
+<rect x="46" y="19" width="1" height="1" fill="#10161F" />
+<rect x="47" y="19" width="1" height="1" fill="#10161F" />
+<rect x="0" y="20" width="1" height="1" fill="#18232B" />
+<rect x="1" y="20" width="1" height="1" fill="#202E37" />
+<rect x="2" y="20" width="1" height="1" fill="#202E37" />
+<rect x="3" y="20" width="1" height="1" fill="#202E37" />
+<rect x="4" y="20" width="1" height="1" fill="#202E37" />
+<rect x="5" y="20" width="1" height="1" fill="#202E37" />
+<rect x="6" y="20" width="1" height="1" fill="#202E37" />
+<rect x="7" y="20" width="1" height="1" fill="#202E37" />
+<rect x="8" y="20" width="1" height="1" fill="#202E37" />
+<rect x="9" y="20" width="1" height="1" fill="#202E37" />
+<rect x="10" y="20" width="1" height="1" fill="#202E37" />
+<rect x="11" y="20" width="1" height="1" fill="#202E37" />
+<rect x="12" y="20" width="1" height="1" fill="#202E37" />
+<rect x="13" y="20" width="1" height="1" fill="#6384C2" />
+<rect x="14" y="20" width="1" height="1" fill="#6384C2" />
+<rect x="15" y="20" width="1" height="1" fill="#6384C2" />
+<rect x="16" y="20" width="1" height="1" fill="#6384C2" />
+<rect x="17" y="20" width="1" height="1" fill="#6384C2" />
+<rect x="18" y="20" width="1" height="1" fill="#6384C2" />
+<rect x="19" y="20" width="1" height="1" fill="#6384C2" />
+<rect x="20" y="20" width="1" height="1" fill="#202E37" />
+<rect x="21" y="20" width="1" height="1" fill="#61ABDD" />
+<rect x="22" y="20" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="20" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="20" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="20" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="20" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="20" width="1" height="1" fill="#202E37" />
+<rect x="28" y="20" width="1" height="1" fill="#61ABDD" />
+<rect x="29" y="20" width="1" height="1" fill="#61ABDD" />
+<rect x="30" y="20" width="1" height="1" fill="#61ABDD" />
+<rect x="31" y="20" width="1" height="1" fill="#61ABDD" />
+<rect x="32" y="20" width="1" height="1" fill="#61ABDD" />
+<rect x="33" y="20" width="1" height="1" fill="#58CFEB" />
+<rect x="34" y="20" width="1" height="1" fill="#58CFEB" />
+<rect x="35" y="20" width="1" height="1" fill="#202E37" />
+<rect x="36" y="20" width="1" height="1" fill="#202E37" />
+<rect x="37" y="20" width="1" height="1" fill="#202E37" />
+<rect x="38" y="20" width="1" height="1" fill="#202E37" />
+<rect x="39" y="20" width="1" height="1" fill="#202E37" />
+<rect x="40" y="20" width="1" height="1" fill="#202E37" />
+<rect x="41" y="20" width="1" height="1" fill="#202E37" />
+<rect x="42" y="20" width="1" height="1" fill="#202E37" />
+<rect x="43" y="20" width="1" height="1" fill="#202E37" />
+<rect x="44" y="20" width="1" height="1" fill="#10161F" />
+<rect x="45" y="20" width="1" height="1" fill="#10161F" />
+<rect x="46" y="20" width="1" height="1" fill="#10161F" />
+<rect x="47" y="20" width="1" height="1" fill="#10161F" />
+<rect x="0" y="21" width="1" height="1" fill="#18232B" />
+<rect x="1" y="21" width="1" height="1" fill="#202E37" />
+<rect x="2" y="21" width="1" height="1" fill="#202E37" />
+<rect x="3" y="21" width="1" height="1" fill="#202E37" />
+<rect x="4" y="21" width="1" height="1" fill="#202E37" />
+<rect x="5" y="21" width="1" height="1" fill="#202E37" />
+<rect x="6" y="21" width="1" height="1" fill="#202E37" />
+<rect x="7" y="21" width="1" height="1" fill="#202E37" />
+<rect x="8" y="21" width="1" height="1" fill="#202E37" />
+<rect x="9" y="21" width="1" height="1" fill="#202E37" />
+<rect x="10" y="21" width="1" height="1" fill="#202E37" />
+<rect x="11" y="21" width="1" height="1" fill="#202E37" />
+<rect x="12" y="21" width="1" height="1" fill="#6384C2" />
+<rect x="13" y="21" width="1" height="1" fill="#6384C2" />
+<rect x="14" y="21" width="1" height="1" fill="#6384C2" />
+<rect x="15" y="21" width="1" height="1" fill="#6384C2" />
+<rect x="16" y="21" width="1" height="1" fill="#6384C2" />
+<rect x="17" y="21" width="1" height="1" fill="#6384C2" />
+<rect x="18" y="21" width="1" height="1" fill="#6384C2" />
+<rect x="19" y="21" width="1" height="1" fill="#202E37" />
+<rect x="20" y="21" width="1" height="1" fill="#61ABDD" />
+<rect x="21" y="21" width="1" height="1" fill="#61ABDD" />
+<rect x="22" y="21" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="21" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="21" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="21" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="21" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="21" width="1" height="1" fill="#58CFEB" />
+<rect x="28" y="21" width="1" height="1" fill="#202E37" />
+<rect x="29" y="21" width="1" height="1" fill="#61ABDD" />
+<rect x="30" y="21" width="1" height="1" fill="#61ABDD" />
+<rect x="31" y="21" width="1" height="1" fill="#61ABDD" />
+<rect x="32" y="21" width="1" height="1" fill="#61ABDD" />
+<rect x="33" y="21" width="1" height="1" fill="#61ABDD" />
+<rect x="34" y="21" width="1" height="1" fill="#61ABDD" />
+<rect x="35" y="21" width="1" height="1" fill="#58CFEB" />
+<rect x="36" y="21" width="1" height="1" fill="#202E37" />
+<rect x="37" y="21" width="1" height="1" fill="#202E37" />
+<rect x="38" y="21" width="1" height="1" fill="#202E37" />
+<rect x="39" y="21" width="1" height="1" fill="#202E37" />
+<rect x="40" y="21" width="1" height="1" fill="#202E37" />
+<rect x="41" y="21" width="1" height="1" fill="#202E37" />
+<rect x="42" y="21" width="1" height="1" fill="#202E37" />
+<rect x="43" y="21" width="1" height="1" fill="#202E37" />
+<rect x="44" y="21" width="1" height="1" fill="#10161F" />
+<rect x="45" y="21" width="1" height="1" fill="#151D28" />
+<rect x="46" y="21" width="1" height="1" fill="#10161F" />
+<rect x="47" y="21" width="1" height="1" fill="#10161F" />
+<rect x="0" y="22" width="1" height="1" fill="#18232B" />
+<rect x="1" y="22" width="1" height="1" fill="#202E37" />
+<rect x="2" y="22" width="1" height="1" fill="#18232B" />
+<rect x="3" y="22" width="1" height="1" fill="#202E37" />
+<rect x="4" y="22" width="1" height="1" fill="#202E37" />
+<rect x="5" y="22" width="1" height="1" fill="#202E37" />
+<rect x="6" y="22" width="1" height="1" fill="#202E37" />
+<rect x="7" y="22" width="1" height="1" fill="#202E37" />
+<rect x="8" y="22" width="1" height="1" fill="#202E37" />
+<rect x="9" y="22" width="1" height="1" fill="#202E37" />
+<rect x="10" y="22" width="1" height="1" fill="#202E37" />
+<rect x="11" y="22" width="1" height="1" fill="#202E37" />
+<rect x="12" y="22" width="1" height="1" fill="#202E37" />
+<rect x="13" y="22" width="1" height="1" fill="#202E37" />
+<rect x="14" y="22" width="1" height="1" fill="#202E37" />
+<rect x="15" y="22" width="1" height="1" fill="#202E37" />
+<rect x="16" y="22" width="1" height="1" fill="#202E37" />
+<rect x="17" y="22" width="1" height="1" fill="#202E37" />
+<rect x="18" y="22" width="1" height="1" fill="#202E37" />
+<rect x="19" y="22" width="1" height="1" fill="#202E37" />
+<rect x="20" y="22" width="1" height="1" fill="#61ABDD" />
+<rect x="21" y="22" width="1" height="1" fill="#61ABDD" />
+<rect x="22" y="22" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="22" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="22" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="22" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="22" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="22" width="1" height="1" fill="#58CFEB" />
+<rect x="28" y="22" width="1" height="1" fill="#202E37" />
+<rect x="29" y="22" width="1" height="1" fill="#202E37" />
+<rect x="30" y="22" width="1" height="1" fill="#202E37" />
+<rect x="31" y="22" width="1" height="1" fill="#202E37" />
+<rect x="32" y="22" width="1" height="1" fill="#202E37" />
+<rect x="33" y="22" width="1" height="1" fill="#202E37" />
+<rect x="34" y="22" width="1" height="1" fill="#202E37" />
+<rect x="35" y="22" width="1" height="1" fill="#202E37" />
+<rect x="36" y="22" width="1" height="1" fill="#202E37" />
+<rect x="37" y="22" width="1" height="1" fill="#202E37" />
+<rect x="38" y="22" width="1" height="1" fill="#202E37" />
+<rect x="39" y="22" width="1" height="1" fill="#202E37" />
+<rect x="40" y="22" width="1" height="1" fill="#202E37" />
+<rect x="41" y="22" width="1" height="1" fill="#151D28" />
+<rect x="42" y="22" width="1" height="1" fill="#151D28" />
+<rect x="43" y="22" width="1" height="1" fill="#151D28" />
+<rect x="44" y="22" width="1" height="1" fill="#151D28" />
+<rect x="45" y="22" width="1" height="1" fill="#151D28" />
+<rect x="46" y="22" width="1" height="1" fill="#10161F" />
+<rect x="47" y="22" width="1" height="1" fill="#10161F" />
+<rect x="0" y="23" width="1" height="1" fill="#18232B" />
+<rect x="1" y="23" width="1" height="1" fill="#202E37" />
+<rect x="2" y="23" width="1" height="1" fill="#18232B" />
+<rect x="3" y="23" width="1" height="1" fill="#202E37" />
+<rect x="4" y="23" width="1" height="1" fill="#202E37" />
+<rect x="5" y="23" width="1" height="1" fill="#202E37" />
+<rect x="6" y="23" width="1" height="1" fill="#202E37" />
+<rect x="7" y="23" width="1" height="1" fill="#202E37" />
+<rect x="8" y="23" width="1" height="1" fill="#202E37" />
+<rect x="9" y="23" width="1" height="1" fill="#202E37" />
+<rect x="10" y="23" width="1" height="1" fill="#202E37" />
+<rect x="11" y="23" width="1" height="1" fill="#202E37" />
+<rect x="12" y="23" width="1" height="1" fill="#202E37" />
+<rect x="13" y="23" width="1" height="1" fill="#202E37" />
+<rect x="14" y="23" width="1" height="1" fill="#202E37" />
+<rect x="15" y="23" width="1" height="1" fill="#202E37" />
+<rect x="16" y="23" width="1" height="1" fill="#202E37" />
+<rect x="17" y="23" width="1" height="1" fill="#202E37" />
+<rect x="18" y="23" width="1" height="1" fill="#202E37" />
+<rect x="19" y="23" width="1" height="1" fill="#202E37" />
+<rect x="20" y="23" width="1" height="1" fill="#202E37" />
+<rect x="21" y="23" width="1" height="1" fill="#61ABDD" />
+<rect x="22" y="23" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="23" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="23" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="23" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="23" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="23" width="1" height="1" fill="#202E37" />
+<rect x="28" y="23" width="1" height="1" fill="#202E37" />
+<rect x="29" y="23" width="1" height="1" fill="#202E37" />
+<rect x="30" y="23" width="1" height="1" fill="#202E37" />
+<rect x="31" y="23" width="1" height="1" fill="#202E37" />
+<rect x="32" y="23" width="1" height="1" fill="#202E37" />
+<rect x="33" y="23" width="1" height="1" fill="#202E37" />
+<rect x="34" y="23" width="1" height="1" fill="#202E37" />
+<rect x="35" y="23" width="1" height="1" fill="#202E37" />
+<rect x="36" y="23" width="1" height="1" fill="#202E37" />
+<rect x="37" y="23" width="1" height="1" fill="#202E37" />
+<rect x="38" y="23" width="1" height="1" fill="#202E37" />
+<rect x="39" y="23" width="1" height="1" fill="#151D28" />
+<rect x="40" y="23" width="1" height="1" fill="#151D28" />
+<rect x="41" y="23" width="1" height="1" fill="#151D28" />
+<rect x="42" y="23" width="1" height="1" fill="#151D28" />
+<rect x="43" y="23" width="1" height="1" fill="#151D28" />
+<rect x="44" y="23" width="1" height="1" fill="#151D28" />
+<rect x="45" y="23" width="1" height="1" fill="#10161F" />
+<rect x="46" y="23" width="1" height="1" fill="#10161F" />
+<rect x="47" y="23" width="1" height="1" fill="#10161F" />
+<rect x="0" y="24" width="1" height="1" fill="#18232B" />
+<rect x="1" y="24" width="1" height="1" fill="#202E37" />
+<rect x="2" y="24" width="1" height="1" fill="#18232B" />
+<rect x="3" y="24" width="1" height="1" fill="#18232B" />
+<rect x="4" y="24" width="1" height="1" fill="#202E37" />
+<rect x="5" y="24" width="1" height="1" fill="#202E37" />
+<rect x="6" y="24" width="1" height="1" fill="#202E37" />
+<rect x="7" y="24" width="1" height="1" fill="#202E37" />
+<rect x="8" y="24" width="1" height="1" fill="#202E37" />
+<rect x="9" y="24" width="1" height="1" fill="#202E37" />
+<rect x="10" y="24" width="1" height="1" fill="#202E37" />
+<rect x="11" y="24" width="1" height="1" fill="#202E37" />
+<rect x="12" y="24" width="1" height="1" fill="#202E37" />
+<rect x="13" y="24" width="1" height="1" fill="#6384C2" />
+<rect x="14" y="24" width="1" height="1" fill="#202E37" />
+<rect x="15" y="24" width="1" height="1" fill="#202E37" />
+<rect x="16" y="24" width="1" height="1" fill="#6384C2" />
+<rect x="17" y="24" width="1" height="1" fill="#202E37" />
+<rect x="18" y="24" width="1" height="1" fill="#202E37" />
+<rect x="19" y="24" width="1" height="1" fill="#202E37" />
+<rect x="20" y="24" width="1" height="1" fill="#202E37" />
+<rect x="21" y="24" width="1" height="1" fill="#61ABDD" />
+<rect x="22" y="24" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="24" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="24" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="24" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="24" width="1" height="1" fill="#58CFEB" />
+<rect x="27" y="24" width="1" height="1" fill="#202E37" />
+<rect x="28" y="24" width="1" height="1" fill="#202E37" />
+<rect x="29" y="24" width="1" height="1" fill="#202E37" />
+<rect x="30" y="24" width="1" height="1" fill="#202E37" />
+<rect x="31" y="24" width="1" height="1" fill="#58CFEB" />
+<rect x="32" y="24" width="1" height="1" fill="#202E37" />
+<rect x="33" y="24" width="1" height="1" fill="#202E37" />
+<rect x="34" y="24" width="1" height="1" fill="#61ABDD" />
+<rect x="35" y="24" width="1" height="1" fill="#202E37" />
+<rect x="36" y="24" width="1" height="1" fill="#202E37" />
+<rect x="37" y="24" width="1" height="1" fill="#202E37" />
+<rect x="38" y="24" width="1" height="1" fill="#151D28" />
+<rect x="39" y="24" width="1" height="1" fill="#151D28" />
+<rect x="40" y="24" width="1" height="1" fill="#151D28" />
+<rect x="41" y="24" width="1" height="1" fill="#10161F" />
+<rect x="42" y="24" width="1" height="1" fill="#151D28" />
+<rect x="43" y="24" width="1" height="1" fill="#151D28" />
+<rect x="44" y="24" width="1" height="1" fill="#151D28" />
+<rect x="45" y="24" width="1" height="1" fill="#10161F" />
+<rect x="46" y="24" width="1" height="1" fill="#10161F" />
+<rect x="47" y="24" width="1" height="1" fill="#10161F" />
+<rect x="0" y="25" width="1" height="1" fill="#18232B" />
+<rect x="1" y="25" width="1" height="1" fill="#18232B" />
+<rect x="2" y="25" width="1" height="1" fill="#18232B" />
+<rect x="3" y="25" width="1" height="1" fill="#18232B" />
+<rect x="4" y="25" width="1" height="1" fill="#18232B" />
+<rect x="5" y="25" width="1" height="1" fill="#202E37" />
+<rect x="6" y="25" width="1" height="1" fill="#202E37" />
+<rect x="7" y="25" width="1" height="1" fill="#202E37" />
+<rect x="8" y="25" width="1" height="1" fill="#202E37" />
+<rect x="9" y="25" width="1" height="1" fill="#202E37" />
+<rect x="10" y="25" width="1" height="1" fill="#202E37" />
+<rect x="11" y="25" width="1" height="1" fill="#202E37" />
+<rect x="12" y="25" width="1" height="1" fill="#202E37" />
+<rect x="13" y="25" width="1" height="1" fill="#202E37" />
+<rect x="14" y="25" width="1" height="1" fill="#202E37" />
+<rect x="15" y="25" width="1" height="1" fill="#202E37" />
+<rect x="16" y="25" width="1" height="1" fill="#202E37" />
+<rect x="17" y="25" width="1" height="1" fill="#6384C2" />
+<rect x="18" y="25" width="1" height="1" fill="#6384C2" />
+<rect x="19" y="25" width="1" height="1" fill="#202E37" />
+<rect x="20" y="25" width="1" height="1" fill="#202E37" />
+<rect x="21" y="25" width="1" height="1" fill="#202E37" />
+<rect x="22" y="25" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="25" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="25" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="25" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="25" width="1" height="1" fill="#202E37" />
+<rect x="27" y="25" width="1" height="1" fill="#202E37" />
+<rect x="28" y="25" width="1" height="1" fill="#202E37" />
+<rect x="29" y="25" width="1" height="1" fill="#61ABDD" />
+<rect x="30" y="25" width="1" height="1" fill="#61ABDD" />
+<rect x="31" y="25" width="1" height="1" fill="#202E37" />
+<rect x="32" y="25" width="1" height="1" fill="#202E37" />
+<rect x="33" y="25" width="1" height="1" fill="#202E37" />
+<rect x="34" y="25" width="1" height="1" fill="#202E37" />
+<rect x="35" y="25" width="1" height="1" fill="#202E37" />
+<rect x="36" y="25" width="1" height="1" fill="#202E37" />
+<rect x="37" y="25" width="1" height="1" fill="#151D28" />
+<rect x="38" y="25" width="1" height="1" fill="#151D28" />
+<rect x="39" y="25" width="1" height="1" fill="#10161F" />
+<rect x="40" y="25" width="1" height="1" fill="#10161F" />
+<rect x="41" y="25" width="1" height="1" fill="#10161F" />
+<rect x="42" y="25" width="1" height="1" fill="#151D28" />
+<rect x="43" y="25" width="1" height="1" fill="#151D28" />
+<rect x="44" y="25" width="1" height="1" fill="#10161F" />
+<rect x="45" y="25" width="1" height="1" fill="#10161F" />
+<rect x="46" y="25" width="1" height="1" fill="#10161F" />
+<rect x="47" y="25" width="1" height="1" fill="#10161F" />
+<rect x="0" y="26" width="1" height="1" fill="#18232B" />
+<rect x="1" y="26" width="1" height="1" fill="#18232B" />
+<rect x="2" y="26" width="1" height="1" fill="#202E37" />
+<rect x="3" y="26" width="1" height="1" fill="#18232B" />
+<rect x="4" y="26" width="1" height="1" fill="#18232B" />
+<rect x="5" y="26" width="1" height="1" fill="#18232B" />
+<rect x="6" y="26" width="1" height="1" fill="#202E37" />
+<rect x="7" y="26" width="1" height="1" fill="#202E37" />
+<rect x="8" y="26" width="1" height="1" fill="#202E37" />
+<rect x="9" y="26" width="1" height="1" fill="#202E37" />
+<rect x="10" y="26" width="1" height="1" fill="#202E37" />
+<rect x="11" y="26" width="1" height="1" fill="#202E37" />
+<rect x="12" y="26" width="1" height="1" fill="#202E37" />
+<rect x="13" y="26" width="1" height="1" fill="#202E37" />
+<rect x="14" y="26" width="1" height="1" fill="#202E37" />
+<rect x="15" y="26" width="1" height="1" fill="#6384C2" />
+<rect x="16" y="26" width="1" height="1" fill="#202E37" />
+<rect x="17" y="26" width="1" height="1" fill="#202E37" />
+<rect x="18" y="26" width="1" height="1" fill="#202E37" />
+<rect x="19" y="26" width="1" height="1" fill="#6384C2" />
+<rect x="20" y="26" width="1" height="1" fill="#202E37" />
+<rect x="21" y="26" width="1" height="1" fill="#202E37" />
+<rect x="22" y="26" width="1" height="1" fill="#61ABDD" />
+<rect x="23" y="26" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="26" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="26" width="1" height="1" fill="#58CFEB" />
+<rect x="26" y="26" width="1" height="1" fill="#202E37" />
+<rect x="27" y="26" width="1" height="1" fill="#202E37" />
+<rect x="28" y="26" width="1" height="1" fill="#61ABDD" />
+<rect x="29" y="26" width="1" height="1" fill="#202E37" />
+<rect x="30" y="26" width="1" height="1" fill="#202E37" />
+<rect x="31" y="26" width="1" height="1" fill="#202E37" />
+<rect x="32" y="26" width="1" height="1" fill="#61ABDD" />
+<rect x="33" y="26" width="1" height="1" fill="#202E37" />
+<rect x="34" y="26" width="1" height="1" fill="#202E37" />
+<rect x="35" y="26" width="1" height="1" fill="#202E37" />
+<rect x="36" y="26" width="1" height="1" fill="#202E37" />
+<rect x="37" y="26" width="1" height="1" fill="#10161F" />
+<rect x="38" y="26" width="1" height="1" fill="#10161F" />
+<rect x="39" y="26" width="1" height="1" fill="#10161F" />
+<rect x="40" y="26" width="1" height="1" fill="#10161F" />
+<rect x="41" y="26" width="1" height="1" fill="#10161F" />
+<rect x="42" y="26" width="1" height="1" fill="#10161F" />
+<rect x="43" y="26" width="1" height="1" fill="#151D28" />
+<rect x="44" y="26" width="1" height="1" fill="#10161F" />
+<rect x="45" y="26" width="1" height="1" fill="#10161F" />
+<rect x="46" y="26" width="1" height="1" fill="#10161F" />
+<rect x="47" y="26" width="1" height="1" fill="#10161F" />
+<rect x="0" y="27" width="1" height="1" fill="#18232B" />
+<rect x="1" y="27" width="1" height="1" fill="#18232B" />
+<rect x="2" y="27" width="1" height="1" fill="#202E37" />
+<rect x="3" y="27" width="1" height="1" fill="#202E37" />
+<rect x="4" y="27" width="1" height="1" fill="#18232B" />
+<rect x="5" y="27" width="1" height="1" fill="#18232B" />
+<rect x="6" y="27" width="1" height="1" fill="#18232B" />
+<rect x="7" y="27" width="1" height="1" fill="#18232B" />
+<rect x="8" y="27" width="1" height="1" fill="#202E37" />
+<rect x="9" y="27" width="1" height="1" fill="#202E37" />
+<rect x="10" y="27" width="1" height="1" fill="#202E37" />
+<rect x="11" y="27" width="1" height="1" fill="#202E37" />
+<rect x="12" y="27" width="1" height="1" fill="#202E37" />
+<rect x="13" y="27" width="1" height="1" fill="#202E37" />
+<rect x="14" y="27" width="1" height="1" fill="#202E37" />
+<rect x="15" y="27" width="1" height="1" fill="#202E37" />
+<rect x="16" y="27" width="1" height="1" fill="#202E37" />
+<rect x="17" y="27" width="1" height="1" fill="#202E37" />
+<rect x="18" y="27" width="1" height="1" fill="#202E37" />
+<rect x="19" y="27" width="1" height="1" fill="#202E37" />
+<rect x="20" y="27" width="1" height="1" fill="#202E37" />
+<rect x="21" y="27" width="1" height="1" fill="#202E37" />
+<rect x="22" y="27" width="1" height="1" fill="#202E37" />
+<rect x="23" y="27" width="1" height="1" fill="#61ABDD" />
+<rect x="24" y="27" width="1" height="1" fill="#58CFEB" />
+<rect x="25" y="27" width="1" height="1" fill="#202E37" />
+<rect x="26" y="27" width="1" height="1" fill="#202E37" />
+<rect x="27" y="27" width="1" height="1" fill="#202E37" />
+<rect x="28" y="27" width="1" height="1" fill="#202E37" />
+<rect x="29" y="27" width="1" height="1" fill="#202E37" />
+<rect x="30" y="27" width="1" height="1" fill="#202E37" />
+<rect x="31" y="27" width="1" height="1" fill="#202E37" />
+<rect x="32" y="27" width="1" height="1" fill="#202E37" />
+<rect x="33" y="27" width="1" height="1" fill="#202E37" />
+<rect x="34" y="27" width="1" height="1" fill="#202E37" />
+<rect x="35" y="27" width="1" height="1" fill="#18232B" />
+<rect x="36" y="27" width="1" height="1" fill="#18232B" />
+<rect x="37" y="27" width="1" height="1" fill="#10161F" />
+<rect x="38" y="27" width="1" height="1" fill="#10161F" />
+<rect x="39" y="27" width="1" height="1" fill="#10161F" />
+<rect x="40" y="27" width="1" height="1" fill="#10161F" />
+<rect x="41" y="27" width="1" height="1" fill="#10161F" />
+<rect x="42" y="27" width="1" height="1" fill="#151D28" />
+<rect x="43" y="27" width="1" height="1" fill="#151D28" />
+<rect x="44" y="27" width="1" height="1" fill="#10161F" />
+<rect x="45" y="27" width="1" height="1" fill="#10161F" />
+<rect x="46" y="27" width="1" height="1" fill="#151D28" />
+<rect x="47" y="27" width="1" height="1" fill="#10161F" />
+<rect x="0" y="28" width="1" height="1" fill="#18232B" />
+<rect x="1" y="28" width="1" height="1" fill="#18232B" />
+<rect x="2" y="28" width="1" height="1" fill="#18232B" />
+<rect x="3" y="28" width="1" height="1" fill="#202E37" />
+<rect x="4" y="28" width="1" height="1" fill="#18232B" />
+<rect x="5" y="28" width="1" height="1" fill="#18232B" />
+<rect x="6" y="28" width="1" height="1" fill="#18232B" />
+<rect x="7" y="28" width="1" height="1" fill="#18232B" />
+<rect x="8" y="28" width="1" height="1" fill="#18232B" />
+<rect x="9" y="28" width="1" height="1" fill="#202E37" />
+<rect x="10" y="28" width="1" height="1" fill="#202E37" />
+<rect x="11" y="28" width="1" height="1" fill="#202E37" />
+<rect x="12" y="28" width="1" height="1" fill="#202E37" />
+<rect x="13" y="28" width="1" height="1" fill="#202E37" />
+<rect x="14" y="28" width="1" height="1" fill="#202E37" />
+<rect x="15" y="28" width="1" height="1" fill="#202E37" />
+<rect x="16" y="28" width="1" height="1" fill="#202E37" />
+<rect x="17" y="28" width="1" height="1" fill="#202E37" />
+<rect x="18" y="28" width="1" height="1" fill="#202E37" />
+<rect x="19" y="28" width="1" height="1" fill="#202E37" />
+<rect x="20" y="28" width="1" height="1" fill="#202E37" />
+<rect x="21" y="28" width="1" height="1" fill="#202E37" />
+<rect x="22" y="28" width="1" height="1" fill="#202E37" />
+<rect x="23" y="28" width="1" height="1" fill="#202E37" />
+<rect x="24" y="28" width="1" height="1" fill="#202E37" />
+<rect x="25" y="28" width="1" height="1" fill="#202E37" />
+<rect x="26" y="28" width="1" height="1" fill="#202E37" />
+<rect x="27" y="28" width="1" height="1" fill="#202E37" />
+<rect x="28" y="28" width="1" height="1" fill="#202E37" />
+<rect x="29" y="28" width="1" height="1" fill="#202E37" />
+<rect x="30" y="28" width="1" height="1" fill="#202E37" />
+<rect x="31" y="28" width="1" height="1" fill="#202E37" />
+<rect x="32" y="28" width="1" height="1" fill="#18232B" />
+<rect x="33" y="28" width="1" height="1" fill="#18232B" />
+<rect x="34" y="28" width="1" height="1" fill="#18232B" />
+<rect x="35" y="28" width="1" height="1" fill="#18232B" />
+<rect x="36" y="28" width="1" height="1" fill="#10161F" />
+<rect x="37" y="28" width="1" height="1" fill="#10161F" />
+<rect x="38" y="28" width="1" height="1" fill="#151D28" />
+<rect x="39" y="28" width="1" height="1" fill="#10161F" />
+<rect x="40" y="28" width="1" height="1" fill="#10161F" />
+<rect x="41" y="28" width="1" height="1" fill="#151D28" />
+<rect x="42" y="28" width="1" height="1" fill="#151D28" />
+<rect x="43" y="28" width="1" height="1" fill="#10161F" />
+<rect x="44" y="28" width="1" height="1" fill="#10161F" />
+<rect x="45" y="28" width="1" height="1" fill="#151D28" />
+<rect x="46" y="28" width="1" height="1" fill="#151D28" />
+<rect x="47" y="28" width="1" height="1" fill="#10161F" />
+<rect x="0" y="29" width="1" height="1" fill="#18232B" />
+<rect x="1" y="29" width="1" height="1" fill="#18232B" />
+<rect x="2" y="29" width="1" height="1" fill="#18232B" />
+<rect x="3" y="29" width="1" height="1" fill="#18232B" />
+<rect x="4" y="29" width="1" height="1" fill="#18232B" />
+<rect x="5" y="29" width="1" height="1" fill="#18232B" />
+<rect x="6" y="29" width="1" height="1" fill="#18232B" />
+<rect x="7" y="29" width="1" height="1" fill="#18232B" />
+<rect x="8" y="29" width="1" height="1" fill="#18232B" />
+<rect x="9" y="29" width="1" height="1" fill="#18232B" />
+<rect x="10" y="29" width="1" height="1" fill="#18232B" />
+<rect x="11" y="29" width="1" height="1" fill="#18232B" />
+<rect x="12" y="29" width="1" height="1" fill="#202E37" />
+<rect x="13" y="29" width="1" height="1" fill="#202E37" />
+<rect x="14" y="29" width="1" height="1" fill="#202E37" />
+<rect x="15" y="29" width="1" height="1" fill="#202E37" />
+<rect x="16" y="29" width="1" height="1" fill="#202E37" />
+<rect x="17" y="29" width="1" height="1" fill="#202E37" />
+<rect x="18" y="29" width="1" height="1" fill="#202E37" />
+<rect x="19" y="29" width="1" height="1" fill="#202E37" />
+<rect x="20" y="29" width="1" height="1" fill="#202E37" />
+<rect x="21" y="29" width="1" height="1" fill="#202E37" />
+<rect x="22" y="29" width="1" height="1" fill="#202E37" />
+<rect x="23" y="29" width="1" height="1" fill="#202E37" />
+<rect x="24" y="29" width="1" height="1" fill="#202E37" />
+<rect x="25" y="29" width="1" height="1" fill="#202E37" />
+<rect x="26" y="29" width="1" height="1" fill="#202E37" />
+<rect x="27" y="29" width="1" height="1" fill="#202E37" />
+<rect x="28" y="29" width="1" height="1" fill="#202E37" />
+<rect x="29" y="29" width="1" height="1" fill="#202E37" />
+<rect x="30" y="29" width="1" height="1" fill="#18232B" />
+<rect x="31" y="29" width="1" height="1" fill="#18232B" />
+<rect x="32" y="29" width="1" height="1" fill="#18232B" />
+<rect x="33" y="29" width="1" height="1" fill="#18232B" />
+<rect x="34" y="29" width="1" height="1" fill="#18232B" />
+<rect x="35" y="29" width="1" height="1" fill="#10161F" />
+<rect x="36" y="29" width="1" height="1" fill="#151D28" />
+<rect x="37" y="29" width="1" height="1" fill="#151D28" />
+<rect x="38" y="29" width="1" height="1" fill="#10161F" />
+<rect x="39" y="29" width="1" height="1" fill="#10161F" />
+<rect x="40" y="29" width="1" height="1" fill="#10161F" />
+<rect x="41" y="29" width="1" height="1" fill="#151D28" />
+<rect x="42" y="29" width="1" height="1" fill="#10161F" />
+<rect x="43" y="29" width="1" height="1" fill="#10161F" />
+<rect x="44" y="29" width="1" height="1" fill="#10161F" />
+<rect x="45" y="29" width="1" height="1" fill="#151D28" />
+<rect x="46" y="29" width="1" height="1" fill="#10161F" />
+<rect x="47" y="29" width="1" height="1" fill="#10161F" />
+<rect x="1" y="30" width="1" height="1" fill="#18232B" />
+<rect x="2" y="30" width="1" height="1" fill="#18232B" />
+<rect x="3" y="30" width="1" height="1" fill="#18232B" />
+<rect x="4" y="30" width="1" height="1" fill="#18232B" />
+<rect x="5" y="30" width="1" height="1" fill="#18232B" />
+<rect x="6" y="30" width="1" height="1" fill="#18232B" />
+<rect x="7" y="30" width="1" height="1" fill="#18232B" />
+<rect x="8" y="30" width="1" height="1" fill="#18232B" />
+<rect x="9" y="30" width="1" height="1" fill="#202E37" />
+<rect x="10" y="30" width="1" height="1" fill="#202E37" />
+<rect x="11" y="30" width="1" height="1" fill="#202E37" />
+<rect x="12" y="30" width="1" height="1" fill="#202E37" />
+<rect x="13" y="30" width="1" height="1" fill="#202E37" />
+<rect x="14" y="30" width="1" height="1" fill="#202E37" />
+<rect x="15" y="30" width="1" height="1" fill="#202E37" />
+<rect x="16" y="30" width="1" height="1" fill="#202E37" />
+<rect x="17" y="30" width="1" height="1" fill="#202E37" />
+<rect x="18" y="30" width="1" height="1" fill="#202E37" />
+<rect x="19" y="30" width="1" height="1" fill="#202E37" />
+<rect x="20" y="30" width="1" height="1" fill="#202E37" />
+<rect x="21" y="30" width="1" height="1" fill="#202E37" />
+<rect x="22" y="30" width="1" height="1" fill="#202E37" />
+<rect x="23" y="30" width="1" height="1" fill="#202E37" />
+<rect x="24" y="30" width="1" height="1" fill="#202E37" />
+<rect x="25" y="30" width="1" height="1" fill="#202E37" />
+<rect x="26" y="30" width="1" height="1" fill="#202E37" />
+<rect x="27" y="30" width="1" height="1" fill="#202E37" />
+<rect x="28" y="30" width="1" height="1" fill="#202E37" />
+<rect x="29" y="30" width="1" height="1" fill="#202E37" />
+<rect x="30" y="30" width="1" height="1" fill="#202E37" />
+<rect x="31" y="30" width="1" height="1" fill="#151D28" />
+<rect x="32" y="30" width="1" height="1" fill="#151D28" />
+<rect x="33" y="30" width="1" height="1" fill="#151D28" />
+<rect x="34" y="30" width="1" height="1" fill="#151D28" />
+<rect x="35" y="30" width="1" height="1" fill="#151D28" />
+<rect x="36" y="30" width="1" height="1" fill="#151D28" />
+<rect x="37" y="30" width="1" height="1" fill="#151D28" />
+<rect x="38" y="30" width="1" height="1" fill="#10161F" />
+<rect x="39" y="30" width="1" height="1" fill="#10161F" />
+<rect x="40" y="30" width="1" height="1" fill="#10161F" />
+<rect x="41" y="30" width="1" height="1" fill="#10161F" />
+<rect x="42" y="30" width="1" height="1" fill="#10161F" />
+<rect x="43" y="30" width="1" height="1" fill="#10161F" />
+<rect x="44" y="30" width="1" height="1" fill="#10161F" />
+<rect x="45" y="30" width="1" height="1" fill="#10161F" />
+<rect x="46" y="30" width="1" height="1" fill="#10161F" />
+<rect x="2" y="31" width="1" height="1" fill="#18232B" />
+<rect x="3" y="31" width="1" height="1" fill="#18232B" />
+<rect x="4" y="31" width="1" height="1" fill="#18232B" />
+<rect x="5" y="31" width="1" height="1" fill="#18232B" />
+<rect x="6" y="31" width="1" height="1" fill="#18232B" />
+<rect x="7" y="31" width="1" height="1" fill="#18232B" />
+<rect x="8" y="31" width="1" height="1" fill="#18232B" />
+<rect x="9" y="31" width="1" height="1" fill="#18232B" />
+<rect x="10" y="31" width="1" height="1" fill="#18232B" />
+<rect x="11" y="31" width="1" height="1" fill="#18232B" />
+<rect x="12" y="31" width="1" height="1" fill="#18232B" />
+<rect x="13" y="31" width="1" height="1" fill="#18232B" />
+<rect x="14" y="31" width="1" height="1" fill="#18232B" />
+<rect x="15" y="31" width="1" height="1" fill="#18232B" />
+<rect x="16" y="31" width="1" height="1" fill="#18232B" />
+<rect x="17" y="31" width="1" height="1" fill="#18232B" />
+<rect x="18" y="31" width="1" height="1" fill="#18232B" />
+<rect x="19" y="31" width="1" height="1" fill="#18232B" />
+<rect x="20" y="31" width="1" height="1" fill="#18232B" />
+<rect x="21" y="31" width="1" height="1" fill="#18232B" />
+<rect x="22" y="31" width="1" height="1" fill="#18232B" />
+<rect x="23" y="31" width="1" height="1" fill="#18232B" />
+<rect x="24" y="31" width="1" height="1" fill="#18232B" />
+<rect x="25" y="31" width="1" height="1" fill="#18232B" />
+<rect x="26" y="31" width="1" height="1" fill="#10161F" />
+<rect x="27" y="31" width="1" height="1" fill="#10161F" />
+<rect x="28" y="31" width="1" height="1" fill="#10161F" />
+<rect x="29" y="31" width="1" height="1" fill="#10161F" />
+<rect x="30" y="31" width="1" height="1" fill="#10161F" />
+<rect x="31" y="31" width="1" height="1" fill="#10161F" />
+<rect x="32" y="31" width="1" height="1" fill="#10161F" />
+<rect x="33" y="31" width="1" height="1" fill="#10161F" />
+<rect x="34" y="31" width="1" height="1" fill="#10161F" />
+<rect x="35" y="31" width="1" height="1" fill="#10161F" />
+<rect x="36" y="31" width="1" height="1" fill="#10161F" />
+<rect x="37" y="31" width="1" height="1" fill="#10161F" />
+<rect x="38" y="31" width="1" height="1" fill="#10161F" />
+<rect x="39" y="31" width="1" height="1" fill="#10161F" />
+<rect x="40" y="31" width="1" height="1" fill="#10161F" />
+<rect x="41" y="31" width="1" height="1" fill="#10161F" />
+<rect x="42" y="31" width="1" height="1" fill="#10161F" />
+<rect x="43" y="31" width="1" height="1" fill="#10161F" />
+<rect x="44" y="31" width="1" height="1" fill="#10161F" />
+<rect x="45" y="31" width="1" height="1" fill="#10161F" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Vanatn.svg b/Edikoyo/.obsidian/icons/flags/Vanatn.svg
new file mode 100644
index 0000000..0574cda
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Vanatn.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="8" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="9" y="0" width="1" height="1" fill="#10161F" />
+<rect x="10" y="0" width="1" height="1" fill="#10161F" />
+<rect x="11" y="0" width="1" height="1" fill="#10161F" />
+<rect x="12" y="0" width="1" height="1" fill="#10161F" />
+<rect x="13" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="14" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="15" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="16" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="17" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="18" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="19" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="20" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="21" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="22" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="23" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="24" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="25" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="26" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="27" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="28" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="29" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="30" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="31" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="32" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="33" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="34" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="35" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="0" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="8" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="9" y="1" width="1" height="1" fill="#10161F" />
+<rect x="10" y="1" width="1" height="1" fill="#151D28" />
+<rect x="11" y="1" width="1" height="1" fill="#151D28" />
+<rect x="12" y="1" width="1" height="1" fill="#151D28" />
+<rect x="13" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="34" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="35" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="1" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="1" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="2" width="1" height="1" fill="#151D28" />
+<rect x="10" y="2" width="1" height="1" fill="#151D28" />
+<rect x="11" y="2" width="1" height="1" fill="#151D28" />
+<rect x="12" y="2" width="1" height="1" fill="#151D28" />
+<rect x="13" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="2" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="2" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="3" width="1" height="1" fill="#151D28" />
+<rect x="10" y="3" width="1" height="1" fill="#151D28" />
+<rect x="11" y="3" width="1" height="1" fill="#151D28" />
+<rect x="12" y="3" width="1" height="1" fill="#151D28" />
+<rect x="13" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="3" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="36" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="3" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="4" width="1" height="1" fill="#151D28" />
+<rect x="10" y="4" width="1" height="1" fill="#151D28" />
+<rect x="11" y="4" width="1" height="1" fill="#151D28" />
+<rect x="12" y="4" width="1" height="1" fill="#151D28" />
+<rect x="13" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="4" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="37" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="38" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="43" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="4" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="5" width="1" height="1" fill="#151D28" />
+<rect x="10" y="5" width="1" height="1" fill="#151D28" />
+<rect x="11" y="5" width="1" height="1" fill="#151D28" />
+<rect x="12" y="5" width="1" height="1" fill="#151D28" />
+<rect x="13" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="39" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="5" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="44" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="5" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="6" width="1" height="1" fill="#151D28" />
+<rect x="10" y="6" width="1" height="1" fill="#151D28" />
+<rect x="11" y="6" width="1" height="1" fill="#151D28" />
+<rect x="12" y="6" width="1" height="1" fill="#151D28" />
+<rect x="13" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="42" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="6" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="6" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="3" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="4" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="5" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="7" width="1" height="1" fill="#151D28" />
+<rect x="10" y="7" width="1" height="1" fill="#151D28" />
+<rect x="11" y="7" width="1" height="1" fill="#151D28" />
+<rect x="12" y="7" width="1" height="1" fill="#151D28" />
+<rect x="13" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="7" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="45" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="7" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="6" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="7" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="8" width="1" height="1" fill="#151D28" />
+<rect x="10" y="8" width="1" height="1" fill="#151D28" />
+<rect x="11" y="8" width="1" height="1" fill="#151D28" />
+<rect x="12" y="8" width="1" height="1" fill="#151D28" />
+<rect x="13" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="8" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="8" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="9" width="1" height="1" fill="#151D28" />
+<rect x="10" y="9" width="1" height="1" fill="#151D28" />
+<rect x="11" y="9" width="1" height="1" fill="#151D28" />
+<rect x="12" y="9" width="1" height="1" fill="#151D28" />
+<rect x="13" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="40" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="9" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="46" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="9" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="7" y="10" width="1" height="1" fill="#10141F" />
+<rect x="8" y="10" width="1" height="1" fill="#10141F" />
+<rect x="9" y="10" width="1" height="1" fill="#151D28" />
+<rect x="10" y="10" width="1" height="1" fill="#151D28" />
+<rect x="11" y="10" width="1" height="1" fill="#151D28" />
+<rect x="12" y="10" width="1" height="1" fill="#151D28" />
+<rect x="13" y="10" width="1" height="1" fill="#10141F" />
+<rect x="14" y="10" width="1" height="1" fill="#10141F" />
+<rect x="15" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="16" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="10" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="10" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="2" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="6" y="11" width="1" height="1" fill="#10141F" />
+<rect x="7" y="11" width="1" height="1" fill="#10141F" />
+<rect x="8" y="11" width="1" height="1" fill="#10141F" />
+<rect x="9" y="11" width="1" height="1" fill="#151D28" />
+<rect x="10" y="11" width="1" height="1" fill="#151D28" />
+<rect x="11" y="11" width="1" height="1" fill="#151D28" />
+<rect x="12" y="11" width="1" height="1" fill="#151D28" />
+<rect x="13" y="11" width="1" height="1" fill="#10141F" />
+<rect x="14" y="11" width="1" height="1" fill="#10141F" />
+<rect x="15" y="11" width="1" height="1" fill="#10141F" />
+<rect x="16" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="17" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="41" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="11" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="11" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="12" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="12" width="1" height="1" fill="#10141F" />
+<rect x="6" y="12" width="1" height="1" fill="#10141F" />
+<rect x="7" y="12" width="1" height="1" fill="#10141F" />
+<rect x="8" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="12" width="1" height="1" fill="#151D28" />
+<rect x="10" y="12" width="1" height="1" fill="#151D28" />
+<rect x="11" y="12" width="1" height="1" fill="#151D28" />
+<rect x="12" y="12" width="1" height="1" fill="#151D28" />
+<rect x="13" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="12" width="1" height="1" fill="#10141F" />
+<rect x="15" y="12" width="1" height="1" fill="#10141F" />
+<rect x="16" y="12" width="1" height="1" fill="#10141F" />
+<rect x="17" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="12" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="12" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="12" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="13" width="1" height="1" fill="#57AECA" />
+<rect x="1" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="2" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="3" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="4" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="5" y="13" width="1" height="1" fill="#10141F" />
+<rect x="6" y="13" width="1" height="1" fill="#10141F" />
+<rect x="7" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="8" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="9" y="13" width="1" height="1" fill="#151D28" />
+<rect x="10" y="13" width="1" height="1" fill="#151D28" />
+<rect x="11" y="13" width="1" height="1" fill="#151D28" />
+<rect x="12" y="13" width="1" height="1" fill="#151D28" />
+<rect x="13" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="14" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="15" y="13" width="1" height="1" fill="#10141F" />
+<rect x="16" y="13" width="1" height="1" fill="#10141F" />
+<rect x="17" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="18" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="19" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="20" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="21" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="22" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="23" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="24" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="25" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="26" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="27" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="28" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="29" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="30" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="31" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="32" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="33" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="34" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="35" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="36" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="37" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="38" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="39" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="40" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="41" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="42" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="43" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="44" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="45" y="13" width="1" height="1" fill="#73BED3" />
+<rect x="46" y="13" width="1" height="1" fill="#57AECA" />
+<rect x="47" y="13" width="1" height="1" fill="#57AECA" />
+<rect x="0" y="14" width="1" height="1" fill="#10161F" />
+<rect x="1" y="14" width="1" height="1" fill="#151D28" />
+<rect x="2" y="14" width="1" height="1" fill="#151D28" />
+<rect x="3" y="14" width="1" height="1" fill="#151D28" />
+<rect x="4" y="14" width="1" height="1" fill="#151D28" />
+<rect x="5" y="14" width="1" height="1" fill="#151D28" />
+<rect x="6" y="14" width="1" height="1" fill="#151D28" />
+<rect x="7" y="14" width="1" height="1" fill="#151D28" />
+<rect x="8" y="14" width="1" height="1" fill="#151D28" />
+<rect x="9" y="14" width="1" height="1" fill="#151D28" />
+<rect x="10" y="14" width="1" height="1" fill="#151D28" />
+<rect x="11" y="14" width="1" height="1" fill="#151D28" />
+<rect x="12" y="14" width="1" height="1" fill="#151D28" />
+<rect x="13" y="14" width="1" height="1" fill="#151D28" />
+<rect x="14" y="14" width="1" height="1" fill="#151D28" />
+<rect x="15" y="14" width="1" height="1" fill="#151D28" />
+<rect x="16" y="14" width="1" height="1" fill="#151D28" />
+<rect x="17" y="14" width="1" height="1" fill="#151D28" />
+<rect x="18" y="14" width="1" height="1" fill="#151D28" />
+<rect x="19" y="14" width="1" height="1" fill="#151D28" />
+<rect x="20" y="14" width="1" height="1" fill="#151D28" />
+<rect x="21" y="14" width="1" height="1" fill="#151D28" />
+<rect x="22" y="14" width="1" height="1" fill="#151D28" />
+<rect x="23" y="14" width="1" height="1" fill="#151D28" />
+<rect x="24" y="14" width="1" height="1" fill="#151D28" />
+<rect x="25" y="14" width="1" height="1" fill="#151D28" />
+<rect x="26" y="14" width="1" height="1" fill="#151D28" />
+<rect x="27" y="14" width="1" height="1" fill="#151D28" />
+<rect x="28" y="14" width="1" height="1" fill="#151D28" />
+<rect x="29" y="14" width="1" height="1" fill="#151D28" />
+<rect x="30" y="14" width="1" height="1" fill="#151D28" />
+<rect x="31" y="14" width="1" height="1" fill="#151D28" />
+<rect x="32" y="14" width="1" height="1" fill="#151D28" />
+<rect x="33" y="14" width="1" height="1" fill="#151D28" />
+<rect x="34" y="14" width="1" height="1" fill="#151D28" />
+<rect x="35" y="14" width="1" height="1" fill="#151D28" />
+<rect x="36" y="14" width="1" height="1" fill="#151D28" />
+<rect x="37" y="14" width="1" height="1" fill="#151D28" />
+<rect x="38" y="14" width="1" height="1" fill="#151D28" />
+<rect x="39" y="14" width="1" height="1" fill="#151D28" />
+<rect x="40" y="14" width="1" height="1" fill="#151D28" />
+<rect x="41" y="14" width="1" height="1" fill="#151D28" />
+<rect x="42" y="14" width="1" height="1" fill="#151D28" />
+<rect x="43" y="14" width="1" height="1" fill="#151D28" />
+<rect x="44" y="14" width="1" height="1" fill="#151D28" />
+<rect x="45" y="14" width="1" height="1" fill="#151D28" />
+<rect x="46" y="14" width="1" height="1" fill="#10161F" />
+<rect x="47" y="14" width="1" height="1" fill="#10161F" />
+<rect x="0" y="15" width="1" height="1" fill="#10161F" />
+<rect x="1" y="15" width="1" height="1" fill="#151D28" />
+<rect x="2" y="15" width="1" height="1" fill="#151D28" />
+<rect x="3" y="15" width="1" height="1" fill="#151D28" />
+<rect x="4" y="15" width="1" height="1" fill="#151D28" />
+<rect x="5" y="15" width="1" height="1" fill="#151D28" />
+<rect x="6" y="15" width="1" height="1" fill="#151D28" />
+<rect x="7" y="15" width="1" height="1" fill="#151D28" />
+<rect x="8" y="15" width="1" height="1" fill="#151D28" />
+<rect x="9" y="15" width="1" height="1" fill="#151D28" />
+<rect x="10" y="15" width="1" height="1" fill="#151D28" />
+<rect x="11" y="15" width="1" height="1" fill="#151D28" />
+<rect x="12" y="15" width="1" height="1" fill="#151D28" />
+<rect x="13" y="15" width="1" height="1" fill="#151D28" />
+<rect x="14" y="15" width="1" height="1" fill="#151D28" />
+<rect x="15" y="15" width="1" height="1" fill="#151D28" />
+<rect x="16" y="15" width="1" height="1" fill="#151D28" />
+<rect x="17" y="15" width="1" height="1" fill="#151D28" />
+<rect x="18" y="15" width="1" height="1" fill="#151D28" />
+<rect x="19" y="15" width="1" height="1" fill="#151D28" />
+<rect x="20" y="15" width="1" height="1" fill="#151D28" />
+<rect x="21" y="15" width="1" height="1" fill="#151D28" />
+<rect x="22" y="15" width="1" height="1" fill="#151D28" />
+<rect x="23" y="15" width="1" height="1" fill="#151D28" />
+<rect x="24" y="15" width="1" height="1" fill="#151D28" />
+<rect x="25" y="15" width="1" height="1" fill="#151D28" />
+<rect x="26" y="15" width="1" height="1" fill="#151D28" />
+<rect x="27" y="15" width="1" height="1" fill="#151D28" />
+<rect x="28" y="15" width="1" height="1" fill="#151D28" />
+<rect x="29" y="15" width="1" height="1" fill="#151D28" />
+<rect x="30" y="15" width="1" height="1" fill="#151D28" />
+<rect x="31" y="15" width="1" height="1" fill="#151D28" />
+<rect x="32" y="15" width="1" height="1" fill="#151D28" />
+<rect x="33" y="15" width="1" height="1" fill="#151D28" />
+<rect x="34" y="15" width="1" height="1" fill="#151D28" />
+<rect x="35" y="15" width="1" height="1" fill="#151D28" />
+<rect x="36" y="15" width="1" height="1" fill="#151D28" />
+<rect x="37" y="15" width="1" height="1" fill="#151D28" />
+<rect x="38" y="15" width="1" height="1" fill="#151D28" />
+<rect x="39" y="15" width="1" height="1" fill="#151D28" />
+<rect x="40" y="15" width="1" height="1" fill="#151D28" />
+<rect x="41" y="15" width="1" height="1" fill="#151D28" />
+<rect x="42" y="15" width="1" height="1" fill="#151D28" />
+<rect x="43" y="15" width="1" height="1" fill="#151D28" />
+<rect x="44" y="15" width="1" height="1" fill="#151D28" />
+<rect x="45" y="15" width="1" height="1" fill="#151D28" />
+<rect x="46" y="15" width="1" height="1" fill="#10161F" />
+<rect x="47" y="15" width="1" height="1" fill="#10161F" />
+<rect x="0" y="16" width="1" height="1" fill="#10161F" />
+<rect x="1" y="16" width="1" height="1" fill="#151D28" />
+<rect x="2" y="16" width="1" height="1" fill="#151D28" />
+<rect x="3" y="16" width="1" height="1" fill="#151D28" />
+<rect x="4" y="16" width="1" height="1" fill="#151D28" />
+<rect x="5" y="16" width="1" height="1" fill="#151D28" />
+<rect x="6" y="16" width="1" height="1" fill="#151D28" />
+<rect x="7" y="16" width="1" height="1" fill="#151D28" />
+<rect x="8" y="16" width="1" height="1" fill="#151D28" />
+<rect x="9" y="16" width="1" height="1" fill="#151D28" />
+<rect x="10" y="16" width="1" height="1" fill="#151D28" />
+<rect x="11" y="16" width="1" height="1" fill="#151D28" />
+<rect x="12" y="16" width="1" height="1" fill="#151D28" />
+<rect x="13" y="16" width="1" height="1" fill="#151D28" />
+<rect x="14" y="16" width="1" height="1" fill="#151D28" />
+<rect x="15" y="16" width="1" height="1" fill="#151D28" />
+<rect x="16" y="16" width="1" height="1" fill="#151D28" />
+<rect x="17" y="16" width="1" height="1" fill="#151D28" />
+<rect x="18" y="16" width="1" height="1" fill="#151D28" />
+<rect x="19" y="16" width="1" height="1" fill="#151D28" />
+<rect x="20" y="16" width="1" height="1" fill="#151D28" />
+<rect x="21" y="16" width="1" height="1" fill="#151D28" />
+<rect x="22" y="16" width="1" height="1" fill="#151D28" />
+<rect x="23" y="16" width="1" height="1" fill="#151D28" />
+<rect x="24" y="16" width="1" height="1" fill="#151D28" />
+<rect x="25" y="16" width="1" height="1" fill="#151D28" />
+<rect x="26" y="16" width="1" height="1" fill="#151D28" />
+<rect x="27" y="16" width="1" height="1" fill="#151D28" />
+<rect x="28" y="16" width="1" height="1" fill="#151D28" />
+<rect x="29" y="16" width="1" height="1" fill="#151D28" />
+<rect x="30" y="16" width="1" height="1" fill="#151D28" />
+<rect x="31" y="16" width="1" height="1" fill="#151D28" />
+<rect x="32" y="16" width="1" height="1" fill="#151D28" />
+<rect x="33" y="16" width="1" height="1" fill="#151D28" />
+<rect x="34" y="16" width="1" height="1" fill="#151D28" />
+<rect x="35" y="16" width="1" height="1" fill="#151D28" />
+<rect x="36" y="16" width="1" height="1" fill="#151D28" />
+<rect x="37" y="16" width="1" height="1" fill="#151D28" />
+<rect x="38" y="16" width="1" height="1" fill="#151D28" />
+<rect x="39" y="16" width="1" height="1" fill="#151D28" />
+<rect x="40" y="16" width="1" height="1" fill="#151D28" />
+<rect x="41" y="16" width="1" height="1" fill="#151D28" />
+<rect x="42" y="16" width="1" height="1" fill="#151D28" />
+<rect x="43" y="16" width="1" height="1" fill="#151D28" />
+<rect x="44" y="16" width="1" height="1" fill="#151D28" />
+<rect x="45" y="16" width="1" height="1" fill="#151D28" />
+<rect x="46" y="16" width="1" height="1" fill="#10161F" />
+<rect x="47" y="16" width="1" height="1" fill="#10161F" />
+<rect x="0" y="17" width="1" height="1" fill="#10161F" />
+<rect x="1" y="17" width="1" height="1" fill="#151D28" />
+<rect x="2" y="17" width="1" height="1" fill="#151D28" />
+<rect x="3" y="17" width="1" height="1" fill="#151D28" />
+<rect x="4" y="17" width="1" height="1" fill="#151D28" />
+<rect x="5" y="17" width="1" height="1" fill="#151D28" />
+<rect x="6" y="17" width="1" height="1" fill="#151D28" />
+<rect x="7" y="17" width="1" height="1" fill="#151D28" />
+<rect x="8" y="17" width="1" height="1" fill="#151D28" />
+<rect x="9" y="17" width="1" height="1" fill="#151D28" />
+<rect x="10" y="17" width="1" height="1" fill="#151D28" />
+<rect x="11" y="17" width="1" height="1" fill="#151D28" />
+<rect x="12" y="17" width="1" height="1" fill="#151D28" />
+<rect x="13" y="17" width="1" height="1" fill="#151D28" />
+<rect x="14" y="17" width="1" height="1" fill="#151D28" />
+<rect x="15" y="17" width="1" height="1" fill="#151D28" />
+<rect x="16" y="17" width="1" height="1" fill="#151D28" />
+<rect x="17" y="17" width="1" height="1" fill="#151D28" />
+<rect x="18" y="17" width="1" height="1" fill="#151D28" />
+<rect x="19" y="17" width="1" height="1" fill="#151D28" />
+<rect x="20" y="17" width="1" height="1" fill="#151D28" />
+<rect x="21" y="17" width="1" height="1" fill="#151D28" />
+<rect x="22" y="17" width="1" height="1" fill="#151D28" />
+<rect x="23" y="17" width="1" height="1" fill="#151D28" />
+<rect x="24" y="17" width="1" height="1" fill="#151D28" />
+<rect x="25" y="17" width="1" height="1" fill="#151D28" />
+<rect x="26" y="17" width="1" height="1" fill="#151D28" />
+<rect x="27" y="17" width="1" height="1" fill="#151D28" />
+<rect x="28" y="17" width="1" height="1" fill="#151D28" />
+<rect x="29" y="17" width="1" height="1" fill="#151D28" />
+<rect x="30" y="17" width="1" height="1" fill="#151D28" />
+<rect x="31" y="17" width="1" height="1" fill="#151D28" />
+<rect x="32" y="17" width="1" height="1" fill="#151D28" />
+<rect x="33" y="17" width="1" height="1" fill="#151D28" />
+<rect x="34" y="17" width="1" height="1" fill="#151D28" />
+<rect x="35" y="17" width="1" height="1" fill="#151D28" />
+<rect x="36" y="17" width="1" height="1" fill="#151D28" />
+<rect x="37" y="17" width="1" height="1" fill="#151D28" />
+<rect x="38" y="17" width="1" height="1" fill="#151D28" />
+<rect x="39" y="17" width="1" height="1" fill="#151D28" />
+<rect x="40" y="17" width="1" height="1" fill="#151D28" />
+<rect x="41" y="17" width="1" height="1" fill="#151D28" />
+<rect x="42" y="17" width="1" height="1" fill="#151D28" />
+<rect x="43" y="17" width="1" height="1" fill="#151D28" />
+<rect x="44" y="17" width="1" height="1" fill="#151D28" />
+<rect x="45" y="17" width="1" height="1" fill="#10161F" />
+<rect x="46" y="17" width="1" height="1" fill="#10161F" />
+<rect x="47" y="17" width="1" height="1" fill="#10161F" />
+<rect x="0" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="18" width="1" height="1" fill="#151D28" />
+<rect x="6" y="18" width="1" height="1" fill="#151D28" />
+<rect x="7" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="18" width="1" height="1" fill="#151D28" />
+<rect x="10" y="18" width="1" height="1" fill="#151D28" />
+<rect x="11" y="18" width="1" height="1" fill="#151D28" />
+<rect x="12" y="18" width="1" height="1" fill="#151D28" />
+<rect x="13" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="18" width="1" height="1" fill="#151D28" />
+<rect x="16" y="18" width="1" height="1" fill="#151D28" />
+<rect x="17" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="18" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="18" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="19" width="1" height="1" fill="#151D28" />
+<rect x="6" y="19" width="1" height="1" fill="#151D28" />
+<rect x="7" y="19" width="1" height="1" fill="#151D28" />
+<rect x="8" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="19" width="1" height="1" fill="#151D28" />
+<rect x="10" y="19" width="1" height="1" fill="#151D28" />
+<rect x="11" y="19" width="1" height="1" fill="#151D28" />
+<rect x="12" y="19" width="1" height="1" fill="#151D28" />
+<rect x="13" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="19" width="1" height="1" fill="#151D28" />
+<rect x="15" y="19" width="1" height="1" fill="#151D28" />
+<rect x="16" y="19" width="1" height="1" fill="#151D28" />
+<rect x="17" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="19" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="19" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="20" width="1" height="1" fill="#151D28" />
+<rect x="7" y="20" width="1" height="1" fill="#151D28" />
+<rect x="8" y="20" width="1" height="1" fill="#151D28" />
+<rect x="9" y="20" width="1" height="1" fill="#151D28" />
+<rect x="10" y="20" width="1" height="1" fill="#151D28" />
+<rect x="11" y="20" width="1" height="1" fill="#151D28" />
+<rect x="12" y="20" width="1" height="1" fill="#151D28" />
+<rect x="13" y="20" width="1" height="1" fill="#151D28" />
+<rect x="14" y="20" width="1" height="1" fill="#151D28" />
+<rect x="15" y="20" width="1" height="1" fill="#151D28" />
+<rect x="16" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="20" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="20" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="21" width="1" height="1" fill="#151D28" />
+<rect x="8" y="21" width="1" height="1" fill="#151D28" />
+<rect x="9" y="21" width="1" height="1" fill="#151D28" />
+<rect x="10" y="21" width="1" height="1" fill="#151D28" />
+<rect x="11" y="21" width="1" height="1" fill="#151D28" />
+<rect x="12" y="21" width="1" height="1" fill="#151D28" />
+<rect x="13" y="21" width="1" height="1" fill="#151D28" />
+<rect x="14" y="21" width="1" height="1" fill="#151D28" />
+<rect x="15" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="21" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="21" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="22" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="22" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="22" width="1" height="1" fill="#151D28" />
+<rect x="10" y="22" width="1" height="1" fill="#151D28" />
+<rect x="11" y="22" width="1" height="1" fill="#151D28" />
+<rect x="12" y="22" width="1" height="1" fill="#151D28" />
+<rect x="13" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="22" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="22" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="22" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="23" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="23" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="23" width="1" height="1" fill="#151D28" />
+<rect x="10" y="23" width="1" height="1" fill="#151D28" />
+<rect x="11" y="23" width="1" height="1" fill="#151D28" />
+<rect x="12" y="23" width="1" height="1" fill="#151D28" />
+<rect x="13" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="23" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="23" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="23" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="23" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="24" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="2" y="24" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="24" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="5" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="24" width="1" height="1" fill="#151D28" />
+<rect x="10" y="24" width="1" height="1" fill="#151D28" />
+<rect x="11" y="24" width="1" height="1" fill="#151D28" />
+<rect x="12" y="24" width="1" height="1" fill="#151D28" />
+<rect x="13" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="40" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="41" y="24" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="24" width="1" height="1" fill="#4F8FBA" />
+<rect x="45" y="24" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="24" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="24" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="6" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="25" width="1" height="1" fill="#151D28" />
+<rect x="10" y="25" width="1" height="1" fill="#151D28" />
+<rect x="11" y="25" width="1" height="1" fill="#151D28" />
+<rect x="12" y="25" width="1" height="1" fill="#151D28" />
+<rect x="13" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="25" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="25" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="7" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="8" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="26" width="1" height="1" fill="#151D28" />
+<rect x="10" y="26" width="1" height="1" fill="#151D28" />
+<rect x="11" y="26" width="1" height="1" fill="#151D28" />
+<rect x="12" y="26" width="1" height="1" fill="#151D28" />
+<rect x="13" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="26" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="26" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="3" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="8" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="9" y="27" width="1" height="1" fill="#151D28" />
+<rect x="10" y="27" width="1" height="1" fill="#151D28" />
+<rect x="11" y="27" width="1" height="1" fill="#151D28" />
+<rect x="12" y="27" width="1" height="1" fill="#151D28" />
+<rect x="13" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="44" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="27" width="1" height="1" fill="#4F8FBA" />
+<rect x="47" y="27" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="4" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="8" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="9" y="28" width="1" height="1" fill="#151D28" />
+<rect x="10" y="28" width="1" height="1" fill="#151D28" />
+<rect x="11" y="28" width="1" height="1" fill="#151D28" />
+<rect x="12" y="28" width="1" height="1" fill="#151D28" />
+<rect x="13" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="33" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="39" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="43" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="28" width="1" height="1" fill="#4F8FBA" />
+<rect x="47" y="28" width="1" height="1" fill="#3C74AB" />
+<rect x="0" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="8" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="9" y="29" width="1" height="1" fill="#10161F" />
+<rect x="10" y="29" width="1" height="1" fill="#10161F" />
+<rect x="11" y="29" width="1" height="1" fill="#10161F" />
+<rect x="12" y="29" width="1" height="1" fill="#151D28" />
+<rect x="13" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="31" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="32" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="33" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="42" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="29" width="1" height="1" fill="#4F8FBA" />
+<rect x="46" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="47" y="29" width="1" height="1" fill="#3C74AB" />
+<rect x="1" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="8" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="9" y="30" width="1" height="1" fill="#151D28" />
+<rect x="10" y="30" width="1" height="1" fill="#151D28" />
+<rect x="11" y="30" width="1" height="1" fill="#151D28" />
+<rect x="12" y="30" width="1" height="1" fill="#151D28" />
+<rect x="13" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="14" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="15" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="16" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="17" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="18" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="19" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="20" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="21" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="22" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="23" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="24" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="25" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="26" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="27" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="28" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="29" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="30" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="31" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="32" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="33" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="34" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="35" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="36" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="37" y="30" width="1" height="1" fill="#4F8FBA" />
+<rect x="38" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="46" y="30" width="1" height="1" fill="#3C74AB" />
+<rect x="2" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="3" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="4" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="5" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="6" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="7" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="8" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="9" y="31" width="1" height="1" fill="#10161F" />
+<rect x="10" y="31" width="1" height="1" fill="#10161F" />
+<rect x="11" y="31" width="1" height="1" fill="#10161F" />
+<rect x="12" y="31" width="1" height="1" fill="#10161F" />
+<rect x="13" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="14" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="15" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="16" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="17" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="18" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="19" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="20" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="21" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="22" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="23" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="24" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="25" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="26" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="27" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="28" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="29" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="30" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="31" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="32" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="33" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="34" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="35" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="36" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="37" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="38" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="39" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="40" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="41" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="42" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="43" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="44" y="31" width="1" height="1" fill="#3C74AB" />
+<rect x="45" y="31" width="1" height="1" fill="#3C74AB" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Vikogyna.svg b/Edikoyo/.obsidian/icons/flags/Vikogyna.svg
new file mode 100644
index 0000000..aac3b6f
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Vikogyna.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="0" width="1" height="1" fill="#356427" />
+<rect x="8" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="9" y="0" width="1" height="1" fill="#356427" />
+<rect x="10" y="0" width="1" height="1" fill="#356427" />
+<rect x="11" y="0" width="1" height="1" fill="#356427" />
+<rect x="12" y="0" width="1" height="1" fill="#356427" />
+<rect x="13" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="14" y="0" width="1" height="1" fill="#356427" />
+<rect x="15" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="16" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="17" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="18" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="19" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="20" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="21" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="22" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="23" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="24" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="25" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="26" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="27" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="28" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="29" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="30" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="31" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="32" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="33" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="34" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="35" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="36" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="37" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="0" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="1" width="1" height="1" fill="#356427" />
+<rect x="8" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="9" y="1" width="1" height="1" fill="#356427" />
+<rect x="10" y="1" width="1" height="1" fill="#468232" />
+<rect x="11" y="1" width="1" height="1" fill="#468232" />
+<rect x="12" y="1" width="1" height="1" fill="#468232" />
+<rect x="13" y="1" width="1" height="1" fill="#25562E" />
+<rect x="14" y="1" width="1" height="1" fill="#468232" />
+<rect x="15" y="1" width="1" height="1" fill="#25562E" />
+<rect x="16" y="1" width="1" height="1" fill="#25562E" />
+<rect x="17" y="1" width="1" height="1" fill="#25562E" />
+<rect x="18" y="1" width="1" height="1" fill="#25562E" />
+<rect x="19" y="1" width="1" height="1" fill="#25562E" />
+<rect x="20" y="1" width="1" height="1" fill="#25562E" />
+<rect x="21" y="1" width="1" height="1" fill="#25562E" />
+<rect x="22" y="1" width="1" height="1" fill="#25562E" />
+<rect x="23" y="1" width="1" height="1" fill="#25562E" />
+<rect x="24" y="1" width="1" height="1" fill="#25562E" />
+<rect x="25" y="1" width="1" height="1" fill="#25562E" />
+<rect x="26" y="1" width="1" height="1" fill="#25562E" />
+<rect x="27" y="1" width="1" height="1" fill="#25562E" />
+<rect x="28" y="1" width="1" height="1" fill="#25562E" />
+<rect x="29" y="1" width="1" height="1" fill="#25562E" />
+<rect x="30" y="1" width="1" height="1" fill="#25562E" />
+<rect x="31" y="1" width="1" height="1" fill="#25562E" />
+<rect x="32" y="1" width="1" height="1" fill="#25562E" />
+<rect x="33" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="34" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="35" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="36" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="37" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="1" width="1" height="1" fill="#25562E" />
+<rect x="41" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="1" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="2" width="1" height="1" fill="#25562E" />
+<rect x="7" y="2" width="1" height="1" fill="#468232" />
+<rect x="8" y="2" width="1" height="1" fill="#25562E" />
+<rect x="9" y="2" width="1" height="1" fill="#468232" />
+<rect x="10" y="2" width="1" height="1" fill="#468232" />
+<rect x="11" y="2" width="1" height="1" fill="#468232" />
+<rect x="12" y="2" width="1" height="1" fill="#468232" />
+<rect x="13" y="2" width="1" height="1" fill="#25562E" />
+<rect x="14" y="2" width="1" height="1" fill="#468232" />
+<rect x="15" y="2" width="1" height="1" fill="#25562E" />
+<rect x="16" y="2" width="1" height="1" fill="#25562E" />
+<rect x="17" y="2" width="1" height="1" fill="#25562E" />
+<rect x="18" y="2" width="1" height="1" fill="#25562E" />
+<rect x="19" y="2" width="1" height="1" fill="#25562E" />
+<rect x="20" y="2" width="1" height="1" fill="#25562E" />
+<rect x="21" y="2" width="1" height="1" fill="#25562E" />
+<rect x="22" y="2" width="1" height="1" fill="#25562E" />
+<rect x="23" y="2" width="1" height="1" fill="#25562E" />
+<rect x="24" y="2" width="1" height="1" fill="#25562E" />
+<rect x="25" y="2" width="1" height="1" fill="#25562E" />
+<rect x="26" y="2" width="1" height="1" fill="#25562E" />
+<rect x="27" y="2" width="1" height="1" fill="#25562E" />
+<rect x="28" y="2" width="1" height="1" fill="#25562E" />
+<rect x="29" y="2" width="1" height="1" fill="#25562E" />
+<rect x="30" y="2" width="1" height="1" fill="#25562E" />
+<rect x="31" y="2" width="1" height="1" fill="#25562E" />
+<rect x="32" y="2" width="1" height="1" fill="#25562E" />
+<rect x="33" y="2" width="1" height="1" fill="#25562E" />
+<rect x="34" y="2" width="1" height="1" fill="#25562E" />
+<rect x="35" y="2" width="1" height="1" fill="#25562E" />
+<rect x="36" y="2" width="1" height="1" fill="#25562E" />
+<rect x="37" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="2" width="1" height="1" fill="#25562E" />
+<rect x="42" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="2" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="3" width="1" height="1" fill="#468232" />
+<rect x="8" y="3" width="1" height="1" fill="#25562E" />
+<rect x="9" y="3" width="1" height="1" fill="#468232" />
+<rect x="10" y="3" width="1" height="1" fill="#468232" />
+<rect x="11" y="3" width="1" height="1" fill="#468232" />
+<rect x="12" y="3" width="1" height="1" fill="#468232" />
+<rect x="13" y="3" width="1" height="1" fill="#25562E" />
+<rect x="14" y="3" width="1" height="1" fill="#468232" />
+<rect x="15" y="3" width="1" height="1" fill="#25562E" />
+<rect x="16" y="3" width="1" height="1" fill="#25562E" />
+<rect x="17" y="3" width="1" height="1" fill="#25562E" />
+<rect x="18" y="3" width="1" height="1" fill="#25562E" />
+<rect x="19" y="3" width="1" height="1" fill="#25562E" />
+<rect x="20" y="3" width="1" height="1" fill="#25562E" />
+<rect x="21" y="3" width="1" height="1" fill="#25562E" />
+<rect x="22" y="3" width="1" height="1" fill="#25562E" />
+<rect x="23" y="3" width="1" height="1" fill="#25562E" />
+<rect x="24" y="3" width="1" height="1" fill="#25562E" />
+<rect x="25" y="3" width="1" height="1" fill="#25562E" />
+<rect x="26" y="3" width="1" height="1" fill="#25562E" />
+<rect x="27" y="3" width="1" height="1" fill="#25562E" />
+<rect x="28" y="3" width="1" height="1" fill="#25562E" />
+<rect x="29" y="3" width="1" height="1" fill="#25562E" />
+<rect x="30" y="3" width="1" height="1" fill="#25562E" />
+<rect x="31" y="3" width="1" height="1" fill="#25562E" />
+<rect x="32" y="3" width="1" height="1" fill="#25562E" />
+<rect x="33" y="3" width="1" height="1" fill="#25562E" />
+<rect x="34" y="3" width="1" height="1" fill="#25562E" />
+<rect x="35" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="36" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="37" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="3" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="4" width="1" height="1" fill="#25562E" />
+<rect x="3" y="4" width="1" height="1" fill="#25562E" />
+<rect x="4" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="4" width="1" height="1" fill="#468232" />
+<rect x="8" y="4" width="1" height="1" fill="#25562E" />
+<rect x="9" y="4" width="1" height="1" fill="#468232" />
+<rect x="10" y="4" width="1" height="1" fill="#468232" />
+<rect x="11" y="4" width="1" height="1" fill="#468232" />
+<rect x="12" y="4" width="1" height="1" fill="#468232" />
+<rect x="13" y="4" width="1" height="1" fill="#25562E" />
+<rect x="14" y="4" width="1" height="1" fill="#468232" />
+<rect x="15" y="4" width="1" height="1" fill="#25562E" />
+<rect x="16" y="4" width="1" height="1" fill="#25562E" />
+<rect x="17" y="4" width="1" height="1" fill="#25562E" />
+<rect x="18" y="4" width="1" height="1" fill="#25562E" />
+<rect x="19" y="4" width="1" height="1" fill="#25562E" />
+<rect x="20" y="4" width="1" height="1" fill="#25562E" />
+<rect x="21" y="4" width="1" height="1" fill="#25562E" />
+<rect x="22" y="4" width="1" height="1" fill="#25562E" />
+<rect x="23" y="4" width="1" height="1" fill="#25562E" />
+<rect x="24" y="4" width="1" height="1" fill="#25562E" />
+<rect x="25" y="4" width="1" height="1" fill="#25562E" />
+<rect x="26" y="4" width="1" height="1" fill="#25562E" />
+<rect x="27" y="4" width="1" height="1" fill="#25562E" />
+<rect x="28" y="4" width="1" height="1" fill="#25562E" />
+<rect x="29" y="4" width="1" height="1" fill="#25562E" />
+<rect x="30" y="4" width="1" height="1" fill="#25562E" />
+<rect x="31" y="4" width="1" height="1" fill="#25562E" />
+<rect x="32" y="4" width="1" height="1" fill="#25562E" />
+<rect x="33" y="4" width="1" height="1" fill="#25562E" />
+<rect x="34" y="4" width="1" height="1" fill="#25562E" />
+<rect x="35" y="4" width="1" height="1" fill="#25562E" />
+<rect x="36" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="37" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="4" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="5" width="1" height="1" fill="#25562E" />
+<rect x="4" y="5" width="1" height="1" fill="#25562E" />
+<rect x="5" y="5" width="1" height="1" fill="#25562E" />
+<rect x="6" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="5" width="1" height="1" fill="#468232" />
+<rect x="8" y="5" width="1" height="1" fill="#25562E" />
+<rect x="9" y="5" width="1" height="1" fill="#468232" />
+<rect x="10" y="5" width="1" height="1" fill="#468232" />
+<rect x="11" y="5" width="1" height="1" fill="#468232" />
+<rect x="12" y="5" width="1" height="1" fill="#468232" />
+<rect x="13" y="5" width="1" height="1" fill="#25562E" />
+<rect x="14" y="5" width="1" height="1" fill="#468232" />
+<rect x="15" y="5" width="1" height="1" fill="#25562E" />
+<rect x="16" y="5" width="1" height="1" fill="#25562E" />
+<rect x="17" y="5" width="1" height="1" fill="#25562E" />
+<rect x="18" y="5" width="1" height="1" fill="#25562E" />
+<rect x="19" y="5" width="1" height="1" fill="#25562E" />
+<rect x="20" y="5" width="1" height="1" fill="#25562E" />
+<rect x="21" y="5" width="1" height="1" fill="#25562E" />
+<rect x="22" y="5" width="1" height="1" fill="#25562E" />
+<rect x="23" y="5" width="1" height="1" fill="#25562E" />
+<rect x="24" y="5" width="1" height="1" fill="#25562E" />
+<rect x="25" y="5" width="1" height="1" fill="#25562E" />
+<rect x="26" y="5" width="1" height="1" fill="#25562E" />
+<rect x="27" y="5" width="1" height="1" fill="#25562E" />
+<rect x="28" y="5" width="1" height="1" fill="#25562E" />
+<rect x="29" y="5" width="1" height="1" fill="#25562E" />
+<rect x="30" y="5" width="1" height="1" fill="#25562E" />
+<rect x="31" y="5" width="1" height="1" fill="#25562E" />
+<rect x="32" y="5" width="1" height="1" fill="#25562E" />
+<rect x="33" y="5" width="1" height="1" fill="#25562E" />
+<rect x="34" y="5" width="1" height="1" fill="#25562E" />
+<rect x="35" y="5" width="1" height="1" fill="#25562E" />
+<rect x="36" y="5" width="1" height="1" fill="#25562E" />
+<rect x="37" y="5" width="1" height="1" fill="#25562E" />
+<rect x="38" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="5" width="1" height="1" fill="#25562E" />
+<rect x="43" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="5" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="6" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="6" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="6" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="6" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="6" width="1" height="1" fill="#25562E" />
+<rect x="5" y="6" width="1" height="1" fill="#25562E" />
+<rect x="6" y="6" width="1" height="1" fill="#25562E" />
+<rect x="7" y="6" width="1" height="1" fill="#468232" />
+<rect x="8" y="6" width="1" height="1" fill="#25562E" />
+<rect x="9" y="6" width="1" height="1" fill="#468232" />
+<rect x="10" y="6" width="1" height="1" fill="#468232" />
+<rect x="11" y="6" width="1" height="1" fill="#468232" />
+<rect x="12" y="6" width="1" height="1" fill="#468232" />
+<rect x="13" y="6" width="1" height="1" fill="#25562E" />
+<rect x="14" y="6" width="1" height="1" fill="#468232" />
+<rect x="15" y="6" width="1" height="1" fill="#25562E" />
+<rect x="16" y="6" width="1" height="1" fill="#25562E" />
+<rect x="17" y="6" width="1" height="1" fill="#25562E" />
+<rect x="18" y="6" width="1" height="1" fill="#25562E" />
+<rect x="19" y="6" width="1" height="1" fill="#25562E" />
+<rect x="20" y="6" width="1" height="1" fill="#25562E" />
+<rect x="21" y="6" width="1" height="1" fill="#25562E" />
+<rect x="22" y="6" width="1" height="1" fill="#25562E" />
+<rect x="23" y="6" width="1" height="1" fill="#25562E" />
+<rect x="24" y="6" width="1" height="1" fill="#25562E" />
+<rect x="25" y="6" width="1" height="1" fill="#25562E" />
+<rect x="26" y="6" width="1" height="1" fill="#25562E" />
+<rect x="27" y="6" width="1" height="1" fill="#25562E" />
+<rect x="28" y="6" width="1" height="1" fill="#25562E" />
+<rect x="29" y="6" width="1" height="1" fill="#25562E" />
+<rect x="30" y="6" width="1" height="1" fill="#25562E" />
+<rect x="31" y="6" width="1" height="1" fill="#25562E" />
+<rect x="32" y="6" width="1" height="1" fill="#25562E" />
+<rect x="33" y="6" width="1" height="1" fill="#25562E" />
+<rect x="34" y="6" width="1" height="1" fill="#25562E" />
+<rect x="35" y="6" width="1" height="1" fill="#25562E" />
+<rect x="36" y="6" width="1" height="1" fill="#25562E" />
+<rect x="37" y="6" width="1" height="1" fill="#25562E" />
+<rect x="38" y="6" width="1" height="1" fill="#25562E" />
+<rect x="39" y="6" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="6" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="6" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="6" width="1" height="1" fill="#25562E" />
+<rect x="43" y="6" width="1" height="1" fill="#25562E" />
+<rect x="44" y="6" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="6" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="6" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="6" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="7" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="7" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="7" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="7" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="7" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="7" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="7" width="1" height="1" fill="#25562E" />
+<rect x="7" y="7" width="1" height="1" fill="#468232" />
+<rect x="8" y="7" width="1" height="1" fill="#25562E" />
+<rect x="9" y="7" width="1" height="1" fill="#468232" />
+<rect x="10" y="7" width="1" height="1" fill="#468232" />
+<rect x="11" y="7" width="1" height="1" fill="#468232" />
+<rect x="12" y="7" width="1" height="1" fill="#468232" />
+<rect x="13" y="7" width="1" height="1" fill="#25562E" />
+<rect x="14" y="7" width="1" height="1" fill="#468232" />
+<rect x="15" y="7" width="1" height="1" fill="#25562E" />
+<rect x="16" y="7" width="1" height="1" fill="#25562E" />
+<rect x="17" y="7" width="1" height="1" fill="#25562E" />
+<rect x="18" y="7" width="1" height="1" fill="#25562E" />
+<rect x="19" y="7" width="1" height="1" fill="#25562E" />
+<rect x="20" y="7" width="1" height="1" fill="#25562E" />
+<rect x="21" y="7" width="1" height="1" fill="#25562E" />
+<rect x="22" y="7" width="1" height="1" fill="#25562E" />
+<rect x="23" y="7" width="1" height="1" fill="#25562E" />
+<rect x="24" y="7" width="1" height="1" fill="#25562E" />
+<rect x="25" y="7" width="1" height="1" fill="#25562E" />
+<rect x="26" y="7" width="1" height="1" fill="#25562E" />
+<rect x="27" y="7" width="1" height="1" fill="#25562E" />
+<rect x="28" y="7" width="1" height="1" fill="#25562E" />
+<rect x="29" y="7" width="1" height="1" fill="#25562E" />
+<rect x="30" y="7" width="1" height="1" fill="#25562E" />
+<rect x="31" y="7" width="1" height="1" fill="#25562E" />
+<rect x="32" y="7" width="1" height="1" fill="#25562E" />
+<rect x="33" y="7" width="1" height="1" fill="#25562E" />
+<rect x="34" y="7" width="1" height="1" fill="#25562E" />
+<rect x="35" y="7" width="1" height="1" fill="#25562E" />
+<rect x="36" y="7" width="1" height="1" fill="#25562E" />
+<rect x="37" y="7" width="1" height="1" fill="#25562E" />
+<rect x="38" y="7" width="1" height="1" fill="#25562E" />
+<rect x="39" y="7" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="7" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="7" width="1" height="1" fill="#25562E" />
+<rect x="42" y="7" width="1" height="1" fill="#25562E" />
+<rect x="43" y="7" width="1" height="1" fill="#25562E" />
+<rect x="44" y="7" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="7" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="7" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="7" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="8" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="8" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="8" width="1" height="1" fill="#25562E" />
+<rect x="3" y="8" width="1" height="1" fill="#25562E" />
+<rect x="4" y="8" width="1" height="1" fill="#25562E" />
+<rect x="5" y="8" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="8" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="8" width="1" height="1" fill="#468232" />
+<rect x="8" y="8" width="1" height="1" fill="#25562E" />
+<rect x="9" y="8" width="1" height="1" fill="#468232" />
+<rect x="10" y="8" width="1" height="1" fill="#468232" />
+<rect x="11" y="8" width="1" height="1" fill="#468232" />
+<rect x="12" y="8" width="1" height="1" fill="#468232" />
+<rect x="13" y="8" width="1" height="1" fill="#25562E" />
+<rect x="14" y="8" width="1" height="1" fill="#468232" />
+<rect x="15" y="8" width="1" height="1" fill="#25562E" />
+<rect x="16" y="8" width="1" height="1" fill="#25562E" />
+<rect x="17" y="8" width="1" height="1" fill="#25562E" />
+<rect x="18" y="8" width="1" height="1" fill="#25562E" />
+<rect x="19" y="8" width="1" height="1" fill="#25562E" />
+<rect x="20" y="8" width="1" height="1" fill="#25562E" />
+<rect x="21" y="8" width="1" height="1" fill="#25562E" />
+<rect x="22" y="8" width="1" height="1" fill="#25562E" />
+<rect x="23" y="8" width="1" height="1" fill="#25562E" />
+<rect x="24" y="8" width="1" height="1" fill="#25562E" />
+<rect x="25" y="8" width="1" height="1" fill="#25562E" />
+<rect x="26" y="8" width="1" height="1" fill="#25562E" />
+<rect x="27" y="8" width="1" height="1" fill="#25562E" />
+<rect x="28" y="8" width="1" height="1" fill="#25562E" />
+<rect x="29" y="8" width="1" height="1" fill="#25562E" />
+<rect x="30" y="8" width="1" height="1" fill="#25562E" />
+<rect x="31" y="8" width="1" height="1" fill="#25562E" />
+<rect x="32" y="8" width="1" height="1" fill="#25562E" />
+<rect x="33" y="8" width="1" height="1" fill="#25562E" />
+<rect x="34" y="8" width="1" height="1" fill="#25562E" />
+<rect x="35" y="8" width="1" height="1" fill="#25562E" />
+<rect x="36" y="8" width="1" height="1" fill="#25562E" />
+<rect x="37" y="8" width="1" height="1" fill="#25562E" />
+<rect x="38" y="8" width="1" height="1" fill="#25562E" />
+<rect x="39" y="8" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="8" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="8" width="1" height="1" fill="#25562E" />
+<rect x="42" y="8" width="1" height="1" fill="#25562E" />
+<rect x="43" y="8" width="1" height="1" fill="#25562E" />
+<rect x="44" y="8" width="1" height="1" fill="#25562E" />
+<rect x="45" y="8" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="8" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="8" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="9" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="9" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="9" width="1" height="1" fill="#25562E" />
+<rect x="3" y="9" width="1" height="1" fill="#25562E" />
+<rect x="4" y="9" width="1" height="1" fill="#25562E" />
+<rect x="5" y="9" width="1" height="1" fill="#25562E" />
+<rect x="6" y="9" width="1" height="1" fill="#25562E" />
+<rect x="7" y="9" width="1" height="1" fill="#468232" />
+<rect x="8" y="9" width="1" height="1" fill="#25562E" />
+<rect x="9" y="9" width="1" height="1" fill="#468232" />
+<rect x="10" y="9" width="1" height="1" fill="#468232" />
+<rect x="11" y="9" width="1" height="1" fill="#468232" />
+<rect x="12" y="9" width="1" height="1" fill="#468232" />
+<rect x="13" y="9" width="1" height="1" fill="#25562E" />
+<rect x="14" y="9" width="1" height="1" fill="#468232" />
+<rect x="15" y="9" width="1" height="1" fill="#25562E" />
+<rect x="16" y="9" width="1" height="1" fill="#25562E" />
+<rect x="17" y="9" width="1" height="1" fill="#25562E" />
+<rect x="18" y="9" width="1" height="1" fill="#25562E" />
+<rect x="19" y="9" width="1" height="1" fill="#25562E" />
+<rect x="20" y="9" width="1" height="1" fill="#25562E" />
+<rect x="21" y="9" width="1" height="1" fill="#25562E" />
+<rect x="22" y="9" width="1" height="1" fill="#25562E" />
+<rect x="23" y="9" width="1" height="1" fill="#25562E" />
+<rect x="24" y="9" width="1" height="1" fill="#25562E" />
+<rect x="25" y="9" width="1" height="1" fill="#25562E" />
+<rect x="26" y="9" width="1" height="1" fill="#25562E" />
+<rect x="27" y="9" width="1" height="1" fill="#25562E" />
+<rect x="28" y="9" width="1" height="1" fill="#25562E" />
+<rect x="29" y="9" width="1" height="1" fill="#25562E" />
+<rect x="30" y="9" width="1" height="1" fill="#25562E" />
+<rect x="31" y="9" width="1" height="1" fill="#25562E" />
+<rect x="32" y="9" width="1" height="1" fill="#25562E" />
+<rect x="33" y="9" width="1" height="1" fill="#25562E" />
+<rect x="34" y="9" width="1" height="1" fill="#25562E" />
+<rect x="35" y="9" width="1" height="1" fill="#25562E" />
+<rect x="36" y="9" width="1" height="1" fill="#25562E" />
+<rect x="37" y="9" width="1" height="1" fill="#25562E" />
+<rect x="38" y="9" width="1" height="1" fill="#25562E" />
+<rect x="39" y="9" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="9" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="9" width="1" height="1" fill="#25562E" />
+<rect x="42" y="9" width="1" height="1" fill="#25562E" />
+<rect x="43" y="9" width="1" height="1" fill="#25562E" />
+<rect x="44" y="9" width="1" height="1" fill="#25562E" />
+<rect x="45" y="9" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="9" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="9" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="10" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="10" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="10" width="1" height="1" fill="#25562E" />
+<rect x="3" y="10" width="1" height="1" fill="#25562E" />
+<rect x="4" y="10" width="1" height="1" fill="#25562E" />
+<rect x="5" y="10" width="1" height="1" fill="#25562E" />
+<rect x="6" y="10" width="1" height="1" fill="#25562E" />
+<rect x="7" y="10" width="1" height="1" fill="#468232" />
+<rect x="8" y="10" width="1" height="1" fill="#25562E" />
+<rect x="9" y="10" width="1" height="1" fill="#468232" />
+<rect x="10" y="10" width="1" height="1" fill="#468232" />
+<rect x="11" y="10" width="1" height="1" fill="#468232" />
+<rect x="12" y="10" width="1" height="1" fill="#468232" />
+<rect x="13" y="10" width="1" height="1" fill="#25562E" />
+<rect x="14" y="10" width="1" height="1" fill="#468232" />
+<rect x="15" y="10" width="1" height="1" fill="#25562E" />
+<rect x="16" y="10" width="1" height="1" fill="#25562E" />
+<rect x="17" y="10" width="1" height="1" fill="#25562E" />
+<rect x="18" y="10" width="1" height="1" fill="#25562E" />
+<rect x="19" y="10" width="1" height="1" fill="#25562E" />
+<rect x="20" y="10" width="1" height="1" fill="#25562E" />
+<rect x="21" y="10" width="1" height="1" fill="#25562E" />
+<rect x="22" y="10" width="1" height="1" fill="#25562E" />
+<rect x="23" y="10" width="1" height="1" fill="#25562E" />
+<rect x="24" y="10" width="1" height="1" fill="#25562E" />
+<rect x="25" y="10" width="1" height="1" fill="#25562E" />
+<rect x="26" y="10" width="1" height="1" fill="#25562E" />
+<rect x="27" y="10" width="1" height="1" fill="#25562E" />
+<rect x="28" y="10" width="1" height="1" fill="#25562E" />
+<rect x="29" y="10" width="1" height="1" fill="#25562E" />
+<rect x="30" y="10" width="1" height="1" fill="#25562E" />
+<rect x="31" y="10" width="1" height="1" fill="#25562E" />
+<rect x="32" y="10" width="1" height="1" fill="#25562E" />
+<rect x="33" y="10" width="1" height="1" fill="#25562E" />
+<rect x="34" y="10" width="1" height="1" fill="#25562E" />
+<rect x="35" y="10" width="1" height="1" fill="#25562E" />
+<rect x="36" y="10" width="1" height="1" fill="#25562E" />
+<rect x="37" y="10" width="1" height="1" fill="#25562E" />
+<rect x="38" y="10" width="1" height="1" fill="#25562E" />
+<rect x="39" y="10" width="1" height="1" fill="#25562E" />
+<rect x="40" y="10" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="10" width="1" height="1" fill="#25562E" />
+<rect x="42" y="10" width="1" height="1" fill="#25562E" />
+<rect x="43" y="10" width="1" height="1" fill="#25562E" />
+<rect x="44" y="10" width="1" height="1" fill="#25562E" />
+<rect x="45" y="10" width="1" height="1" fill="#25562E" />
+<rect x="46" y="10" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="10" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="11" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="11" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="11" width="1" height="1" fill="#25562E" />
+<rect x="3" y="11" width="1" height="1" fill="#25562E" />
+<rect x="4" y="11" width="1" height="1" fill="#25562E" />
+<rect x="5" y="11" width="1" height="1" fill="#25562E" />
+<rect x="6" y="11" width="1" height="1" fill="#25562E" />
+<rect x="7" y="11" width="1" height="1" fill="#468232" />
+<rect x="8" y="11" width="1" height="1" fill="#25562E" />
+<rect x="9" y="11" width="1" height="1" fill="#468232" />
+<rect x="10" y="11" width="1" height="1" fill="#468232" />
+<rect x="11" y="11" width="1" height="1" fill="#468232" />
+<rect x="12" y="11" width="1" height="1" fill="#468232" />
+<rect x="13" y="11" width="1" height="1" fill="#25562E" />
+<rect x="14" y="11" width="1" height="1" fill="#468232" />
+<rect x="15" y="11" width="1" height="1" fill="#25562E" />
+<rect x="16" y="11" width="1" height="1" fill="#25562E" />
+<rect x="17" y="11" width="1" height="1" fill="#25562E" />
+<rect x="18" y="11" width="1" height="1" fill="#25562E" />
+<rect x="19" y="11" width="1" height="1" fill="#25562E" />
+<rect x="20" y="11" width="1" height="1" fill="#25562E" />
+<rect x="21" y="11" width="1" height="1" fill="#25562E" />
+<rect x="22" y="11" width="1" height="1" fill="#25562E" />
+<rect x="23" y="11" width="1" height="1" fill="#25562E" />
+<rect x="24" y="11" width="1" height="1" fill="#25562E" />
+<rect x="25" y="11" width="1" height="1" fill="#25562E" />
+<rect x="26" y="11" width="1" height="1" fill="#25562E" />
+<rect x="27" y="11" width="1" height="1" fill="#25562E" />
+<rect x="28" y="11" width="1" height="1" fill="#25562E" />
+<rect x="29" y="11" width="1" height="1" fill="#25562E" />
+<rect x="30" y="11" width="1" height="1" fill="#25562E" />
+<rect x="31" y="11" width="1" height="1" fill="#25562E" />
+<rect x="32" y="11" width="1" height="1" fill="#25562E" />
+<rect x="33" y="11" width="1" height="1" fill="#25562E" />
+<rect x="34" y="11" width="1" height="1" fill="#25562E" />
+<rect x="35" y="11" width="1" height="1" fill="#25562E" />
+<rect x="36" y="11" width="1" height="1" fill="#25562E" />
+<rect x="37" y="11" width="1" height="1" fill="#25562E" />
+<rect x="38" y="11" width="1" height="1" fill="#25562E" />
+<rect x="39" y="11" width="1" height="1" fill="#25562E" />
+<rect x="40" y="11" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="11" width="1" height="1" fill="#25562E" />
+<rect x="42" y="11" width="1" height="1" fill="#25562E" />
+<rect x="43" y="11" width="1" height="1" fill="#25562E" />
+<rect x="44" y="11" width="1" height="1" fill="#25562E" />
+<rect x="45" y="11" width="1" height="1" fill="#25562E" />
+<rect x="46" y="11" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="11" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="12" width="1" height="1" fill="#356427" />
+<rect x="1" y="12" width="1" height="1" fill="#468232" />
+<rect x="2" y="12" width="1" height="1" fill="#468232" />
+<rect x="3" y="12" width="1" height="1" fill="#468232" />
+<rect x="4" y="12" width="1" height="1" fill="#468232" />
+<rect x="5" y="12" width="1" height="1" fill="#468232" />
+<rect x="6" y="12" width="1" height="1" fill="#468232" />
+<rect x="7" y="12" width="1" height="1" fill="#468232" />
+<rect x="8" y="12" width="1" height="1" fill="#25562E" />
+<rect x="9" y="12" width="1" height="1" fill="#468232" />
+<rect x="10" y="12" width="1" height="1" fill="#468232" />
+<rect x="11" y="12" width="1" height="1" fill="#468232" />
+<rect x="12" y="12" width="1" height="1" fill="#468232" />
+<rect x="13" y="12" width="1" height="1" fill="#25562E" />
+<rect x="14" y="12" width="1" height="1" fill="#468232" />
+<rect x="15" y="12" width="1" height="1" fill="#468232" />
+<rect x="16" y="12" width="1" height="1" fill="#468232" />
+<rect x="17" y="12" width="1" height="1" fill="#468232" />
+<rect x="18" y="12" width="1" height="1" fill="#468232" />
+<rect x="19" y="12" width="1" height="1" fill="#468232" />
+<rect x="20" y="12" width="1" height="1" fill="#468232" />
+<rect x="21" y="12" width="1" height="1" fill="#468232" />
+<rect x="22" y="12" width="1" height="1" fill="#468232" />
+<rect x="23" y="12" width="1" height="1" fill="#468232" />
+<rect x="24" y="12" width="1" height="1" fill="#468232" />
+<rect x="25" y="12" width="1" height="1" fill="#468232" />
+<rect x="26" y="12" width="1" height="1" fill="#468232" />
+<rect x="27" y="12" width="1" height="1" fill="#468232" />
+<rect x="28" y="12" width="1" height="1" fill="#468232" />
+<rect x="29" y="12" width="1" height="1" fill="#468232" />
+<rect x="30" y="12" width="1" height="1" fill="#468232" />
+<rect x="31" y="12" width="1" height="1" fill="#468232" />
+<rect x="32" y="12" width="1" height="1" fill="#468232" />
+<rect x="33" y="12" width="1" height="1" fill="#468232" />
+<rect x="34" y="12" width="1" height="1" fill="#468232" />
+<rect x="35" y="12" width="1" height="1" fill="#468232" />
+<rect x="36" y="12" width="1" height="1" fill="#468232" />
+<rect x="37" y="12" width="1" height="1" fill="#468232" />
+<rect x="38" y="12" width="1" height="1" fill="#468232" />
+<rect x="39" y="12" width="1" height="1" fill="#468232" />
+<rect x="40" y="12" width="1" height="1" fill="#468232" />
+<rect x="41" y="12" width="1" height="1" fill="#468232" />
+<rect x="42" y="12" width="1" height="1" fill="#468232" />
+<rect x="43" y="12" width="1" height="1" fill="#468232" />
+<rect x="44" y="12" width="1" height="1" fill="#468232" />
+<rect x="45" y="12" width="1" height="1" fill="#468232" />
+<rect x="46" y="12" width="1" height="1" fill="#356427" />
+<rect x="47" y="12" width="1" height="1" fill="#356427" />
+<rect x="0" y="13" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="13" width="1" height="1" fill="#25562E" />
+<rect x="2" y="13" width="1" height="1" fill="#25562E" />
+<rect x="3" y="13" width="1" height="1" fill="#25562E" />
+<rect x="4" y="13" width="1" height="1" fill="#25562E" />
+<rect x="5" y="13" width="1" height="1" fill="#25562E" />
+<rect x="6" y="13" width="1" height="1" fill="#25562E" />
+<rect x="7" y="13" width="1" height="1" fill="#25562E" />
+<rect x="8" y="13" width="1" height="1" fill="#25562E" />
+<rect x="9" y="13" width="1" height="1" fill="#468232" />
+<rect x="10" y="13" width="1" height="1" fill="#468232" />
+<rect x="11" y="13" width="1" height="1" fill="#468232" />
+<rect x="12" y="13" width="1" height="1" fill="#468232" />
+<rect x="13" y="13" width="1" height="1" fill="#25562E" />
+<rect x="14" y="13" width="1" height="1" fill="#25562E" />
+<rect x="15" y="13" width="1" height="1" fill="#25562E" />
+<rect x="16" y="13" width="1" height="1" fill="#25562E" />
+<rect x="17" y="13" width="1" height="1" fill="#25562E" />
+<rect x="18" y="13" width="1" height="1" fill="#25562E" />
+<rect x="19" y="13" width="1" height="1" fill="#25562E" />
+<rect x="20" y="13" width="1" height="1" fill="#25562E" />
+<rect x="21" y="13" width="1" height="1" fill="#25562E" />
+<rect x="22" y="13" width="1" height="1" fill="#25562E" />
+<rect x="23" y="13" width="1" height="1" fill="#25562E" />
+<rect x="24" y="13" width="1" height="1" fill="#25562E" />
+<rect x="25" y="13" width="1" height="1" fill="#25562E" />
+<rect x="26" y="13" width="1" height="1" fill="#25562E" />
+<rect x="27" y="13" width="1" height="1" fill="#25562E" />
+<rect x="28" y="13" width="1" height="1" fill="#25562E" />
+<rect x="29" y="13" width="1" height="1" fill="#25562E" />
+<rect x="30" y="13" width="1" height="1" fill="#25562E" />
+<rect x="31" y="13" width="1" height="1" fill="#25562E" />
+<rect x="32" y="13" width="1" height="1" fill="#25562E" />
+<rect x="33" y="13" width="1" height="1" fill="#25562E" />
+<rect x="34" y="13" width="1" height="1" fill="#25562E" />
+<rect x="35" y="13" width="1" height="1" fill="#25562E" />
+<rect x="36" y="13" width="1" height="1" fill="#25562E" />
+<rect x="37" y="13" width="1" height="1" fill="#25562E" />
+<rect x="38" y="13" width="1" height="1" fill="#25562E" />
+<rect x="39" y="13" width="1" height="1" fill="#25562E" />
+<rect x="40" y="13" width="1" height="1" fill="#25562E" />
+<rect x="41" y="13" width="1" height="1" fill="#25562E" />
+<rect x="42" y="13" width="1" height="1" fill="#25562E" />
+<rect x="43" y="13" width="1" height="1" fill="#25562E" />
+<rect x="44" y="13" width="1" height="1" fill="#25562E" />
+<rect x="45" y="13" width="1" height="1" fill="#25562E" />
+<rect x="46" y="13" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="13" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="14" width="1" height="1" fill="#356427" />
+<rect x="1" y="14" width="1" height="1" fill="#468232" />
+<rect x="2" y="14" width="1" height="1" fill="#468232" />
+<rect x="3" y="14" width="1" height="1" fill="#468232" />
+<rect x="4" y="14" width="1" height="1" fill="#468232" />
+<rect x="5" y="14" width="1" height="1" fill="#468232" />
+<rect x="6" y="14" width="1" height="1" fill="#468232" />
+<rect x="7" y="14" width="1" height="1" fill="#468232" />
+<rect x="8" y="14" width="1" height="1" fill="#468232" />
+<rect x="9" y="14" width="1" height="1" fill="#468232" />
+<rect x="10" y="14" width="1" height="1" fill="#468232" />
+<rect x="11" y="14" width="1" height="1" fill="#468232" />
+<rect x="12" y="14" width="1" height="1" fill="#468232" />
+<rect x="13" y="14" width="1" height="1" fill="#468232" />
+<rect x="14" y="14" width="1" height="1" fill="#468232" />
+<rect x="15" y="14" width="1" height="1" fill="#468232" />
+<rect x="16" y="14" width="1" height="1" fill="#468232" />
+<rect x="17" y="14" width="1" height="1" fill="#468232" />
+<rect x="18" y="14" width="1" height="1" fill="#468232" />
+<rect x="19" y="14" width="1" height="1" fill="#468232" />
+<rect x="20" y="14" width="1" height="1" fill="#468232" />
+<rect x="21" y="14" width="1" height="1" fill="#468232" />
+<rect x="22" y="14" width="1" height="1" fill="#468232" />
+<rect x="23" y="14" width="1" height="1" fill="#468232" />
+<rect x="24" y="14" width="1" height="1" fill="#468232" />
+<rect x="25" y="14" width="1" height="1" fill="#468232" />
+<rect x="26" y="14" width="1" height="1" fill="#468232" />
+<rect x="27" y="14" width="1" height="1" fill="#468232" />
+<rect x="28" y="14" width="1" height="1" fill="#468232" />
+<rect x="29" y="14" width="1" height="1" fill="#468232" />
+<rect x="30" y="14" width="1" height="1" fill="#468232" />
+<rect x="31" y="14" width="1" height="1" fill="#468232" />
+<rect x="32" y="14" width="1" height="1" fill="#468232" />
+<rect x="33" y="14" width="1" height="1" fill="#468232" />
+<rect x="34" y="14" width="1" height="1" fill="#468232" />
+<rect x="35" y="14" width="1" height="1" fill="#468232" />
+<rect x="36" y="14" width="1" height="1" fill="#468232" />
+<rect x="37" y="14" width="1" height="1" fill="#468232" />
+<rect x="38" y="14" width="1" height="1" fill="#468232" />
+<rect x="39" y="14" width="1" height="1" fill="#468232" />
+<rect x="40" y="14" width="1" height="1" fill="#468232" />
+<rect x="41" y="14" width="1" height="1" fill="#468232" />
+<rect x="42" y="14" width="1" height="1" fill="#468232" />
+<rect x="43" y="14" width="1" height="1" fill="#468232" />
+<rect x="44" y="14" width="1" height="1" fill="#468232" />
+<rect x="45" y="14" width="1" height="1" fill="#468232" />
+<rect x="46" y="14" width="1" height="1" fill="#356427" />
+<rect x="47" y="14" width="1" height="1" fill="#356427" />
+<rect x="0" y="15" width="1" height="1" fill="#356427" />
+<rect x="1" y="15" width="1" height="1" fill="#468232" />
+<rect x="2" y="15" width="1" height="1" fill="#468232" />
+<rect x="3" y="15" width="1" height="1" fill="#468232" />
+<rect x="4" y="15" width="1" height="1" fill="#468232" />
+<rect x="5" y="15" width="1" height="1" fill="#468232" />
+<rect x="6" y="15" width="1" height="1" fill="#468232" />
+<rect x="7" y="15" width="1" height="1" fill="#468232" />
+<rect x="8" y="15" width="1" height="1" fill="#468232" />
+<rect x="9" y="15" width="1" height="1" fill="#468232" />
+<rect x="10" y="15" width="1" height="1" fill="#468232" />
+<rect x="11" y="15" width="1" height="1" fill="#468232" />
+<rect x="12" y="15" width="1" height="1" fill="#468232" />
+<rect x="13" y="15" width="1" height="1" fill="#468232" />
+<rect x="14" y="15" width="1" height="1" fill="#468232" />
+<rect x="15" y="15" width="1" height="1" fill="#468232" />
+<rect x="16" y="15" width="1" height="1" fill="#468232" />
+<rect x="17" y="15" width="1" height="1" fill="#468232" />
+<rect x="18" y="15" width="1" height="1" fill="#468232" />
+<rect x="19" y="15" width="1" height="1" fill="#468232" />
+<rect x="20" y="15" width="1" height="1" fill="#468232" />
+<rect x="21" y="15" width="1" height="1" fill="#468232" />
+<rect x="22" y="15" width="1" height="1" fill="#468232" />
+<rect x="23" y="15" width="1" height="1" fill="#468232" />
+<rect x="24" y="15" width="1" height="1" fill="#468232" />
+<rect x="25" y="15" width="1" height="1" fill="#468232" />
+<rect x="26" y="15" width="1" height="1" fill="#468232" />
+<rect x="27" y="15" width="1" height="1" fill="#468232" />
+<rect x="28" y="15" width="1" height="1" fill="#468232" />
+<rect x="29" y="15" width="1" height="1" fill="#468232" />
+<rect x="30" y="15" width="1" height="1" fill="#468232" />
+<rect x="31" y="15" width="1" height="1" fill="#468232" />
+<rect x="32" y="15" width="1" height="1" fill="#468232" />
+<rect x="33" y="15" width="1" height="1" fill="#468232" />
+<rect x="34" y="15" width="1" height="1" fill="#468232" />
+<rect x="35" y="15" width="1" height="1" fill="#468232" />
+<rect x="36" y="15" width="1" height="1" fill="#468232" />
+<rect x="37" y="15" width="1" height="1" fill="#468232" />
+<rect x="38" y="15" width="1" height="1" fill="#468232" />
+<rect x="39" y="15" width="1" height="1" fill="#468232" />
+<rect x="40" y="15" width="1" height="1" fill="#468232" />
+<rect x="41" y="15" width="1" height="1" fill="#468232" />
+<rect x="42" y="15" width="1" height="1" fill="#468232" />
+<rect x="43" y="15" width="1" height="1" fill="#468232" />
+<rect x="44" y="15" width="1" height="1" fill="#468232" />
+<rect x="45" y="15" width="1" height="1" fill="#468232" />
+<rect x="46" y="15" width="1" height="1" fill="#356427" />
+<rect x="47" y="15" width="1" height="1" fill="#356427" />
+<rect x="0" y="16" width="1" height="1" fill="#356427" />
+<rect x="1" y="16" width="1" height="1" fill="#468232" />
+<rect x="2" y="16" width="1" height="1" fill="#468232" />
+<rect x="3" y="16" width="1" height="1" fill="#468232" />
+<rect x="4" y="16" width="1" height="1" fill="#468232" />
+<rect x="5" y="16" width="1" height="1" fill="#468232" />
+<rect x="6" y="16" width="1" height="1" fill="#468232" />
+<rect x="7" y="16" width="1" height="1" fill="#468232" />
+<rect x="8" y="16" width="1" height="1" fill="#468232" />
+<rect x="9" y="16" width="1" height="1" fill="#468232" />
+<rect x="10" y="16" width="1" height="1" fill="#468232" />
+<rect x="11" y="16" width="1" height="1" fill="#468232" />
+<rect x="12" y="16" width="1" height="1" fill="#468232" />
+<rect x="13" y="16" width="1" height="1" fill="#468232" />
+<rect x="14" y="16" width="1" height="1" fill="#468232" />
+<rect x="15" y="16" width="1" height="1" fill="#468232" />
+<rect x="16" y="16" width="1" height="1" fill="#468232" />
+<rect x="17" y="16" width="1" height="1" fill="#468232" />
+<rect x="18" y="16" width="1" height="1" fill="#468232" />
+<rect x="19" y="16" width="1" height="1" fill="#468232" />
+<rect x="20" y="16" width="1" height="1" fill="#468232" />
+<rect x="21" y="16" width="1" height="1" fill="#468232" />
+<rect x="22" y="16" width="1" height="1" fill="#468232" />
+<rect x="23" y="16" width="1" height="1" fill="#468232" />
+<rect x="24" y="16" width="1" height="1" fill="#468232" />
+<rect x="25" y="16" width="1" height="1" fill="#468232" />
+<rect x="26" y="16" width="1" height="1" fill="#468232" />
+<rect x="27" y="16" width="1" height="1" fill="#468232" />
+<rect x="28" y="16" width="1" height="1" fill="#468232" />
+<rect x="29" y="16" width="1" height="1" fill="#468232" />
+<rect x="30" y="16" width="1" height="1" fill="#468232" />
+<rect x="31" y="16" width="1" height="1" fill="#468232" />
+<rect x="32" y="16" width="1" height="1" fill="#468232" />
+<rect x="33" y="16" width="1" height="1" fill="#468232" />
+<rect x="34" y="16" width="1" height="1" fill="#468232" />
+<rect x="35" y="16" width="1" height="1" fill="#468232" />
+<rect x="36" y="16" width="1" height="1" fill="#468232" />
+<rect x="37" y="16" width="1" height="1" fill="#468232" />
+<rect x="38" y="16" width="1" height="1" fill="#468232" />
+<rect x="39" y="16" width="1" height="1" fill="#468232" />
+<rect x="40" y="16" width="1" height="1" fill="#468232" />
+<rect x="41" y="16" width="1" height="1" fill="#468232" />
+<rect x="42" y="16" width="1" height="1" fill="#468232" />
+<rect x="43" y="16" width="1" height="1" fill="#468232" />
+<rect x="44" y="16" width="1" height="1" fill="#468232" />
+<rect x="45" y="16" width="1" height="1" fill="#468232" />
+<rect x="46" y="16" width="1" height="1" fill="#356427" />
+<rect x="47" y="16" width="1" height="1" fill="#356427" />
+<rect x="0" y="17" width="1" height="1" fill="#356427" />
+<rect x="1" y="17" width="1" height="1" fill="#468232" />
+<rect x="2" y="17" width="1" height="1" fill="#468232" />
+<rect x="3" y="17" width="1" height="1" fill="#468232" />
+<rect x="4" y="17" width="1" height="1" fill="#468232" />
+<rect x="5" y="17" width="1" height="1" fill="#468232" />
+<rect x="6" y="17" width="1" height="1" fill="#468232" />
+<rect x="7" y="17" width="1" height="1" fill="#468232" />
+<rect x="8" y="17" width="1" height="1" fill="#468232" />
+<rect x="9" y="17" width="1" height="1" fill="#468232" />
+<rect x="10" y="17" width="1" height="1" fill="#468232" />
+<rect x="11" y="17" width="1" height="1" fill="#468232" />
+<rect x="12" y="17" width="1" height="1" fill="#468232" />
+<rect x="13" y="17" width="1" height="1" fill="#468232" />
+<rect x="14" y="17" width="1" height="1" fill="#468232" />
+<rect x="15" y="17" width="1" height="1" fill="#468232" />
+<rect x="16" y="17" width="1" height="1" fill="#468232" />
+<rect x="17" y="17" width="1" height="1" fill="#468232" />
+<rect x="18" y="17" width="1" height="1" fill="#468232" />
+<rect x="19" y="17" width="1" height="1" fill="#468232" />
+<rect x="20" y="17" width="1" height="1" fill="#468232" />
+<rect x="21" y="17" width="1" height="1" fill="#468232" />
+<rect x="22" y="17" width="1" height="1" fill="#468232" />
+<rect x="23" y="17" width="1" height="1" fill="#468232" />
+<rect x="24" y="17" width="1" height="1" fill="#468232" />
+<rect x="25" y="17" width="1" height="1" fill="#468232" />
+<rect x="26" y="17" width="1" height="1" fill="#468232" />
+<rect x="27" y="17" width="1" height="1" fill="#468232" />
+<rect x="28" y="17" width="1" height="1" fill="#468232" />
+<rect x="29" y="17" width="1" height="1" fill="#468232" />
+<rect x="30" y="17" width="1" height="1" fill="#468232" />
+<rect x="31" y="17" width="1" height="1" fill="#468232" />
+<rect x="32" y="17" width="1" height="1" fill="#468232" />
+<rect x="33" y="17" width="1" height="1" fill="#468232" />
+<rect x="34" y="17" width="1" height="1" fill="#468232" />
+<rect x="35" y="17" width="1" height="1" fill="#468232" />
+<rect x="36" y="17" width="1" height="1" fill="#468232" />
+<rect x="37" y="17" width="1" height="1" fill="#468232" />
+<rect x="38" y="17" width="1" height="1" fill="#468232" />
+<rect x="39" y="17" width="1" height="1" fill="#468232" />
+<rect x="40" y="17" width="1" height="1" fill="#468232" />
+<rect x="41" y="17" width="1" height="1" fill="#468232" />
+<rect x="42" y="17" width="1" height="1" fill="#468232" />
+<rect x="43" y="17" width="1" height="1" fill="#468232" />
+<rect x="44" y="17" width="1" height="1" fill="#468232" />
+<rect x="45" y="17" width="1" height="1" fill="#356427" />
+<rect x="46" y="17" width="1" height="1" fill="#356427" />
+<rect x="47" y="17" width="1" height="1" fill="#356427" />
+<rect x="0" y="18" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="18" width="1" height="1" fill="#25562E" />
+<rect x="2" y="18" width="1" height="1" fill="#25562E" />
+<rect x="3" y="18" width="1" height="1" fill="#25562E" />
+<rect x="4" y="18" width="1" height="1" fill="#25562E" />
+<rect x="5" y="18" width="1" height="1" fill="#25562E" />
+<rect x="6" y="18" width="1" height="1" fill="#25562E" />
+<rect x="7" y="18" width="1" height="1" fill="#25562E" />
+<rect x="8" y="18" width="1" height="1" fill="#25562E" />
+<rect x="9" y="18" width="1" height="1" fill="#468232" />
+<rect x="10" y="18" width="1" height="1" fill="#468232" />
+<rect x="11" y="18" width="1" height="1" fill="#468232" />
+<rect x="12" y="18" width="1" height="1" fill="#468232" />
+<rect x="13" y="18" width="1" height="1" fill="#25562E" />
+<rect x="14" y="18" width="1" height="1" fill="#25562E" />
+<rect x="15" y="18" width="1" height="1" fill="#25562E" />
+<rect x="16" y="18" width="1" height="1" fill="#25562E" />
+<rect x="17" y="18" width="1" height="1" fill="#25562E" />
+<rect x="18" y="18" width="1" height="1" fill="#25562E" />
+<rect x="19" y="18" width="1" height="1" fill="#25562E" />
+<rect x="20" y="18" width="1" height="1" fill="#25562E" />
+<rect x="21" y="18" width="1" height="1" fill="#25562E" />
+<rect x="22" y="18" width="1" height="1" fill="#25562E" />
+<rect x="23" y="18" width="1" height="1" fill="#25562E" />
+<rect x="24" y="18" width="1" height="1" fill="#25562E" />
+<rect x="25" y="18" width="1" height="1" fill="#25562E" />
+<rect x="26" y="18" width="1" height="1" fill="#25562E" />
+<rect x="27" y="18" width="1" height="1" fill="#25562E" />
+<rect x="28" y="18" width="1" height="1" fill="#25562E" />
+<rect x="29" y="18" width="1" height="1" fill="#25562E" />
+<rect x="30" y="18" width="1" height="1" fill="#25562E" />
+<rect x="31" y="18" width="1" height="1" fill="#25562E" />
+<rect x="32" y="18" width="1" height="1" fill="#25562E" />
+<rect x="33" y="18" width="1" height="1" fill="#25562E" />
+<rect x="34" y="18" width="1" height="1" fill="#25562E" />
+<rect x="35" y="18" width="1" height="1" fill="#25562E" />
+<rect x="36" y="18" width="1" height="1" fill="#25562E" />
+<rect x="37" y="18" width="1" height="1" fill="#25562E" />
+<rect x="38" y="18" width="1" height="1" fill="#25562E" />
+<rect x="39" y="18" width="1" height="1" fill="#25562E" />
+<rect x="40" y="18" width="1" height="1" fill="#25562E" />
+<rect x="41" y="18" width="1" height="1" fill="#25562E" />
+<rect x="42" y="18" width="1" height="1" fill="#25562E" />
+<rect x="43" y="18" width="1" height="1" fill="#25562E" />
+<rect x="44" y="18" width="1" height="1" fill="#25562E" />
+<rect x="45" y="18" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="18" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="18" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="19" width="1" height="1" fill="#356427" />
+<rect x="1" y="19" width="1" height="1" fill="#468232" />
+<rect x="2" y="19" width="1" height="1" fill="#468232" />
+<rect x="3" y="19" width="1" height="1" fill="#468232" />
+<rect x="4" y="19" width="1" height="1" fill="#468232" />
+<rect x="5" y="19" width="1" height="1" fill="#468232" />
+<rect x="6" y="19" width="1" height="1" fill="#468232" />
+<rect x="7" y="19" width="1" height="1" fill="#468232" />
+<rect x="8" y="19" width="1" height="1" fill="#25562E" />
+<rect x="9" y="19" width="1" height="1" fill="#468232" />
+<rect x="10" y="19" width="1" height="1" fill="#468232" />
+<rect x="11" y="19" width="1" height="1" fill="#468232" />
+<rect x="12" y="19" width="1" height="1" fill="#468232" />
+<rect x="13" y="19" width="1" height="1" fill="#25562E" />
+<rect x="14" y="19" width="1" height="1" fill="#468232" />
+<rect x="15" y="19" width="1" height="1" fill="#468232" />
+<rect x="16" y="19" width="1" height="1" fill="#468232" />
+<rect x="17" y="19" width="1" height="1" fill="#468232" />
+<rect x="18" y="19" width="1" height="1" fill="#468232" />
+<rect x="19" y="19" width="1" height="1" fill="#468232" />
+<rect x="20" y="19" width="1" height="1" fill="#468232" />
+<rect x="21" y="19" width="1" height="1" fill="#468232" />
+<rect x="22" y="19" width="1" height="1" fill="#468232" />
+<rect x="23" y="19" width="1" height="1" fill="#468232" />
+<rect x="24" y="19" width="1" height="1" fill="#468232" />
+<rect x="25" y="19" width="1" height="1" fill="#468232" />
+<rect x="26" y="19" width="1" height="1" fill="#468232" />
+<rect x="27" y="19" width="1" height="1" fill="#468232" />
+<rect x="28" y="19" width="1" height="1" fill="#468232" />
+<rect x="29" y="19" width="1" height="1" fill="#468232" />
+<rect x="30" y="19" width="1" height="1" fill="#468232" />
+<rect x="31" y="19" width="1" height="1" fill="#468232" />
+<rect x="32" y="19" width="1" height="1" fill="#468232" />
+<rect x="33" y="19" width="1" height="1" fill="#468232" />
+<rect x="34" y="19" width="1" height="1" fill="#468232" />
+<rect x="35" y="19" width="1" height="1" fill="#468232" />
+<rect x="36" y="19" width="1" height="1" fill="#468232" />
+<rect x="37" y="19" width="1" height="1" fill="#468232" />
+<rect x="38" y="19" width="1" height="1" fill="#468232" />
+<rect x="39" y="19" width="1" height="1" fill="#468232" />
+<rect x="40" y="19" width="1" height="1" fill="#468232" />
+<rect x="41" y="19" width="1" height="1" fill="#468232" />
+<rect x="42" y="19" width="1" height="1" fill="#468232" />
+<rect x="43" y="19" width="1" height="1" fill="#468232" />
+<rect x="44" y="19" width="1" height="1" fill="#468232" />
+<rect x="45" y="19" width="1" height="1" fill="#356427" />
+<rect x="46" y="19" width="1" height="1" fill="#356427" />
+<rect x="47" y="19" width="1" height="1" fill="#356427" />
+<rect x="0" y="20" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="20" width="1" height="1" fill="#25562E" />
+<rect x="2" y="20" width="1" height="1" fill="#25562E" />
+<rect x="3" y="20" width="1" height="1" fill="#25562E" />
+<rect x="4" y="20" width="1" height="1" fill="#25562E" />
+<rect x="5" y="20" width="1" height="1" fill="#25562E" />
+<rect x="6" y="20" width="1" height="1" fill="#25562E" />
+<rect x="7" y="20" width="1" height="1" fill="#468232" />
+<rect x="8" y="20" width="1" height="1" fill="#25562E" />
+<rect x="9" y="20" width="1" height="1" fill="#468232" />
+<rect x="10" y="20" width="1" height="1" fill="#468232" />
+<rect x="11" y="20" width="1" height="1" fill="#468232" />
+<rect x="12" y="20" width="1" height="1" fill="#468232" />
+<rect x="13" y="20" width="1" height="1" fill="#25562E" />
+<rect x="14" y="20" width="1" height="1" fill="#468232" />
+<rect x="15" y="20" width="1" height="1" fill="#25562E" />
+<rect x="16" y="20" width="1" height="1" fill="#25562E" />
+<rect x="17" y="20" width="1" height="1" fill="#25562E" />
+<rect x="18" y="20" width="1" height="1" fill="#25562E" />
+<rect x="19" y="20" width="1" height="1" fill="#25562E" />
+<rect x="20" y="20" width="1" height="1" fill="#25562E" />
+<rect x="21" y="20" width="1" height="1" fill="#25562E" />
+<rect x="22" y="20" width="1" height="1" fill="#25562E" />
+<rect x="23" y="20" width="1" height="1" fill="#25562E" />
+<rect x="24" y="20" width="1" height="1" fill="#25562E" />
+<rect x="25" y="20" width="1" height="1" fill="#25562E" />
+<rect x="26" y="20" width="1" height="1" fill="#25562E" />
+<rect x="27" y="20" width="1" height="1" fill="#25562E" />
+<rect x="28" y="20" width="1" height="1" fill="#25562E" />
+<rect x="29" y="20" width="1" height="1" fill="#25562E" />
+<rect x="30" y="20" width="1" height="1" fill="#25562E" />
+<rect x="31" y="20" width="1" height="1" fill="#25562E" />
+<rect x="32" y="20" width="1" height="1" fill="#25562E" />
+<rect x="33" y="20" width="1" height="1" fill="#25562E" />
+<rect x="34" y="20" width="1" height="1" fill="#25562E" />
+<rect x="35" y="20" width="1" height="1" fill="#25562E" />
+<rect x="36" y="20" width="1" height="1" fill="#25562E" />
+<rect x="37" y="20" width="1" height="1" fill="#25562E" />
+<rect x="38" y="20" width="1" height="1" fill="#25562E" />
+<rect x="39" y="20" width="1" height="1" fill="#25562E" />
+<rect x="40" y="20" width="1" height="1" fill="#25562E" />
+<rect x="41" y="20" width="1" height="1" fill="#25562E" />
+<rect x="42" y="20" width="1" height="1" fill="#25562E" />
+<rect x="43" y="20" width="1" height="1" fill="#25562E" />
+<rect x="44" y="20" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="20" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="20" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="20" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="21" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="21" width="1" height="1" fill="#25562E" />
+<rect x="2" y="21" width="1" height="1" fill="#25562E" />
+<rect x="3" y="21" width="1" height="1" fill="#25562E" />
+<rect x="4" y="21" width="1" height="1" fill="#25562E" />
+<rect x="5" y="21" width="1" height="1" fill="#25562E" />
+<rect x="6" y="21" width="1" height="1" fill="#25562E" />
+<rect x="7" y="21" width="1" height="1" fill="#468232" />
+<rect x="8" y="21" width="1" height="1" fill="#25562E" />
+<rect x="9" y="21" width="1" height="1" fill="#468232" />
+<rect x="10" y="21" width="1" height="1" fill="#468232" />
+<rect x="11" y="21" width="1" height="1" fill="#468232" />
+<rect x="12" y="21" width="1" height="1" fill="#468232" />
+<rect x="13" y="21" width="1" height="1" fill="#25562E" />
+<rect x="14" y="21" width="1" height="1" fill="#468232" />
+<rect x="15" y="21" width="1" height="1" fill="#25562E" />
+<rect x="16" y="21" width="1" height="1" fill="#25562E" />
+<rect x="17" y="21" width="1" height="1" fill="#25562E" />
+<rect x="18" y="21" width="1" height="1" fill="#25562E" />
+<rect x="19" y="21" width="1" height="1" fill="#25562E" />
+<rect x="20" y="21" width="1" height="1" fill="#25562E" />
+<rect x="21" y="21" width="1" height="1" fill="#25562E" />
+<rect x="22" y="21" width="1" height="1" fill="#25562E" />
+<rect x="23" y="21" width="1" height="1" fill="#25562E" />
+<rect x="24" y="21" width="1" height="1" fill="#25562E" />
+<rect x="25" y="21" width="1" height="1" fill="#25562E" />
+<rect x="26" y="21" width="1" height="1" fill="#25562E" />
+<rect x="27" y="21" width="1" height="1" fill="#25562E" />
+<rect x="28" y="21" width="1" height="1" fill="#25562E" />
+<rect x="29" y="21" width="1" height="1" fill="#25562E" />
+<rect x="30" y="21" width="1" height="1" fill="#25562E" />
+<rect x="31" y="21" width="1" height="1" fill="#25562E" />
+<rect x="32" y="21" width="1" height="1" fill="#25562E" />
+<rect x="33" y="21" width="1" height="1" fill="#25562E" />
+<rect x="34" y="21" width="1" height="1" fill="#25562E" />
+<rect x="35" y="21" width="1" height="1" fill="#25562E" />
+<rect x="36" y="21" width="1" height="1" fill="#25562E" />
+<rect x="37" y="21" width="1" height="1" fill="#25562E" />
+<rect x="38" y="21" width="1" height="1" fill="#25562E" />
+<rect x="39" y="21" width="1" height="1" fill="#25562E" />
+<rect x="40" y="21" width="1" height="1" fill="#25562E" />
+<rect x="41" y="21" width="1" height="1" fill="#25562E" />
+<rect x="42" y="21" width="1" height="1" fill="#25562E" />
+<rect x="43" y="21" width="1" height="1" fill="#25562E" />
+<rect x="44" y="21" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="21" width="1" height="1" fill="#25562E" />
+<rect x="46" y="21" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="21" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="22" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="22" width="1" height="1" fill="#25562E" />
+<rect x="2" y="22" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="22" width="1" height="1" fill="#25562E" />
+<rect x="4" y="22" width="1" height="1" fill="#25562E" />
+<rect x="5" y="22" width="1" height="1" fill="#25562E" />
+<rect x="6" y="22" width="1" height="1" fill="#25562E" />
+<rect x="7" y="22" width="1" height="1" fill="#468232" />
+<rect x="8" y="22" width="1" height="1" fill="#25562E" />
+<rect x="9" y="22" width="1" height="1" fill="#468232" />
+<rect x="10" y="22" width="1" height="1" fill="#468232" />
+<rect x="11" y="22" width="1" height="1" fill="#468232" />
+<rect x="12" y="22" width="1" height="1" fill="#468232" />
+<rect x="13" y="22" width="1" height="1" fill="#25562E" />
+<rect x="14" y="22" width="1" height="1" fill="#468232" />
+<rect x="15" y="22" width="1" height="1" fill="#25562E" />
+<rect x="16" y="22" width="1" height="1" fill="#25562E" />
+<rect x="17" y="22" width="1" height="1" fill="#25562E" />
+<rect x="18" y="22" width="1" height="1" fill="#25562E" />
+<rect x="19" y="22" width="1" height="1" fill="#25562E" />
+<rect x="20" y="22" width="1" height="1" fill="#25562E" />
+<rect x="21" y="22" width="1" height="1" fill="#25562E" />
+<rect x="22" y="22" width="1" height="1" fill="#25562E" />
+<rect x="23" y="22" width="1" height="1" fill="#25562E" />
+<rect x="24" y="22" width="1" height="1" fill="#25562E" />
+<rect x="25" y="22" width="1" height="1" fill="#25562E" />
+<rect x="26" y="22" width="1" height="1" fill="#25562E" />
+<rect x="27" y="22" width="1" height="1" fill="#25562E" />
+<rect x="28" y="22" width="1" height="1" fill="#25562E" />
+<rect x="29" y="22" width="1" height="1" fill="#25562E" />
+<rect x="30" y="22" width="1" height="1" fill="#25562E" />
+<rect x="31" y="22" width="1" height="1" fill="#25562E" />
+<rect x="32" y="22" width="1" height="1" fill="#25562E" />
+<rect x="33" y="22" width="1" height="1" fill="#25562E" />
+<rect x="34" y="22" width="1" height="1" fill="#25562E" />
+<rect x="35" y="22" width="1" height="1" fill="#25562E" />
+<rect x="36" y="22" width="1" height="1" fill="#25562E" />
+<rect x="37" y="22" width="1" height="1" fill="#25562E" />
+<rect x="38" y="22" width="1" height="1" fill="#25562E" />
+<rect x="39" y="22" width="1" height="1" fill="#25562E" />
+<rect x="40" y="22" width="1" height="1" fill="#25562E" />
+<rect x="41" y="22" width="1" height="1" fill="#25562E" />
+<rect x="42" y="22" width="1" height="1" fill="#25562E" />
+<rect x="43" y="22" width="1" height="1" fill="#25562E" />
+<rect x="44" y="22" width="1" height="1" fill="#25562E" />
+<rect x="45" y="22" width="1" height="1" fill="#25562E" />
+<rect x="46" y="22" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="22" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="23" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="23" width="1" height="1" fill="#25562E" />
+<rect x="2" y="23" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="23" width="1" height="1" fill="#25562E" />
+<rect x="4" y="23" width="1" height="1" fill="#25562E" />
+<rect x="5" y="23" width="1" height="1" fill="#25562E" />
+<rect x="6" y="23" width="1" height="1" fill="#25562E" />
+<rect x="7" y="23" width="1" height="1" fill="#468232" />
+<rect x="8" y="23" width="1" height="1" fill="#25562E" />
+<rect x="9" y="23" width="1" height="1" fill="#468232" />
+<rect x="10" y="23" width="1" height="1" fill="#468232" />
+<rect x="11" y="23" width="1" height="1" fill="#468232" />
+<rect x="12" y="23" width="1" height="1" fill="#468232" />
+<rect x="13" y="23" width="1" height="1" fill="#25562E" />
+<rect x="14" y="23" width="1" height="1" fill="#468232" />
+<rect x="15" y="23" width="1" height="1" fill="#25562E" />
+<rect x="16" y="23" width="1" height="1" fill="#25562E" />
+<rect x="17" y="23" width="1" height="1" fill="#25562E" />
+<rect x="18" y="23" width="1" height="1" fill="#25562E" />
+<rect x="19" y="23" width="1" height="1" fill="#25562E" />
+<rect x="20" y="23" width="1" height="1" fill="#25562E" />
+<rect x="21" y="23" width="1" height="1" fill="#25562E" />
+<rect x="22" y="23" width="1" height="1" fill="#25562E" />
+<rect x="23" y="23" width="1" height="1" fill="#25562E" />
+<rect x="24" y="23" width="1" height="1" fill="#25562E" />
+<rect x="25" y="23" width="1" height="1" fill="#25562E" />
+<rect x="26" y="23" width="1" height="1" fill="#25562E" />
+<rect x="27" y="23" width="1" height="1" fill="#25562E" />
+<rect x="28" y="23" width="1" height="1" fill="#25562E" />
+<rect x="29" y="23" width="1" height="1" fill="#25562E" />
+<rect x="30" y="23" width="1" height="1" fill="#25562E" />
+<rect x="31" y="23" width="1" height="1" fill="#25562E" />
+<rect x="32" y="23" width="1" height="1" fill="#25562E" />
+<rect x="33" y="23" width="1" height="1" fill="#25562E" />
+<rect x="34" y="23" width="1" height="1" fill="#25562E" />
+<rect x="35" y="23" width="1" height="1" fill="#25562E" />
+<rect x="36" y="23" width="1" height="1" fill="#25562E" />
+<rect x="37" y="23" width="1" height="1" fill="#25562E" />
+<rect x="38" y="23" width="1" height="1" fill="#25562E" />
+<rect x="39" y="23" width="1" height="1" fill="#25562E" />
+<rect x="40" y="23" width="1" height="1" fill="#25562E" />
+<rect x="41" y="23" width="1" height="1" fill="#25562E" />
+<rect x="42" y="23" width="1" height="1" fill="#25562E" />
+<rect x="43" y="23" width="1" height="1" fill="#25562E" />
+<rect x="44" y="23" width="1" height="1" fill="#25562E" />
+<rect x="45" y="23" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="23" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="23" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="24" width="1" height="1" fill="#25562E" />
+<rect x="2" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="24" width="1" height="1" fill="#25562E" />
+<rect x="5" y="24" width="1" height="1" fill="#25562E" />
+<rect x="6" y="24" width="1" height="1" fill="#25562E" />
+<rect x="7" y="24" width="1" height="1" fill="#468232" />
+<rect x="8" y="24" width="1" height="1" fill="#25562E" />
+<rect x="9" y="24" width="1" height="1" fill="#468232" />
+<rect x="10" y="24" width="1" height="1" fill="#468232" />
+<rect x="11" y="24" width="1" height="1" fill="#468232" />
+<rect x="12" y="24" width="1" height="1" fill="#468232" />
+<rect x="13" y="24" width="1" height="1" fill="#25562E" />
+<rect x="14" y="24" width="1" height="1" fill="#468232" />
+<rect x="15" y="24" width="1" height="1" fill="#25562E" />
+<rect x="16" y="24" width="1" height="1" fill="#25562E" />
+<rect x="17" y="24" width="1" height="1" fill="#25562E" />
+<rect x="18" y="24" width="1" height="1" fill="#25562E" />
+<rect x="19" y="24" width="1" height="1" fill="#25562E" />
+<rect x="20" y="24" width="1" height="1" fill="#25562E" />
+<rect x="21" y="24" width="1" height="1" fill="#25562E" />
+<rect x="22" y="24" width="1" height="1" fill="#25562E" />
+<rect x="23" y="24" width="1" height="1" fill="#25562E" />
+<rect x="24" y="24" width="1" height="1" fill="#25562E" />
+<rect x="25" y="24" width="1" height="1" fill="#25562E" />
+<rect x="26" y="24" width="1" height="1" fill="#25562E" />
+<rect x="27" y="24" width="1" height="1" fill="#25562E" />
+<rect x="28" y="24" width="1" height="1" fill="#25562E" />
+<rect x="29" y="24" width="1" height="1" fill="#25562E" />
+<rect x="30" y="24" width="1" height="1" fill="#25562E" />
+<rect x="31" y="24" width="1" height="1" fill="#25562E" />
+<rect x="32" y="24" width="1" height="1" fill="#25562E" />
+<rect x="33" y="24" width="1" height="1" fill="#25562E" />
+<rect x="34" y="24" width="1" height="1" fill="#25562E" />
+<rect x="35" y="24" width="1" height="1" fill="#25562E" />
+<rect x="36" y="24" width="1" height="1" fill="#25562E" />
+<rect x="37" y="24" width="1" height="1" fill="#25562E" />
+<rect x="38" y="24" width="1" height="1" fill="#25562E" />
+<rect x="39" y="24" width="1" height="1" fill="#25562E" />
+<rect x="40" y="24" width="1" height="1" fill="#25562E" />
+<rect x="41" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="24" width="1" height="1" fill="#25562E" />
+<rect x="43" y="24" width="1" height="1" fill="#25562E" />
+<rect x="44" y="24" width="1" height="1" fill="#25562E" />
+<rect x="45" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="24" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="25" width="1" height="1" fill="#25562E" />
+<rect x="6" y="25" width="1" height="1" fill="#25562E" />
+<rect x="7" y="25" width="1" height="1" fill="#468232" />
+<rect x="8" y="25" width="1" height="1" fill="#25562E" />
+<rect x="9" y="25" width="1" height="1" fill="#468232" />
+<rect x="10" y="25" width="1" height="1" fill="#468232" />
+<rect x="11" y="25" width="1" height="1" fill="#468232" />
+<rect x="12" y="25" width="1" height="1" fill="#468232" />
+<rect x="13" y="25" width="1" height="1" fill="#25562E" />
+<rect x="14" y="25" width="1" height="1" fill="#468232" />
+<rect x="15" y="25" width="1" height="1" fill="#25562E" />
+<rect x="16" y="25" width="1" height="1" fill="#25562E" />
+<rect x="17" y="25" width="1" height="1" fill="#25562E" />
+<rect x="18" y="25" width="1" height="1" fill="#25562E" />
+<rect x="19" y="25" width="1" height="1" fill="#25562E" />
+<rect x="20" y="25" width="1" height="1" fill="#25562E" />
+<rect x="21" y="25" width="1" height="1" fill="#25562E" />
+<rect x="22" y="25" width="1" height="1" fill="#25562E" />
+<rect x="23" y="25" width="1" height="1" fill="#25562E" />
+<rect x="24" y="25" width="1" height="1" fill="#25562E" />
+<rect x="25" y="25" width="1" height="1" fill="#25562E" />
+<rect x="26" y="25" width="1" height="1" fill="#25562E" />
+<rect x="27" y="25" width="1" height="1" fill="#25562E" />
+<rect x="28" y="25" width="1" height="1" fill="#25562E" />
+<rect x="29" y="25" width="1" height="1" fill="#25562E" />
+<rect x="30" y="25" width="1" height="1" fill="#25562E" />
+<rect x="31" y="25" width="1" height="1" fill="#25562E" />
+<rect x="32" y="25" width="1" height="1" fill="#25562E" />
+<rect x="33" y="25" width="1" height="1" fill="#25562E" />
+<rect x="34" y="25" width="1" height="1" fill="#25562E" />
+<rect x="35" y="25" width="1" height="1" fill="#25562E" />
+<rect x="36" y="25" width="1" height="1" fill="#25562E" />
+<rect x="37" y="25" width="1" height="1" fill="#25562E" />
+<rect x="38" y="25" width="1" height="1" fill="#25562E" />
+<rect x="39" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="25" width="1" height="1" fill="#25562E" />
+<rect x="43" y="25" width="1" height="1" fill="#25562E" />
+<rect x="44" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="25" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="26" width="1" height="1" fill="#25562E" />
+<rect x="3" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="26" width="1" height="1" fill="#25562E" />
+<rect x="7" y="26" width="1" height="1" fill="#468232" />
+<rect x="8" y="26" width="1" height="1" fill="#25562E" />
+<rect x="9" y="26" width="1" height="1" fill="#468232" />
+<rect x="10" y="26" width="1" height="1" fill="#468232" />
+<rect x="11" y="26" width="1" height="1" fill="#468232" />
+<rect x="12" y="26" width="1" height="1" fill="#468232" />
+<rect x="13" y="26" width="1" height="1" fill="#25562E" />
+<rect x="14" y="26" width="1" height="1" fill="#468232" />
+<rect x="15" y="26" width="1" height="1" fill="#25562E" />
+<rect x="16" y="26" width="1" height="1" fill="#25562E" />
+<rect x="17" y="26" width="1" height="1" fill="#25562E" />
+<rect x="18" y="26" width="1" height="1" fill="#25562E" />
+<rect x="19" y="26" width="1" height="1" fill="#25562E" />
+<rect x="20" y="26" width="1" height="1" fill="#25562E" />
+<rect x="21" y="26" width="1" height="1" fill="#25562E" />
+<rect x="22" y="26" width="1" height="1" fill="#25562E" />
+<rect x="23" y="26" width="1" height="1" fill="#25562E" />
+<rect x="24" y="26" width="1" height="1" fill="#25562E" />
+<rect x="25" y="26" width="1" height="1" fill="#25562E" />
+<rect x="26" y="26" width="1" height="1" fill="#25562E" />
+<rect x="27" y="26" width="1" height="1" fill="#25562E" />
+<rect x="28" y="26" width="1" height="1" fill="#25562E" />
+<rect x="29" y="26" width="1" height="1" fill="#25562E" />
+<rect x="30" y="26" width="1" height="1" fill="#25562E" />
+<rect x="31" y="26" width="1" height="1" fill="#25562E" />
+<rect x="32" y="26" width="1" height="1" fill="#25562E" />
+<rect x="33" y="26" width="1" height="1" fill="#25562E" />
+<rect x="34" y="26" width="1" height="1" fill="#25562E" />
+<rect x="35" y="26" width="1" height="1" fill="#25562E" />
+<rect x="36" y="26" width="1" height="1" fill="#25562E" />
+<rect x="37" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="26" width="1" height="1" fill="#25562E" />
+<rect x="44" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="26" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="27" width="1" height="1" fill="#25562E" />
+<rect x="3" y="27" width="1" height="1" fill="#25562E" />
+<rect x="4" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="27" width="1" height="1" fill="#356427" />
+<rect x="8" y="27" width="1" height="1" fill="#25562E" />
+<rect x="9" y="27" width="1" height="1" fill="#468232" />
+<rect x="10" y="27" width="1" height="1" fill="#468232" />
+<rect x="11" y="27" width="1" height="1" fill="#468232" />
+<rect x="12" y="27" width="1" height="1" fill="#468232" />
+<rect x="13" y="27" width="1" height="1" fill="#25562E" />
+<rect x="14" y="27" width="1" height="1" fill="#468232" />
+<rect x="15" y="27" width="1" height="1" fill="#25562E" />
+<rect x="16" y="27" width="1" height="1" fill="#25562E" />
+<rect x="17" y="27" width="1" height="1" fill="#25562E" />
+<rect x="18" y="27" width="1" height="1" fill="#25562E" />
+<rect x="19" y="27" width="1" height="1" fill="#25562E" />
+<rect x="20" y="27" width="1" height="1" fill="#25562E" />
+<rect x="21" y="27" width="1" height="1" fill="#25562E" />
+<rect x="22" y="27" width="1" height="1" fill="#25562E" />
+<rect x="23" y="27" width="1" height="1" fill="#25562E" />
+<rect x="24" y="27" width="1" height="1" fill="#25562E" />
+<rect x="25" y="27" width="1" height="1" fill="#25562E" />
+<rect x="26" y="27" width="1" height="1" fill="#25562E" />
+<rect x="27" y="27" width="1" height="1" fill="#25562E" />
+<rect x="28" y="27" width="1" height="1" fill="#25562E" />
+<rect x="29" y="27" width="1" height="1" fill="#25562E" />
+<rect x="30" y="27" width="1" height="1" fill="#25562E" />
+<rect x="31" y="27" width="1" height="1" fill="#25562E" />
+<rect x="32" y="27" width="1" height="1" fill="#25562E" />
+<rect x="33" y="27" width="1" height="1" fill="#25562E" />
+<rect x="34" y="27" width="1" height="1" fill="#25562E" />
+<rect x="35" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="36" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="37" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="27" width="1" height="1" fill="#25562E" />
+<rect x="43" y="27" width="1" height="1" fill="#25562E" />
+<rect x="44" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="27" width="1" height="1" fill="#25562E" />
+<rect x="47" y="27" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="28" width="1" height="1" fill="#25562E" />
+<rect x="4" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="28" width="1" height="1" fill="#356427" />
+<rect x="8" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="9" y="28" width="1" height="1" fill="#468232" />
+<rect x="10" y="28" width="1" height="1" fill="#468232" />
+<rect x="11" y="28" width="1" height="1" fill="#468232" />
+<rect x="12" y="28" width="1" height="1" fill="#468232" />
+<rect x="13" y="28" width="1" height="1" fill="#25562E" />
+<rect x="14" y="28" width="1" height="1" fill="#468232" />
+<rect x="15" y="28" width="1" height="1" fill="#25562E" />
+<rect x="16" y="28" width="1" height="1" fill="#25562E" />
+<rect x="17" y="28" width="1" height="1" fill="#25562E" />
+<rect x="18" y="28" width="1" height="1" fill="#25562E" />
+<rect x="19" y="28" width="1" height="1" fill="#25562E" />
+<rect x="20" y="28" width="1" height="1" fill="#25562E" />
+<rect x="21" y="28" width="1" height="1" fill="#25562E" />
+<rect x="22" y="28" width="1" height="1" fill="#25562E" />
+<rect x="23" y="28" width="1" height="1" fill="#25562E" />
+<rect x="24" y="28" width="1" height="1" fill="#25562E" />
+<rect x="25" y="28" width="1" height="1" fill="#25562E" />
+<rect x="26" y="28" width="1" height="1" fill="#25562E" />
+<rect x="27" y="28" width="1" height="1" fill="#25562E" />
+<rect x="28" y="28" width="1" height="1" fill="#25562E" />
+<rect x="29" y="28" width="1" height="1" fill="#25562E" />
+<rect x="30" y="28" width="1" height="1" fill="#25562E" />
+<rect x="31" y="28" width="1" height="1" fill="#25562E" />
+<rect x="32" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="33" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="34" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="35" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="36" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="37" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="28" width="1" height="1" fill="#25562E" />
+<rect x="39" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="28" width="1" height="1" fill="#25562E" />
+<rect x="42" y="28" width="1" height="1" fill="#25562E" />
+<rect x="43" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="28" width="1" height="1" fill="#25562E" />
+<rect x="46" y="28" width="1" height="1" fill="#25562E" />
+<rect x="47" y="28" width="1" height="1" fill="#1C4124" />
+<rect x="0" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="29" width="1" height="1" fill="#356427" />
+<rect x="8" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="9" y="29" width="1" height="1" fill="#356427" />
+<rect x="10" y="29" width="1" height="1" fill="#356427" />
+<rect x="11" y="29" width="1" height="1" fill="#356427" />
+<rect x="12" y="29" width="1" height="1" fill="#468232" />
+<rect x="13" y="29" width="1" height="1" fill="#25562E" />
+<rect x="14" y="29" width="1" height="1" fill="#468232" />
+<rect x="15" y="29" width="1" height="1" fill="#25562E" />
+<rect x="16" y="29" width="1" height="1" fill="#25562E" />
+<rect x="17" y="29" width="1" height="1" fill="#25562E" />
+<rect x="18" y="29" width="1" height="1" fill="#25562E" />
+<rect x="19" y="29" width="1" height="1" fill="#25562E" />
+<rect x="20" y="29" width="1" height="1" fill="#25562E" />
+<rect x="21" y="29" width="1" height="1" fill="#25562E" />
+<rect x="22" y="29" width="1" height="1" fill="#25562E" />
+<rect x="23" y="29" width="1" height="1" fill="#25562E" />
+<rect x="24" y="29" width="1" height="1" fill="#25562E" />
+<rect x="25" y="29" width="1" height="1" fill="#25562E" />
+<rect x="26" y="29" width="1" height="1" fill="#25562E" />
+<rect x="27" y="29" width="1" height="1" fill="#25562E" />
+<rect x="28" y="29" width="1" height="1" fill="#25562E" />
+<rect x="29" y="29" width="1" height="1" fill="#25562E" />
+<rect x="30" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="31" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="32" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="33" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="34" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="35" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="36" y="29" width="1" height="1" fill="#25562E" />
+<rect x="37" y="29" width="1" height="1" fill="#25562E" />
+<rect x="38" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="29" width="1" height="1" fill="#25562E" />
+<rect x="42" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="29" width="1" height="1" fill="#25562E" />
+<rect x="46" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="47" y="29" width="1" height="1" fill="#1C4124" />
+<rect x="1" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="30" width="1" height="1" fill="#356427" />
+<rect x="8" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="9" y="30" width="1" height="1" fill="#468232" />
+<rect x="10" y="30" width="1" height="1" fill="#468232" />
+<rect x="11" y="30" width="1" height="1" fill="#468232" />
+<rect x="12" y="30" width="1" height="1" fill="#468232" />
+<rect x="13" y="30" width="1" height="1" fill="#25562E" />
+<rect x="14" y="30" width="1" height="1" fill="#468232" />
+<rect x="15" y="30" width="1" height="1" fill="#25562E" />
+<rect x="16" y="30" width="1" height="1" fill="#25562E" />
+<rect x="17" y="30" width="1" height="1" fill="#25562E" />
+<rect x="18" y="30" width="1" height="1" fill="#25562E" />
+<rect x="19" y="30" width="1" height="1" fill="#25562E" />
+<rect x="20" y="30" width="1" height="1" fill="#25562E" />
+<rect x="21" y="30" width="1" height="1" fill="#25562E" />
+<rect x="22" y="30" width="1" height="1" fill="#25562E" />
+<rect x="23" y="30" width="1" height="1" fill="#25562E" />
+<rect x="24" y="30" width="1" height="1" fill="#25562E" />
+<rect x="25" y="30" width="1" height="1" fill="#25562E" />
+<rect x="26" y="30" width="1" height="1" fill="#25562E" />
+<rect x="27" y="30" width="1" height="1" fill="#25562E" />
+<rect x="28" y="30" width="1" height="1" fill="#25562E" />
+<rect x="29" y="30" width="1" height="1" fill="#25562E" />
+<rect x="30" y="30" width="1" height="1" fill="#25562E" />
+<rect x="31" y="30" width="1" height="1" fill="#25562E" />
+<rect x="32" y="30" width="1" height="1" fill="#25562E" />
+<rect x="33" y="30" width="1" height="1" fill="#25562E" />
+<rect x="34" y="30" width="1" height="1" fill="#25562E" />
+<rect x="35" y="30" width="1" height="1" fill="#25562E" />
+<rect x="36" y="30" width="1" height="1" fill="#25562E" />
+<rect x="37" y="30" width="1" height="1" fill="#25562E" />
+<rect x="38" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="46" y="30" width="1" height="1" fill="#1C4124" />
+<rect x="2" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="3" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="4" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="5" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="6" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="7" y="31" width="1" height="1" fill="#356427" />
+<rect x="8" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="9" y="31" width="1" height="1" fill="#356427" />
+<rect x="10" y="31" width="1" height="1" fill="#356427" />
+<rect x="11" y="31" width="1" height="1" fill="#356427" />
+<rect x="12" y="31" width="1" height="1" fill="#356427" />
+<rect x="13" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="14" y="31" width="1" height="1" fill="#356427" />
+<rect x="15" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="16" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="17" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="18" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="19" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="20" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="21" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="22" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="23" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="24" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="25" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="26" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="27" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="28" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="29" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="30" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="31" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="32" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="33" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="34" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="35" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="36" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="37" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="38" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="39" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="40" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="41" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="42" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="43" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="44" y="31" width="1" height="1" fill="#1C4124" />
+<rect x="45" y="31" width="1" height="1" fill="#1C4124" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/flags/Vosaka.svg b/Edikoyo/.obsidian/icons/flags/Vosaka.svg
new file mode 100644
index 0000000..70efc84
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/flags/Vosaka.svg
@@ -0,0 +1,1527 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="32" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="2" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="3" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="4" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="5" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="7" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="8" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="9" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="10" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="11" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="12" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="13" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="14" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="15" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="16" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="17" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="18" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="19" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="20" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="21" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="22" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="23" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="24" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="25" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="26" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="27" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="28" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="29" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="30" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="31" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="32" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="33" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="34" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="35" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="36" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="37" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="38" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="39" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="42" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="43" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="44" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="0" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="3" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="4" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="5" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="7" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="8" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="9" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="10" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="34" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="35" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="36" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="37" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="38" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="39" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="1" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="42" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="43" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="44" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="1" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="3" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="4" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="5" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="38" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="39" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="2" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="43" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="44" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="2" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="3" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="4" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="5" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="7" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="3" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="36" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="37" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="38" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="39" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="42" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="43" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="44" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="3" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="5" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="7" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="4" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="4" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="37" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="38" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="39" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="42" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="43" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="44" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="4" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="3" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="7" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="39" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="42" y="5" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="44" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="5" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="6" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="6" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="6" width="1" height="1" fill="#6B3922" />
+<rect x="3" y="6" width="1" height="1" fill="#6B3922" />
+<rect x="4" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="6" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="6" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="6" width="1" height="1" fill="#6B3922" />
+<rect x="42" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="6" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="6" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="6" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="6" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="6" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="7" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="7" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="7" width="1" height="1" fill="#6B3922" />
+<rect x="3" y="7" width="1" height="1" fill="#6B3922" />
+<rect x="4" y="7" width="1" height="1" fill="#6B3922" />
+<rect x="5" y="7" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="7" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="7" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="7" width="1" height="1" fill="#AE5A22" />
+<rect x="41" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="7" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="7" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="7" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="7" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="7" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="8" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="8" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="8" width="1" height="1" fill="#6B3922" />
+<rect x="6" y="8" width="1" height="1" fill="#6B3922" />
+<rect x="7" y="8" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="8" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="8" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="8" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="8" width="1" height="1" fill="#AE5A22" />
+<rect x="41" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="8" width="1" height="1" fill="#884B2B" />
+<rect x="45" y="8" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="8" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="8" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="9" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="9" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="9" width="1" height="1" fill="#6B3922" />
+<rect x="40" y="9" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="9" width="1" height="1" fill="#884B2B" />
+<rect x="45" y="9" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="9" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="9" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="10" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="10" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="10" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="45" y="10" width="1" height="1" fill="#884B2B" />
+<rect x="46" y="10" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="10" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="11" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="11" width="1" height="1" fill="#6B3922" />
+<rect x="2" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="11" width="1" height="1" fill="#6B3922" />
+<rect x="41" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="45" y="11" width="1" height="1" fill="#884B2B" />
+<rect x="46" y="11" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="11" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="12" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="2" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="45" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="46" y="12" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="12" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="13" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="2" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="45" y="13" width="1" height="1" fill="#884B2B" />
+<rect x="46" y="13" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="13" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="14" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="2" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="45" y="14" width="1" height="1" fill="#884B2B" />
+<rect x="46" y="14" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="14" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="15" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="2" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="45" y="15" width="1" height="1" fill="#884B2B" />
+<rect x="46" y="15" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="15" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="16" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="2" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="16" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="16" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="45" y="16" width="1" height="1" fill="#884B2B" />
+<rect x="46" y="16" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="16" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="17" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="2" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="8" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="9" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="17" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="17" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="45" y="17" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="17" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="17" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="18" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="2" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="40" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="41" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="45" y="18" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="18" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="18" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="19" width="1" height="1" fill="#6B3922" />
+<rect x="1" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="2" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="7" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="40" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="41" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="45" y="19" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="19" width="1" height="1" fill="#6B3922" />
+<rect x="47" y="19" width="1" height="1" fill="#6B3922" />
+<rect x="0" y="20" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="2" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="3" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="4" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="7" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="40" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="41" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="42" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="20" width="1" height="1" fill="#6B3922" />
+<rect x="45" y="20" width="1" height="1" fill="#6B3922" />
+<rect x="46" y="20" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="20" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="21" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="2" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="3" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="4" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="5" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="6" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="7" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="40" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="41" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="42" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="44" y="21" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="46" y="21" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="21" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="22" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="2" y="22" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="4" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="5" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="6" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="7" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="40" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="41" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="42" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="43" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="44" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="45" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="46" y="22" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="22" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="23" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="2" y="23" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="4" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="5" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="6" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="7" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="40" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="41" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="42" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="43" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="44" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="45" y="23" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="23" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="23" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="2" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="4" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="5" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="6" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="7" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="40" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="41" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="42" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="43" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="44" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="45" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="24" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="4" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="5" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="6" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="7" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="38" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="40" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="41" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="42" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="43" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="44" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="25" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="3" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="4" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="5" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="6" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="7" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="35" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="38" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="39" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="40" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="41" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="42" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="43" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="44" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="26" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="3" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="4" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="5" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="6" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="7" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="8" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="35" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="36" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="37" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="38" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="39" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="40" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="41" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="42" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="43" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="44" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="47" y="27" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="4" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="5" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="6" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="7" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="8" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="9" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="33" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="34" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="35" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="36" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="37" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="38" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="40" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="41" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="42" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="43" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="44" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="46" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="47" y="28" width="1" height="1" fill="#AE5A22" />
+<rect x="0" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="4" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="5" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="6" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="7" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="8" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="9" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="10" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="11" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="12" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="31" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="32" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="33" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="34" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="35" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="36" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="38" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="39" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="40" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="41" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="42" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="43" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="44" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="46" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="47" y="29" width="1" height="1" fill="#AE5A22" />
+<rect x="1" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="4" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="5" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="6" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="7" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="8" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="9" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="35" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="38" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="39" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="40" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="41" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="42" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="43" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="44" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="46" y="30" width="1" height="1" fill="#AE5A22" />
+<rect x="2" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="3" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="4" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="5" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="6" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="7" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="8" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="9" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="10" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="11" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="12" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="13" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="14" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="15" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="16" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="17" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="18" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="19" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="20" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="21" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="22" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="23" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="24" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="25" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="26" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="27" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="28" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="29" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="30" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="31" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="32" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="33" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="34" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="35" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="36" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="37" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="38" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="39" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="40" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="41" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="42" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="43" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="44" y="31" width="1" height="1" fill="#AE5A22" />
+<rect x="45" y="31" width="1" height="1" fill="#AE5A22" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/slimes/Ababa1.svg b/Edikoyo/.obsidian/icons/slimes/Ababa1.svg
new file mode 100644
index 0000000..d77af77
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/slimes/Ababa1.svg
@@ -0,0 +1,1229 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="48" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="19" y="9" width="1" height="1" fill="#10182A" />
+<rect x="20" y="9" width="1" height="1" fill="#10182A" />
+<rect x="21" y="9" width="1" height="1" fill="#10182A" />
+<rect x="22" y="9" width="1" height="1" fill="#10182A" />
+<rect x="23" y="9" width="1" height="1" fill="#10182A" />
+<rect x="24" y="9" width="1" height="1" fill="#10182A" />
+<rect x="18" y="10" width="1" height="1" fill="#10182A" />
+<rect x="19" y="10" width="1" height="1" fill="#10182A" />
+<rect x="20" y="10" width="1" height="1" fill="#10182A" />
+<rect x="21" y="10" width="1" height="1" fill="#10182A" />
+<rect x="22" y="10" width="1" height="1" fill="#10182A" />
+<rect x="23" y="10" width="1" height="1" fill="#10182A" />
+<rect x="24" y="10" width="1" height="1" fill="#10182A" />
+<rect x="25" y="10" width="1" height="1" fill="#10182A" />
+<rect x="28" y="10" width="1" height="1" fill="#10182A" />
+<rect x="29" y="10" width="1" height="1" fill="#10182A" />
+<rect x="30" y="10" width="1" height="1" fill="#10182A" />
+<rect x="31" y="10" width="1" height="1" fill="#10182A" />
+<rect x="38" y="10" width="1" height="1" fill="#10182A" />
+<rect x="39" y="10" width="1" height="1" fill="#10182A" />
+<rect x="40" y="10" width="1" height="1" fill="#10182A" />
+<rect x="41" y="10" width="1" height="1" fill="#10182A" />
+<rect x="9" y="11" width="1" height="1" fill="#10182A" />
+<rect x="10" y="11" width="1" height="1" fill="#10182A" />
+<rect x="11" y="11" width="1" height="1" fill="#10182A" />
+<rect x="12" y="11" width="1" height="1" fill="#10182A" />
+<rect x="13" y="11" width="1" height="1" fill="#10182A" />
+<rect x="14" y="11" width="1" height="1" fill="#10182A" />
+<rect x="15" y="11" width="1" height="1" fill="#10182A" />
+<rect x="17" y="11" width="1" height="1" fill="#10182A" />
+<rect x="18" y="11" width="1" height="1" fill="#10182A" />
+<rect x="19" y="11" width="1" height="1" fill="#10182A" />
+<rect x="20" y="11" width="1" height="1" fill="#10182A" />
+<rect x="21" y="11" width="1" height="1" fill="#10182A" />
+<rect x="22" y="11" width="1" height="1" fill="#10182A" />
+<rect x="23" y="11" width="1" height="1" fill="#10182A" />
+<rect x="24" y="11" width="1" height="1" fill="#10182A" />
+<rect x="25" y="11" width="1" height="1" fill="#10182A" />
+<rect x="26" y="11" width="1" height="1" fill="#10182A" />
+<rect x="27" y="11" width="1" height="1" fill="#10182A" />
+<rect x="28" y="11" width="1" height="1" fill="#10182A" />
+<rect x="29" y="11" width="1" height="1" fill="#10182A" />
+<rect x="30" y="11" width="1" height="1" fill="#10182A" />
+<rect x="31" y="11" width="1" height="1" fill="#10182A" />
+<rect x="32" y="11" width="1" height="1" fill="#10182A" />
+<rect x="33" y="11" width="1" height="1" fill="#10182A" />
+<rect x="34" y="11" width="1" height="1" fill="#10182A" />
+<rect x="35" y="11" width="1" height="1" fill="#10182A" />
+<rect x="36" y="11" width="1" height="1" fill="#10182A" />
+<rect x="37" y="11" width="1" height="1" fill="#10182A" />
+<rect x="38" y="11" width="1" height="1" fill="#10182A" />
+<rect x="39" y="11" width="1" height="1" fill="#10182A" />
+<rect x="40" y="11" width="1" height="1" fill="#10182A" />
+<rect x="41" y="11" width="1" height="1" fill="#10182A" />
+<rect x="42" y="11" width="1" height="1" fill="#10182A" />
+<rect x="8" y="12" width="1" height="1" fill="#10182A" />
+<rect x="9" y="12" width="1" height="1" fill="#10182A" />
+<rect x="10" y="12" width="1" height="1" fill="#10182A" />
+<rect x="11" y="12" width="1" height="1" fill="#10182A" />
+<rect x="12" y="12" width="1" height="1" fill="#10182A" />
+<rect x="13" y="12" width="1" height="1" fill="#10182A" />
+<rect x="14" y="12" width="1" height="1" fill="#10182A" />
+<rect x="15" y="12" width="1" height="1" fill="#10182A" />
+<rect x="16" y="12" width="1" height="1" fill="#10182A" />
+<rect x="17" y="12" width="1" height="1" fill="#10182A" />
+<rect x="18" y="12" width="1" height="1" fill="#10182A" />
+<rect x="19" y="12" width="1" height="1" fill="#10182A" />
+<rect x="20" y="12" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="12" width="1" height="1" fill="#5F3580" />
+<rect x="22" y="12" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="12" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="12" width="1" height="1" fill="#10182A" />
+<rect x="25" y="12" width="1" height="1" fill="#10182A" />
+<rect x="26" y="12" width="1" height="1" fill="#10182A" />
+<rect x="27" y="12" width="1" height="1" fill="#10182A" />
+<rect x="28" y="12" width="1" height="1" fill="#10182A" />
+<rect x="29" y="12" width="1" height="1" fill="#10182A" />
+<rect x="30" y="12" width="1" height="1" fill="#10182A" />
+<rect x="31" y="12" width="1" height="1" fill="#10182A" />
+<rect x="32" y="12" width="1" height="1" fill="#10182A" />
+<rect x="33" y="12" width="1" height="1" fill="#10182A" />
+<rect x="34" y="12" width="1" height="1" fill="#10182A" />
+<rect x="35" y="12" width="1" height="1" fill="#10182A" />
+<rect x="36" y="12" width="1" height="1" fill="#10182A" />
+<rect x="37" y="12" width="1" height="1" fill="#10182A" />
+<rect x="38" y="12" width="1" height="1" fill="#10182A" />
+<rect x="39" y="12" width="1" height="1" fill="#10182A" />
+<rect x="40" y="12" width="1" height="1" fill="#10182A" />
+<rect x="41" y="12" width="1" height="1" fill="#10182A" />
+<rect x="42" y="12" width="1" height="1" fill="#10182A" />
+<rect x="7" y="13" width="1" height="1" fill="#10182A" />
+<rect x="8" y="13" width="1" height="1" fill="#10182A" />
+<rect x="9" y="13" width="1" height="1" fill="#10182A" />
+<rect x="10" y="13" width="1" height="1" fill="#10182A" />
+<rect x="11" y="13" width="1" height="1" fill="#9041AD" />
+<rect x="12" y="13" width="1" height="1" fill="#9041AD" />
+<rect x="13" y="13" width="1" height="1" fill="#9041AD" />
+<rect x="14" y="13" width="1" height="1" fill="#10182A" />
+<rect x="15" y="13" width="1" height="1" fill="#10182A" />
+<rect x="16" y="13" width="1" height="1" fill="#10182A" />
+<rect x="17" y="13" width="1" height="1" fill="#10182A" />
+<rect x="18" y="13" width="1" height="1" fill="#10182A" />
+<rect x="19" y="13" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="13" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="13" width="1" height="1" fill="#5F3580" />
+<rect x="22" y="13" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="13" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="13" width="1" height="1" fill="#10182A" />
+<rect x="25" y="13" width="1" height="1" fill="#10182A" />
+<rect x="26" y="13" width="1" height="1" fill="#10182A" />
+<rect x="27" y="13" width="1" height="1" fill="#10182A" />
+<rect x="28" y="13" width="1" height="1" fill="#5F3580" />
+<rect x="29" y="13" width="1" height="1" fill="#5F3580" />
+<rect x="30" y="13" width="1" height="1" fill="#5F3580" />
+<rect x="31" y="13" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="13" width="1" height="1" fill="#10182A" />
+<rect x="33" y="13" width="1" height="1" fill="#10182A" />
+<rect x="34" y="13" width="1" height="1" fill="#10182A" />
+<rect x="35" y="13" width="1" height="1" fill="#10182A" />
+<rect x="36" y="13" width="1" height="1" fill="#10182A" />
+<rect x="37" y="13" width="1" height="1" fill="#5F3580" />
+<rect x="38" y="13" width="1" height="1" fill="#5F3580" />
+<rect x="39" y="13" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="13" width="1" height="1" fill="#10182A" />
+<rect x="41" y="13" width="1" height="1" fill="#10182A" />
+<rect x="42" y="13" width="1" height="1" fill="#10182A" />
+<rect x="7" y="14" width="1" height="1" fill="#10182A" />
+<rect x="8" y="14" width="1" height="1" fill="#10182A" />
+<rect x="9" y="14" width="1" height="1" fill="#10182A" />
+<rect x="10" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="12" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="13" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="14" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="15" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="16" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="17" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="14" width="1" height="1" fill="#10182A" />
+<rect x="26" y="14" width="1" height="1" fill="#10182A" />
+<rect x="27" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="28" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="29" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="30" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="34" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="35" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="36" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="37" y="14" width="1" height="1" fill="#5F3580" />
+<rect x="38" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="14" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="14" width="1" height="1" fill="#10182A" />
+<rect x="41" y="14" width="1" height="1" fill="#10182A" />
+<rect x="42" y="14" width="1" height="1" fill="#10182A" />
+<rect x="7" y="15" width="1" height="1" fill="#10182A" />
+<rect x="8" y="15" width="1" height="1" fill="#10182A" />
+<rect x="9" y="15" width="1" height="1" fill="#10182A" />
+<rect x="10" y="15" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="15" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="15" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="14" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="15" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="16" y="15" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="15" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="15" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="15" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="15" width="1" height="1" fill="#5F3580" />
+<rect x="28" y="15" width="1" height="1" fill="#5F3580" />
+<rect x="29" y="15" width="1" height="1" fill="#5F3580" />
+<rect x="30" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="15" width="1" height="1" fill="#5F3580" />
+<rect x="36" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="15" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="15" width="1" height="1" fill="#10182A" />
+<rect x="41" y="15" width="1" height="1" fill="#10182A" />
+<rect x="42" y="15" width="1" height="1" fill="#10182A" />
+<rect x="7" y="16" width="1" height="1" fill="#10182A" />
+<rect x="8" y="16" width="1" height="1" fill="#10182A" />
+<rect x="9" y="16" width="1" height="1" fill="#10182A" />
+<rect x="10" y="16" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="16" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="16" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="16" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="16" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="16" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="16" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="16" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="16" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="16" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="16" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="16" width="1" height="1" fill="#10182A" />
+<rect x="40" y="16" width="1" height="1" fill="#10182A" />
+<rect x="41" y="16" width="1" height="1" fill="#10182A" />
+<rect x="7" y="17" width="1" height="1" fill="#10182A" />
+<rect x="8" y="17" width="1" height="1" fill="#10182A" />
+<rect x="9" y="17" width="1" height="1" fill="#10182A" />
+<rect x="10" y="17" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="17" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="17" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="17" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="17" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="17" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="17" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="17" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="17" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="17" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="17" width="1" height="1" fill="#10182A" />
+<rect x="40" y="17" width="1" height="1" fill="#10182A" />
+<rect x="41" y="17" width="1" height="1" fill="#10182A" />
+<rect x="7" y="18" width="1" height="1" fill="#10182A" />
+<rect x="8" y="18" width="1" height="1" fill="#10182A" />
+<rect x="9" y="18" width="1" height="1" fill="#10182A" />
+<rect x="10" y="18" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="18" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="18" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="18" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="18" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="18" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="18" width="1" height="1" fill="#3F255C" />
+<rect x="17" y="18" width="1" height="1" fill="#3F255C" />
+<rect x="18" y="18" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="18" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="18" width="1" height="1" fill="#10182A" />
+<rect x="40" y="18" width="1" height="1" fill="#10182A" />
+<rect x="41" y="18" width="1" height="1" fill="#10182A" />
+<rect x="7" y="19" width="1" height="1" fill="#10182A" />
+<rect x="8" y="19" width="1" height="1" fill="#10182A" />
+<rect x="9" y="19" width="1" height="1" fill="#10182A" />
+<rect x="10" y="19" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="19" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="19" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="19" width="1" height="1" fill="#3F255C" />
+<rect x="14" y="19" width="1" height="1" fill="#3F255C" />
+<rect x="15" y="19" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="19" width="1" height="1" fill="#3F255C" />
+<rect x="17" y="19" width="1" height="1" fill="#3F255C" />
+<rect x="18" y="19" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="19" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="19" width="1" height="1" fill="#10182A" />
+<rect x="41" y="19" width="1" height="1" fill="#10182A" />
+<rect x="7" y="20" width="1" height="1" fill="#10182A" />
+<rect x="8" y="20" width="1" height="1" fill="#10182A" />
+<rect x="9" y="20" width="1" height="1" fill="#10182A" />
+<rect x="10" y="20" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="20" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="20" width="1" height="1" fill="#3F255C" />
+<rect x="13" y="20" width="1" height="1" fill="#3F255C" />
+<rect x="14" y="20" width="1" height="1" fill="#3F255C" />
+<rect x="15" y="20" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="20" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="20" width="1" height="1" fill="#3F255C" />
+<rect x="18" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="19" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="20" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="20" width="1" height="1" fill="#10182A" />
+<rect x="41" y="20" width="1" height="1" fill="#10182A" />
+<rect x="42" y="20" width="1" height="1" fill="#10182A" />
+<rect x="6" y="21" width="1" height="1" fill="#10182A" />
+<rect x="7" y="21" width="1" height="1" fill="#10182A" />
+<rect x="8" y="21" width="1" height="1" fill="#10182A" />
+<rect x="9" y="21" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="21" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="21" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="21" width="1" height="1" fill="#3F255C" />
+<rect x="13" y="21" width="1" height="1" fill="#3F255C" />
+<rect x="14" y="21" width="1" height="1" fill="#3F255C" />
+<rect x="15" y="21" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="21" width="1" height="1" fill="#3F255C" />
+<rect x="17" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="18" y="21" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="21" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="21" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="21" width="1" height="1" fill="#10182A" />
+<rect x="41" y="21" width="1" height="1" fill="#10182A" />
+<rect x="42" y="21" width="1" height="1" fill="#10182A" />
+<rect x="6" y="22" width="1" height="1" fill="#10182A" />
+<rect x="7" y="22" width="1" height="1" fill="#10182A" />
+<rect x="8" y="22" width="1" height="1" fill="#10182A" />
+<rect x="9" y="22" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="22" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="22" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="22" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="22" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="22" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="22" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="22" width="1" height="1" fill="#3F255C" />
+<rect x="17" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="18" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="19" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="22" width="1" height="1" fill="#9041AD" />
+<rect x="41" y="22" width="1" height="1" fill="#10182A" />
+<rect x="42" y="22" width="1" height="1" fill="#10182A" />
+<rect x="43" y="22" width="1" height="1" fill="#10182A" />
+<rect x="6" y="23" width="1" height="1" fill="#10182A" />
+<rect x="7" y="23" width="1" height="1" fill="#10182A" />
+<rect x="8" y="23" width="1" height="1" fill="#10182A" />
+<rect x="9" y="23" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="23" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="23" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="23" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="23" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="23" width="1" height="1" fill="#3F255C" />
+<rect x="15" y="23" width="1" height="1" fill="#3F255C" />
+<rect x="16" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="17" y="23" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="23" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="23" width="1" height="1" fill="#9041AD" />
+<rect x="41" y="23" width="1" height="1" fill="#10182A" />
+<rect x="42" y="23" width="1" height="1" fill="#10182A" />
+<rect x="43" y="23" width="1" height="1" fill="#10182A" />
+<rect x="5" y="24" width="1" height="1" fill="#10182A" />
+<rect x="6" y="24" width="1" height="1" fill="#10182A" />
+<rect x="7" y="24" width="1" height="1" fill="#10182A" />
+<rect x="8" y="24" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="24" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="24" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="24" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="24" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="24" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="24" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="24" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="24" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="24" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="24" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="24" width="1" height="1" fill="#9041AD" />
+<rect x="41" y="24" width="1" height="1" fill="#10182A" />
+<rect x="42" y="24" width="1" height="1" fill="#10182A" />
+<rect x="43" y="24" width="1" height="1" fill="#10182A" />
+<rect x="5" y="25" width="1" height="1" fill="#10182A" />
+<rect x="6" y="25" width="1" height="1" fill="#10182A" />
+<rect x="7" y="25" width="1" height="1" fill="#10182A" />
+<rect x="8" y="25" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="25" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="25" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="25" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="25" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="25" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="25" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="16" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="17" y="25" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="19" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="41" y="25" width="1" height="1" fill="#9041AD" />
+<rect x="42" y="25" width="1" height="1" fill="#10182A" />
+<rect x="43" y="25" width="1" height="1" fill="#10182A" />
+<rect x="5" y="26" width="1" height="1" fill="#10182A" />
+<rect x="6" y="26" width="1" height="1" fill="#10182A" />
+<rect x="7" y="26" width="1" height="1" fill="#5F3580" />
+<rect x="8" y="26" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="26" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="26" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="26" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="26" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="26" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="26" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="16" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="17" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="18" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="19" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="41" y="26" width="1" height="1" fill="#9041AD" />
+<rect x="42" y="26" width="1" height="1" fill="#10182A" />
+<rect x="43" y="26" width="1" height="1" fill="#10182A" />
+<rect x="44" y="26" width="1" height="1" fill="#10182A" />
+<rect x="4" y="27" width="1" height="1" fill="#10182A" />
+<rect x="5" y="27" width="1" height="1" fill="#10182A" />
+<rect x="6" y="27" width="1" height="1" fill="#10182A" />
+<rect x="7" y="27" width="1" height="1" fill="#5F3580" />
+<rect x="8" y="27" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="27" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="27" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="27" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="27" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="27" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="27" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="16" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="17" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="18" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="19" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="41" y="27" width="1" height="1" fill="#9041AD" />
+<rect x="42" y="27" width="1" height="1" fill="#10182A" />
+<rect x="43" y="27" width="1" height="1" fill="#10182A" />
+<rect x="44" y="27" width="1" height="1" fill="#10182A" />
+<rect x="4" y="28" width="1" height="1" fill="#10182A" />
+<rect x="5" y="28" width="1" height="1" fill="#10182A" />
+<rect x="6" y="28" width="1" height="1" fill="#10182A" />
+<rect x="7" y="28" width="1" height="1" fill="#5F3580" />
+<rect x="8" y="28" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="28" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="28" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="28" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="28" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="28" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="15" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="16" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="17" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="18" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="19" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="41" y="28" width="1" height="1" fill="#9041AD" />
+<rect x="42" y="28" width="1" height="1" fill="#10182A" />
+<rect x="43" y="28" width="1" height="1" fill="#10182A" />
+<rect x="44" y="28" width="1" height="1" fill="#10182A" />
+<rect x="4" y="29" width="1" height="1" fill="#10182A" />
+<rect x="5" y="29" width="1" height="1" fill="#10182A" />
+<rect x="6" y="29" width="1" height="1" fill="#10182A" />
+<rect x="7" y="29" width="1" height="1" fill="#5F3580" />
+<rect x="8" y="29" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="29" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="29" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="29" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="29" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="29" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="15" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="16" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="17" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="18" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="19" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="37" y="29" width="1" height="1" fill="#10141F" />
+<rect x="38" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="41" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="42" y="29" width="1" height="1" fill="#9041AD" />
+<rect x="43" y="29" width="1" height="1" fill="#10182A" />
+<rect x="44" y="29" width="1" height="1" fill="#10182A" />
+<rect x="45" y="29" width="1" height="1" fill="#10182A" />
+<rect x="4" y="30" width="1" height="1" fill="#10182A" />
+<rect x="5" y="30" width="1" height="1" fill="#10182A" />
+<rect x="6" y="30" width="1" height="1" fill="#10182A" />
+<rect x="7" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="8" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="15" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="16" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="17" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="18" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="22" y="30" width="1" height="1" fill="#10141F" />
+<rect x="23" y="30" width="1" height="1" fill="#10141F" />
+<rect x="24" y="30" width="1" height="1" fill="#10141F" />
+<rect x="25" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="26" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="27" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="28" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="29" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="30" y="30" width="1" height="1" fill="#5F3580" />
+<rect x="31" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="33" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="30" width="1" height="1" fill="#10141F" />
+<rect x="37" y="30" width="1" height="1" fill="#10141F" />
+<rect x="38" y="30" width="1" height="1" fill="#10141F" />
+<rect x="39" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="41" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="42" y="30" width="1" height="1" fill="#9041AD" />
+<rect x="43" y="30" width="1" height="1" fill="#10182A" />
+<rect x="44" y="30" width="1" height="1" fill="#10182A" />
+<rect x="45" y="30" width="1" height="1" fill="#10182A" />
+<rect x="4" y="31" width="1" height="1" fill="#10182A" />
+<rect x="5" y="31" width="1" height="1" fill="#10182A" />
+<rect x="6" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="7" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="8" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="31" width="1" height="1" fill="#10141F" />
+<rect x="22" y="31" width="1" height="1" fill="#10141F" />
+<rect x="23" y="31" width="1" height="1" fill="#10141F" />
+<rect x="24" y="31" width="1" height="1" fill="#10141F" />
+<rect x="25" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="26" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="27" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="28" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="29" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="30" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="31" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="32" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="33" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="34" y="31" width="1" height="1" fill="#5F3580" />
+<rect x="35" y="31" width="1" height="1" fill="#10141F" />
+<rect x="36" y="31" width="1" height="1" fill="#10141F" />
+<rect x="37" y="31" width="1" height="1" fill="#10141F" />
+<rect x="38" y="31" width="1" height="1" fill="#10141F" />
+<rect x="39" y="31" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="31" width="1" height="1" fill="#9041AD" />
+<rect x="41" y="31" width="1" height="1" fill="#9041AD" />
+<rect x="42" y="31" width="1" height="1" fill="#9041AD" />
+<rect x="43" y="31" width="1" height="1" fill="#10182A" />
+<rect x="44" y="31" width="1" height="1" fill="#10182A" />
+<rect x="45" y="31" width="1" height="1" fill="#10182A" />
+<rect x="4" y="32" width="1" height="1" fill="#10182A" />
+<rect x="5" y="32" width="1" height="1" fill="#10182A" />
+<rect x="6" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="7" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="8" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="32" width="1" height="1" fill="#3F255C" />
+<rect x="12" y="32" width="1" height="1" fill="#3F255C" />
+<rect x="13" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="32" width="1" height="1" fill="#10141F" />
+<rect x="22" y="32" width="1" height="1" fill="#10141F" />
+<rect x="23" y="32" width="1" height="1" fill="#10141F" />
+<rect x="24" y="32" width="1" height="1" fill="#10141F" />
+<rect x="25" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="26" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="27" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="28" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="29" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="30" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="31" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="32" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="33" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="34" y="32" width="1" height="1" fill="#5F3580" />
+<rect x="35" y="32" width="1" height="1" fill="#10141F" />
+<rect x="36" y="32" width="1" height="1" fill="#10141F" />
+<rect x="37" y="32" width="1" height="1" fill="#10141F" />
+<rect x="38" y="32" width="1" height="1" fill="#10141F" />
+<rect x="39" y="32" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="32" width="1" height="1" fill="#9041AD" />
+<rect x="41" y="32" width="1" height="1" fill="#9041AD" />
+<rect x="42" y="32" width="1" height="1" fill="#9041AD" />
+<rect x="43" y="32" width="1" height="1" fill="#10182A" />
+<rect x="44" y="32" width="1" height="1" fill="#10182A" />
+<rect x="45" y="32" width="1" height="1" fill="#10182A" />
+<rect x="4" y="33" width="1" height="1" fill="#10182A" />
+<rect x="5" y="33" width="1" height="1" fill="#10182A" />
+<rect x="6" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="7" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="8" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="33" width="1" height="1" fill="#3F255C" />
+<rect x="10" y="33" width="1" height="1" fill="#3F255C" />
+<rect x="11" y="33" width="1" height="1" fill="#3F255C" />
+<rect x="12" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="33" width="1" height="1" fill="#10141F" />
+<rect x="22" y="33" width="1" height="1" fill="#10141F" />
+<rect x="23" y="33" width="1" height="1" fill="#10141F" />
+<rect x="24" y="33" width="1" height="1" fill="#10141F" />
+<rect x="25" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="26" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="27" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="28" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="29" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="30" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="31" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="32" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="33" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="34" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="35" y="33" width="1" height="1" fill="#10141F" />
+<rect x="36" y="33" width="1" height="1" fill="#10141F" />
+<rect x="37" y="33" width="1" height="1" fill="#10141F" />
+<rect x="38" y="33" width="1" height="1" fill="#10141F" />
+<rect x="39" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="40" y="33" width="1" height="1" fill="#5F3580" />
+<rect x="41" y="33" width="1" height="1" fill="#9041AD" />
+<rect x="42" y="33" width="1" height="1" fill="#9041AD" />
+<rect x="43" y="33" width="1" height="1" fill="#10182A" />
+<rect x="44" y="33" width="1" height="1" fill="#10182A" />
+<rect x="45" y="33" width="1" height="1" fill="#10182A" />
+<rect x="4" y="34" width="1" height="1" fill="#10182A" />
+<rect x="5" y="34" width="1" height="1" fill="#10182A" />
+<rect x="6" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="7" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="8" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="34" width="1" height="1" fill="#3F255C" />
+<rect x="10" y="34" width="1" height="1" fill="#3F255C" />
+<rect x="11" y="34" width="1" height="1" fill="#3F255C" />
+<rect x="12" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="34" width="1" height="1" fill="#10141F" />
+<rect x="22" y="34" width="1" height="1" fill="#10141F" />
+<rect x="23" y="34" width="1" height="1" fill="#10141F" />
+<rect x="24" y="34" width="1" height="1" fill="#10141F" />
+<rect x="25" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="26" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="27" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="28" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="29" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="30" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="31" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="32" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="33" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="34" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="35" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="36" y="34" width="1" height="1" fill="#10141F" />
+<rect x="37" y="34" width="1" height="1" fill="#10141F" />
+<rect x="38" y="34" width="1" height="1" fill="#10141F" />
+<rect x="39" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="40" y="34" width="1" height="1" fill="#5F3580" />
+<rect x="41" y="34" width="1" height="1" fill="#9041AD" />
+<rect x="42" y="34" width="1" height="1" fill="#9041AD" />
+<rect x="43" y="34" width="1" height="1" fill="#10182A" />
+<rect x="44" y="34" width="1" height="1" fill="#10182A" />
+<rect x="45" y="34" width="1" height="1" fill="#10182A" />
+<rect x="4" y="35" width="1" height="1" fill="#10182A" />
+<rect x="5" y="35" width="1" height="1" fill="#10182A" />
+<rect x="6" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="7" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="8" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="35" width="1" height="1" fill="#3F255C" />
+<rect x="10" y="35" width="1" height="1" fill="#3F255C" />
+<rect x="11" y="35" width="1" height="1" fill="#3F255C" />
+<rect x="12" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="22" y="35" width="1" height="1" fill="#10141F" />
+<rect x="23" y="35" width="1" height="1" fill="#10141F" />
+<rect x="24" y="35" width="1" height="1" fill="#10141F" />
+<rect x="25" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="26" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="27" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="28" y="35" width="1" height="1" fill="#10141F" />
+<rect x="29" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="30" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="31" y="35" width="1" height="1" fill="#10141F" />
+<rect x="32" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="33" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="34" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="35" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="36" y="35" width="1" height="1" fill="#10141F" />
+<rect x="37" y="35" width="1" height="1" fill="#10141F" />
+<rect x="38" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="39" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="40" y="35" width="1" height="1" fill="#5F3580" />
+<rect x="41" y="35" width="1" height="1" fill="#9041AD" />
+<rect x="42" y="35" width="1" height="1" fill="#9041AD" />
+<rect x="43" y="35" width="1" height="1" fill="#10182A" />
+<rect x="44" y="35" width="1" height="1" fill="#10182A" />
+<rect x="45" y="35" width="1" height="1" fill="#10182A" />
+<rect x="4" y="36" width="1" height="1" fill="#10182A" />
+<rect x="5" y="36" width="1" height="1" fill="#10182A" />
+<rect x="6" y="36" width="1" height="1" fill="#10182A" />
+<rect x="7" y="36" width="1" height="1" fill="#10182A" />
+<rect x="8" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="9" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="36" width="1" height="1" fill="#3F255C" />
+<rect x="11" y="36" width="1" height="1" fill="#3F255C" />
+<rect x="12" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="22" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="23" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="24" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="25" y="36" width="1" height="1" fill="#10141F" />
+<rect x="26" y="36" width="1" height="1" fill="#10141F" />
+<rect x="27" y="36" width="1" height="1" fill="#10141F" />
+<rect x="28" y="36" width="1" height="1" fill="#10141F" />
+<rect x="29" y="36" width="1" height="1" fill="#10141F" />
+<rect x="30" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="31" y="36" width="1" height="1" fill="#10141F" />
+<rect x="32" y="36" width="1" height="1" fill="#10141F" />
+<rect x="33" y="36" width="1" height="1" fill="#10141F" />
+<rect x="34" y="36" width="1" height="1" fill="#10141F" />
+<rect x="35" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="36" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="37" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="38" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="39" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="40" y="36" width="1" height="1" fill="#5F3580" />
+<rect x="41" y="36" width="1" height="1" fill="#9041AD" />
+<rect x="42" y="36" width="1" height="1" fill="#10182A" />
+<rect x="43" y="36" width="1" height="1" fill="#10182A" />
+<rect x="44" y="36" width="1" height="1" fill="#10182A" />
+<rect x="45" y="36" width="1" height="1" fill="#10182A" />
+<rect x="5" y="37" width="1" height="1" fill="#10182A" />
+<rect x="6" y="37" width="1" height="1" fill="#10182A" />
+<rect x="7" y="37" width="1" height="1" fill="#10182A" />
+<rect x="8" y="37" width="1" height="1" fill="#10182A" />
+<rect x="9" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="10" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="11" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="13" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="14" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="22" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="23" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="24" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="25" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="26" y="37" width="1" height="1" fill="#10141F" />
+<rect x="27" y="37" width="1" height="1" fill="#10141F" />
+<rect x="28" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="29" y="37" width="1" height="1" fill="#10141F" />
+<rect x="30" y="37" width="1" height="1" fill="#10141F" />
+<rect x="31" y="37" width="1" height="1" fill="#10141F" />
+<rect x="32" y="37" width="1" height="1" fill="#10141F" />
+<rect x="33" y="37" width="1" height="1" fill="#10141F" />
+<rect x="34" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="35" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="36" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="37" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="38" y="37" width="1" height="1" fill="#5F3580" />
+<rect x="39" y="37" width="1" height="1" fill="#9041AD" />
+<rect x="40" y="37" width="1" height="1" fill="#9041AD" />
+<rect x="41" y="37" width="1" height="1" fill="#10182A" />
+<rect x="42" y="37" width="1" height="1" fill="#10182A" />
+<rect x="43" y="37" width="1" height="1" fill="#10182A" />
+<rect x="44" y="37" width="1" height="1" fill="#10182A" />
+<rect x="6" y="38" width="1" height="1" fill="#10182A" />
+<rect x="7" y="38" width="1" height="1" fill="#10182A" />
+<rect x="8" y="38" width="1" height="1" fill="#10182A" />
+<rect x="9" y="38" width="1" height="1" fill="#10182A" />
+<rect x="10" y="38" width="1" height="1" fill="#10182A" />
+<rect x="11" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="12" y="38" width="1" height="1" fill="#9041AD" />
+<rect x="13" y="38" width="1" height="1" fill="#9041AD" />
+<rect x="14" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="15" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="16" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="17" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="22" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="23" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="24" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="25" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="26" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="27" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="28" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="29" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="30" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="31" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="32" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="33" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="34" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="35" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="36" y="38" width="1" height="1" fill="#5F3580" />
+<rect x="37" y="38" width="1" height="1" fill="#9041AD" />
+<rect x="38" y="38" width="1" height="1" fill="#9041AD" />
+<rect x="39" y="38" width="1" height="1" fill="#10182A" />
+<rect x="40" y="38" width="1" height="1" fill="#10182A" />
+<rect x="41" y="38" width="1" height="1" fill="#10182A" />
+<rect x="42" y="38" width="1" height="1" fill="#10182A" />
+<rect x="43" y="38" width="1" height="1" fill="#10182A" />
+<rect x="7" y="39" width="1" height="1" fill="#10182A" />
+<rect x="8" y="39" width="1" height="1" fill="#10182A" />
+<rect x="9" y="39" width="1" height="1" fill="#10182A" />
+<rect x="10" y="39" width="1" height="1" fill="#10182A" />
+<rect x="11" y="39" width="1" height="1" fill="#10182A" />
+<rect x="12" y="39" width="1" height="1" fill="#10182A" />
+<rect x="13" y="39" width="1" height="1" fill="#9041AD" />
+<rect x="14" y="39" width="1" height="1" fill="#9041AD" />
+<rect x="15" y="39" width="1" height="1" fill="#9041AD" />
+<rect x="16" y="39" width="1" height="1" fill="#9041AD" />
+<rect x="17" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="18" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="19" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="20" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="21" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="22" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="23" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="24" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="25" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="26" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="27" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="28" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="29" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="30" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="31" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="32" y="39" width="1" height="1" fill="#5F3580" />
+<rect x="33" y="39" width="1" height="1" fill="#9041AD" />
+<rect x="34" y="39" width="1" height="1" fill="#9041AD" />
+<rect x="35" y="39" width="1" height="1" fill="#9041AD" />
+<rect x="36" y="39" width="1" height="1" fill="#10182A" />
+<rect x="37" y="39" width="1" height="1" fill="#10182A" />
+<rect x="38" y="39" width="1" height="1" fill="#10182A" />
+<rect x="39" y="39" width="1" height="1" fill="#10182A" />
+<rect x="40" y="39" width="1" height="1" fill="#10182A" />
+<rect x="41" y="39" width="1" height="1" fill="#10182A" />
+<rect x="42" y="39" width="1" height="1" fill="#10182A" />
+<rect x="9" y="40" width="1" height="1" fill="#10182A" />
+<rect x="10" y="40" width="1" height="1" fill="#10182A" />
+<rect x="11" y="40" width="1" height="1" fill="#10182A" />
+<rect x="12" y="40" width="1" height="1" fill="#10182A" />
+<rect x="13" y="40" width="1" height="1" fill="#10182A" />
+<rect x="14" y="40" width="1" height="1" fill="#10182A" />
+<rect x="15" y="40" width="1" height="1" fill="#10182A" />
+<rect x="16" y="40" width="1" height="1" fill="#10182A" />
+<rect x="17" y="40" width="1" height="1" fill="#10182A" />
+<rect x="18" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="19" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="20" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="21" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="22" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="23" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="24" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="25" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="26" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="27" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="28" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="29" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="30" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="31" y="40" width="1" height="1" fill="#9041AD" />
+<rect x="32" y="40" width="1" height="1" fill="#10182A" />
+<rect x="33" y="40" width="1" height="1" fill="#10182A" />
+<rect x="34" y="40" width="1" height="1" fill="#10182A" />
+<rect x="35" y="40" width="1" height="1" fill="#10182A" />
+<rect x="36" y="40" width="1" height="1" fill="#10182A" />
+<rect x="37" y="40" width="1" height="1" fill="#10182A" />
+<rect x="38" y="40" width="1" height="1" fill="#10182A" />
+<rect x="39" y="40" width="1" height="1" fill="#10182A" />
+<rect x="40" y="40" width="1" height="1" fill="#10182A" />
+<rect x="11" y="41" width="1" height="1" fill="#10182A" />
+<rect x="12" y="41" width="1" height="1" fill="#10182A" />
+<rect x="13" y="41" width="1" height="1" fill="#10182A" />
+<rect x="14" y="41" width="1" height="1" fill="#10182A" />
+<rect x="15" y="41" width="1" height="1" fill="#10182A" />
+<rect x="16" y="41" width="1" height="1" fill="#10182A" />
+<rect x="17" y="41" width="1" height="1" fill="#10182A" />
+<rect x="18" y="41" width="1" height="1" fill="#10182A" />
+<rect x="19" y="41" width="1" height="1" fill="#10182A" />
+<rect x="20" y="41" width="1" height="1" fill="#10182A" />
+<rect x="21" y="41" width="1" height="1" fill="#10182A" />
+<rect x="22" y="41" width="1" height="1" fill="#10182A" />
+<rect x="23" y="41" width="1" height="1" fill="#10182A" />
+<rect x="24" y="41" width="1" height="1" fill="#10182A" />
+<rect x="25" y="41" width="1" height="1" fill="#10182A" />
+<rect x="26" y="41" width="1" height="1" fill="#10182A" />
+<rect x="27" y="41" width="1" height="1" fill="#10182A" />
+<rect x="28" y="41" width="1" height="1" fill="#10182A" />
+<rect x="29" y="41" width="1" height="1" fill="#10182A" />
+<rect x="30" y="41" width="1" height="1" fill="#10182A" />
+<rect x="31" y="41" width="1" height="1" fill="#10182A" />
+<rect x="32" y="41" width="1" height="1" fill="#10182A" />
+<rect x="33" y="41" width="1" height="1" fill="#10182A" />
+<rect x="34" y="41" width="1" height="1" fill="#10182A" />
+<rect x="35" y="41" width="1" height="1" fill="#10182A" />
+<rect x="36" y="41" width="1" height="1" fill="#10182A" />
+<rect x="37" y="41" width="1" height="1" fill="#10182A" />
+<rect x="38" y="41" width="1" height="1" fill="#10182A" />
+<rect x="14" y="42" width="1" height="1" fill="#10182A" />
+<rect x="15" y="42" width="1" height="1" fill="#10182A" />
+<rect x="16" y="42" width="1" height="1" fill="#10182A" />
+<rect x="17" y="42" width="1" height="1" fill="#10182A" />
+<rect x="18" y="42" width="1" height="1" fill="#10182A" />
+<rect x="19" y="42" width="1" height="1" fill="#10182A" />
+<rect x="20" y="42" width="1" height="1" fill="#10182A" />
+<rect x="21" y="42" width="1" height="1" fill="#10182A" />
+<rect x="22" y="42" width="1" height="1" fill="#10182A" />
+<rect x="23" y="42" width="1" height="1" fill="#10182A" />
+<rect x="24" y="42" width="1" height="1" fill="#10182A" />
+<rect x="25" y="42" width="1" height="1" fill="#10182A" />
+<rect x="26" y="42" width="1" height="1" fill="#10182A" />
+<rect x="27" y="42" width="1" height="1" fill="#10182A" />
+<rect x="28" y="42" width="1" height="1" fill="#10182A" />
+<rect x="29" y="42" width="1" height="1" fill="#10182A" />
+<rect x="30" y="42" width="1" height="1" fill="#10182A" />
+<rect x="31" y="42" width="1" height="1" fill="#10182A" />
+<rect x="32" y="42" width="1" height="1" fill="#10182A" />
+<rect x="33" y="42" width="1" height="1" fill="#10182A" />
+<rect x="34" y="42" width="1" height="1" fill="#10182A" />
+<rect x="22" y="43" width="1" height="1" fill="#10182A" />
+<rect x="23" y="43" width="1" height="1" fill="#10182A" />
+<rect x="24" y="43" width="1" height="1" fill="#10182A" />
+<rect x="25" y="43" width="1" height="1" fill="#10182A" />
+<rect x="26" y="43" width="1" height="1" fill="#10182A" />
+<rect x="27" y="43" width="1" height="1" fill="#10182A" />
+<rect x="28" y="43" width="1" height="1" fill="#10182A" />
+<rect x="29" y="43" width="1" height="1" fill="#10182A" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/slimes/Bark1.svg b/Edikoyo/.obsidian/icons/slimes/Bark1.svg
new file mode 100644
index 0000000..f729e55
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/slimes/Bark1.svg
@@ -0,0 +1,1204 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="48" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="21" y="7" width="1" height="1" fill="#10141F" />
+<rect x="22" y="7" width="1" height="1" fill="#10141F" />
+<rect x="23" y="7" width="1" height="1" fill="#10141F" />
+<rect x="24" y="7" width="1" height="1" fill="#10141F" />
+<rect x="25" y="7" width="1" height="1" fill="#10141F" />
+<rect x="26" y="7" width="1" height="1" fill="#10141F" />
+<rect x="27" y="7" width="1" height="1" fill="#10141F" />
+<rect x="28" y="7" width="1" height="1" fill="#10141F" />
+<rect x="18" y="8" width="1" height="1" fill="#10141F" />
+<rect x="19" y="8" width="1" height="1" fill="#10141F" />
+<rect x="20" y="8" width="1" height="1" fill="#10141F" />
+<rect x="21" y="8" width="1" height="1" fill="#10141F" />
+<rect x="22" y="8" width="1" height="1" fill="#10141F" />
+<rect x="23" y="8" width="1" height="1" fill="#10141F" />
+<rect x="24" y="8" width="1" height="1" fill="#10141F" />
+<rect x="25" y="8" width="1" height="1" fill="#10141F" />
+<rect x="26" y="8" width="1" height="1" fill="#10141F" />
+<rect x="27" y="8" width="1" height="1" fill="#10141F" />
+<rect x="28" y="8" width="1" height="1" fill="#10141F" />
+<rect x="29" y="8" width="1" height="1" fill="#10141F" />
+<rect x="30" y="8" width="1" height="1" fill="#10141F" />
+<rect x="16" y="9" width="1" height="1" fill="#10141F" />
+<rect x="17" y="9" width="1" height="1" fill="#10141F" />
+<rect x="18" y="9" width="1" height="1" fill="#10141F" />
+<rect x="19" y="9" width="1" height="1" fill="#10141F" />
+<rect x="20" y="9" width="1" height="1" fill="#10141F" />
+<rect x="21" y="9" width="1" height="1" fill="#10141F" />
+<rect x="22" y="9" width="1" height="1" fill="#10141F" />
+<rect x="23" y="9" width="1" height="1" fill="#10141F" />
+<rect x="24" y="9" width="1" height="1" fill="#10141F" />
+<rect x="25" y="9" width="1" height="1" fill="#10141F" />
+<rect x="26" y="9" width="1" height="1" fill="#10141F" />
+<rect x="27" y="9" width="1" height="1" fill="#10141F" />
+<rect x="28" y="9" width="1" height="1" fill="#10141F" />
+<rect x="29" y="9" width="1" height="1" fill="#10141F" />
+<rect x="30" y="9" width="1" height="1" fill="#10141F" />
+<rect x="31" y="9" width="1" height="1" fill="#10141F" />
+<rect x="32" y="9" width="1" height="1" fill="#10141F" />
+<rect x="15" y="10" width="1" height="1" fill="#10141F" />
+<rect x="16" y="10" width="1" height="1" fill="#10141F" />
+<rect x="17" y="10" width="1" height="1" fill="#10141F" />
+<rect x="18" y="10" width="1" height="1" fill="#10141F" />
+<rect x="19" y="10" width="1" height="1" fill="#10141F" />
+<rect x="20" y="10" width="1" height="1" fill="#341C27" />
+<rect x="21" y="10" width="1" height="1" fill="#10141F" />
+<rect x="22" y="10" width="1" height="1" fill="#10141F" />
+<rect x="23" y="10" width="1" height="1" fill="#10141F" />
+<rect x="24" y="10" width="1" height="1" fill="#10141F" />
+<rect x="25" y="10" width="1" height="1" fill="#10141F" />
+<rect x="26" y="10" width="1" height="1" fill="#10141F" />
+<rect x="27" y="10" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="10" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="10" width="1" height="1" fill="#10141F" />
+<rect x="30" y="10" width="1" height="1" fill="#10141F" />
+<rect x="31" y="10" width="1" height="1" fill="#10141F" />
+<rect x="32" y="10" width="1" height="1" fill="#10141F" />
+<rect x="33" y="10" width="1" height="1" fill="#10141F" />
+<rect x="34" y="10" width="1" height="1" fill="#10141F" />
+<rect x="13" y="11" width="1" height="1" fill="#10141F" />
+<rect x="14" y="11" width="1" height="1" fill="#10141F" />
+<rect x="15" y="11" width="1" height="1" fill="#10141F" />
+<rect x="16" y="11" width="1" height="1" fill="#10141F" />
+<rect x="17" y="11" width="1" height="1" fill="#10141F" />
+<rect x="18" y="11" width="1" height="1" fill="#341C27" />
+<rect x="19" y="11" width="1" height="1" fill="#10141F" />
+<rect x="20" y="11" width="1" height="1" fill="#10141F" />
+<rect x="21" y="11" width="1" height="1" fill="#10141F" />
+<rect x="22" y="11" width="1" height="1" fill="#10141F" />
+<rect x="23" y="11" width="1" height="1" fill="#10141F" />
+<rect x="24" y="11" width="1" height="1" fill="#10141F" />
+<rect x="25" y="11" width="1" height="1" fill="#10141F" />
+<rect x="26" y="11" width="1" height="1" fill="#10141F" />
+<rect x="27" y="11" width="1" height="1" fill="#10141F" />
+<rect x="28" y="11" width="1" height="1" fill="#10141F" />
+<rect x="29" y="11" width="1" height="1" fill="#10141F" />
+<rect x="30" y="11" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="11" width="1" height="1" fill="#10141F" />
+<rect x="32" y="11" width="1" height="1" fill="#10141F" />
+<rect x="33" y="11" width="1" height="1" fill="#10141F" />
+<rect x="34" y="11" width="1" height="1" fill="#10141F" />
+<rect x="35" y="11" width="1" height="1" fill="#10141F" />
+<rect x="12" y="12" width="1" height="1" fill="#10141F" />
+<rect x="13" y="12" width="1" height="1" fill="#10141F" />
+<rect x="14" y="12" width="1" height="1" fill="#10141F" />
+<rect x="15" y="12" width="1" height="1" fill="#10141F" />
+<rect x="16" y="12" width="1" height="1" fill="#341C27" />
+<rect x="17" y="12" width="1" height="1" fill="#10141F" />
+<rect x="18" y="12" width="1" height="1" fill="#10141F" />
+<rect x="19" y="12" width="1" height="1" fill="#10141F" />
+<rect x="20" y="12" width="1" height="1" fill="#10141F" />
+<rect x="21" y="12" width="1" height="1" fill="#10141F" />
+<rect x="22" y="12" width="1" height="1" fill="#10141F" />
+<rect x="23" y="12" width="1" height="1" fill="#602C2C" />
+<rect x="24" y="12" width="1" height="1" fill="#602C2C" />
+<rect x="25" y="12" width="1" height="1" fill="#602C2C" />
+<rect x="26" y="12" width="1" height="1" fill="#10141F" />
+<rect x="27" y="12" width="1" height="1" fill="#10141F" />
+<rect x="28" y="12" width="1" height="1" fill="#10141F" />
+<rect x="29" y="12" width="1" height="1" fill="#10141F" />
+<rect x="30" y="12" width="1" height="1" fill="#10141F" />
+<rect x="31" y="12" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="12" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="12" width="1" height="1" fill="#10141F" />
+<rect x="34" y="12" width="1" height="1" fill="#10141F" />
+<rect x="35" y="12" width="1" height="1" fill="#10141F" />
+<rect x="36" y="12" width="1" height="1" fill="#10141F" />
+<rect x="11" y="13" width="1" height="1" fill="#10141F" />
+<rect x="12" y="13" width="1" height="1" fill="#10141F" />
+<rect x="13" y="13" width="1" height="1" fill="#10141F" />
+<rect x="14" y="13" width="1" height="1" fill="#10141F" />
+<rect x="15" y="13" width="1" height="1" fill="#341C27" />
+<rect x="16" y="13" width="1" height="1" fill="#10141F" />
+<rect x="17" y="13" width="1" height="1" fill="#10141F" />
+<rect x="18" y="13" width="1" height="1" fill="#10141F" />
+<rect x="19" y="13" width="1" height="1" fill="#10141F" />
+<rect x="20" y="13" width="1" height="1" fill="#341C27" />
+<rect x="21" y="13" width="1" height="1" fill="#602C2C" />
+<rect x="22" y="13" width="1" height="1" fill="#602C2C" />
+<rect x="23" y="13" width="1" height="1" fill="#10141F" />
+<rect x="24" y="13" width="1" height="1" fill="#10141F" />
+<rect x="25" y="13" width="1" height="1" fill="#10141F" />
+<rect x="26" y="13" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="13" width="1" height="1" fill="#341C27" />
+<rect x="28" y="13" width="1" height="1" fill="#10141F" />
+<rect x="29" y="13" width="1" height="1" fill="#10141F" />
+<rect x="30" y="13" width="1" height="1" fill="#10141F" />
+<rect x="31" y="13" width="1" height="1" fill="#10141F" />
+<rect x="32" y="13" width="1" height="1" fill="#10141F" />
+<rect x="33" y="13" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="13" width="1" height="1" fill="#10141F" />
+<rect x="35" y="13" width="1" height="1" fill="#10141F" />
+<rect x="36" y="13" width="1" height="1" fill="#10141F" />
+<rect x="37" y="13" width="1" height="1" fill="#10141F" />
+<rect x="11" y="14" width="1" height="1" fill="#10141F" />
+<rect x="12" y="14" width="1" height="1" fill="#10141F" />
+<rect x="13" y="14" width="1" height="1" fill="#10141F" />
+<rect x="14" y="14" width="1" height="1" fill="#341C27" />
+<rect x="15" y="14" width="1" height="1" fill="#341C27" />
+<rect x="16" y="14" width="1" height="1" fill="#10141F" />
+<rect x="17" y="14" width="1" height="1" fill="#10141F" />
+<rect x="18" y="14" width="1" height="1" fill="#10141F" />
+<rect x="19" y="14" width="1" height="1" fill="#341C27" />
+<rect x="20" y="14" width="1" height="1" fill="#341C27" />
+<rect x="21" y="14" width="1" height="1" fill="#10141F" />
+<rect x="22" y="14" width="1" height="1" fill="#10141F" />
+<rect x="23" y="14" width="1" height="1" fill="#10141F" />
+<rect x="24" y="14" width="1" height="1" fill="#10141F" />
+<rect x="25" y="14" width="1" height="1" fill="#10141F" />
+<rect x="26" y="14" width="1" height="1" fill="#10141F" />
+<rect x="27" y="14" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="14" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="14" width="1" height="1" fill="#341C27" />
+<rect x="30" y="14" width="1" height="1" fill="#10141F" />
+<rect x="31" y="14" width="1" height="1" fill="#10141F" />
+<rect x="32" y="14" width="1" height="1" fill="#10141F" />
+<rect x="33" y="14" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="14" width="1" height="1" fill="#341C27" />
+<rect x="35" y="14" width="1" height="1" fill="#10141F" />
+<rect x="36" y="14" width="1" height="1" fill="#10141F" />
+<rect x="37" y="14" width="1" height="1" fill="#10141F" />
+<rect x="38" y="14" width="1" height="1" fill="#10141F" />
+<rect x="10" y="15" width="1" height="1" fill="#10141F" />
+<rect x="11" y="15" width="1" height="1" fill="#10141F" />
+<rect x="12" y="15" width="1" height="1" fill="#10141F" />
+<rect x="13" y="15" width="1" height="1" fill="#341C27" />
+<rect x="14" y="15" width="1" height="1" fill="#341C27" />
+<rect x="15" y="15" width="1" height="1" fill="#10141F" />
+<rect x="16" y="15" width="1" height="1" fill="#10141F" />
+<rect x="17" y="15" width="1" height="1" fill="#10141F" />
+<rect x="18" y="15" width="1" height="1" fill="#341C27" />
+<rect x="19" y="15" width="1" height="1" fill="#341C27" />
+<rect x="20" y="15" width="1" height="1" fill="#10141F" />
+<rect x="21" y="15" width="1" height="1" fill="#10141F" />
+<rect x="22" y="15" width="1" height="1" fill="#10141F" />
+<rect x="23" y="15" width="1" height="1" fill="#10141F" />
+<rect x="24" y="15" width="1" height="1" fill="#10141F" />
+<rect x="25" y="15" width="1" height="1" fill="#10141F" />
+<rect x="26" y="15" width="1" height="1" fill="#10141F" />
+<rect x="27" y="15" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="15" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="15" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="15" width="1" height="1" fill="#341C27" />
+<rect x="31" y="15" width="1" height="1" fill="#341C27" />
+<rect x="32" y="15" width="1" height="1" fill="#10141F" />
+<rect x="33" y="15" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="15" width="1" height="1" fill="#341C27" />
+<rect x="35" y="15" width="1" height="1" fill="#341C27" />
+<rect x="36" y="15" width="1" height="1" fill="#10141F" />
+<rect x="37" y="15" width="1" height="1" fill="#10141F" />
+<rect x="38" y="15" width="1" height="1" fill="#10141F" />
+<rect x="39" y="15" width="1" height="1" fill="#10141F" />
+<rect x="9" y="16" width="1" height="1" fill="#10141F" />
+<rect x="10" y="16" width="1" height="1" fill="#10141F" />
+<rect x="11" y="16" width="1" height="1" fill="#10141F" />
+<rect x="12" y="16" width="1" height="1" fill="#341C27" />
+<rect x="13" y="16" width="1" height="1" fill="#341C27" />
+<rect x="14" y="16" width="1" height="1" fill="#341C27" />
+<rect x="15" y="16" width="1" height="1" fill="#10141F" />
+<rect x="16" y="16" width="1" height="1" fill="#10141F" />
+<rect x="17" y="16" width="1" height="1" fill="#10141F" />
+<rect x="18" y="16" width="1" height="1" fill="#341C27" />
+<rect x="19" y="16" width="1" height="1" fill="#341C27" />
+<rect x="20" y="16" width="1" height="1" fill="#341C27" />
+<rect x="21" y="16" width="1" height="1" fill="#10141F" />
+<rect x="22" y="16" width="1" height="1" fill="#341C27" />
+<rect x="23" y="16" width="1" height="1" fill="#341C27" />
+<rect x="24" y="16" width="1" height="1" fill="#602C2C" />
+<rect x="25" y="16" width="1" height="1" fill="#10141F" />
+<rect x="26" y="16" width="1" height="1" fill="#10141F" />
+<rect x="27" y="16" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="16" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="16" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="16" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="16" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="16" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="16" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="16" width="1" height="1" fill="#341C27" />
+<rect x="35" y="16" width="1" height="1" fill="#341C27" />
+<rect x="36" y="16" width="1" height="1" fill="#341C27" />
+<rect x="37" y="16" width="1" height="1" fill="#10141F" />
+<rect x="38" y="16" width="1" height="1" fill="#10141F" />
+<rect x="39" y="16" width="1" height="1" fill="#10141F" />
+<rect x="9" y="17" width="1" height="1" fill="#10141F" />
+<rect x="10" y="17" width="1" height="1" fill="#10141F" />
+<rect x="11" y="17" width="1" height="1" fill="#10141F" />
+<rect x="12" y="17" width="1" height="1" fill="#341C27" />
+<rect x="13" y="17" width="1" height="1" fill="#341C27" />
+<rect x="14" y="17" width="1" height="1" fill="#341C27" />
+<rect x="15" y="17" width="1" height="1" fill="#341C27" />
+<rect x="16" y="17" width="1" height="1" fill="#10141F" />
+<rect x="17" y="17" width="1" height="1" fill="#10141F" />
+<rect x="18" y="17" width="1" height="1" fill="#10141F" />
+<rect x="19" y="17" width="1" height="1" fill="#341C27" />
+<rect x="20" y="17" width="1" height="1" fill="#341C27" />
+<rect x="21" y="17" width="1" height="1" fill="#341C27" />
+<rect x="22" y="17" width="1" height="1" fill="#341C27" />
+<rect x="23" y="17" width="1" height="1" fill="#10141F" />
+<rect x="24" y="17" width="1" height="1" fill="#10141F" />
+<rect x="25" y="17" width="1" height="1" fill="#10141F" />
+<rect x="26" y="17" width="1" height="1" fill="#10141F" />
+<rect x="27" y="17" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="17" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="17" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="17" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="17" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="17" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="17" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="17" width="1" height="1" fill="#341C27" />
+<rect x="35" y="17" width="1" height="1" fill="#341C27" />
+<rect x="36" y="17" width="1" height="1" fill="#341C27" />
+<rect x="37" y="17" width="1" height="1" fill="#10141F" />
+<rect x="38" y="17" width="1" height="1" fill="#10141F" />
+<rect x="39" y="17" width="1" height="1" fill="#10141F" />
+<rect x="8" y="18" width="1" height="1" fill="#10141F" />
+<rect x="9" y="18" width="1" height="1" fill="#10141F" />
+<rect x="10" y="18" width="1" height="1" fill="#10141F" />
+<rect x="11" y="18" width="1" height="1" fill="#10141F" />
+<rect x="12" y="18" width="1" height="1" fill="#10141F" />
+<rect x="13" y="18" width="1" height="1" fill="#10141F" />
+<rect x="14" y="18" width="1" height="1" fill="#341C27" />
+<rect x="15" y="18" width="1" height="1" fill="#341C27" />
+<rect x="16" y="18" width="1" height="1" fill="#10141F" />
+<rect x="17" y="18" width="1" height="1" fill="#10141F" />
+<rect x="18" y="18" width="1" height="1" fill="#10141F" />
+<rect x="19" y="18" width="1" height="1" fill="#10141F" />
+<rect x="20" y="18" width="1" height="1" fill="#10141F" />
+<rect x="21" y="18" width="1" height="1" fill="#10141F" />
+<rect x="22" y="18" width="1" height="1" fill="#10141F" />
+<rect x="23" y="18" width="1" height="1" fill="#10141F" />
+<rect x="24" y="18" width="1" height="1" fill="#10141F" />
+<rect x="25" y="18" width="1" height="1" fill="#10141F" />
+<rect x="26" y="18" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="18" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="18" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="18" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="18" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="18" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="18" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="18" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="18" width="1" height="1" fill="#341C27" />
+<rect x="35" y="18" width="1" height="1" fill="#10141F" />
+<rect x="36" y="18" width="1" height="1" fill="#10141F" />
+<rect x="37" y="18" width="1" height="1" fill="#10141F" />
+<rect x="38" y="18" width="1" height="1" fill="#10141F" />
+<rect x="39" y="18" width="1" height="1" fill="#10141F" />
+<rect x="40" y="18" width="1" height="1" fill="#10141F" />
+<rect x="8" y="19" width="1" height="1" fill="#10141F" />
+<rect x="9" y="19" width="1" height="1" fill="#10141F" />
+<rect x="10" y="19" width="1" height="1" fill="#10141F" />
+<rect x="11" y="19" width="1" height="1" fill="#10141F" />
+<rect x="12" y="19" width="1" height="1" fill="#10141F" />
+<rect x="13" y="19" width="1" height="1" fill="#10141F" />
+<rect x="14" y="19" width="1" height="1" fill="#10141F" />
+<rect x="15" y="19" width="1" height="1" fill="#10141F" />
+<rect x="16" y="19" width="1" height="1" fill="#10141F" />
+<rect x="17" y="19" width="1" height="1" fill="#10141F" />
+<rect x="18" y="19" width="1" height="1" fill="#10141F" />
+<rect x="19" y="19" width="1" height="1" fill="#10141F" />
+<rect x="20" y="19" width="1" height="1" fill="#10141F" />
+<rect x="21" y="19" width="1" height="1" fill="#10141F" />
+<rect x="22" y="19" width="1" height="1" fill="#10141F" />
+<rect x="23" y="19" width="1" height="1" fill="#10141F" />
+<rect x="24" y="19" width="1" height="1" fill="#10141F" />
+<rect x="25" y="19" width="1" height="1" fill="#341C27" />
+<rect x="26" y="19" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="19" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="19" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="19" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="19" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="19" width="1" height="1" fill="#10141F" />
+<rect x="32" y="19" width="1" height="1" fill="#10141F" />
+<rect x="33" y="19" width="1" height="1" fill="#10141F" />
+<rect x="34" y="19" width="1" height="1" fill="#10141F" />
+<rect x="35" y="19" width="1" height="1" fill="#10141F" />
+<rect x="36" y="19" width="1" height="1" fill="#10141F" />
+<rect x="37" y="19" width="1" height="1" fill="#10141F" />
+<rect x="38" y="19" width="1" height="1" fill="#10141F" />
+<rect x="39" y="19" width="1" height="1" fill="#10141F" />
+<rect x="40" y="19" width="1" height="1" fill="#10141F" />
+<rect x="7" y="20" width="1" height="1" fill="#10141F" />
+<rect x="8" y="20" width="1" height="1" fill="#10141F" />
+<rect x="9" y="20" width="1" height="1" fill="#10141F" />
+<rect x="10" y="20" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="20" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="20" width="1" height="1" fill="#10141F" />
+<rect x="13" y="20" width="1" height="1" fill="#10141F" />
+<rect x="14" y="20" width="1" height="1" fill="#10141F" />
+<rect x="15" y="20" width="1" height="1" fill="#10141F" />
+<rect x="16" y="20" width="1" height="1" fill="#10141F" />
+<rect x="17" y="20" width="1" height="1" fill="#10141F" />
+<rect x="18" y="20" width="1" height="1" fill="#10141F" />
+<rect x="19" y="20" width="1" height="1" fill="#10141F" />
+<rect x="20" y="20" width="1" height="1" fill="#10141F" />
+<rect x="21" y="20" width="1" height="1" fill="#10141F" />
+<rect x="22" y="20" width="1" height="1" fill="#10141F" />
+<rect x="23" y="20" width="1" height="1" fill="#10141F" />
+<rect x="24" y="20" width="1" height="1" fill="#10141F" />
+<rect x="25" y="20" width="1" height="1" fill="#10141F" />
+<rect x="26" y="20" width="1" height="1" fill="#10141F" />
+<rect x="27" y="20" width="1" height="1" fill="#10141F" />
+<rect x="28" y="20" width="1" height="1" fill="#10141F" />
+<rect x="29" y="20" width="1" height="1" fill="#10141F" />
+<rect x="30" y="20" width="1" height="1" fill="#10141F" />
+<rect x="31" y="20" width="1" height="1" fill="#10141F" />
+<rect x="32" y="20" width="1" height="1" fill="#10141F" />
+<rect x="33" y="20" width="1" height="1" fill="#10141F" />
+<rect x="34" y="20" width="1" height="1" fill="#10141F" />
+<rect x="35" y="20" width="1" height="1" fill="#10141F" />
+<rect x="36" y="20" width="1" height="1" fill="#10141F" />
+<rect x="37" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="20" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="20" width="1" height="1" fill="#10141F" />
+<rect x="40" y="20" width="1" height="1" fill="#10141F" />
+<rect x="41" y="20" width="1" height="1" fill="#10141F" />
+<rect x="7" y="21" width="1" height="1" fill="#10141F" />
+<rect x="8" y="21" width="1" height="1" fill="#10141F" />
+<rect x="9" y="21" width="1" height="1" fill="#10141F" />
+<rect x="10" y="21" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="21" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="21" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="21" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="21" width="1" height="1" fill="#10141F" />
+<rect x="15" y="21" width="1" height="1" fill="#10141F" />
+<rect x="16" y="21" width="1" height="1" fill="#10141F" />
+<rect x="17" y="21" width="1" height="1" fill="#10141F" />
+<rect x="18" y="21" width="1" height="1" fill="#10141F" />
+<rect x="19" y="21" width="1" height="1" fill="#10141F" />
+<rect x="20" y="21" width="1" height="1" fill="#10141F" />
+<rect x="21" y="21" width="1" height="1" fill="#10141F" />
+<rect x="22" y="21" width="1" height="1" fill="#10141F" />
+<rect x="23" y="21" width="1" height="1" fill="#10141F" />
+<rect x="24" y="21" width="1" height="1" fill="#10141F" />
+<rect x="25" y="21" width="1" height="1" fill="#10141F" />
+<rect x="26" y="21" width="1" height="1" fill="#10141F" />
+<rect x="27" y="21" width="1" height="1" fill="#10141F" />
+<rect x="28" y="21" width="1" height="1" fill="#10141F" />
+<rect x="29" y="21" width="1" height="1" fill="#10141F" />
+<rect x="30" y="21" width="1" height="1" fill="#10141F" />
+<rect x="31" y="21" width="1" height="1" fill="#10141F" />
+<rect x="32" y="21" width="1" height="1" fill="#10141F" />
+<rect x="33" y="21" width="1" height="1" fill="#10141F" />
+<rect x="34" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="21" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="21" width="1" height="1" fill="#10141F" />
+<rect x="40" y="21" width="1" height="1" fill="#10141F" />
+<rect x="41" y="21" width="1" height="1" fill="#10141F" />
+<rect x="6" y="22" width="1" height="1" fill="#10141F" />
+<rect x="7" y="22" width="1" height="1" fill="#10141F" />
+<rect x="8" y="22" width="1" height="1" fill="#10141F" />
+<rect x="9" y="22" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="22" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="22" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="22" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="22" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="22" width="1" height="1" fill="#602C2C" />
+<rect x="15" y="22" width="1" height="1" fill="#602C2C" />
+<rect x="16" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="22" width="1" height="1" fill="#10141F" />
+<rect x="19" y="22" width="1" height="1" fill="#10141F" />
+<rect x="20" y="22" width="1" height="1" fill="#10141F" />
+<rect x="21" y="22" width="1" height="1" fill="#10141F" />
+<rect x="22" y="22" width="1" height="1" fill="#10141F" />
+<rect x="23" y="22" width="1" height="1" fill="#10141F" />
+<rect x="24" y="22" width="1" height="1" fill="#10141F" />
+<rect x="25" y="22" width="1" height="1" fill="#10141F" />
+<rect x="26" y="22" width="1" height="1" fill="#10141F" />
+<rect x="27" y="22" width="1" height="1" fill="#10141F" />
+<rect x="28" y="22" width="1" height="1" fill="#10141F" />
+<rect x="29" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="22" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="22" width="1" height="1" fill="#10141F" />
+<rect x="41" y="22" width="1" height="1" fill="#10141F" />
+<rect x="42" y="22" width="1" height="1" fill="#10141F" />
+<rect x="6" y="23" width="1" height="1" fill="#10141F" />
+<rect x="7" y="23" width="1" height="1" fill="#10141F" />
+<rect x="8" y="23" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="23" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="23" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="23" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="23" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="23" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="23" width="1" height="1" fill="#602C2C" />
+<rect x="15" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="23" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="23" width="1" height="1" fill="#10141F" />
+<rect x="42" y="23" width="1" height="1" fill="#10141F" />
+<rect x="5" y="24" width="1" height="1" fill="#10141F" />
+<rect x="6" y="24" width="1" height="1" fill="#10141F" />
+<rect x="7" y="24" width="1" height="1" fill="#10141F" />
+<rect x="8" y="24" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="24" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="24" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="24" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="24" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="24" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="24" width="1" height="1" fill="#602C2C" />
+<rect x="15" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="24" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="24" width="1" height="1" fill="#10141F" />
+<rect x="42" y="24" width="1" height="1" fill="#10141F" />
+<rect x="43" y="24" width="1" height="1" fill="#10141F" />
+<rect x="5" y="25" width="1" height="1" fill="#10141F" />
+<rect x="6" y="25" width="1" height="1" fill="#10141F" />
+<rect x="7" y="25" width="1" height="1" fill="#10141F" />
+<rect x="8" y="25" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="25" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="25" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="25" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="25" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="25" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="25" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="25" width="1" height="1" fill="#10141F" />
+<rect x="43" y="25" width="1" height="1" fill="#10141F" />
+<rect x="5" y="26" width="1" height="1" fill="#10141F" />
+<rect x="6" y="26" width="1" height="1" fill="#10141F" />
+<rect x="7" y="26" width="1" height="1" fill="#602C2C" />
+<rect x="8" y="26" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="26" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="26" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="26" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="26" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="26" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="33" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="26" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="26" width="1" height="1" fill="#10141F" />
+<rect x="43" y="26" width="1" height="1" fill="#10141F" />
+<rect x="44" y="26" width="1" height="1" fill="#10141F" />
+<rect x="4" y="27" width="1" height="1" fill="#10141F" />
+<rect x="5" y="27" width="1" height="1" fill="#10141F" />
+<rect x="6" y="27" width="1" height="1" fill="#10141F" />
+<rect x="7" y="27" width="1" height="1" fill="#602C2C" />
+<rect x="8" y="27" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="27" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="27" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="27" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="27" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="27" width="1" height="1" fill="#10141F" />
+<rect x="21" y="27" width="1" height="1" fill="#10141F" />
+<rect x="22" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="27" width="1" height="1" fill="#10141F" />
+<rect x="33" y="27" width="1" height="1" fill="#10141F" />
+<rect x="34" y="27" width="1" height="1" fill="#10141F" />
+<rect x="35" y="27" width="1" height="1" fill="#10141F" />
+<rect x="36" y="27" width="1" height="1" fill="#10141F" />
+<rect x="37" y="27" width="1" height="1" fill="#10141F" />
+<rect x="38" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="27" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="27" width="1" height="1" fill="#10141F" />
+<rect x="43" y="27" width="1" height="1" fill="#10141F" />
+<rect x="44" y="27" width="1" height="1" fill="#10141F" />
+<rect x="4" y="28" width="1" height="1" fill="#10141F" />
+<rect x="5" y="28" width="1" height="1" fill="#10141F" />
+<rect x="6" y="28" width="1" height="1" fill="#10141F" />
+<rect x="7" y="28" width="1" height="1" fill="#602C2C" />
+<rect x="8" y="28" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="28" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="28" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="28" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="28" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="18" y="28" width="1" height="1" fill="#10141F" />
+<rect x="19" y="28" width="1" height="1" fill="#10141F" />
+<rect x="20" y="28" width="1" height="1" fill="#10141F" />
+<rect x="21" y="28" width="1" height="1" fill="#10141F" />
+<rect x="22" y="28" width="1" height="1" fill="#10141F" />
+<rect x="23" y="28" width="1" height="1" fill="#10141F" />
+<rect x="24" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="28" width="1" height="1" fill="#10141F" />
+<rect x="32" y="28" width="1" height="1" fill="#10141F" />
+<rect x="33" y="28" width="1" height="1" fill="#10141F" />
+<rect x="34" y="28" width="1" height="1" fill="#10141F" />
+<rect x="35" y="28" width="1" height="1" fill="#10141F" />
+<rect x="36" y="28" width="1" height="1" fill="#10141F" />
+<rect x="37" y="28" width="1" height="1" fill="#10141F" />
+<rect x="38" y="28" width="1" height="1" fill="#10141F" />
+<rect x="39" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="28" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="28" width="1" height="1" fill="#10141F" />
+<rect x="43" y="28" width="1" height="1" fill="#10141F" />
+<rect x="44" y="28" width="1" height="1" fill="#10141F" />
+<rect x="4" y="29" width="1" height="1" fill="#10141F" />
+<rect x="5" y="29" width="1" height="1" fill="#10141F" />
+<rect x="6" y="29" width="1" height="1" fill="#10141F" />
+<rect x="7" y="29" width="1" height="1" fill="#602C2C" />
+<rect x="8" y="29" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="29" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="29" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="29" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="29" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="29" width="1" height="1" fill="#10141F" />
+<rect x="18" y="29" width="1" height="1" fill="#10141F" />
+<rect x="19" y="29" width="1" height="1" fill="#10141F" />
+<rect x="20" y="29" width="1" height="1" fill="#10141F" />
+<rect x="21" y="29" width="1" height="1" fill="#10141F" />
+<rect x="22" y="29" width="1" height="1" fill="#10141F" />
+<rect x="23" y="29" width="1" height="1" fill="#10141F" />
+<rect x="24" y="29" width="1" height="1" fill="#10141F" />
+<rect x="25" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="29" width="1" height="1" fill="#10141F" />
+<rect x="32" y="29" width="1" height="1" fill="#10141F" />
+<rect x="33" y="29" width="1" height="1" fill="#10141F" />
+<rect x="34" y="29" width="1" height="1" fill="#10141F" />
+<rect x="35" y="29" width="1" height="1" fill="#10141F" />
+<rect x="36" y="29" width="1" height="1" fill="#10141F" />
+<rect x="37" y="29" width="1" height="1" fill="#10141F" />
+<rect x="38" y="29" width="1" height="1" fill="#10141F" />
+<rect x="39" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="29" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="29" width="1" height="1" fill="#10141F" />
+<rect x="44" y="29" width="1" height="1" fill="#10141F" />
+<rect x="4" y="30" width="1" height="1" fill="#10141F" />
+<rect x="5" y="30" width="1" height="1" fill="#10141F" />
+<rect x="6" y="30" width="1" height="1" fill="#10141F" />
+<rect x="7" y="30" width="1" height="1" fill="#602C2C" />
+<rect x="8" y="30" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="30" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="30" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="30" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="30" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="30" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="30" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="30" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="30" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="30" width="1" height="1" fill="#10141F" />
+<rect x="18" y="30" width="1" height="1" fill="#10141F" />
+<rect x="19" y="30" width="1" height="1" fill="#10141F" />
+<rect x="20" y="30" width="1" height="1" fill="#10141F" />
+<rect x="21" y="30" width="1" height="1" fill="#10141F" />
+<rect x="22" y="30" width="1" height="1" fill="#10141F" />
+<rect x="23" y="30" width="1" height="1" fill="#10141F" />
+<rect x="24" y="30" width="1" height="1" fill="#10141F" />
+<rect x="25" y="30" width="1" height="1" fill="#602C2C" />
+<rect x="26" y="30" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="30" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="30" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="30" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="30" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="30" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="30" width="1" height="1" fill="#10141F" />
+<rect x="33" y="30" width="1" height="1" fill="#10141F" />
+<rect x="34" y="30" width="1" height="1" fill="#10141F" />
+<rect x="35" y="30" width="1" height="1" fill="#10141F" />
+<rect x="36" y="30" width="1" height="1" fill="#10141F" />
+<rect x="37" y="30" width="1" height="1" fill="#10141F" />
+<rect x="38" y="30" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="30" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="30" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="30" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="30" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="30" width="1" height="1" fill="#10141F" />
+<rect x="44" y="30" width="1" height="1" fill="#10141F" />
+<rect x="45" y="30" width="1" height="1" fill="#10141F" />
+<rect x="4" y="31" width="1" height="1" fill="#10141F" />
+<rect x="5" y="31" width="1" height="1" fill="#10141F" />
+<rect x="6" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="7" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="8" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="15" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="16" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="17" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="18" y="31" width="1" height="1" fill="#10141F" />
+<rect x="19" y="31" width="1" height="1" fill="#10141F" />
+<rect x="20" y="31" width="1" height="1" fill="#10141F" />
+<rect x="21" y="31" width="1" height="1" fill="#10141F" />
+<rect x="22" y="31" width="1" height="1" fill="#10141F" />
+<rect x="23" y="31" width="1" height="1" fill="#10141F" />
+<rect x="24" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="25" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="26" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="35" y="31" width="1" height="1" fill="#602C2C" />
+<rect x="36" y="31" width="1" height="1" fill="#884B2B" />
+<rect x="37" y="31" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="31" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="31" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="31" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="31" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="31" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="31" width="1" height="1" fill="#10141F" />
+<rect x="44" y="31" width="1" height="1" fill="#10141F" />
+<rect x="45" y="31" width="1" height="1" fill="#10141F" />
+<rect x="4" y="32" width="1" height="1" fill="#10141F" />
+<rect x="5" y="32" width="1" height="1" fill="#10141F" />
+<rect x="6" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="7" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="8" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="32" width="1" height="1" fill="#341C27" />
+<rect x="12" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="15" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="16" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="17" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="18" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="19" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="20" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="21" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="22" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="23" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="24" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="25" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="26" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="35" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="36" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="37" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="38" y="32" width="1" height="1" fill="#602C2C" />
+<rect x="39" y="32" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="32" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="32" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="32" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="32" width="1" height="1" fill="#10141F" />
+<rect x="44" y="32" width="1" height="1" fill="#10141F" />
+<rect x="45" y="32" width="1" height="1" fill="#10141F" />
+<rect x="4" y="33" width="1" height="1" fill="#10141F" />
+<rect x="5" y="33" width="1" height="1" fill="#10141F" />
+<rect x="6" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="7" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="8" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="33" width="1" height="1" fill="#341C27" />
+<rect x="10" y="33" width="1" height="1" fill="#341C27" />
+<rect x="11" y="33" width="1" height="1" fill="#341C27" />
+<rect x="12" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="15" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="16" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="17" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="18" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="19" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="20" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="21" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="22" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="23" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="24" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="25" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="26" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="35" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="36" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="37" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="38" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="39" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="40" y="33" width="1" height="1" fill="#602C2C" />
+<rect x="41" y="33" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="33" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="33" width="1" height="1" fill="#10141F" />
+<rect x="44" y="33" width="1" height="1" fill="#10141F" />
+<rect x="45" y="33" width="1" height="1" fill="#10141F" />
+<rect x="4" y="34" width="1" height="1" fill="#10141F" />
+<rect x="5" y="34" width="1" height="1" fill="#10141F" />
+<rect x="6" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="7" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="8" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="34" width="1" height="1" fill="#341C27" />
+<rect x="10" y="34" width="1" height="1" fill="#341C27" />
+<rect x="11" y="34" width="1" height="1" fill="#341C27" />
+<rect x="12" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="15" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="16" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="17" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="18" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="19" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="20" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="21" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="22" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="23" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="24" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="25" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="26" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="35" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="36" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="37" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="38" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="39" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="40" y="34" width="1" height="1" fill="#602C2C" />
+<rect x="41" y="34" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="34" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="34" width="1" height="1" fill="#10141F" />
+<rect x="44" y="34" width="1" height="1" fill="#10141F" />
+<rect x="45" y="34" width="1" height="1" fill="#10141F" />
+<rect x="4" y="35" width="1" height="1" fill="#10141F" />
+<rect x="5" y="35" width="1" height="1" fill="#10141F" />
+<rect x="6" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="7" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="8" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="35" width="1" height="1" fill="#341C27" />
+<rect x="10" y="35" width="1" height="1" fill="#341C27" />
+<rect x="11" y="35" width="1" height="1" fill="#341C27" />
+<rect x="12" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="15" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="16" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="17" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="18" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="19" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="20" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="21" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="22" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="23" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="24" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="25" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="26" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="35" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="36" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="37" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="38" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="39" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="40" y="35" width="1" height="1" fill="#602C2C" />
+<rect x="41" y="35" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="35" width="1" height="1" fill="#884B2B" />
+<rect x="43" y="35" width="1" height="1" fill="#10141F" />
+<rect x="44" y="35" width="1" height="1" fill="#10141F" />
+<rect x="45" y="35" width="1" height="1" fill="#10141F" />
+<rect x="4" y="36" width="1" height="1" fill="#10141F" />
+<rect x="5" y="36" width="1" height="1" fill="#10141F" />
+<rect x="6" y="36" width="1" height="1" fill="#10141F" />
+<rect x="7" y="36" width="1" height="1" fill="#10141F" />
+<rect x="8" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="9" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="36" width="1" height="1" fill="#341C27" />
+<rect x="11" y="36" width="1" height="1" fill="#341C27" />
+<rect x="12" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="15" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="16" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="17" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="18" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="19" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="20" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="21" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="22" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="23" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="24" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="25" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="26" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="35" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="36" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="37" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="38" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="39" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="40" y="36" width="1" height="1" fill="#602C2C" />
+<rect x="41" y="36" width="1" height="1" fill="#884B2B" />
+<rect x="42" y="36" width="1" height="1" fill="#10141F" />
+<rect x="43" y="36" width="1" height="1" fill="#10141F" />
+<rect x="44" y="36" width="1" height="1" fill="#10141F" />
+<rect x="45" y="36" width="1" height="1" fill="#10141F" />
+<rect x="5" y="37" width="1" height="1" fill="#10141F" />
+<rect x="6" y="37" width="1" height="1" fill="#10141F" />
+<rect x="7" y="37" width="1" height="1" fill="#10141F" />
+<rect x="8" y="37" width="1" height="1" fill="#10141F" />
+<rect x="9" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="10" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="11" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="13" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="14" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="15" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="16" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="17" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="18" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="19" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="20" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="21" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="22" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="23" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="24" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="25" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="26" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="35" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="36" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="37" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="38" y="37" width="1" height="1" fill="#602C2C" />
+<rect x="39" y="37" width="1" height="1" fill="#884B2B" />
+<rect x="40" y="37" width="1" height="1" fill="#884B2B" />
+<rect x="41" y="37" width="1" height="1" fill="#10141F" />
+<rect x="42" y="37" width="1" height="1" fill="#10141F" />
+<rect x="43" y="37" width="1" height="1" fill="#10141F" />
+<rect x="44" y="37" width="1" height="1" fill="#10141F" />
+<rect x="6" y="38" width="1" height="1" fill="#10141F" />
+<rect x="7" y="38" width="1" height="1" fill="#10141F" />
+<rect x="8" y="38" width="1" height="1" fill="#10141F" />
+<rect x="9" y="38" width="1" height="1" fill="#10141F" />
+<rect x="10" y="38" width="1" height="1" fill="#10141F" />
+<rect x="11" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="12" y="38" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="38" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="15" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="16" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="17" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="18" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="19" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="20" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="21" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="22" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="23" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="24" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="25" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="26" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="34" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="35" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="36" y="38" width="1" height="1" fill="#602C2C" />
+<rect x="37" y="38" width="1" height="1" fill="#884B2B" />
+<rect x="38" y="38" width="1" height="1" fill="#884B2B" />
+<rect x="39" y="38" width="1" height="1" fill="#10141F" />
+<rect x="40" y="38" width="1" height="1" fill="#10141F" />
+<rect x="41" y="38" width="1" height="1" fill="#10141F" />
+<rect x="42" y="38" width="1" height="1" fill="#10141F" />
+<rect x="43" y="38" width="1" height="1" fill="#10141F" />
+<rect x="7" y="39" width="1" height="1" fill="#10141F" />
+<rect x="8" y="39" width="1" height="1" fill="#10141F" />
+<rect x="9" y="39" width="1" height="1" fill="#10141F" />
+<rect x="10" y="39" width="1" height="1" fill="#10141F" />
+<rect x="11" y="39" width="1" height="1" fill="#10141F" />
+<rect x="12" y="39" width="1" height="1" fill="#10141F" />
+<rect x="13" y="39" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="39" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="39" width="1" height="1" fill="#884B2B" />
+<rect x="16" y="39" width="1" height="1" fill="#884B2B" />
+<rect x="17" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="18" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="19" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="20" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="21" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="22" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="23" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="24" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="25" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="26" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="27" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="28" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="29" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="30" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="31" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="32" y="39" width="1" height="1" fill="#602C2C" />
+<rect x="33" y="39" width="1" height="1" fill="#884B2B" />
+<rect x="34" y="39" width="1" height="1" fill="#884B2B" />
+<rect x="35" y="39" width="1" height="1" fill="#884B2B" />
+<rect x="36" y="39" width="1" height="1" fill="#10141F" />
+<rect x="37" y="39" width="1" height="1" fill="#10141F" />
+<rect x="38" y="39" width="1" height="1" fill="#10141F" />
+<rect x="39" y="39" width="1" height="1" fill="#10141F" />
+<rect x="40" y="39" width="1" height="1" fill="#10141F" />
+<rect x="41" y="39" width="1" height="1" fill="#10141F" />
+<rect x="42" y="39" width="1" height="1" fill="#10141F" />
+<rect x="9" y="40" width="1" height="1" fill="#10141F" />
+<rect x="10" y="40" width="1" height="1" fill="#10141F" />
+<rect x="11" y="40" width="1" height="1" fill="#10141F" />
+<rect x="12" y="40" width="1" height="1" fill="#10141F" />
+<rect x="13" y="40" width="1" height="1" fill="#10141F" />
+<rect x="14" y="40" width="1" height="1" fill="#10141F" />
+<rect x="15" y="40" width="1" height="1" fill="#10141F" />
+<rect x="16" y="40" width="1" height="1" fill="#10141F" />
+<rect x="17" y="40" width="1" height="1" fill="#10141F" />
+<rect x="18" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="19" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="20" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="21" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="22" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="24" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="25" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="26" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="27" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="28" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="29" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="30" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="31" y="40" width="1" height="1" fill="#884B2B" />
+<rect x="32" y="40" width="1" height="1" fill="#10141F" />
+<rect x="33" y="40" width="1" height="1" fill="#10141F" />
+<rect x="34" y="40" width="1" height="1" fill="#10141F" />
+<rect x="35" y="40" width="1" height="1" fill="#10141F" />
+<rect x="36" y="40" width="1" height="1" fill="#10141F" />
+<rect x="37" y="40" width="1" height="1" fill="#10141F" />
+<rect x="38" y="40" width="1" height="1" fill="#10141F" />
+<rect x="39" y="40" width="1" height="1" fill="#10141F" />
+<rect x="40" y="40" width="1" height="1" fill="#10141F" />
+<rect x="11" y="41" width="1" height="1" fill="#10141F" />
+<rect x="12" y="41" width="1" height="1" fill="#10141F" />
+<rect x="13" y="41" width="1" height="1" fill="#10141F" />
+<rect x="14" y="41" width="1" height="1" fill="#10141F" />
+<rect x="15" y="41" width="1" height="1" fill="#10141F" />
+<rect x="16" y="41" width="1" height="1" fill="#10141F" />
+<rect x="17" y="41" width="1" height="1" fill="#10141F" />
+<rect x="18" y="41" width="1" height="1" fill="#10141F" />
+<rect x="19" y="41" width="1" height="1" fill="#10141F" />
+<rect x="20" y="41" width="1" height="1" fill="#10141F" />
+<rect x="21" y="41" width="1" height="1" fill="#10141F" />
+<rect x="22" y="41" width="1" height="1" fill="#10141F" />
+<rect x="23" y="41" width="1" height="1" fill="#10141F" />
+<rect x="24" y="41" width="1" height="1" fill="#10141F" />
+<rect x="25" y="41" width="1" height="1" fill="#10141F" />
+<rect x="26" y="41" width="1" height="1" fill="#10141F" />
+<rect x="27" y="41" width="1" height="1" fill="#10141F" />
+<rect x="28" y="41" width="1" height="1" fill="#10141F" />
+<rect x="29" y="41" width="1" height="1" fill="#10141F" />
+<rect x="30" y="41" width="1" height="1" fill="#10141F" />
+<rect x="31" y="41" width="1" height="1" fill="#10141F" />
+<rect x="32" y="41" width="1" height="1" fill="#10141F" />
+<rect x="33" y="41" width="1" height="1" fill="#10141F" />
+<rect x="34" y="41" width="1" height="1" fill="#10141F" />
+<rect x="35" y="41" width="1" height="1" fill="#10141F" />
+<rect x="36" y="41" width="1" height="1" fill="#10141F" />
+<rect x="37" y="41" width="1" height="1" fill="#10141F" />
+<rect x="38" y="41" width="1" height="1" fill="#10141F" />
+<rect x="14" y="42" width="1" height="1" fill="#10141F" />
+<rect x="15" y="42" width="1" height="1" fill="#10141F" />
+<rect x="16" y="42" width="1" height="1" fill="#10141F" />
+<rect x="17" y="42" width="1" height="1" fill="#10141F" />
+<rect x="18" y="42" width="1" height="1" fill="#10141F" />
+<rect x="19" y="42" width="1" height="1" fill="#10141F" />
+<rect x="20" y="42" width="1" height="1" fill="#10141F" />
+<rect x="21" y="42" width="1" height="1" fill="#10141F" />
+<rect x="22" y="42" width="1" height="1" fill="#10141F" />
+<rect x="23" y="42" width="1" height="1" fill="#10141F" />
+<rect x="24" y="42" width="1" height="1" fill="#10141F" />
+<rect x="25" y="42" width="1" height="1" fill="#10141F" />
+<rect x="26" y="42" width="1" height="1" fill="#10141F" />
+<rect x="27" y="42" width="1" height="1" fill="#10141F" />
+<rect x="28" y="42" width="1" height="1" fill="#10141F" />
+<rect x="29" y="42" width="1" height="1" fill="#10141F" />
+<rect x="30" y="42" width="1" height="1" fill="#10141F" />
+<rect x="31" y="42" width="1" height="1" fill="#10141F" />
+<rect x="32" y="42" width="1" height="1" fill="#10141F" />
+<rect x="33" y="42" width="1" height="1" fill="#10141F" />
+<rect x="34" y="42" width="1" height="1" fill="#10141F" />
+<rect x="22" y="43" width="1" height="1" fill="#10141F" />
+<rect x="23" y="43" width="1" height="1" fill="#10141F" />
+<rect x="24" y="43" width="1" height="1" fill="#10141F" />
+<rect x="25" y="43" width="1" height="1" fill="#10141F" />
+<rect x="26" y="43" width="1" height="1" fill="#10141F" />
+<rect x="27" y="43" width="1" height="1" fill="#10141F" />
+<rect x="28" y="43" width="1" height="1" fill="#10141F" />
+<rect x="29" y="43" width="1" height="1" fill="#10141F" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/slimes/Garden1.svg b/Edikoyo/.obsidian/icons/slimes/Garden1.svg
new file mode 100644
index 0000000..a6fc6fb
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/slimes/Garden1.svg
@@ -0,0 +1,1439 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="48" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="18" y="4" width="1" height="1" fill="#10141F" />
+<rect x="19" y="4" width="1" height="1" fill="#10141F" />
+<rect x="20" y="4" width="1" height="1" fill="#10141F" />
+<rect x="21" y="4" width="1" height="1" fill="#10141F" />
+<rect x="22" y="4" width="1" height="1" fill="#10141F" />
+<rect x="23" y="4" width="1" height="1" fill="#10141F" />
+<rect x="27" y="4" width="1" height="1" fill="#10141F" />
+<rect x="28" y="4" width="1" height="1" fill="#10141F" />
+<rect x="29" y="4" width="1" height="1" fill="#10141F" />
+<rect x="30" y="4" width="1" height="1" fill="#10141F" />
+<rect x="31" y="4" width="1" height="1" fill="#10141F" />
+<rect x="32" y="4" width="1" height="1" fill="#10141F" />
+<rect x="33" y="4" width="1" height="1" fill="#10141F" />
+<rect x="34" y="4" width="1" height="1" fill="#10141F" />
+<rect x="17" y="5" width="1" height="1" fill="#10141F" />
+<rect x="18" y="5" width="1" height="1" fill="#10141F" />
+<rect x="19" y="5" width="1" height="1" fill="#10141F" />
+<rect x="20" y="5" width="1" height="1" fill="#10141F" />
+<rect x="21" y="5" width="1" height="1" fill="#10141F" />
+<rect x="22" y="5" width="1" height="1" fill="#10141F" />
+<rect x="23" y="5" width="1" height="1" fill="#10141F" />
+<rect x="24" y="5" width="1" height="1" fill="#10141F" />
+<rect x="25" y="5" width="1" height="1" fill="#10141F" />
+<rect x="26" y="5" width="1" height="1" fill="#10141F" />
+<rect x="27" y="5" width="1" height="1" fill="#10141F" />
+<rect x="28" y="5" width="1" height="1" fill="#10141F" />
+<rect x="29" y="5" width="1" height="1" fill="#10141F" />
+<rect x="30" y="5" width="1" height="1" fill="#10141F" />
+<rect x="31" y="5" width="1" height="1" fill="#10141F" />
+<rect x="32" y="5" width="1" height="1" fill="#10141F" />
+<rect x="33" y="5" width="1" height="1" fill="#10141F" />
+<rect x="34" y="5" width="1" height="1" fill="#10141F" />
+<rect x="35" y="5" width="1" height="1" fill="#10141F" />
+<rect x="37" y="5" width="1" height="1" fill="#10141F" />
+<rect x="16" y="6" width="1" height="1" fill="#10141F" />
+<rect x="17" y="6" width="1" height="1" fill="#10141F" />
+<rect x="18" y="6" width="1" height="1" fill="#10141F" />
+<rect x="19" y="6" width="1" height="1" fill="#10141F" />
+<rect x="20" y="6" width="1" height="1" fill="#10141F" />
+<rect x="21" y="6" width="1" height="1" fill="#10141F" />
+<rect x="22" y="6" width="1" height="1" fill="#10141F" />
+<rect x="23" y="6" width="1" height="1" fill="#10141F" />
+<rect x="24" y="6" width="1" height="1" fill="#10141F" />
+<rect x="25" y="6" width="1" height="1" fill="#10141F" />
+<rect x="26" y="6" width="1" height="1" fill="#10141F" />
+<rect x="27" y="6" width="1" height="1" fill="#10141F" />
+<rect x="28" y="6" width="1" height="1" fill="#10141F" />
+<rect x="29" y="6" width="1" height="1" fill="#10141F" />
+<rect x="30" y="6" width="1" height="1" fill="#10141F" />
+<rect x="31" y="6" width="1" height="1" fill="#10141F" />
+<rect x="32" y="6" width="1" height="1" fill="#10141F" />
+<rect x="33" y="6" width="1" height="1" fill="#10141F" />
+<rect x="34" y="6" width="1" height="1" fill="#10141F" />
+<rect x="35" y="6" width="1" height="1" fill="#10141F" />
+<rect x="36" y="6" width="1" height="1" fill="#10141F" />
+<rect x="37" y="6" width="1" height="1" fill="#10141F" />
+<rect x="38" y="6" width="1" height="1" fill="#10141F" />
+<rect x="39" y="6" width="1" height="1" fill="#10141F" />
+<rect x="40" y="6" width="1" height="1" fill="#10141F" />
+<rect x="12" y="7" width="1" height="1" fill="#10141F" />
+<rect x="13" y="7" width="1" height="1" fill="#10141F" />
+<rect x="14" y="7" width="1" height="1" fill="#10141F" />
+<rect x="15" y="7" width="1" height="1" fill="#10141F" />
+<rect x="16" y="7" width="1" height="1" fill="#10141F" />
+<rect x="17" y="7" width="1" height="1" fill="#10141F" />
+<rect x="18" y="7" width="1" height="1" fill="#19332D" />
+<rect x="19" y="7" width="1" height="1" fill="#19332D" />
+<rect x="20" y="7" width="1" height="1" fill="#25562E" />
+<rect x="21" y="7" width="1" height="1" fill="#25562E" />
+<rect x="22" y="7" width="1" height="1" fill="#25562E" />
+<rect x="23" y="7" width="1" height="1" fill="#25562E" />
+<rect x="24" y="7" width="1" height="1" fill="#10141F" />
+<rect x="25" y="7" width="1" height="1" fill="#10141F" />
+<rect x="26" y="7" width="1" height="1" fill="#10141F" />
+<rect x="27" y="7" width="1" height="1" fill="#10141F" />
+<rect x="28" y="7" width="1" height="1" fill="#151D28" />
+<rect x="29" y="7" width="1" height="1" fill="#151D28" />
+<rect x="30" y="7" width="1" height="1" fill="#19332D" />
+<rect x="31" y="7" width="1" height="1" fill="#19332D" />
+<rect x="32" y="7" width="1" height="1" fill="#10141F" />
+<rect x="33" y="7" width="1" height="1" fill="#10141F" />
+<rect x="34" y="7" width="1" height="1" fill="#10141F" />
+<rect x="35" y="7" width="1" height="1" fill="#10141F" />
+<rect x="36" y="7" width="1" height="1" fill="#10141F" />
+<rect x="37" y="7" width="1" height="1" fill="#10141F" />
+<rect x="38" y="7" width="1" height="1" fill="#10141F" />
+<rect x="39" y="7" width="1" height="1" fill="#10141F" />
+<rect x="40" y="7" width="1" height="1" fill="#10141F" />
+<rect x="41" y="7" width="1" height="1" fill="#10141F" />
+<rect x="42" y="7" width="1" height="1" fill="#10141F" />
+<rect x="10" y="8" width="1" height="1" fill="#10141F" />
+<rect x="11" y="8" width="1" height="1" fill="#10141F" />
+<rect x="12" y="8" width="1" height="1" fill="#10141F" />
+<rect x="13" y="8" width="1" height="1" fill="#10141F" />
+<rect x="14" y="8" width="1" height="1" fill="#10141F" />
+<rect x="15" y="8" width="1" height="1" fill="#10141F" />
+<rect x="16" y="8" width="1" height="1" fill="#10141F" />
+<rect x="17" y="8" width="1" height="1" fill="#10141F" />
+<rect x="18" y="8" width="1" height="1" fill="#19332D" />
+<rect x="19" y="8" width="1" height="1" fill="#19332D" />
+<rect x="20" y="8" width="1" height="1" fill="#25562E" />
+<rect x="21" y="8" width="1" height="1" fill="#25562E" />
+<rect x="22" y="8" width="1" height="1" fill="#25562E" />
+<rect x="23" y="8" width="1" height="1" fill="#25562E" />
+<rect x="24" y="8" width="1" height="1" fill="#25562E" />
+<rect x="25" y="8" width="1" height="1" fill="#10141F" />
+<rect x="26" y="8" width="1" height="1" fill="#10141F" />
+<rect x="27" y="8" width="1" height="1" fill="#10141F" />
+<rect x="28" y="8" width="1" height="1" fill="#10141F" />
+<rect x="29" y="8" width="1" height="1" fill="#151D28" />
+<rect x="30" y="8" width="1" height="1" fill="#19332D" />
+<rect x="31" y="8" width="1" height="1" fill="#10141F" />
+<rect x="32" y="8" width="1" height="1" fill="#10141F" />
+<rect x="33" y="8" width="1" height="1" fill="#10141F" />
+<rect x="34" y="8" width="1" height="1" fill="#10141F" />
+<rect x="35" y="8" width="1" height="1" fill="#10141F" />
+<rect x="36" y="8" width="1" height="1" fill="#19332D" />
+<rect x="37" y="8" width="1" height="1" fill="#19332D" />
+<rect x="38" y="8" width="1" height="1" fill="#19332D" />
+<rect x="39" y="8" width="1" height="1" fill="#10141F" />
+<rect x="40" y="8" width="1" height="1" fill="#10141F" />
+<rect x="41" y="8" width="1" height="1" fill="#10141F" />
+<rect x="42" y="8" width="1" height="1" fill="#10141F" />
+<rect x="43" y="8" width="1" height="1" fill="#10141F" />
+<rect x="9" y="9" width="1" height="1" fill="#10141F" />
+<rect x="10" y="9" width="1" height="1" fill="#10141F" />
+<rect x="11" y="9" width="1" height="1" fill="#10141F" />
+<rect x="12" y="9" width="1" height="1" fill="#10141F" />
+<rect x="13" y="9" width="1" height="1" fill="#10141F" />
+<rect x="14" y="9" width="1" height="1" fill="#10141F" />
+<rect x="15" y="9" width="1" height="1" fill="#10141F" />
+<rect x="16" y="9" width="1" height="1" fill="#10141F" />
+<rect x="17" y="9" width="1" height="1" fill="#10141F" />
+<rect x="18" y="9" width="1" height="1" fill="#19332D" />
+<rect x="19" y="9" width="1" height="1" fill="#19332D" />
+<rect x="20" y="9" width="1" height="1" fill="#19332D" />
+<rect x="21" y="9" width="1" height="1" fill="#25562E" />
+<rect x="22" y="9" width="1" height="1" fill="#10141F" />
+<rect x="23" y="9" width="1" height="1" fill="#10141F" />
+<rect x="24" y="9" width="1" height="1" fill="#10141F" />
+<rect x="25" y="9" width="1" height="1" fill="#10141F" />
+<rect x="26" y="9" width="1" height="1" fill="#10141F" />
+<rect x="27" y="9" width="1" height="1" fill="#10141F" />
+<rect x="28" y="9" width="1" height="1" fill="#10141F" />
+<rect x="29" y="9" width="1" height="1" fill="#10141F" />
+<rect x="30" y="9" width="1" height="1" fill="#10141F" />
+<rect x="31" y="9" width="1" height="1" fill="#10141F" />
+<rect x="32" y="9" width="1" height="1" fill="#10141F" />
+<rect x="33" y="9" width="1" height="1" fill="#10141F" />
+<rect x="34" y="9" width="1" height="1" fill="#19332D" />
+<rect x="35" y="9" width="1" height="1" fill="#19332D" />
+<rect x="36" y="9" width="1" height="1" fill="#25562E" />
+<rect x="37" y="9" width="1" height="1" fill="#25562E" />
+<rect x="38" y="9" width="1" height="1" fill="#25562E" />
+<rect x="39" y="9" width="1" height="1" fill="#25562E" />
+<rect x="40" y="9" width="1" height="1" fill="#25562E" />
+<rect x="41" y="9" width="1" height="1" fill="#10141F" />
+<rect x="42" y="9" width="1" height="1" fill="#10141F" />
+<rect x="43" y="9" width="1" height="1" fill="#10141F" />
+<rect x="44" y="9" width="1" height="1" fill="#10141F" />
+<rect x="9" y="10" width="1" height="1" fill="#10141F" />
+<rect x="10" y="10" width="1" height="1" fill="#10141F" />
+<rect x="11" y="10" width="1" height="1" fill="#10141F" />
+<rect x="12" y="10" width="1" height="1" fill="#151D28" />
+<rect x="13" y="10" width="1" height="1" fill="#151D28" />
+<rect x="14" y="10" width="1" height="1" fill="#151D28" />
+<rect x="15" y="10" width="1" height="1" fill="#10141F" />
+<rect x="16" y="10" width="1" height="1" fill="#10141F" />
+<rect x="17" y="10" width="1" height="1" fill="#10141F" />
+<rect x="18" y="10" width="1" height="1" fill="#19332D" />
+<rect x="19" y="10" width="1" height="1" fill="#19332D" />
+<rect x="20" y="10" width="1" height="1" fill="#10141F" />
+<rect x="21" y="10" width="1" height="1" fill="#10141F" />
+<rect x="22" y="10" width="1" height="1" fill="#10141F" />
+<rect x="23" y="10" width="1" height="1" fill="#10141F" />
+<rect x="24" y="10" width="1" height="1" fill="#10141F" />
+<rect x="25" y="10" width="1" height="1" fill="#10141F" />
+<rect x="26" y="10" width="1" height="1" fill="#10141F" />
+<rect x="27" y="10" width="1" height="1" fill="#10141F" />
+<rect x="28" y="10" width="1" height="1" fill="#10141F" />
+<rect x="29" y="10" width="1" height="1" fill="#10141F" />
+<rect x="30" y="10" width="1" height="1" fill="#10141F" />
+<rect x="31" y="10" width="1" height="1" fill="#10141F" />
+<rect x="32" y="10" width="1" height="1" fill="#19332D" />
+<rect x="33" y="10" width="1" height="1" fill="#19332D" />
+<rect x="34" y="10" width="1" height="1" fill="#19332D" />
+<rect x="35" y="10" width="1" height="1" fill="#25562E" />
+<rect x="36" y="10" width="1" height="1" fill="#25562E" />
+<rect x="37" y="10" width="1" height="1" fill="#25562E" />
+<rect x="38" y="10" width="1" height="1" fill="#25562E" />
+<rect x="39" y="10" width="1" height="1" fill="#25562E" />
+<rect x="40" y="10" width="1" height="1" fill="#25562E" />
+<rect x="41" y="10" width="1" height="1" fill="#25562E" />
+<rect x="42" y="10" width="1" height="1" fill="#10141F" />
+<rect x="43" y="10" width="1" height="1" fill="#10141F" />
+<rect x="44" y="10" width="1" height="1" fill="#10141F" />
+<rect x="45" y="10" width="1" height="1" fill="#10141F" />
+<rect x="9" y="11" width="1" height="1" fill="#10141F" />
+<rect x="10" y="11" width="1" height="1" fill="#10141F" />
+<rect x="11" y="11" width="1" height="1" fill="#10141F" />
+<rect x="12" y="11" width="1" height="1" fill="#10141F" />
+<rect x="13" y="11" width="1" height="1" fill="#10141F" />
+<rect x="14" y="11" width="1" height="1" fill="#10141F" />
+<rect x="15" y="11" width="1" height="1" fill="#10141F" />
+<rect x="16" y="11" width="1" height="1" fill="#10141F" />
+<rect x="17" y="11" width="1" height="1" fill="#10141F" />
+<rect x="18" y="11" width="1" height="1" fill="#10141F" />
+<rect x="19" y="11" width="1" height="1" fill="#10141F" />
+<rect x="20" y="11" width="1" height="1" fill="#10141F" />
+<rect x="21" y="11" width="1" height="1" fill="#10141F" />
+<rect x="22" y="11" width="1" height="1" fill="#10141F" />
+<rect x="23" y="11" width="1" height="1" fill="#10141F" />
+<rect x="24" y="11" width="1" height="1" fill="#10141F" />
+<rect x="25" y="11" width="1" height="1" fill="#10141F" />
+<rect x="26" y="11" width="1" height="1" fill="#10141F" />
+<rect x="27" y="11" width="1" height="1" fill="#10141F" />
+<rect x="28" y="11" width="1" height="1" fill="#10141F" />
+<rect x="29" y="11" width="1" height="1" fill="#10141F" />
+<rect x="30" y="11" width="1" height="1" fill="#10141F" />
+<rect x="31" y="11" width="1" height="1" fill="#10141F" />
+<rect x="32" y="11" width="1" height="1" fill="#10141F" />
+<rect x="33" y="11" width="1" height="1" fill="#25562E" />
+<rect x="34" y="11" width="1" height="1" fill="#25562E" />
+<rect x="35" y="11" width="1" height="1" fill="#25562E" />
+<rect x="36" y="11" width="1" height="1" fill="#25562E" />
+<rect x="37" y="11" width="1" height="1" fill="#25562E" />
+<rect x="38" y="11" width="1" height="1" fill="#25562E" />
+<rect x="39" y="11" width="1" height="1" fill="#25562E" />
+<rect x="40" y="11" width="1" height="1" fill="#25562E" />
+<rect x="41" y="11" width="1" height="1" fill="#25562E" />
+<rect x="42" y="11" width="1" height="1" fill="#25562E" />
+<rect x="43" y="11" width="1" height="1" fill="#10141F" />
+<rect x="44" y="11" width="1" height="1" fill="#10141F" />
+<rect x="45" y="11" width="1" height="1" fill="#10141F" />
+<rect x="7" y="12" width="1" height="1" fill="#10141F" />
+<rect x="8" y="12" width="1" height="1" fill="#10141F" />
+<rect x="9" y="12" width="1" height="1" fill="#10141F" />
+<rect x="10" y="12" width="1" height="1" fill="#10141F" />
+<rect x="11" y="12" width="1" height="1" fill="#10141F" />
+<rect x="12" y="12" width="1" height="1" fill="#10141F" />
+<rect x="13" y="12" width="1" height="1" fill="#10141F" />
+<rect x="14" y="12" width="1" height="1" fill="#10141F" />
+<rect x="15" y="12" width="1" height="1" fill="#10141F" />
+<rect x="16" y="12" width="1" height="1" fill="#10141F" />
+<rect x="17" y="12" width="1" height="1" fill="#10141F" />
+<rect x="18" y="12" width="1" height="1" fill="#10141F" />
+<rect x="19" y="12" width="1" height="1" fill="#10141F" />
+<rect x="20" y="12" width="1" height="1" fill="#10141F" />
+<rect x="21" y="12" width="1" height="1" fill="#10141F" />
+<rect x="22" y="12" width="1" height="1" fill="#884B2B" />
+<rect x="23" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="12" width="1" height="1" fill="#10141F" />
+<rect x="31" y="12" width="1" height="1" fill="#10141F" />
+<rect x="32" y="12" width="1" height="1" fill="#10141F" />
+<rect x="33" y="12" width="1" height="1" fill="#25562E" />
+<rect x="34" y="12" width="1" height="1" fill="#25562E" />
+<rect x="35" y="12" width="1" height="1" fill="#25562E" />
+<rect x="36" y="12" width="1" height="1" fill="#25562E" />
+<rect x="37" y="12" width="1" height="1" fill="#25562E" />
+<rect x="38" y="12" width="1" height="1" fill="#25562E" />
+<rect x="39" y="12" width="1" height="1" fill="#25562E" />
+<rect x="40" y="12" width="1" height="1" fill="#25562E" />
+<rect x="41" y="12" width="1" height="1" fill="#10141F" />
+<rect x="42" y="12" width="1" height="1" fill="#10141F" />
+<rect x="43" y="12" width="1" height="1" fill="#10141F" />
+<rect x="44" y="12" width="1" height="1" fill="#10141F" />
+<rect x="5" y="13" width="1" height="1" fill="#10141F" />
+<rect x="6" y="13" width="1" height="1" fill="#10141F" />
+<rect x="7" y="13" width="1" height="1" fill="#10141F" />
+<rect x="8" y="13" width="1" height="1" fill="#10141F" />
+<rect x="9" y="13" width="1" height="1" fill="#10141F" />
+<rect x="10" y="13" width="1" height="1" fill="#10141F" />
+<rect x="11" y="13" width="1" height="1" fill="#10141F" />
+<rect x="12" y="13" width="1" height="1" fill="#10141F" />
+<rect x="13" y="13" width="1" height="1" fill="#10141F" />
+<rect x="14" y="13" width="1" height="1" fill="#10141F" />
+<rect x="15" y="13" width="1" height="1" fill="#10141F" />
+<rect x="16" y="13" width="1" height="1" fill="#10141F" />
+<rect x="17" y="13" width="1" height="1" fill="#10141F" />
+<rect x="18" y="13" width="1" height="1" fill="#10141F" />
+<rect x="19" y="13" width="1" height="1" fill="#10141F" />
+<rect x="20" y="13" width="1" height="1" fill="#10141F" />
+<rect x="21" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="13" width="1" height="1" fill="#10141F" />
+<rect x="31" y="13" width="1" height="1" fill="#10141F" />
+<rect x="32" y="13" width="1" height="1" fill="#10141F" />
+<rect x="33" y="13" width="1" height="1" fill="#10141F" />
+<rect x="34" y="13" width="1" height="1" fill="#10141F" />
+<rect x="35" y="13" width="1" height="1" fill="#10141F" />
+<rect x="36" y="13" width="1" height="1" fill="#10141F" />
+<rect x="37" y="13" width="1" height="1" fill="#10141F" />
+<rect x="38" y="13" width="1" height="1" fill="#10141F" />
+<rect x="39" y="13" width="1" height="1" fill="#10141F" />
+<rect x="40" y="13" width="1" height="1" fill="#10141F" />
+<rect x="41" y="13" width="1" height="1" fill="#10141F" />
+<rect x="42" y="13" width="1" height="1" fill="#10141F" />
+<rect x="43" y="13" width="1" height="1" fill="#10141F" />
+<rect x="4" y="14" width="1" height="1" fill="#10141F" />
+<rect x="5" y="14" width="1" height="1" fill="#10141F" />
+<rect x="6" y="14" width="1" height="1" fill="#10141F" />
+<rect x="7" y="14" width="1" height="1" fill="#10141F" />
+<rect x="8" y="14" width="1" height="1" fill="#10141F" />
+<rect x="9" y="14" width="1" height="1" fill="#10141F" />
+<rect x="10" y="14" width="1" height="1" fill="#19332D" />
+<rect x="11" y="14" width="1" height="1" fill="#19332D" />
+<rect x="12" y="14" width="1" height="1" fill="#19332D" />
+<rect x="13" y="14" width="1" height="1" fill="#19332D" />
+<rect x="14" y="14" width="1" height="1" fill="#19332D" />
+<rect x="15" y="14" width="1" height="1" fill="#19332D" />
+<rect x="16" y="14" width="1" height="1" fill="#19332D" />
+<rect x="17" y="14" width="1" height="1" fill="#19332D" />
+<rect x="18" y="14" width="1" height="1" fill="#10141F" />
+<rect x="19" y="14" width="1" height="1" fill="#10141F" />
+<rect x="20" y="14" width="1" height="1" fill="#10141F" />
+<rect x="21" y="14" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="14" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="14" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="14" width="1" height="1" fill="#10141F" />
+<rect x="31" y="14" width="1" height="1" fill="#10141F" />
+<rect x="32" y="14" width="1" height="1" fill="#10141F" />
+<rect x="33" y="14" width="1" height="1" fill="#10141F" />
+<rect x="34" y="14" width="1" height="1" fill="#10141F" />
+<rect x="35" y="14" width="1" height="1" fill="#10141F" />
+<rect x="36" y="14" width="1" height="1" fill="#10141F" />
+<rect x="37" y="14" width="1" height="1" fill="#10141F" />
+<rect x="38" y="14" width="1" height="1" fill="#10141F" />
+<rect x="39" y="14" width="1" height="1" fill="#10141F" />
+<rect x="40" y="14" width="1" height="1" fill="#10141F" />
+<rect x="41" y="14" width="1" height="1" fill="#10141F" />
+<rect x="42" y="14" width="1" height="1" fill="#10141F" />
+<rect x="3" y="15" width="1" height="1" fill="#10141F" />
+<rect x="4" y="15" width="1" height="1" fill="#10141F" />
+<rect x="5" y="15" width="1" height="1" fill="#10141F" />
+<rect x="6" y="15" width="1" height="1" fill="#10141F" />
+<rect x="7" y="15" width="1" height="1" fill="#19332D" />
+<rect x="8" y="15" width="1" height="1" fill="#19332D" />
+<rect x="9" y="15" width="1" height="1" fill="#19332D" />
+<rect x="10" y="15" width="1" height="1" fill="#19332D" />
+<rect x="11" y="15" width="1" height="1" fill="#19332D" />
+<rect x="12" y="15" width="1" height="1" fill="#19332D" />
+<rect x="13" y="15" width="1" height="1" fill="#19332D" />
+<rect x="14" y="15" width="1" height="1" fill="#19332D" />
+<rect x="15" y="15" width="1" height="1" fill="#19332D" />
+<rect x="16" y="15" width="1" height="1" fill="#19332D" />
+<rect x="17" y="15" width="1" height="1" fill="#19332D" />
+<rect x="18" y="15" width="1" height="1" fill="#10141F" />
+<rect x="19" y="15" width="1" height="1" fill="#10141F" />
+<rect x="20" y="15" width="1" height="1" fill="#10141F" />
+<rect x="21" y="15" width="1" height="1" fill="#10141F" />
+<rect x="22" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="15" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="15" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="15" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="15" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="15" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="15" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="15" width="1" height="1" fill="#10141F" />
+<rect x="30" y="15" width="1" height="1" fill="#10141F" />
+<rect x="31" y="15" width="1" height="1" fill="#10141F" />
+<rect x="32" y="15" width="1" height="1" fill="#10141F" />
+<rect x="33" y="15" width="1" height="1" fill="#10141F" />
+<rect x="34" y="15" width="1" height="1" fill="#10141F" />
+<rect x="35" y="15" width="1" height="1" fill="#10141F" />
+<rect x="36" y="15" width="1" height="1" fill="#10141F" />
+<rect x="37" y="15" width="1" height="1" fill="#10141F" />
+<rect x="38" y="15" width="1" height="1" fill="#10141F" />
+<rect x="39" y="15" width="1" height="1" fill="#10141F" />
+<rect x="40" y="15" width="1" height="1" fill="#10141F" />
+<rect x="41" y="15" width="1" height="1" fill="#10141F" />
+<rect x="42" y="15" width="1" height="1" fill="#10141F" />
+<rect x="3" y="16" width="1" height="1" fill="#10141F" />
+<rect x="4" y="16" width="1" height="1" fill="#10141F" />
+<rect x="5" y="16" width="1" height="1" fill="#10141F" />
+<rect x="6" y="16" width="1" height="1" fill="#19332D" />
+<rect x="7" y="16" width="1" height="1" fill="#19332D" />
+<rect x="8" y="16" width="1" height="1" fill="#19332D" />
+<rect x="9" y="16" width="1" height="1" fill="#19332D" />
+<rect x="10" y="16" width="1" height="1" fill="#19332D" />
+<rect x="11" y="16" width="1" height="1" fill="#19332D" />
+<rect x="12" y="16" width="1" height="1" fill="#19332D" />
+<rect x="13" y="16" width="1" height="1" fill="#19332D" />
+<rect x="14" y="16" width="1" height="1" fill="#19332D" />
+<rect x="15" y="16" width="1" height="1" fill="#19332D" />
+<rect x="16" y="16" width="1" height="1" fill="#19332D" />
+<rect x="17" y="16" width="1" height="1" fill="#19332D" />
+<rect x="18" y="16" width="1" height="1" fill="#25562E" />
+<rect x="19" y="16" width="1" height="1" fill="#10141F" />
+<rect x="20" y="16" width="1" height="1" fill="#10141F" />
+<rect x="21" y="16" width="1" height="1" fill="#10141F" />
+<rect x="22" y="16" width="1" height="1" fill="#10141F" />
+<rect x="23" y="16" width="1" height="1" fill="#10141F" />
+<rect x="24" y="16" width="1" height="1" fill="#10141F" />
+<rect x="25" y="16" width="1" height="1" fill="#10141F" />
+<rect x="26" y="16" width="1" height="1" fill="#10141F" />
+<rect x="27" y="16" width="1" height="1" fill="#10141F" />
+<rect x="28" y="16" width="1" height="1" fill="#10141F" />
+<rect x="29" y="16" width="1" height="1" fill="#10141F" />
+<rect x="30" y="16" width="1" height="1" fill="#10141F" />
+<rect x="31" y="16" width="1" height="1" fill="#10141F" />
+<rect x="32" y="16" width="1" height="1" fill="#25562E" />
+<rect x="33" y="16" width="1" height="1" fill="#10141F" />
+<rect x="34" y="16" width="1" height="1" fill="#10141F" />
+<rect x="35" y="16" width="1" height="1" fill="#10141F" />
+<rect x="36" y="16" width="1" height="1" fill="#19332D" />
+<rect x="37" y="16" width="1" height="1" fill="#19332D" />
+<rect x="38" y="16" width="1" height="1" fill="#19332D" />
+<rect x="39" y="16" width="1" height="1" fill="#10141F" />
+<rect x="40" y="16" width="1" height="1" fill="#10141F" />
+<rect x="41" y="16" width="1" height="1" fill="#10141F" />
+<rect x="2" y="17" width="1" height="1" fill="#10141F" />
+<rect x="3" y="17" width="1" height="1" fill="#10141F" />
+<rect x="4" y="17" width="1" height="1" fill="#10141F" />
+<rect x="5" y="17" width="1" height="1" fill="#19332D" />
+<rect x="6" y="17" width="1" height="1" fill="#19332D" />
+<rect x="7" y="17" width="1" height="1" fill="#19332D" />
+<rect x="8" y="17" width="1" height="1" fill="#19332D" />
+<rect x="9" y="17" width="1" height="1" fill="#19332D" />
+<rect x="10" y="17" width="1" height="1" fill="#25562E" />
+<rect x="11" y="17" width="1" height="1" fill="#25562E" />
+<rect x="12" y="17" width="1" height="1" fill="#25562E" />
+<rect x="13" y="17" width="1" height="1" fill="#25562E" />
+<rect x="14" y="17" width="1" height="1" fill="#25562E" />
+<rect x="15" y="17" width="1" height="1" fill="#25562E" />
+<rect x="16" y="17" width="1" height="1" fill="#25562E" />
+<rect x="17" y="17" width="1" height="1" fill="#25562E" />
+<rect x="18" y="17" width="1" height="1" fill="#25562E" />
+<rect x="19" y="17" width="1" height="1" fill="#25562E" />
+<rect x="20" y="17" width="1" height="1" fill="#10141F" />
+<rect x="21" y="17" width="1" height="1" fill="#10141F" />
+<rect x="22" y="17" width="1" height="1" fill="#10141F" />
+<rect x="23" y="17" width="1" height="1" fill="#10141F" />
+<rect x="24" y="17" width="1" height="1" fill="#10141F" />
+<rect x="25" y="17" width="1" height="1" fill="#10141F" />
+<rect x="26" y="17" width="1" height="1" fill="#10141F" />
+<rect x="27" y="17" width="1" height="1" fill="#10141F" />
+<rect x="28" y="17" width="1" height="1" fill="#10141F" />
+<rect x="29" y="17" width="1" height="1" fill="#10141F" />
+<rect x="30" y="17" width="1" height="1" fill="#10141F" />
+<rect x="31" y="17" width="1" height="1" fill="#25562E" />
+<rect x="32" y="17" width="1" height="1" fill="#25562E" />
+<rect x="33" y="17" width="1" height="1" fill="#10141F" />
+<rect x="34" y="17" width="1" height="1" fill="#10141F" />
+<rect x="35" y="17" width="1" height="1" fill="#10141F" />
+<rect x="36" y="17" width="1" height="1" fill="#10141F" />
+<rect x="37" y="17" width="1" height="1" fill="#19332D" />
+<rect x="38" y="17" width="1" height="1" fill="#19332D" />
+<rect x="39" y="17" width="1" height="1" fill="#10141F" />
+<rect x="40" y="17" width="1" height="1" fill="#10141F" />
+<rect x="41" y="17" width="1" height="1" fill="#10141F" />
+<rect x="2" y="18" width="1" height="1" fill="#10141F" />
+<rect x="3" y="18" width="1" height="1" fill="#10141F" />
+<rect x="4" y="18" width="1" height="1" fill="#10141F" />
+<rect x="5" y="18" width="1" height="1" fill="#19332D" />
+<rect x="6" y="18" width="1" height="1" fill="#19332D" />
+<rect x="7" y="18" width="1" height="1" fill="#25562E" />
+<rect x="8" y="18" width="1" height="1" fill="#25562E" />
+<rect x="9" y="18" width="1" height="1" fill="#25562E" />
+<rect x="10" y="18" width="1" height="1" fill="#25562E" />
+<rect x="11" y="18" width="1" height="1" fill="#25562E" />
+<rect x="12" y="18" width="1" height="1" fill="#25562E" />
+<rect x="13" y="18" width="1" height="1" fill="#25562E" />
+<rect x="14" y="18" width="1" height="1" fill="#25562E" />
+<rect x="15" y="18" width="1" height="1" fill="#25562E" />
+<rect x="16" y="18" width="1" height="1" fill="#25562E" />
+<rect x="17" y="18" width="1" height="1" fill="#25562E" />
+<rect x="18" y="18" width="1" height="1" fill="#25562E" />
+<rect x="19" y="18" width="1" height="1" fill="#10141F" />
+<rect x="20" y="18" width="1" height="1" fill="#10141F" />
+<rect x="21" y="18" width="1" height="1" fill="#10141F" />
+<rect x="22" y="18" width="1" height="1" fill="#10141F" />
+<rect x="23" y="18" width="1" height="1" fill="#10141F" />
+<rect x="24" y="18" width="1" height="1" fill="#10141F" />
+<rect x="25" y="18" width="1" height="1" fill="#10141F" />
+<rect x="26" y="18" width="1" height="1" fill="#10141F" />
+<rect x="27" y="18" width="1" height="1" fill="#10141F" />
+<rect x="28" y="18" width="1" height="1" fill="#10141F" />
+<rect x="29" y="18" width="1" height="1" fill="#25562E" />
+<rect x="30" y="18" width="1" height="1" fill="#25562E" />
+<rect x="31" y="18" width="1" height="1" fill="#25562E" />
+<rect x="32" y="18" width="1" height="1" fill="#25562E" />
+<rect x="33" y="18" width="1" height="1" fill="#25562E" />
+<rect x="34" y="18" width="1" height="1" fill="#10141F" />
+<rect x="35" y="18" width="1" height="1" fill="#10141F" />
+<rect x="36" y="18" width="1" height="1" fill="#10141F" />
+<rect x="37" y="18" width="1" height="1" fill="#19332D" />
+<rect x="38" y="18" width="1" height="1" fill="#10141F" />
+<rect x="39" y="18" width="1" height="1" fill="#10141F" />
+<rect x="40" y="18" width="1" height="1" fill="#10141F" />
+<rect x="2" y="19" width="1" height="1" fill="#10141F" />
+<rect x="3" y="19" width="1" height="1" fill="#10141F" />
+<rect x="4" y="19" width="1" height="1" fill="#10141F" />
+<rect x="5" y="19" width="1" height="1" fill="#10141F" />
+<rect x="6" y="19" width="1" height="1" fill="#25562E" />
+<rect x="7" y="19" width="1" height="1" fill="#25562E" />
+<rect x="8" y="19" width="1" height="1" fill="#25562E" />
+<rect x="9" y="19" width="1" height="1" fill="#25562E" />
+<rect x="10" y="19" width="1" height="1" fill="#25562E" />
+<rect x="11" y="19" width="1" height="1" fill="#25562E" />
+<rect x="12" y="19" width="1" height="1" fill="#25562E" />
+<rect x="13" y="19" width="1" height="1" fill="#25562E" />
+<rect x="14" y="19" width="1" height="1" fill="#25562E" />
+<rect x="15" y="19" width="1" height="1" fill="#25562E" />
+<rect x="16" y="19" width="1" height="1" fill="#25562E" />
+<rect x="17" y="19" width="1" height="1" fill="#25562E" />
+<rect x="18" y="19" width="1" height="1" fill="#10141F" />
+<rect x="19" y="19" width="1" height="1" fill="#10141F" />
+<rect x="20" y="19" width="1" height="1" fill="#10141F" />
+<rect x="21" y="19" width="1" height="1" fill="#10141F" />
+<rect x="22" y="19" width="1" height="1" fill="#10141F" />
+<rect x="23" y="19" width="1" height="1" fill="#10141F" />
+<rect x="24" y="19" width="1" height="1" fill="#10141F" />
+<rect x="25" y="19" width="1" height="1" fill="#19332D" />
+<rect x="26" y="19" width="1" height="1" fill="#19332D" />
+<rect x="27" y="19" width="1" height="1" fill="#19332D" />
+<rect x="28" y="19" width="1" height="1" fill="#25562E" />
+<rect x="29" y="19" width="1" height="1" fill="#25562E" />
+<rect x="30" y="19" width="1" height="1" fill="#25562E" />
+<rect x="31" y="19" width="1" height="1" fill="#25562E" />
+<rect x="32" y="19" width="1" height="1" fill="#25562E" />
+<rect x="33" y="19" width="1" height="1" fill="#25562E" />
+<rect x="34" y="19" width="1" height="1" fill="#10141F" />
+<rect x="35" y="19" width="1" height="1" fill="#10141F" />
+<rect x="36" y="19" width="1" height="1" fill="#10141F" />
+<rect x="37" y="19" width="1" height="1" fill="#10141F" />
+<rect x="38" y="19" width="1" height="1" fill="#10141F" />
+<rect x="39" y="19" width="1" height="1" fill="#10141F" />
+<rect x="40" y="19" width="1" height="1" fill="#10141F" />
+<rect x="3" y="20" width="1" height="1" fill="#10141F" />
+<rect x="4" y="20" width="1" height="1" fill="#10141F" />
+<rect x="5" y="20" width="1" height="1" fill="#10141F" />
+<rect x="6" y="20" width="1" height="1" fill="#10141F" />
+<rect x="7" y="20" width="1" height="1" fill="#25562E" />
+<rect x="8" y="20" width="1" height="1" fill="#25562E" />
+<rect x="9" y="20" width="1" height="1" fill="#25562E" />
+<rect x="10" y="20" width="1" height="1" fill="#25562E" />
+<rect x="11" y="20" width="1" height="1" fill="#25562E" />
+<rect x="12" y="20" width="1" height="1" fill="#25562E" />
+<rect x="13" y="20" width="1" height="1" fill="#25562E" />
+<rect x="14" y="20" width="1" height="1" fill="#25562E" />
+<rect x="15" y="20" width="1" height="1" fill="#25562E" />
+<rect x="16" y="20" width="1" height="1" fill="#25562E" />
+<rect x="17" y="20" width="1" height="1" fill="#10141F" />
+<rect x="18" y="20" width="1" height="1" fill="#10141F" />
+<rect x="19" y="20" width="1" height="1" fill="#10141F" />
+<rect x="20" y="20" width="1" height="1" fill="#10141F" />
+<rect x="21" y="20" width="1" height="1" fill="#151D28" />
+<rect x="22" y="20" width="1" height="1" fill="#10141F" />
+<rect x="23" y="20" width="1" height="1" fill="#10141F" />
+<rect x="24" y="20" width="1" height="1" fill="#10141F" />
+<rect x="25" y="20" width="1" height="1" fill="#10141F" />
+<rect x="26" y="20" width="1" height="1" fill="#19332D" />
+<rect x="27" y="20" width="1" height="1" fill="#19332D" />
+<rect x="28" y="20" width="1" height="1" fill="#25562E" />
+<rect x="29" y="20" width="1" height="1" fill="#25562E" />
+<rect x="30" y="20" width="1" height="1" fill="#25562E" />
+<rect x="31" y="20" width="1" height="1" fill="#25562E" />
+<rect x="32" y="20" width="1" height="1" fill="#25562E" />
+<rect x="33" y="20" width="1" height="1" fill="#25562E" />
+<rect x="34" y="20" width="1" height="1" fill="#25562E" />
+<rect x="35" y="20" width="1" height="1" fill="#10141F" />
+<rect x="36" y="20" width="1" height="1" fill="#10141F" />
+<rect x="37" y="20" width="1" height="1" fill="#10141F" />
+<rect x="38" y="20" width="1" height="1" fill="#10141F" />
+<rect x="39" y="20" width="1" height="1" fill="#10141F" />
+<rect x="40" y="20" width="1" height="1" fill="#10141F" />
+<rect x="41" y="20" width="1" height="1" fill="#10141F" />
+<rect x="4" y="21" width="1" height="1" fill="#10141F" />
+<rect x="5" y="21" width="1" height="1" fill="#10141F" />
+<rect x="6" y="21" width="1" height="1" fill="#10141F" />
+<rect x="7" y="21" width="1" height="1" fill="#10141F" />
+<rect x="8" y="21" width="1" height="1" fill="#10141F" />
+<rect x="9" y="21" width="1" height="1" fill="#25562E" />
+<rect x="10" y="21" width="1" height="1" fill="#25562E" />
+<rect x="11" y="21" width="1" height="1" fill="#25562E" />
+<rect x="12" y="21" width="1" height="1" fill="#25562E" />
+<rect x="13" y="21" width="1" height="1" fill="#25562E" />
+<rect x="14" y="21" width="1" height="1" fill="#25562E" />
+<rect x="15" y="21" width="1" height="1" fill="#10141F" />
+<rect x="16" y="21" width="1" height="1" fill="#10141F" />
+<rect x="17" y="21" width="1" height="1" fill="#10141F" />
+<rect x="18" y="21" width="1" height="1" fill="#10141F" />
+<rect x="19" y="21" width="1" height="1" fill="#10141F" />
+<rect x="20" y="21" width="1" height="1" fill="#151D28" />
+<rect x="21" y="21" width="1" height="1" fill="#151D28" />
+<rect x="22" y="21" width="1" height="1" fill="#19332D" />
+<rect x="23" y="21" width="1" height="1" fill="#10141F" />
+<rect x="24" y="21" width="1" height="1" fill="#10141F" />
+<rect x="25" y="21" width="1" height="1" fill="#10141F" />
+<rect x="26" y="21" width="1" height="1" fill="#10141F" />
+<rect x="27" y="21" width="1" height="1" fill="#19332D" />
+<rect x="28" y="21" width="1" height="1" fill="#19332D" />
+<rect x="29" y="21" width="1" height="1" fill="#25562E" />
+<rect x="30" y="21" width="1" height="1" fill="#25562E" />
+<rect x="31" y="21" width="1" height="1" fill="#25562E" />
+<rect x="32" y="21" width="1" height="1" fill="#25562E" />
+<rect x="33" y="21" width="1" height="1" fill="#25562E" />
+<rect x="34" y="21" width="1" height="1" fill="#25562E" />
+<rect x="35" y="21" width="1" height="1" fill="#10141F" />
+<rect x="36" y="21" width="1" height="1" fill="#10141F" />
+<rect x="37" y="21" width="1" height="1" fill="#10141F" />
+<rect x="38" y="21" width="1" height="1" fill="#468232" />
+<rect x="39" y="21" width="1" height="1" fill="#10141F" />
+<rect x="40" y="21" width="1" height="1" fill="#10141F" />
+<rect x="41" y="21" width="1" height="1" fill="#10141F" />
+<rect x="5" y="22" width="1" height="1" fill="#10141F" />
+<rect x="6" y="22" width="1" height="1" fill="#10141F" />
+<rect x="7" y="22" width="1" height="1" fill="#10141F" />
+<rect x="8" y="22" width="1" height="1" fill="#10141F" />
+<rect x="9" y="22" width="1" height="1" fill="#10141F" />
+<rect x="10" y="22" width="1" height="1" fill="#10141F" />
+<rect x="11" y="22" width="1" height="1" fill="#10141F" />
+<rect x="12" y="22" width="1" height="1" fill="#10141F" />
+<rect x="13" y="22" width="1" height="1" fill="#10141F" />
+<rect x="14" y="22" width="1" height="1" fill="#10141F" />
+<rect x="15" y="22" width="1" height="1" fill="#10141F" />
+<rect x="16" y="22" width="1" height="1" fill="#10141F" />
+<rect x="17" y="22" width="1" height="1" fill="#10141F" />
+<rect x="18" y="22" width="1" height="1" fill="#10141F" />
+<rect x="19" y="22" width="1" height="1" fill="#151D28" />
+<rect x="20" y="22" width="1" height="1" fill="#151D28" />
+<rect x="21" y="22" width="1" height="1" fill="#151D28" />
+<rect x="22" y="22" width="1" height="1" fill="#19332D" />
+<rect x="23" y="22" width="1" height="1" fill="#19332D" />
+<rect x="24" y="22" width="1" height="1" fill="#10141F" />
+<rect x="25" y="22" width="1" height="1" fill="#10141F" />
+<rect x="26" y="22" width="1" height="1" fill="#10141F" />
+<rect x="27" y="22" width="1" height="1" fill="#10141F" />
+<rect x="28" y="22" width="1" height="1" fill="#19332D" />
+<rect x="29" y="22" width="1" height="1" fill="#25562E" />
+<rect x="30" y="22" width="1" height="1" fill="#25562E" />
+<rect x="31" y="22" width="1" height="1" fill="#25562E" />
+<rect x="32" y="22" width="1" height="1" fill="#25562E" />
+<rect x="33" y="22" width="1" height="1" fill="#25562E" />
+<rect x="34" y="22" width="1" height="1" fill="#25562E" />
+<rect x="35" y="22" width="1" height="1" fill="#10141F" />
+<rect x="36" y="22" width="1" height="1" fill="#10141F" />
+<rect x="37" y="22" width="1" height="1" fill="#10141F" />
+<rect x="38" y="22" width="1" height="1" fill="#468232" />
+<rect x="39" y="22" width="1" height="1" fill="#468232" />
+<rect x="40" y="22" width="1" height="1" fill="#10141F" />
+<rect x="41" y="22" width="1" height="1" fill="#10141F" />
+<rect x="42" y="22" width="1" height="1" fill="#10141F" />
+<rect x="6" y="23" width="1" height="1" fill="#10141F" />
+<rect x="7" y="23" width="1" height="1" fill="#10141F" />
+<rect x="8" y="23" width="1" height="1" fill="#10141F" />
+<rect x="9" y="23" width="1" height="1" fill="#10141F" />
+<rect x="10" y="23" width="1" height="1" fill="#10141F" />
+<rect x="11" y="23" width="1" height="1" fill="#10141F" />
+<rect x="12" y="23" width="1" height="1" fill="#10141F" />
+<rect x="13" y="23" width="1" height="1" fill="#10141F" />
+<rect x="14" y="23" width="1" height="1" fill="#10141F" />
+<rect x="15" y="23" width="1" height="1" fill="#10141F" />
+<rect x="16" y="23" width="1" height="1" fill="#10141F" />
+<rect x="17" y="23" width="1" height="1" fill="#151D28" />
+<rect x="18" y="23" width="1" height="1" fill="#151D28" />
+<rect x="19" y="23" width="1" height="1" fill="#151D28" />
+<rect x="20" y="23" width="1" height="1" fill="#151D28" />
+<rect x="21" y="23" width="1" height="1" fill="#151D28" />
+<rect x="22" y="23" width="1" height="1" fill="#19332D" />
+<rect x="23" y="23" width="1" height="1" fill="#19332D" />
+<rect x="24" y="23" width="1" height="1" fill="#19332D" />
+<rect x="25" y="23" width="1" height="1" fill="#10141F" />
+<rect x="26" y="23" width="1" height="1" fill="#10141F" />
+<rect x="27" y="23" width="1" height="1" fill="#10141F" />
+<rect x="28" y="23" width="1" height="1" fill="#10141F" />
+<rect x="29" y="23" width="1" height="1" fill="#19332D" />
+<rect x="30" y="23" width="1" height="1" fill="#25562E" />
+<rect x="31" y="23" width="1" height="1" fill="#25562E" />
+<rect x="32" y="23" width="1" height="1" fill="#25562E" />
+<rect x="33" y="23" width="1" height="1" fill="#25562E" />
+<rect x="34" y="23" width="1" height="1" fill="#25562E" />
+<rect x="35" y="23" width="1" height="1" fill="#10141F" />
+<rect x="36" y="23" width="1" height="1" fill="#10141F" />
+<rect x="37" y="23" width="1" height="1" fill="#10141F" />
+<rect x="38" y="23" width="1" height="1" fill="#468232" />
+<rect x="39" y="23" width="1" height="1" fill="#468232" />
+<rect x="40" y="23" width="1" height="1" fill="#10141F" />
+<rect x="41" y="23" width="1" height="1" fill="#10141F" />
+<rect x="42" y="23" width="1" height="1" fill="#10141F" />
+<rect x="6" y="24" width="1" height="1" fill="#10141F" />
+<rect x="7" y="24" width="1" height="1" fill="#10141F" />
+<rect x="8" y="24" width="1" height="1" fill="#10141F" />
+<rect x="9" y="24" width="1" height="1" fill="#10141F" />
+<rect x="10" y="24" width="1" height="1" fill="#10141F" />
+<rect x="11" y="24" width="1" height="1" fill="#10141F" />
+<rect x="12" y="24" width="1" height="1" fill="#10141F" />
+<rect x="13" y="24" width="1" height="1" fill="#10141F" />
+<rect x="14" y="24" width="1" height="1" fill="#10141F" />
+<rect x="15" y="24" width="1" height="1" fill="#10141F" />
+<rect x="16" y="24" width="1" height="1" fill="#10141F" />
+<rect x="17" y="24" width="1" height="1" fill="#10141F" />
+<rect x="18" y="24" width="1" height="1" fill="#151D28" />
+<rect x="19" y="24" width="1" height="1" fill="#151D28" />
+<rect x="20" y="24" width="1" height="1" fill="#151D28" />
+<rect x="21" y="24" width="1" height="1" fill="#151D28" />
+<rect x="22" y="24" width="1" height="1" fill="#19332D" />
+<rect x="23" y="24" width="1" height="1" fill="#19332D" />
+<rect x="24" y="24" width="1" height="1" fill="#19332D" />
+<rect x="25" y="24" width="1" height="1" fill="#10141F" />
+<rect x="26" y="24" width="1" height="1" fill="#10141F" />
+<rect x="27" y="24" width="1" height="1" fill="#10141F" />
+<rect x="28" y="24" width="1" height="1" fill="#10141F" />
+<rect x="29" y="24" width="1" height="1" fill="#10141F" />
+<rect x="30" y="24" width="1" height="1" fill="#19332D" />
+<rect x="31" y="24" width="1" height="1" fill="#25562E" />
+<rect x="32" y="24" width="1" height="1" fill="#25562E" />
+<rect x="33" y="24" width="1" height="1" fill="#25562E" />
+<rect x="34" y="24" width="1" height="1" fill="#25562E" />
+<rect x="35" y="24" width="1" height="1" fill="#10141F" />
+<rect x="36" y="24" width="1" height="1" fill="#10141F" />
+<rect x="37" y="24" width="1" height="1" fill="#10141F" />
+<rect x="38" y="24" width="1" height="1" fill="#468232" />
+<rect x="39" y="24" width="1" height="1" fill="#468232" />
+<rect x="40" y="24" width="1" height="1" fill="#468232" />
+<rect x="41" y="24" width="1" height="1" fill="#10141F" />
+<rect x="42" y="24" width="1" height="1" fill="#10141F" />
+<rect x="43" y="24" width="1" height="1" fill="#10141F" />
+<rect x="5" y="25" width="1" height="1" fill="#10141F" />
+<rect x="6" y="25" width="1" height="1" fill="#10141F" />
+<rect x="7" y="25" width="1" height="1" fill="#10141F" />
+<rect x="8" y="25" width="1" height="1" fill="#25562E" />
+<rect x="9" y="25" width="1" height="1" fill="#25562E" />
+<rect x="10" y="25" width="1" height="1" fill="#25562E" />
+<rect x="11" y="25" width="1" height="1" fill="#25562E" />
+<rect x="12" y="25" width="1" height="1" fill="#25562E" />
+<rect x="13" y="25" width="1" height="1" fill="#25562E" />
+<rect x="14" y="25" width="1" height="1" fill="#25562E" />
+<rect x="15" y="25" width="1" height="1" fill="#10141F" />
+<rect x="16" y="25" width="1" height="1" fill="#10141F" />
+<rect x="17" y="25" width="1" height="1" fill="#10141F" />
+<rect x="18" y="25" width="1" height="1" fill="#10141F" />
+<rect x="19" y="25" width="1" height="1" fill="#10141F" />
+<rect x="20" y="25" width="1" height="1" fill="#10141F" />
+<rect x="21" y="25" width="1" height="1" fill="#10141F" />
+<rect x="22" y="25" width="1" height="1" fill="#10141F" />
+<rect x="23" y="25" width="1" height="1" fill="#10141F" />
+<rect x="24" y="25" width="1" height="1" fill="#10141F" />
+<rect x="25" y="25" width="1" height="1" fill="#10141F" />
+<rect x="26" y="25" width="1" height="1" fill="#10141F" />
+<rect x="27" y="25" width="1" height="1" fill="#10141F" />
+<rect x="28" y="25" width="1" height="1" fill="#10141F" />
+<rect x="29" y="25" width="1" height="1" fill="#10141F" />
+<rect x="30" y="25" width="1" height="1" fill="#10141F" />
+<rect x="31" y="25" width="1" height="1" fill="#10141F" />
+<rect x="32" y="25" width="1" height="1" fill="#25562E" />
+<rect x="33" y="25" width="1" height="1" fill="#25562E" />
+<rect x="34" y="25" width="1" height="1" fill="#25562E" />
+<rect x="35" y="25" width="1" height="1" fill="#10141F" />
+<rect x="36" y="25" width="1" height="1" fill="#10141F" />
+<rect x="37" y="25" width="1" height="1" fill="#10141F" />
+<rect x="38" y="25" width="1" height="1" fill="#468232" />
+<rect x="39" y="25" width="1" height="1" fill="#468232" />
+<rect x="40" y="25" width="1" height="1" fill="#468232" />
+<rect x="41" y="25" width="1" height="1" fill="#10141F" />
+<rect x="42" y="25" width="1" height="1" fill="#10141F" />
+<rect x="43" y="25" width="1" height="1" fill="#10141F" />
+<rect x="5" y="26" width="1" height="1" fill="#10141F" />
+<rect x="6" y="26" width="1" height="1" fill="#10141F" />
+<rect x="7" y="26" width="1" height="1" fill="#10141F" />
+<rect x="8" y="26" width="1" height="1" fill="#25562E" />
+<rect x="9" y="26" width="1" height="1" fill="#25562E" />
+<rect x="10" y="26" width="1" height="1" fill="#25562E" />
+<rect x="11" y="26" width="1" height="1" fill="#25562E" />
+<rect x="12" y="26" width="1" height="1" fill="#25562E" />
+<rect x="13" y="26" width="1" height="1" fill="#25562E" />
+<rect x="14" y="26" width="1" height="1" fill="#25562E" />
+<rect x="15" y="26" width="1" height="1" fill="#25562E" />
+<rect x="16" y="26" width="1" height="1" fill="#10141F" />
+<rect x="17" y="26" width="1" height="1" fill="#10141F" />
+<rect x="18" y="26" width="1" height="1" fill="#10141F" />
+<rect x="19" y="26" width="1" height="1" fill="#10141F" />
+<rect x="20" y="26" width="1" height="1" fill="#10141F" />
+<rect x="21" y="26" width="1" height="1" fill="#10141F" />
+<rect x="22" y="26" width="1" height="1" fill="#10141F" />
+<rect x="23" y="26" width="1" height="1" fill="#10141F" />
+<rect x="24" y="26" width="1" height="1" fill="#10141F" />
+<rect x="25" y="26" width="1" height="1" fill="#10141F" />
+<rect x="26" y="26" width="1" height="1" fill="#10141F" />
+<rect x="27" y="26" width="1" height="1" fill="#468232" />
+<rect x="28" y="26" width="1" height="1" fill="#10141F" />
+<rect x="29" y="26" width="1" height="1" fill="#10141F" />
+<rect x="30" y="26" width="1" height="1" fill="#10141F" />
+<rect x="31" y="26" width="1" height="1" fill="#10141F" />
+<rect x="32" y="26" width="1" height="1" fill="#10141F" />
+<rect x="33" y="26" width="1" height="1" fill="#10141F" />
+<rect x="34" y="26" width="1" height="1" fill="#10141F" />
+<rect x="35" y="26" width="1" height="1" fill="#10141F" />
+<rect x="36" y="26" width="1" height="1" fill="#10141F" />
+<rect x="37" y="26" width="1" height="1" fill="#10141F" />
+<rect x="38" y="26" width="1" height="1" fill="#468232" />
+<rect x="39" y="26" width="1" height="1" fill="#468232" />
+<rect x="40" y="26" width="1" height="1" fill="#468232" />
+<rect x="41" y="26" width="1" height="1" fill="#468232" />
+<rect x="42" y="26" width="1" height="1" fill="#10141F" />
+<rect x="43" y="26" width="1" height="1" fill="#10141F" />
+<rect x="44" y="26" width="1" height="1" fill="#10141F" />
+<rect x="4" y="27" width="1" height="1" fill="#10141F" />
+<rect x="5" y="27" width="1" height="1" fill="#10141F" />
+<rect x="6" y="27" width="1" height="1" fill="#10141F" />
+<rect x="7" y="27" width="1" height="1" fill="#25562E" />
+<rect x="8" y="27" width="1" height="1" fill="#25562E" />
+<rect x="9" y="27" width="1" height="1" fill="#25562E" />
+<rect x="10" y="27" width="1" height="1" fill="#25562E" />
+<rect x="11" y="27" width="1" height="1" fill="#25562E" />
+<rect x="12" y="27" width="1" height="1" fill="#25562E" />
+<rect x="13" y="27" width="1" height="1" fill="#25562E" />
+<rect x="14" y="27" width="1" height="1" fill="#25562E" />
+<rect x="15" y="27" width="1" height="1" fill="#468232" />
+<rect x="16" y="27" width="1" height="1" fill="#468232" />
+<rect x="17" y="27" width="1" height="1" fill="#468232" />
+<rect x="18" y="27" width="1" height="1" fill="#10141F" />
+<rect x="19" y="27" width="1" height="1" fill="#10141F" />
+<rect x="20" y="27" width="1" height="1" fill="#10141F" />
+<rect x="21" y="27" width="1" height="1" fill="#10141F" />
+<rect x="22" y="27" width="1" height="1" fill="#10141F" />
+<rect x="23" y="27" width="1" height="1" fill="#10141F" />
+<rect x="24" y="27" width="1" height="1" fill="#468232" />
+<rect x="25" y="27" width="1" height="1" fill="#468232" />
+<rect x="26" y="27" width="1" height="1" fill="#468232" />
+<rect x="27" y="27" width="1" height="1" fill="#468232" />
+<rect x="28" y="27" width="1" height="1" fill="#468232" />
+<rect x="29" y="27" width="1" height="1" fill="#468232" />
+<rect x="30" y="27" width="1" height="1" fill="#10141F" />
+<rect x="31" y="27" width="1" height="1" fill="#10141F" />
+<rect x="32" y="27" width="1" height="1" fill="#10141F" />
+<rect x="33" y="27" width="1" height="1" fill="#10141F" />
+<rect x="34" y="27" width="1" height="1" fill="#10141F" />
+<rect x="35" y="27" width="1" height="1" fill="#10141F" />
+<rect x="36" y="27" width="1" height="1" fill="#10141F" />
+<rect x="37" y="27" width="1" height="1" fill="#468232" />
+<rect x="38" y="27" width="1" height="1" fill="#468232" />
+<rect x="39" y="27" width="1" height="1" fill="#468232" />
+<rect x="40" y="27" width="1" height="1" fill="#468232" />
+<rect x="41" y="27" width="1" height="1" fill="#468232" />
+<rect x="42" y="27" width="1" height="1" fill="#10141F" />
+<rect x="43" y="27" width="1" height="1" fill="#10141F" />
+<rect x="44" y="27" width="1" height="1" fill="#10141F" />
+<rect x="4" y="28" width="1" height="1" fill="#10141F" />
+<rect x="5" y="28" width="1" height="1" fill="#10141F" />
+<rect x="6" y="28" width="1" height="1" fill="#10141F" />
+<rect x="7" y="28" width="1" height="1" fill="#25562E" />
+<rect x="8" y="28" width="1" height="1" fill="#25562E" />
+<rect x="9" y="28" width="1" height="1" fill="#25562E" />
+<rect x="10" y="28" width="1" height="1" fill="#25562E" />
+<rect x="11" y="28" width="1" height="1" fill="#25562E" />
+<rect x="12" y="28" width="1" height="1" fill="#25562E" />
+<rect x="13" y="28" width="1" height="1" fill="#25562E" />
+<rect x="14" y="28" width="1" height="1" fill="#468232" />
+<rect x="15" y="28" width="1" height="1" fill="#468232" />
+<rect x="16" y="28" width="1" height="1" fill="#468232" />
+<rect x="17" y="28" width="1" height="1" fill="#468232" />
+<rect x="18" y="28" width="1" height="1" fill="#468232" />
+<rect x="19" y="28" width="1" height="1" fill="#468232" />
+<rect x="20" y="28" width="1" height="1" fill="#468232" />
+<rect x="21" y="28" width="1" height="1" fill="#468232" />
+<rect x="22" y="28" width="1" height="1" fill="#468232" />
+<rect x="23" y="28" width="1" height="1" fill="#468232" />
+<rect x="24" y="28" width="1" height="1" fill="#468232" />
+<rect x="25" y="28" width="1" height="1" fill="#468232" />
+<rect x="26" y="28" width="1" height="1" fill="#468232" />
+<rect x="27" y="28" width="1" height="1" fill="#468232" />
+<rect x="28" y="28" width="1" height="1" fill="#468232" />
+<rect x="29" y="28" width="1" height="1" fill="#468232" />
+<rect x="30" y="28" width="1" height="1" fill="#468232" />
+<rect x="31" y="28" width="1" height="1" fill="#468232" />
+<rect x="32" y="28" width="1" height="1" fill="#10141F" />
+<rect x="33" y="28" width="1" height="1" fill="#10141F" />
+<rect x="34" y="28" width="1" height="1" fill="#10141F" />
+<rect x="35" y="28" width="1" height="1" fill="#468232" />
+<rect x="36" y="28" width="1" height="1" fill="#468232" />
+<rect x="37" y="28" width="1" height="1" fill="#468232" />
+<rect x="38" y="28" width="1" height="1" fill="#468232" />
+<rect x="39" y="28" width="1" height="1" fill="#468232" />
+<rect x="40" y="28" width="1" height="1" fill="#468232" />
+<rect x="41" y="28" width="1" height="1" fill="#468232" />
+<rect x="42" y="28" width="1" height="1" fill="#10141F" />
+<rect x="43" y="28" width="1" height="1" fill="#10141F" />
+<rect x="44" y="28" width="1" height="1" fill="#10141F" />
+<rect x="4" y="29" width="1" height="1" fill="#10141F" />
+<rect x="5" y="29" width="1" height="1" fill="#10141F" />
+<rect x="6" y="29" width="1" height="1" fill="#10141F" />
+<rect x="7" y="29" width="1" height="1" fill="#25562E" />
+<rect x="8" y="29" width="1" height="1" fill="#25562E" />
+<rect x="9" y="29" width="1" height="1" fill="#25562E" />
+<rect x="10" y="29" width="1" height="1" fill="#25562E" />
+<rect x="11" y="29" width="1" height="1" fill="#25562E" />
+<rect x="12" y="29" width="1" height="1" fill="#25562E" />
+<rect x="13" y="29" width="1" height="1" fill="#25562E" />
+<rect x="14" y="29" width="1" height="1" fill="#468232" />
+<rect x="15" y="29" width="1" height="1" fill="#468232" />
+<rect x="16" y="29" width="1" height="1" fill="#468232" />
+<rect x="17" y="29" width="1" height="1" fill="#468232" />
+<rect x="18" y="29" width="1" height="1" fill="#468232" />
+<rect x="19" y="29" width="1" height="1" fill="#468232" />
+<rect x="20" y="29" width="1" height="1" fill="#468232" />
+<rect x="21" y="29" width="1" height="1" fill="#468232" />
+<rect x="22" y="29" width="1" height="1" fill="#468232" />
+<rect x="23" y="29" width="1" height="1" fill="#468232" />
+<rect x="24" y="29" width="1" height="1" fill="#468232" />
+<rect x="25" y="29" width="1" height="1" fill="#468232" />
+<rect x="26" y="29" width="1" height="1" fill="#468232" />
+<rect x="27" y="29" width="1" height="1" fill="#468232" />
+<rect x="28" y="29" width="1" height="1" fill="#468232" />
+<rect x="29" y="29" width="1" height="1" fill="#468232" />
+<rect x="30" y="29" width="1" height="1" fill="#468232" />
+<rect x="31" y="29" width="1" height="1" fill="#468232" />
+<rect x="32" y="29" width="1" height="1" fill="#468232" />
+<rect x="33" y="29" width="1" height="1" fill="#468232" />
+<rect x="34" y="29" width="1" height="1" fill="#468232" />
+<rect x="35" y="29" width="1" height="1" fill="#468232" />
+<rect x="36" y="29" width="1" height="1" fill="#468232" />
+<rect x="37" y="29" width="1" height="1" fill="#10141F" />
+<rect x="38" y="29" width="1" height="1" fill="#468232" />
+<rect x="39" y="29" width="1" height="1" fill="#468232" />
+<rect x="40" y="29" width="1" height="1" fill="#468232" />
+<rect x="41" y="29" width="1" height="1" fill="#468232" />
+<rect x="42" y="29" width="1" height="1" fill="#468232" />
+<rect x="43" y="29" width="1" height="1" fill="#10141F" />
+<rect x="44" y="29" width="1" height="1" fill="#10141F" />
+<rect x="4" y="30" width="1" height="1" fill="#10141F" />
+<rect x="5" y="30" width="1" height="1" fill="#10141F" />
+<rect x="6" y="30" width="1" height="1" fill="#10141F" />
+<rect x="7" y="30" width="1" height="1" fill="#25562E" />
+<rect x="8" y="30" width="1" height="1" fill="#25562E" />
+<rect x="9" y="30" width="1" height="1" fill="#25562E" />
+<rect x="10" y="30" width="1" height="1" fill="#25562E" />
+<rect x="11" y="30" width="1" height="1" fill="#25562E" />
+<rect x="12" y="30" width="1" height="1" fill="#25562E" />
+<rect x="13" y="30" width="1" height="1" fill="#25562E" />
+<rect x="14" y="30" width="1" height="1" fill="#468232" />
+<rect x="15" y="30" width="1" height="1" fill="#468232" />
+<rect x="16" y="30" width="1" height="1" fill="#468232" />
+<rect x="17" y="30" width="1" height="1" fill="#468232" />
+<rect x="18" y="30" width="1" height="1" fill="#25562E" />
+<rect x="19" y="30" width="1" height="1" fill="#25562E" />
+<rect x="20" y="30" width="1" height="1" fill="#25562E" />
+<rect x="21" y="30" width="1" height="1" fill="#25562E" />
+<rect x="22" y="30" width="1" height="1" fill="#10141F" />
+<rect x="23" y="30" width="1" height="1" fill="#10141F" />
+<rect x="24" y="30" width="1" height="1" fill="#10141F" />
+<rect x="25" y="30" width="1" height="1" fill="#25562E" />
+<rect x="26" y="30" width="1" height="1" fill="#25562E" />
+<rect x="27" y="30" width="1" height="1" fill="#25562E" />
+<rect x="28" y="30" width="1" height="1" fill="#25562E" />
+<rect x="29" y="30" width="1" height="1" fill="#25562E" />
+<rect x="30" y="30" width="1" height="1" fill="#25562E" />
+<rect x="31" y="30" width="1" height="1" fill="#468232" />
+<rect x="32" y="30" width="1" height="1" fill="#468232" />
+<rect x="33" y="30" width="1" height="1" fill="#468232" />
+<rect x="34" y="30" width="1" height="1" fill="#468232" />
+<rect x="35" y="30" width="1" height="1" fill="#468232" />
+<rect x="36" y="30" width="1" height="1" fill="#10141F" />
+<rect x="37" y="30" width="1" height="1" fill="#10141F" />
+<rect x="38" y="30" width="1" height="1" fill="#10141F" />
+<rect x="39" y="30" width="1" height="1" fill="#468232" />
+<rect x="40" y="30" width="1" height="1" fill="#468232" />
+<rect x="41" y="30" width="1" height="1" fill="#468232" />
+<rect x="42" y="30" width="1" height="1" fill="#468232" />
+<rect x="43" y="30" width="1" height="1" fill="#10141F" />
+<rect x="44" y="30" width="1" height="1" fill="#10141F" />
+<rect x="45" y="30" width="1" height="1" fill="#10141F" />
+<rect x="4" y="31" width="1" height="1" fill="#10141F" />
+<rect x="5" y="31" width="1" height="1" fill="#10141F" />
+<rect x="6" y="31" width="1" height="1" fill="#25562E" />
+<rect x="7" y="31" width="1" height="1" fill="#25562E" />
+<rect x="8" y="31" width="1" height="1" fill="#25562E" />
+<rect x="9" y="31" width="1" height="1" fill="#25562E" />
+<rect x="10" y="31" width="1" height="1" fill="#25562E" />
+<rect x="11" y="31" width="1" height="1" fill="#25562E" />
+<rect x="12" y="31" width="1" height="1" fill="#25562E" />
+<rect x="13" y="31" width="1" height="1" fill="#25562E" />
+<rect x="14" y="31" width="1" height="1" fill="#25562E" />
+<rect x="15" y="31" width="1" height="1" fill="#25562E" />
+<rect x="16" y="31" width="1" height="1" fill="#25562E" />
+<rect x="17" y="31" width="1" height="1" fill="#25562E" />
+<rect x="18" y="31" width="1" height="1" fill="#25562E" />
+<rect x="19" y="31" width="1" height="1" fill="#25562E" />
+<rect x="20" y="31" width="1" height="1" fill="#25562E" />
+<rect x="21" y="31" width="1" height="1" fill="#10141F" />
+<rect x="22" y="31" width="1" height="1" fill="#10141F" />
+<rect x="23" y="31" width="1" height="1" fill="#10141F" />
+<rect x="24" y="31" width="1" height="1" fill="#10141F" />
+<rect x="25" y="31" width="1" height="1" fill="#25562E" />
+<rect x="26" y="31" width="1" height="1" fill="#25562E" />
+<rect x="27" y="31" width="1" height="1" fill="#25562E" />
+<rect x="28" y="31" width="1" height="1" fill="#25562E" />
+<rect x="29" y="31" width="1" height="1" fill="#25562E" />
+<rect x="30" y="31" width="1" height="1" fill="#25562E" />
+<rect x="31" y="31" width="1" height="1" fill="#25562E" />
+<rect x="32" y="31" width="1" height="1" fill="#25562E" />
+<rect x="33" y="31" width="1" height="1" fill="#25562E" />
+<rect x="34" y="31" width="1" height="1" fill="#25562E" />
+<rect x="35" y="31" width="1" height="1" fill="#10141F" />
+<rect x="36" y="31" width="1" height="1" fill="#10141F" />
+<rect x="37" y="31" width="1" height="1" fill="#10141F" />
+<rect x="38" y="31" width="1" height="1" fill="#10141F" />
+<rect x="39" y="31" width="1" height="1" fill="#468232" />
+<rect x="40" y="31" width="1" height="1" fill="#468232" />
+<rect x="41" y="31" width="1" height="1" fill="#468232" />
+<rect x="42" y="31" width="1" height="1" fill="#468232" />
+<rect x="43" y="31" width="1" height="1" fill="#10141F" />
+<rect x="44" y="31" width="1" height="1" fill="#10141F" />
+<rect x="45" y="31" width="1" height="1" fill="#10141F" />
+<rect x="4" y="32" width="1" height="1" fill="#10141F" />
+<rect x="5" y="32" width="1" height="1" fill="#10141F" />
+<rect x="6" y="32" width="1" height="1" fill="#25562E" />
+<rect x="7" y="32" width="1" height="1" fill="#25562E" />
+<rect x="8" y="32" width="1" height="1" fill="#25562E" />
+<rect x="9" y="32" width="1" height="1" fill="#25562E" />
+<rect x="10" y="32" width="1" height="1" fill="#25562E" />
+<rect x="11" y="32" width="1" height="1" fill="#19332D" />
+<rect x="12" y="32" width="1" height="1" fill="#19332D" />
+<rect x="13" y="32" width="1" height="1" fill="#25562E" />
+<rect x="14" y="32" width="1" height="1" fill="#25562E" />
+<rect x="15" y="32" width="1" height="1" fill="#25562E" />
+<rect x="16" y="32" width="1" height="1" fill="#25562E" />
+<rect x="17" y="32" width="1" height="1" fill="#25562E" />
+<rect x="18" y="32" width="1" height="1" fill="#25562E" />
+<rect x="19" y="32" width="1" height="1" fill="#25562E" />
+<rect x="20" y="32" width="1" height="1" fill="#25562E" />
+<rect x="21" y="32" width="1" height="1" fill="#10141F" />
+<rect x="22" y="32" width="1" height="1" fill="#10141F" />
+<rect x="23" y="32" width="1" height="1" fill="#10141F" />
+<rect x="24" y="32" width="1" height="1" fill="#10141F" />
+<rect x="25" y="32" width="1" height="1" fill="#25562E" />
+<rect x="26" y="32" width="1" height="1" fill="#25562E" />
+<rect x="27" y="32" width="1" height="1" fill="#25562E" />
+<rect x="28" y="32" width="1" height="1" fill="#25562E" />
+<rect x="29" y="32" width="1" height="1" fill="#25562E" />
+<rect x="30" y="32" width="1" height="1" fill="#25562E" />
+<rect x="31" y="32" width="1" height="1" fill="#25562E" />
+<rect x="32" y="32" width="1" height="1" fill="#25562E" />
+<rect x="33" y="32" width="1" height="1" fill="#25562E" />
+<rect x="34" y="32" width="1" height="1" fill="#25562E" />
+<rect x="35" y="32" width="1" height="1" fill="#10141F" />
+<rect x="36" y="32" width="1" height="1" fill="#10141F" />
+<rect x="37" y="32" width="1" height="1" fill="#10141F" />
+<rect x="38" y="32" width="1" height="1" fill="#10141F" />
+<rect x="39" y="32" width="1" height="1" fill="#468232" />
+<rect x="40" y="32" width="1" height="1" fill="#468232" />
+<rect x="41" y="32" width="1" height="1" fill="#468232" />
+<rect x="42" y="32" width="1" height="1" fill="#468232" />
+<rect x="43" y="32" width="1" height="1" fill="#10141F" />
+<rect x="44" y="32" width="1" height="1" fill="#10141F" />
+<rect x="45" y="32" width="1" height="1" fill="#10141F" />
+<rect x="4" y="33" width="1" height="1" fill="#10141F" />
+<rect x="5" y="33" width="1" height="1" fill="#10141F" />
+<rect x="6" y="33" width="1" height="1" fill="#25562E" />
+<rect x="7" y="33" width="1" height="1" fill="#25562E" />
+<rect x="8" y="33" width="1" height="1" fill="#25562E" />
+<rect x="9" y="33" width="1" height="1" fill="#19332D" />
+<rect x="10" y="33" width="1" height="1" fill="#19332D" />
+<rect x="11" y="33" width="1" height="1" fill="#19332D" />
+<rect x="12" y="33" width="1" height="1" fill="#25562E" />
+<rect x="13" y="33" width="1" height="1" fill="#25562E" />
+<rect x="14" y="33" width="1" height="1" fill="#25562E" />
+<rect x="15" y="33" width="1" height="1" fill="#25562E" />
+<rect x="16" y="33" width="1" height="1" fill="#25562E" />
+<rect x="17" y="33" width="1" height="1" fill="#25562E" />
+<rect x="18" y="33" width="1" height="1" fill="#25562E" />
+<rect x="19" y="33" width="1" height="1" fill="#25562E" />
+<rect x="20" y="33" width="1" height="1" fill="#25562E" />
+<rect x="21" y="33" width="1" height="1" fill="#10141F" />
+<rect x="22" y="33" width="1" height="1" fill="#10141F" />
+<rect x="23" y="33" width="1" height="1" fill="#10141F" />
+<rect x="24" y="33" width="1" height="1" fill="#10141F" />
+<rect x="25" y="33" width="1" height="1" fill="#25562E" />
+<rect x="26" y="33" width="1" height="1" fill="#25562E" />
+<rect x="27" y="33" width="1" height="1" fill="#25562E" />
+<rect x="28" y="33" width="1" height="1" fill="#25562E" />
+<rect x="29" y="33" width="1" height="1" fill="#25562E" />
+<rect x="30" y="33" width="1" height="1" fill="#25562E" />
+<rect x="31" y="33" width="1" height="1" fill="#25562E" />
+<rect x="32" y="33" width="1" height="1" fill="#25562E" />
+<rect x="33" y="33" width="1" height="1" fill="#25562E" />
+<rect x="34" y="33" width="1" height="1" fill="#25562E" />
+<rect x="35" y="33" width="1" height="1" fill="#10141F" />
+<rect x="36" y="33" width="1" height="1" fill="#10141F" />
+<rect x="37" y="33" width="1" height="1" fill="#10141F" />
+<rect x="38" y="33" width="1" height="1" fill="#10141F" />
+<rect x="39" y="33" width="1" height="1" fill="#25562E" />
+<rect x="40" y="33" width="1" height="1" fill="#25562E" />
+<rect x="41" y="33" width="1" height="1" fill="#468232" />
+<rect x="42" y="33" width="1" height="1" fill="#468232" />
+<rect x="43" y="33" width="1" height="1" fill="#10141F" />
+<rect x="44" y="33" width="1" height="1" fill="#10141F" />
+<rect x="45" y="33" width="1" height="1" fill="#10141F" />
+<rect x="4" y="34" width="1" height="1" fill="#10141F" />
+<rect x="5" y="34" width="1" height="1" fill="#10141F" />
+<rect x="6" y="34" width="1" height="1" fill="#25562E" />
+<rect x="7" y="34" width="1" height="1" fill="#25562E" />
+<rect x="8" y="34" width="1" height="1" fill="#25562E" />
+<rect x="9" y="34" width="1" height="1" fill="#19332D" />
+<rect x="10" y="34" width="1" height="1" fill="#19332D" />
+<rect x="11" y="34" width="1" height="1" fill="#19332D" />
+<rect x="12" y="34" width="1" height="1" fill="#25562E" />
+<rect x="13" y="34" width="1" height="1" fill="#25562E" />
+<rect x="14" y="34" width="1" height="1" fill="#25562E" />
+<rect x="15" y="34" width="1" height="1" fill="#25562E" />
+<rect x="16" y="34" width="1" height="1" fill="#25562E" />
+<rect x="17" y="34" width="1" height="1" fill="#25562E" />
+<rect x="18" y="34" width="1" height="1" fill="#25562E" />
+<rect x="19" y="34" width="1" height="1" fill="#25562E" />
+<rect x="20" y="34" width="1" height="1" fill="#25562E" />
+<rect x="21" y="34" width="1" height="1" fill="#10141F" />
+<rect x="22" y="34" width="1" height="1" fill="#10141F" />
+<rect x="23" y="34" width="1" height="1" fill="#10141F" />
+<rect x="24" y="34" width="1" height="1" fill="#10141F" />
+<rect x="25" y="34" width="1" height="1" fill="#25562E" />
+<rect x="26" y="34" width="1" height="1" fill="#25562E" />
+<rect x="27" y="34" width="1" height="1" fill="#25562E" />
+<rect x="28" y="34" width="1" height="1" fill="#25562E" />
+<rect x="29" y="34" width="1" height="1" fill="#25562E" />
+<rect x="30" y="34" width="1" height="1" fill="#25562E" />
+<rect x="31" y="34" width="1" height="1" fill="#25562E" />
+<rect x="32" y="34" width="1" height="1" fill="#25562E" />
+<rect x="33" y="34" width="1" height="1" fill="#25562E" />
+<rect x="34" y="34" width="1" height="1" fill="#25562E" />
+<rect x="35" y="34" width="1" height="1" fill="#25562E" />
+<rect x="36" y="34" width="1" height="1" fill="#10141F" />
+<rect x="37" y="34" width="1" height="1" fill="#10141F" />
+<rect x="38" y="34" width="1" height="1" fill="#10141F" />
+<rect x="39" y="34" width="1" height="1" fill="#25562E" />
+<rect x="40" y="34" width="1" height="1" fill="#25562E" />
+<rect x="41" y="34" width="1" height="1" fill="#468232" />
+<rect x="42" y="34" width="1" height="1" fill="#468232" />
+<rect x="43" y="34" width="1" height="1" fill="#10141F" />
+<rect x="44" y="34" width="1" height="1" fill="#10141F" />
+<rect x="45" y="34" width="1" height="1" fill="#10141F" />
+<rect x="4" y="35" width="1" height="1" fill="#10141F" />
+<rect x="5" y="35" width="1" height="1" fill="#10141F" />
+<rect x="6" y="35" width="1" height="1" fill="#25562E" />
+<rect x="7" y="35" width="1" height="1" fill="#25562E" />
+<rect x="8" y="35" width="1" height="1" fill="#25562E" />
+<rect x="9" y="35" width="1" height="1" fill="#19332D" />
+<rect x="10" y="35" width="1" height="1" fill="#19332D" />
+<rect x="11" y="35" width="1" height="1" fill="#19332D" />
+<rect x="12" y="35" width="1" height="1" fill="#25562E" />
+<rect x="13" y="35" width="1" height="1" fill="#25562E" />
+<rect x="14" y="35" width="1" height="1" fill="#25562E" />
+<rect x="15" y="35" width="1" height="1" fill="#25562E" />
+<rect x="16" y="35" width="1" height="1" fill="#25562E" />
+<rect x="17" y="35" width="1" height="1" fill="#25562E" />
+<rect x="18" y="35" width="1" height="1" fill="#25562E" />
+<rect x="19" y="35" width="1" height="1" fill="#25562E" />
+<rect x="20" y="35" width="1" height="1" fill="#25562E" />
+<rect x="21" y="35" width="1" height="1" fill="#25562E" />
+<rect x="22" y="35" width="1" height="1" fill="#10141F" />
+<rect x="23" y="35" width="1" height="1" fill="#10141F" />
+<rect x="24" y="35" width="1" height="1" fill="#10141F" />
+<rect x="25" y="35" width="1" height="1" fill="#25562E" />
+<rect x="26" y="35" width="1" height="1" fill="#25562E" />
+<rect x="27" y="35" width="1" height="1" fill="#25562E" />
+<rect x="28" y="35" width="1" height="1" fill="#25562E" />
+<rect x="29" y="35" width="1" height="1" fill="#25562E" />
+<rect x="30" y="35" width="1" height="1" fill="#25562E" />
+<rect x="31" y="35" width="1" height="1" fill="#25562E" />
+<rect x="32" y="35" width="1" height="1" fill="#25562E" />
+<rect x="33" y="35" width="1" height="1" fill="#25562E" />
+<rect x="34" y="35" width="1" height="1" fill="#25562E" />
+<rect x="35" y="35" width="1" height="1" fill="#25562E" />
+<rect x="36" y="35" width="1" height="1" fill="#10141F" />
+<rect x="37" y="35" width="1" height="1" fill="#10141F" />
+<rect x="38" y="35" width="1" height="1" fill="#25562E" />
+<rect x="39" y="35" width="1" height="1" fill="#25562E" />
+<rect x="40" y="35" width="1" height="1" fill="#25562E" />
+<rect x="41" y="35" width="1" height="1" fill="#468232" />
+<rect x="42" y="35" width="1" height="1" fill="#468232" />
+<rect x="43" y="35" width="1" height="1" fill="#10141F" />
+<rect x="44" y="35" width="1" height="1" fill="#10141F" />
+<rect x="45" y="35" width="1" height="1" fill="#10141F" />
+<rect x="4" y="36" width="1" height="1" fill="#10141F" />
+<rect x="5" y="36" width="1" height="1" fill="#10141F" />
+<rect x="6" y="36" width="1" height="1" fill="#10141F" />
+<rect x="7" y="36" width="1" height="1" fill="#10141F" />
+<rect x="8" y="36" width="1" height="1" fill="#25562E" />
+<rect x="9" y="36" width="1" height="1" fill="#25562E" />
+<rect x="10" y="36" width="1" height="1" fill="#19332D" />
+<rect x="11" y="36" width="1" height="1" fill="#19332D" />
+<rect x="12" y="36" width="1" height="1" fill="#25562E" />
+<rect x="13" y="36" width="1" height="1" fill="#25562E" />
+<rect x="14" y="36" width="1" height="1" fill="#25562E" />
+<rect x="15" y="36" width="1" height="1" fill="#25562E" />
+<rect x="16" y="36" width="1" height="1" fill="#25562E" />
+<rect x="17" y="36" width="1" height="1" fill="#25562E" />
+<rect x="18" y="36" width="1" height="1" fill="#25562E" />
+<rect x="19" y="36" width="1" height="1" fill="#25562E" />
+<rect x="20" y="36" width="1" height="1" fill="#25562E" />
+<rect x="21" y="36" width="1" height="1" fill="#25562E" />
+<rect x="22" y="36" width="1" height="1" fill="#25562E" />
+<rect x="23" y="36" width="1" height="1" fill="#25562E" />
+<rect x="24" y="36" width="1" height="1" fill="#25562E" />
+<rect x="25" y="36" width="1" height="1" fill="#25562E" />
+<rect x="26" y="36" width="1" height="1" fill="#25562E" />
+<rect x="27" y="36" width="1" height="1" fill="#25562E" />
+<rect x="28" y="36" width="1" height="1" fill="#25562E" />
+<rect x="29" y="36" width="1" height="1" fill="#25562E" />
+<rect x="30" y="36" width="1" height="1" fill="#25562E" />
+<rect x="31" y="36" width="1" height="1" fill="#25562E" />
+<rect x="32" y="36" width="1" height="1" fill="#25562E" />
+<rect x="33" y="36" width="1" height="1" fill="#25562E" />
+<rect x="34" y="36" width="1" height="1" fill="#25562E" />
+<rect x="35" y="36" width="1" height="1" fill="#25562E" />
+<rect x="36" y="36" width="1" height="1" fill="#25562E" />
+<rect x="37" y="36" width="1" height="1" fill="#25562E" />
+<rect x="38" y="36" width="1" height="1" fill="#25562E" />
+<rect x="39" y="36" width="1" height="1" fill="#25562E" />
+<rect x="40" y="36" width="1" height="1" fill="#25562E" />
+<rect x="41" y="36" width="1" height="1" fill="#468232" />
+<rect x="42" y="36" width="1" height="1" fill="#10141F" />
+<rect x="43" y="36" width="1" height="1" fill="#10141F" />
+<rect x="44" y="36" width="1" height="1" fill="#10141F" />
+<rect x="45" y="36" width="1" height="1" fill="#10141F" />
+<rect x="5" y="37" width="1" height="1" fill="#10141F" />
+<rect x="6" y="37" width="1" height="1" fill="#10141F" />
+<rect x="7" y="37" width="1" height="1" fill="#10141F" />
+<rect x="8" y="37" width="1" height="1" fill="#10141F" />
+<rect x="9" y="37" width="1" height="1" fill="#25562E" />
+<rect x="10" y="37" width="1" height="1" fill="#25562E" />
+<rect x="11" y="37" width="1" height="1" fill="#25562E" />
+<rect x="12" y="37" width="1" height="1" fill="#25562E" />
+<rect x="13" y="37" width="1" height="1" fill="#25562E" />
+<rect x="14" y="37" width="1" height="1" fill="#25562E" />
+<rect x="15" y="37" width="1" height="1" fill="#25562E" />
+<rect x="16" y="37" width="1" height="1" fill="#25562E" />
+<rect x="17" y="37" width="1" height="1" fill="#25562E" />
+<rect x="18" y="37" width="1" height="1" fill="#25562E" />
+<rect x="19" y="37" width="1" height="1" fill="#25562E" />
+<rect x="20" y="37" width="1" height="1" fill="#25562E" />
+<rect x="21" y="37" width="1" height="1" fill="#25562E" />
+<rect x="22" y="37" width="1" height="1" fill="#25562E" />
+<rect x="23" y="37" width="1" height="1" fill="#25562E" />
+<rect x="24" y="37" width="1" height="1" fill="#25562E" />
+<rect x="25" y="37" width="1" height="1" fill="#25562E" />
+<rect x="26" y="37" width="1" height="1" fill="#25562E" />
+<rect x="27" y="37" width="1" height="1" fill="#25562E" />
+<rect x="28" y="37" width="1" height="1" fill="#25562E" />
+<rect x="29" y="37" width="1" height="1" fill="#25562E" />
+<rect x="30" y="37" width="1" height="1" fill="#25562E" />
+<rect x="31" y="37" width="1" height="1" fill="#25562E" />
+<rect x="32" y="37" width="1" height="1" fill="#25562E" />
+<rect x="33" y="37" width="1" height="1" fill="#25562E" />
+<rect x="34" y="37" width="1" height="1" fill="#25562E" />
+<rect x="35" y="37" width="1" height="1" fill="#25562E" />
+<rect x="36" y="37" width="1" height="1" fill="#25562E" />
+<rect x="37" y="37" width="1" height="1" fill="#25562E" />
+<rect x="38" y="37" width="1" height="1" fill="#25562E" />
+<rect x="39" y="37" width="1" height="1" fill="#468232" />
+<rect x="40" y="37" width="1" height="1" fill="#468232" />
+<rect x="41" y="37" width="1" height="1" fill="#10141F" />
+<rect x="42" y="37" width="1" height="1" fill="#10141F" />
+<rect x="43" y="37" width="1" height="1" fill="#10141F" />
+<rect x="44" y="37" width="1" height="1" fill="#10141F" />
+<rect x="6" y="38" width="1" height="1" fill="#10141F" />
+<rect x="7" y="38" width="1" height="1" fill="#10141F" />
+<rect x="8" y="38" width="1" height="1" fill="#10141F" />
+<rect x="9" y="38" width="1" height="1" fill="#10141F" />
+<rect x="10" y="38" width="1" height="1" fill="#10141F" />
+<rect x="11" y="38" width="1" height="1" fill="#25562E" />
+<rect x="12" y="38" width="1" height="1" fill="#468232" />
+<rect x="13" y="38" width="1" height="1" fill="#468232" />
+<rect x="14" y="38" width="1" height="1" fill="#25562E" />
+<rect x="15" y="38" width="1" height="1" fill="#25562E" />
+<rect x="16" y="38" width="1" height="1" fill="#25562E" />
+<rect x="17" y="38" width="1" height="1" fill="#25562E" />
+<rect x="18" y="38" width="1" height="1" fill="#25562E" />
+<rect x="19" y="38" width="1" height="1" fill="#25562E" />
+<rect x="20" y="38" width="1" height="1" fill="#25562E" />
+<rect x="21" y="38" width="1" height="1" fill="#25562E" />
+<rect x="22" y="38" width="1" height="1" fill="#25562E" />
+<rect x="23" y="38" width="1" height="1" fill="#25562E" />
+<rect x="24" y="38" width="1" height="1" fill="#25562E" />
+<rect x="25" y="38" width="1" height="1" fill="#25562E" />
+<rect x="26" y="38" width="1" height="1" fill="#25562E" />
+<rect x="27" y="38" width="1" height="1" fill="#25562E" />
+<rect x="28" y="38" width="1" height="1" fill="#25562E" />
+<rect x="29" y="38" width="1" height="1" fill="#25562E" />
+<rect x="30" y="38" width="1" height="1" fill="#25562E" />
+<rect x="31" y="38" width="1" height="1" fill="#25562E" />
+<rect x="32" y="38" width="1" height="1" fill="#25562E" />
+<rect x="33" y="38" width="1" height="1" fill="#25562E" />
+<rect x="34" y="38" width="1" height="1" fill="#25562E" />
+<rect x="35" y="38" width="1" height="1" fill="#25562E" />
+<rect x="36" y="38" width="1" height="1" fill="#25562E" />
+<rect x="37" y="38" width="1" height="1" fill="#468232" />
+<rect x="38" y="38" width="1" height="1" fill="#468232" />
+<rect x="39" y="38" width="1" height="1" fill="#10141F" />
+<rect x="40" y="38" width="1" height="1" fill="#10141F" />
+<rect x="41" y="38" width="1" height="1" fill="#10141F" />
+<rect x="42" y="38" width="1" height="1" fill="#10141F" />
+<rect x="43" y="38" width="1" height="1" fill="#10141F" />
+<rect x="7" y="39" width="1" height="1" fill="#10141F" />
+<rect x="8" y="39" width="1" height="1" fill="#10141F" />
+<rect x="9" y="39" width="1" height="1" fill="#10141F" />
+<rect x="10" y="39" width="1" height="1" fill="#10141F" />
+<rect x="11" y="39" width="1" height="1" fill="#10141F" />
+<rect x="12" y="39" width="1" height="1" fill="#10141F" />
+<rect x="13" y="39" width="1" height="1" fill="#468232" />
+<rect x="14" y="39" width="1" height="1" fill="#468232" />
+<rect x="15" y="39" width="1" height="1" fill="#468232" />
+<rect x="16" y="39" width="1" height="1" fill="#468232" />
+<rect x="17" y="39" width="1" height="1" fill="#25562E" />
+<rect x="18" y="39" width="1" height="1" fill="#25562E" />
+<rect x="19" y="39" width="1" height="1" fill="#25562E" />
+<rect x="20" y="39" width="1" height="1" fill="#25562E" />
+<rect x="21" y="39" width="1" height="1" fill="#25562E" />
+<rect x="22" y="39" width="1" height="1" fill="#25562E" />
+<rect x="23" y="39" width="1" height="1" fill="#25562E" />
+<rect x="24" y="39" width="1" height="1" fill="#25562E" />
+<rect x="25" y="39" width="1" height="1" fill="#25562E" />
+<rect x="26" y="39" width="1" height="1" fill="#25562E" />
+<rect x="27" y="39" width="1" height="1" fill="#25562E" />
+<rect x="28" y="39" width="1" height="1" fill="#25562E" />
+<rect x="29" y="39" width="1" height="1" fill="#25562E" />
+<rect x="30" y="39" width="1" height="1" fill="#25562E" />
+<rect x="31" y="39" width="1" height="1" fill="#25562E" />
+<rect x="32" y="39" width="1" height="1" fill="#25562E" />
+<rect x="33" y="39" width="1" height="1" fill="#468232" />
+<rect x="34" y="39" width="1" height="1" fill="#468232" />
+<rect x="35" y="39" width="1" height="1" fill="#468232" />
+<rect x="36" y="39" width="1" height="1" fill="#10141F" />
+<rect x="37" y="39" width="1" height="1" fill="#10141F" />
+<rect x="38" y="39" width="1" height="1" fill="#10141F" />
+<rect x="39" y="39" width="1" height="1" fill="#10141F" />
+<rect x="40" y="39" width="1" height="1" fill="#10141F" />
+<rect x="41" y="39" width="1" height="1" fill="#10141F" />
+<rect x="42" y="39" width="1" height="1" fill="#10141F" />
+<rect x="9" y="40" width="1" height="1" fill="#10141F" />
+<rect x="10" y="40" width="1" height="1" fill="#10141F" />
+<rect x="11" y="40" width="1" height="1" fill="#10141F" />
+<rect x="12" y="40" width="1" height="1" fill="#10141F" />
+<rect x="13" y="40" width="1" height="1" fill="#10141F" />
+<rect x="14" y="40" width="1" height="1" fill="#10141F" />
+<rect x="15" y="40" width="1" height="1" fill="#10141F" />
+<rect x="16" y="40" width="1" height="1" fill="#10141F" />
+<rect x="17" y="40" width="1" height="1" fill="#10141F" />
+<rect x="18" y="40" width="1" height="1" fill="#468232" />
+<rect x="19" y="40" width="1" height="1" fill="#468232" />
+<rect x="20" y="40" width="1" height="1" fill="#468232" />
+<rect x="21" y="40" width="1" height="1" fill="#468232" />
+<rect x="22" y="40" width="1" height="1" fill="#468232" />
+<rect x="23" y="40" width="1" height="1" fill="#468232" />
+<rect x="24" y="40" width="1" height="1" fill="#468232" />
+<rect x="25" y="40" width="1" height="1" fill="#468232" />
+<rect x="26" y="40" width="1" height="1" fill="#468232" />
+<rect x="27" y="40" width="1" height="1" fill="#468232" />
+<rect x="28" y="40" width="1" height="1" fill="#468232" />
+<rect x="29" y="40" width="1" height="1" fill="#468232" />
+<rect x="30" y="40" width="1" height="1" fill="#468232" />
+<rect x="31" y="40" width="1" height="1" fill="#468232" />
+<rect x="32" y="40" width="1" height="1" fill="#10141F" />
+<rect x="33" y="40" width="1" height="1" fill="#10141F" />
+<rect x="34" y="40" width="1" height="1" fill="#10141F" />
+<rect x="35" y="40" width="1" height="1" fill="#10141F" />
+<rect x="36" y="40" width="1" height="1" fill="#10141F" />
+<rect x="37" y="40" width="1" height="1" fill="#10141F" />
+<rect x="38" y="40" width="1" height="1" fill="#10141F" />
+<rect x="39" y="40" width="1" height="1" fill="#10141F" />
+<rect x="40" y="40" width="1" height="1" fill="#10141F" />
+<rect x="11" y="41" width="1" height="1" fill="#10141F" />
+<rect x="12" y="41" width="1" height="1" fill="#10141F" />
+<rect x="13" y="41" width="1" height="1" fill="#10141F" />
+<rect x="14" y="41" width="1" height="1" fill="#10141F" />
+<rect x="15" y="41" width="1" height="1" fill="#10141F" />
+<rect x="16" y="41" width="1" height="1" fill="#10141F" />
+<rect x="17" y="41" width="1" height="1" fill="#10141F" />
+<rect x="18" y="41" width="1" height="1" fill="#10141F" />
+<rect x="19" y="41" width="1" height="1" fill="#10141F" />
+<rect x="20" y="41" width="1" height="1" fill="#10141F" />
+<rect x="21" y="41" width="1" height="1" fill="#10141F" />
+<rect x="22" y="41" width="1" height="1" fill="#10141F" />
+<rect x="23" y="41" width="1" height="1" fill="#10141F" />
+<rect x="24" y="41" width="1" height="1" fill="#10141F" />
+<rect x="25" y="41" width="1" height="1" fill="#10141F" />
+<rect x="26" y="41" width="1" height="1" fill="#10141F" />
+<rect x="27" y="41" width="1" height="1" fill="#10141F" />
+<rect x="28" y="41" width="1" height="1" fill="#10141F" />
+<rect x="29" y="41" width="1" height="1" fill="#10141F" />
+<rect x="30" y="41" width="1" height="1" fill="#10141F" />
+<rect x="31" y="41" width="1" height="1" fill="#10141F" />
+<rect x="32" y="41" width="1" height="1" fill="#10141F" />
+<rect x="33" y="41" width="1" height="1" fill="#10141F" />
+<rect x="34" y="41" width="1" height="1" fill="#10141F" />
+<rect x="35" y="41" width="1" height="1" fill="#10141F" />
+<rect x="36" y="41" width="1" height="1" fill="#10141F" />
+<rect x="37" y="41" width="1" height="1" fill="#10141F" />
+<rect x="38" y="41" width="1" height="1" fill="#10141F" />
+<rect x="14" y="42" width="1" height="1" fill="#10141F" />
+<rect x="15" y="42" width="1" height="1" fill="#10141F" />
+<rect x="16" y="42" width="1" height="1" fill="#10141F" />
+<rect x="17" y="42" width="1" height="1" fill="#10141F" />
+<rect x="18" y="42" width="1" height="1" fill="#10141F" />
+<rect x="19" y="42" width="1" height="1" fill="#10141F" />
+<rect x="20" y="42" width="1" height="1" fill="#10141F" />
+<rect x="21" y="42" width="1" height="1" fill="#10141F" />
+<rect x="22" y="42" width="1" height="1" fill="#10141F" />
+<rect x="23" y="42" width="1" height="1" fill="#10141F" />
+<rect x="24" y="42" width="1" height="1" fill="#10141F" />
+<rect x="25" y="42" width="1" height="1" fill="#10141F" />
+<rect x="26" y="42" width="1" height="1" fill="#10141F" />
+<rect x="27" y="42" width="1" height="1" fill="#10141F" />
+<rect x="28" y="42" width="1" height="1" fill="#10141F" />
+<rect x="29" y="42" width="1" height="1" fill="#10141F" />
+<rect x="30" y="42" width="1" height="1" fill="#10141F" />
+<rect x="31" y="42" width="1" height="1" fill="#10141F" />
+<rect x="32" y="42" width="1" height="1" fill="#10141F" />
+<rect x="33" y="42" width="1" height="1" fill="#10141F" />
+<rect x="34" y="42" width="1" height="1" fill="#10141F" />
+<rect x="22" y="43" width="1" height="1" fill="#10141F" />
+<rect x="23" y="43" width="1" height="1" fill="#10141F" />
+<rect x="24" y="43" width="1" height="1" fill="#10141F" />
+<rect x="25" y="43" width="1" height="1" fill="#10141F" />
+<rect x="26" y="43" width="1" height="1" fill="#10141F" />
+<rect x="27" y="43" width="1" height="1" fill="#10141F" />
+<rect x="28" y="43" width="1" height="1" fill="#10141F" />
+<rect x="29" y="43" width="1" height="1" fill="#10141F" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/slimes/Godot1.svg b/Edikoyo/.obsidian/icons/slimes/Godot1.svg
new file mode 100644
index 0000000..c34a359
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/slimes/Godot1.svg
@@ -0,0 +1,1491 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="48" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="17" y="3" width="1" height="1" fill="#141820" />
+<rect x="18" y="3" width="1" height="1" fill="#141820" />
+<rect x="19" y="3" width="1" height="1" fill="#141820" />
+<rect x="20" y="3" width="1" height="1" fill="#141820" />
+<rect x="21" y="3" width="1" height="1" fill="#141820" />
+<rect x="27" y="3" width="1" height="1" fill="#141820" />
+<rect x="28" y="3" width="1" height="1" fill="#141820" />
+<rect x="29" y="3" width="1" height="1" fill="#141820" />
+<rect x="30" y="3" width="1" height="1" fill="#141820" />
+<rect x="31" y="3" width="1" height="1" fill="#141820" />
+<rect x="32" y="3" width="1" height="1" fill="#141820" />
+<rect x="33" y="3" width="1" height="1" fill="#141820" />
+<rect x="14" y="4" width="1" height="1" fill="#141820" />
+<rect x="15" y="4" width="1" height="1" fill="#141820" />
+<rect x="16" y="4" width="1" height="1" fill="#141820" />
+<rect x="17" y="4" width="1" height="1" fill="#141820" />
+<rect x="18" y="4" width="1" height="1" fill="#141820" />
+<rect x="19" y="4" width="1" height="1" fill="#141820" />
+<rect x="20" y="4" width="1" height="1" fill="#141820" />
+<rect x="21" y="4" width="1" height="1" fill="#141820" />
+<rect x="22" y="4" width="1" height="1" fill="#141820" />
+<rect x="26" y="4" width="1" height="1" fill="#141820" />
+<rect x="27" y="4" width="1" height="1" fill="#141820" />
+<rect x="28" y="4" width="1" height="1" fill="#141820" />
+<rect x="29" y="4" width="1" height="1" fill="#141820" />
+<rect x="30" y="4" width="1" height="1" fill="#141820" />
+<rect x="31" y="4" width="1" height="1" fill="#141820" />
+<rect x="32" y="4" width="1" height="1" fill="#141820" />
+<rect x="33" y="4" width="1" height="1" fill="#141820" />
+<rect x="34" y="4" width="1" height="1" fill="#141820" />
+<rect x="35" y="4" width="1" height="1" fill="#141820" />
+<rect x="13" y="5" width="1" height="1" fill="#141820" />
+<rect x="14" y="5" width="1" height="1" fill="#141820" />
+<rect x="15" y="5" width="1" height="1" fill="#141820" />
+<rect x="16" y="5" width="1" height="1" fill="#141820" />
+<rect x="17" y="5" width="1" height="1" fill="#141820" />
+<rect x="18" y="5" width="1" height="1" fill="#141820" />
+<rect x="19" y="5" width="1" height="1" fill="#141820" />
+<rect x="20" y="5" width="1" height="1" fill="#141820" />
+<rect x="21" y="5" width="1" height="1" fill="#141820" />
+<rect x="22" y="5" width="1" height="1" fill="#141820" />
+<rect x="23" y="5" width="1" height="1" fill="#141820" />
+<rect x="26" y="5" width="1" height="1" fill="#141820" />
+<rect x="27" y="5" width="1" height="1" fill="#141820" />
+<rect x="28" y="5" width="1" height="1" fill="#141820" />
+<rect x="29" y="5" width="1" height="1" fill="#141820" />
+<rect x="30" y="5" width="1" height="1" fill="#141820" />
+<rect x="31" y="5" width="1" height="1" fill="#141820" />
+<rect x="32" y="5" width="1" height="1" fill="#141820" />
+<rect x="33" y="5" width="1" height="1" fill="#141820" />
+<rect x="34" y="5" width="1" height="1" fill="#141820" />
+<rect x="35" y="5" width="1" height="1" fill="#141820" />
+<rect x="36" y="5" width="1" height="1" fill="#141820" />
+<rect x="13" y="6" width="1" height="1" fill="#141820" />
+<rect x="14" y="6" width="1" height="1" fill="#141820" />
+<rect x="15" y="6" width="1" height="1" fill="#141820" />
+<rect x="16" y="6" width="1" height="1" fill="#345A9F" />
+<rect x="17" y="6" width="1" height="1" fill="#345A9F" />
+<rect x="18" y="6" width="1" height="1" fill="#345A9F" />
+<rect x="19" y="6" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="6" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="6" width="1" height="1" fill="#141820" />
+<rect x="22" y="6" width="1" height="1" fill="#141820" />
+<rect x="23" y="6" width="1" height="1" fill="#141820" />
+<rect x="26" y="6" width="1" height="1" fill="#141820" />
+<rect x="27" y="6" width="1" height="1" fill="#141820" />
+<rect x="28" y="6" width="1" height="1" fill="#141820" />
+<rect x="29" y="6" width="1" height="1" fill="#356CA9" />
+<rect x="30" y="6" width="1" height="1" fill="#356CA9" />
+<rect x="31" y="6" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="6" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="6" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="6" width="1" height="1" fill="#141820" />
+<rect x="35" y="6" width="1" height="1" fill="#141820" />
+<rect x="36" y="6" width="1" height="1" fill="#141820" />
+<rect x="13" y="7" width="1" height="1" fill="#141820" />
+<rect x="14" y="7" width="1" height="1" fill="#141820" />
+<rect x="15" y="7" width="1" height="1" fill="#345A9F" />
+<rect x="16" y="7" width="1" height="1" fill="#345A9F" />
+<rect x="17" y="7" width="1" height="1" fill="#345A9F" />
+<rect x="18" y="7" width="1" height="1" fill="#345A9F" />
+<rect x="19" y="7" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="7" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="7" width="1" height="1" fill="#141820" />
+<rect x="22" y="7" width="1" height="1" fill="#141820" />
+<rect x="23" y="7" width="1" height="1" fill="#141820" />
+<rect x="24" y="7" width="1" height="1" fill="#141820" />
+<rect x="25" y="7" width="1" height="1" fill="#141820" />
+<rect x="26" y="7" width="1" height="1" fill="#141820" />
+<rect x="27" y="7" width="1" height="1" fill="#141820" />
+<rect x="28" y="7" width="1" height="1" fill="#141820" />
+<rect x="29" y="7" width="1" height="1" fill="#356CA9" />
+<rect x="30" y="7" width="1" height="1" fill="#356CA9" />
+<rect x="31" y="7" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="7" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="7" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="7" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="7" width="1" height="1" fill="#141820" />
+<rect x="36" y="7" width="1" height="1" fill="#141820" />
+<rect x="12" y="8" width="1" height="1" fill="#141820" />
+<rect x="13" y="8" width="1" height="1" fill="#141820" />
+<rect x="14" y="8" width="1" height="1" fill="#141820" />
+<rect x="15" y="8" width="1" height="1" fill="#345A9F" />
+<rect x="16" y="8" width="1" height="1" fill="#345A9F" />
+<rect x="17" y="8" width="1" height="1" fill="#345A9F" />
+<rect x="18" y="8" width="1" height="1" fill="#345A9F" />
+<rect x="19" y="8" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="8" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="8" width="1" height="1" fill="#141820" />
+<rect x="22" y="8" width="1" height="1" fill="#141820" />
+<rect x="23" y="8" width="1" height="1" fill="#141820" />
+<rect x="24" y="8" width="1" height="1" fill="#141820" />
+<rect x="25" y="8" width="1" height="1" fill="#141820" />
+<rect x="26" y="8" width="1" height="1" fill="#141820" />
+<rect x="27" y="8" width="1" height="1" fill="#141820" />
+<rect x="28" y="8" width="1" height="1" fill="#141820" />
+<rect x="29" y="8" width="1" height="1" fill="#356CA9" />
+<rect x="30" y="8" width="1" height="1" fill="#356CA9" />
+<rect x="31" y="8" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="8" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="8" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="8" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="8" width="1" height="1" fill="#141820" />
+<rect x="36" y="8" width="1" height="1" fill="#141820" />
+<rect x="12" y="9" width="1" height="1" fill="#141820" />
+<rect x="13" y="9" width="1" height="1" fill="#141820" />
+<rect x="14" y="9" width="1" height="1" fill="#141820" />
+<rect x="15" y="9" width="1" height="1" fill="#345A9F" />
+<rect x="16" y="9" width="1" height="1" fill="#345A9F" />
+<rect x="17" y="9" width="1" height="1" fill="#345A9F" />
+<rect x="18" y="9" width="1" height="1" fill="#345A9F" />
+<rect x="19" y="9" width="1" height="1" fill="#345A9F" />
+<rect x="20" y="9" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="9" width="1" height="1" fill="#356CA9" />
+<rect x="22" y="9" width="1" height="1" fill="#141820" />
+<rect x="23" y="9" width="1" height="1" fill="#141820" />
+<rect x="24" y="9" width="1" height="1" fill="#141820" />
+<rect x="25" y="9" width="1" height="1" fill="#141820" />
+<rect x="26" y="9" width="1" height="1" fill="#141820" />
+<rect x="27" y="9" width="1" height="1" fill="#141820" />
+<rect x="28" y="9" width="1" height="1" fill="#356CA9" />
+<rect x="29" y="9" width="1" height="1" fill="#356CA9" />
+<rect x="30" y="9" width="1" height="1" fill="#356CA9" />
+<rect x="31" y="9" width="1" height="1" fill="#356CA9" />
+<rect x="32" y="9" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="9" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="9" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="9" width="1" height="1" fill="#141820" />
+<rect x="36" y="9" width="1" height="1" fill="#141820" />
+<rect x="37" y="9" width="1" height="1" fill="#141820" />
+<rect x="4" y="10" width="1" height="1" fill="#141820" />
+<rect x="5" y="10" width="1" height="1" fill="#141820" />
+<rect x="6" y="10" width="1" height="1" fill="#141820" />
+<rect x="7" y="10" width="1" height="1" fill="#141820" />
+<rect x="8" y="10" width="1" height="1" fill="#141820" />
+<rect x="12" y="10" width="1" height="1" fill="#141820" />
+<rect x="13" y="10" width="1" height="1" fill="#141820" />
+<rect x="14" y="10" width="1" height="1" fill="#141820" />
+<rect x="15" y="10" width="1" height="1" fill="#345A9F" />
+<rect x="16" y="10" width="1" height="1" fill="#345A9F" />
+<rect x="17" y="10" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="10" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="10" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="10" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="10" width="1" height="1" fill="#356CA9" />
+<rect x="22" y="10" width="1" height="1" fill="#356CA9" />
+<rect x="23" y="10" width="1" height="1" fill="#398FBE" />
+<rect x="24" y="10" width="1" height="1" fill="#398FBE" />
+<rect x="25" y="10" width="1" height="1" fill="#398FBE" />
+<rect x="26" y="10" width="1" height="1" fill="#398FBE" />
+<rect x="27" y="10" width="1" height="1" fill="#398FBE" />
+<rect x="28" y="10" width="1" height="1" fill="#398FBE" />
+<rect x="29" y="10" width="1" height="1" fill="#398FBE" />
+<rect x="30" y="10" width="1" height="1" fill="#398FBE" />
+<rect x="31" y="10" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="10" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="10" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="10" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="10" width="1" height="1" fill="#141820" />
+<rect x="36" y="10" width="1" height="1" fill="#141820" />
+<rect x="37" y="10" width="1" height="1" fill="#141820" />
+<rect x="38" y="10" width="1" height="1" fill="#141820" />
+<rect x="40" y="10" width="1" height="1" fill="#141820" />
+<rect x="41" y="10" width="1" height="1" fill="#141820" />
+<rect x="42" y="10" width="1" height="1" fill="#141820" />
+<rect x="43" y="10" width="1" height="1" fill="#141820" />
+<rect x="44" y="10" width="1" height="1" fill="#141820" />
+<rect x="4" y="11" width="1" height="1" fill="#141820" />
+<rect x="5" y="11" width="1" height="1" fill="#141820" />
+<rect x="6" y="11" width="1" height="1" fill="#141820" />
+<rect x="7" y="11" width="1" height="1" fill="#141820" />
+<rect x="8" y="11" width="1" height="1" fill="#141820" />
+<rect x="9" y="11" width="1" height="1" fill="#141820" />
+<rect x="10" y="11" width="1" height="1" fill="#141820" />
+<rect x="11" y="11" width="1" height="1" fill="#141820" />
+<rect x="12" y="11" width="1" height="1" fill="#141820" />
+<rect x="13" y="11" width="1" height="1" fill="#141820" />
+<rect x="14" y="11" width="1" height="1" fill="#141820" />
+<rect x="15" y="11" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="11" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="11" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="11" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="11" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="11" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="11" width="1" height="1" fill="#356CA9" />
+<rect x="22" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="23" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="24" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="25" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="26" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="27" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="28" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="29" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="30" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="31" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="11" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="11" width="1" height="1" fill="#141820" />
+<rect x="37" y="11" width="1" height="1" fill="#141820" />
+<rect x="38" y="11" width="1" height="1" fill="#141820" />
+<rect x="39" y="11" width="1" height="1" fill="#141820" />
+<rect x="40" y="11" width="1" height="1" fill="#141820" />
+<rect x="41" y="11" width="1" height="1" fill="#141820" />
+<rect x="42" y="11" width="1" height="1" fill="#141820" />
+<rect x="43" y="11" width="1" height="1" fill="#141820" />
+<rect x="44" y="11" width="1" height="1" fill="#141820" />
+<rect x="45" y="11" width="1" height="1" fill="#141820" />
+<rect x="3" y="12" width="1" height="1" fill="#141820" />
+<rect x="4" y="12" width="1" height="1" fill="#141820" />
+<rect x="5" y="12" width="1" height="1" fill="#141820" />
+<rect x="6" y="12" width="1" height="1" fill="#141820" />
+<rect x="7" y="12" width="1" height="1" fill="#141820" />
+<rect x="8" y="12" width="1" height="1" fill="#141820" />
+<rect x="9" y="12" width="1" height="1" fill="#141820" />
+<rect x="10" y="12" width="1" height="1" fill="#141820" />
+<rect x="11" y="12" width="1" height="1" fill="#141820" />
+<rect x="12" y="12" width="1" height="1" fill="#141820" />
+<rect x="13" y="12" width="1" height="1" fill="#141820" />
+<rect x="14" y="12" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="12" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="12" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="12" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="12" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="12" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="12" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="12" width="1" height="1" fill="#356CA9" />
+<rect x="22" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="23" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="24" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="25" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="26" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="27" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="28" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="29" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="30" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="31" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="12" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="12" width="1" height="1" fill="#141820" />
+<rect x="38" y="12" width="1" height="1" fill="#141820" />
+<rect x="39" y="12" width="1" height="1" fill="#141820" />
+<rect x="40" y="12" width="1" height="1" fill="#141820" />
+<rect x="41" y="12" width="1" height="1" fill="#141820" />
+<rect x="42" y="12" width="1" height="1" fill="#141820" />
+<rect x="43" y="12" width="1" height="1" fill="#141820" />
+<rect x="44" y="12" width="1" height="1" fill="#141820" />
+<rect x="45" y="12" width="1" height="1" fill="#141820" />
+<rect x="2" y="13" width="1" height="1" fill="#141820" />
+<rect x="3" y="13" width="1" height="1" fill="#141820" />
+<rect x="4" y="13" width="1" height="1" fill="#141820" />
+<rect x="5" y="13" width="1" height="1" fill="#141820" />
+<rect x="6" y="13" width="1" height="1" fill="#345A9F" />
+<rect x="7" y="13" width="1" height="1" fill="#356CA9" />
+<rect x="8" y="13" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="13" width="1" height="1" fill="#141820" />
+<rect x="10" y="13" width="1" height="1" fill="#141820" />
+<rect x="11" y="13" width="1" height="1" fill="#141820" />
+<rect x="12" y="13" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="13" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="13" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="13" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="13" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="13" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="13" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="13" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="13" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="22" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="23" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="24" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="25" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="26" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="27" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="28" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="29" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="30" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="31" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="13" width="1" height="1" fill="#141820" />
+<rect x="39" y="13" width="1" height="1" fill="#141820" />
+<rect x="40" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="43" y="13" width="1" height="1" fill="#398FBE" />
+<rect x="44" y="13" width="1" height="1" fill="#141820" />
+<rect x="45" y="13" width="1" height="1" fill="#141820" />
+<rect x="46" y="13" width="1" height="1" fill="#141820" />
+<rect x="2" y="14" width="1" height="1" fill="#141820" />
+<rect x="3" y="14" width="1" height="1" fill="#141820" />
+<rect x="4" y="14" width="1" height="1" fill="#141820" />
+<rect x="5" y="14" width="1" height="1" fill="#345A9F" />
+<rect x="6" y="14" width="1" height="1" fill="#345A9F" />
+<rect x="7" y="14" width="1" height="1" fill="#345A9F" />
+<rect x="8" y="14" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="14" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="14" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="14" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="14" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="14" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="14" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="14" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="14" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="14" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="14" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="14" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="21" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="22" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="23" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="24" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="25" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="26" y="14" width="1" height="1" fill="#2A5E7D" />
+<rect x="27" y="14" width="1" height="1" fill="#2A5E7D" />
+<rect x="28" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="29" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="30" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="31" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="43" y="14" width="1" height="1" fill="#398FBE" />
+<rect x="44" y="14" width="1" height="1" fill="#141820" />
+<rect x="45" y="14" width="1" height="1" fill="#141820" />
+<rect x="46" y="14" width="1" height="1" fill="#141820" />
+<rect x="1" y="15" width="1" height="1" fill="#141820" />
+<rect x="2" y="15" width="1" height="1" fill="#141820" />
+<rect x="3" y="15" width="1" height="1" fill="#141820" />
+<rect x="4" y="15" width="1" height="1" fill="#345A9F" />
+<rect x="5" y="15" width="1" height="1" fill="#345A9F" />
+<rect x="6" y="15" width="1" height="1" fill="#345A9F" />
+<rect x="7" y="15" width="1" height="1" fill="#345A9F" />
+<rect x="8" y="15" width="1" height="1" fill="#345A9F" />
+<rect x="9" y="15" width="1" height="1" fill="#345A9F" />
+<rect x="10" y="15" width="1" height="1" fill="#345A9F" />
+<rect x="11" y="15" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="15" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="15" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="15" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="15" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="15" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="15" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="15" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="15" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="21" y="15" width="1" height="1" fill="#2A5E7D" />
+<rect x="22" y="15" width="1" height="1" fill="#2A5E7D" />
+<rect x="23" y="15" width="1" height="1" fill="#2A5E7D" />
+<rect x="24" y="15" width="1" height="1" fill="#2A5E7D" />
+<rect x="25" y="15" width="1" height="1" fill="#2A5E7D" />
+<rect x="26" y="15" width="1" height="1" fill="#2A5E7D" />
+<rect x="27" y="15" width="1" height="1" fill="#2A5E7D" />
+<rect x="28" y="15" width="1" height="1" fill="#2A5E7D" />
+<rect x="29" y="15" width="1" height="1" fill="#2A5E7D" />
+<rect x="30" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="31" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="43" y="15" width="1" height="1" fill="#398FBE" />
+<rect x="44" y="15" width="1" height="1" fill="#356CA9" />
+<rect x="45" y="15" width="1" height="1" fill="#141820" />
+<rect x="46" y="15" width="1" height="1" fill="#141820" />
+<rect x="47" y="15" width="1" height="1" fill="#141820" />
+<rect x="1" y="16" width="1" height="1" fill="#141820" />
+<rect x="2" y="16" width="1" height="1" fill="#141820" />
+<rect x="3" y="16" width="1" height="1" fill="#141820" />
+<rect x="4" y="16" width="1" height="1" fill="#345A9F" />
+<rect x="5" y="16" width="1" height="1" fill="#345A9F" />
+<rect x="6" y="16" width="1" height="1" fill="#345A9F" />
+<rect x="7" y="16" width="1" height="1" fill="#345A9F" />
+<rect x="8" y="16" width="1" height="1" fill="#345A9F" />
+<rect x="9" y="16" width="1" height="1" fill="#345A9F" />
+<rect x="10" y="16" width="1" height="1" fill="#345A9F" />
+<rect x="11" y="16" width="1" height="1" fill="#345A9F" />
+<rect x="12" y="16" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="16" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="16" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="16" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="16" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="16" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="16" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="16" width="1" height="1" fill="#2A5E7D" />
+<rect x="20" y="16" width="1" height="1" fill="#2A5E7D" />
+<rect x="21" y="16" width="1" height="1" fill="#2A5E7D" />
+<rect x="22" y="16" width="1" height="1" fill="#2A5E7D" />
+<rect x="23" y="16" width="1" height="1" fill="#2A5E7D" />
+<rect x="24" y="16" width="1" height="1" fill="#2A5E7D" />
+<rect x="25" y="16" width="1" height="1" fill="#3881B6" />
+<rect x="26" y="16" width="1" height="1" fill="#2A5E7D" />
+<rect x="27" y="16" width="1" height="1" fill="#3672AD" />
+<rect x="28" y="16" width="1" height="1" fill="#3672AD" />
+<rect x="29" y="16" width="1" height="1" fill="#2A5E7D" />
+<rect x="30" y="16" width="1" height="1" fill="#2A5E7D" />
+<rect x="31" y="16" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="16" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="16" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="16" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="16" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="16" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="16" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="16" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="16" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="16" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="16" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="16" width="1" height="1" fill="#398FBE" />
+<rect x="43" y="16" width="1" height="1" fill="#356CA9" />
+<rect x="44" y="16" width="1" height="1" fill="#356CA9" />
+<rect x="45" y="16" width="1" height="1" fill="#141820" />
+<rect x="46" y="16" width="1" height="1" fill="#141820" />
+<rect x="47" y="16" width="1" height="1" fill="#141820" />
+<rect x="1" y="17" width="1" height="1" fill="#141820" />
+<rect x="2" y="17" width="1" height="1" fill="#141820" />
+<rect x="3" y="17" width="1" height="1" fill="#141820" />
+<rect x="4" y="17" width="1" height="1" fill="#141820" />
+<rect x="5" y="17" width="1" height="1" fill="#345A9F" />
+<rect x="6" y="17" width="1" height="1" fill="#345A9F" />
+<rect x="7" y="17" width="1" height="1" fill="#345A9F" />
+<rect x="8" y="17" width="1" height="1" fill="#345A9F" />
+<rect x="9" y="17" width="1" height="1" fill="#345A9F" />
+<rect x="10" y="17" width="1" height="1" fill="#345A9F" />
+<rect x="11" y="17" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="17" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="17" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="17" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="17" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="17" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="17" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="17" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="17" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="17" width="1" height="1" fill="#2A5E7D" />
+<rect x="21" y="17" width="1" height="1" fill="#3672AD" />
+<rect x="22" y="17" width="1" height="1" fill="#3672AD" />
+<rect x="23" y="17" width="1" height="1" fill="#2A5E7D" />
+<rect x="24" y="17" width="1" height="1" fill="#2A5E7D" />
+<rect x="25" y="17" width="1" height="1" fill="#2A5E7D" />
+<rect x="26" y="17" width="1" height="1" fill="#2A5E7D" />
+<rect x="27" y="17" width="1" height="1" fill="#3672AD" />
+<rect x="28" y="17" width="1" height="1" fill="#3672AD" />
+<rect x="29" y="17" width="1" height="1" fill="#3672AD" />
+<rect x="30" y="17" width="1" height="1" fill="#2A5E7D" />
+<rect x="31" y="17" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="17" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="17" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="17" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="17" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="17" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="17" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="17" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="17" width="1" height="1" fill="#356CA9" />
+<rect x="40" y="17" width="1" height="1" fill="#356CA9" />
+<rect x="41" y="17" width="1" height="1" fill="#356CA9" />
+<rect x="42" y="17" width="1" height="1" fill="#356CA9" />
+<rect x="43" y="17" width="1" height="1" fill="#356CA9" />
+<rect x="44" y="17" width="1" height="1" fill="#141820" />
+<rect x="45" y="17" width="1" height="1" fill="#141820" />
+<rect x="46" y="17" width="1" height="1" fill="#141820" />
+<rect x="47" y="17" width="1" height="1" fill="#141820" />
+<rect x="2" y="18" width="1" height="1" fill="#141820" />
+<rect x="3" y="18" width="1" height="1" fill="#141820" />
+<rect x="4" y="18" width="1" height="1" fill="#141820" />
+<rect x="5" y="18" width="1" height="1" fill="#141820" />
+<rect x="6" y="18" width="1" height="1" fill="#345A9F" />
+<rect x="7" y="18" width="1" height="1" fill="#345A9F" />
+<rect x="8" y="18" width="1" height="1" fill="#345A9F" />
+<rect x="9" y="18" width="1" height="1" fill="#345A9F" />
+<rect x="10" y="18" width="1" height="1" fill="#345A9F" />
+<rect x="11" y="18" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="18" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="18" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="18" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="18" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="18" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="18" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="18" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="18" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="18" width="1" height="1" fill="#2A5E7D" />
+<rect x="21" y="18" width="1" height="1" fill="#3672AD" />
+<rect x="22" y="18" width="1" height="1" fill="#3672AD" />
+<rect x="23" y="18" width="1" height="1" fill="#2A5E7D" />
+<rect x="24" y="18" width="1" height="1" fill="#2A5E7D" />
+<rect x="25" y="18" width="1" height="1" fill="#3672AD" />
+<rect x="26" y="18" width="1" height="1" fill="#3672AD" />
+<rect x="27" y="18" width="1" height="1" fill="#3672AD" />
+<rect x="28" y="18" width="1" height="1" fill="#3672AD" />
+<rect x="29" y="18" width="1" height="1" fill="#3672AD" />
+<rect x="30" y="18" width="1" height="1" fill="#2A5E7D" />
+<rect x="31" y="18" width="1" height="1" fill="#2A5E7D" />
+<rect x="32" y="18" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="18" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="18" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="18" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="18" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="18" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="18" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="18" width="1" height="1" fill="#356CA9" />
+<rect x="40" y="18" width="1" height="1" fill="#356CA9" />
+<rect x="41" y="18" width="1" height="1" fill="#356CA9" />
+<rect x="42" y="18" width="1" height="1" fill="#356CA9" />
+<rect x="43" y="18" width="1" height="1" fill="#141820" />
+<rect x="44" y="18" width="1" height="1" fill="#141820" />
+<rect x="45" y="18" width="1" height="1" fill="#141820" />
+<rect x="46" y="18" width="1" height="1" fill="#141820" />
+<rect x="3" y="19" width="1" height="1" fill="#141820" />
+<rect x="4" y="19" width="1" height="1" fill="#141820" />
+<rect x="5" y="19" width="1" height="1" fill="#141820" />
+<rect x="6" y="19" width="1" height="1" fill="#141820" />
+<rect x="7" y="19" width="1" height="1" fill="#345A9F" />
+<rect x="8" y="19" width="1" height="1" fill="#345A9F" />
+<rect x="9" y="19" width="1" height="1" fill="#345A9F" />
+<rect x="10" y="19" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="19" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="19" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="19" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="19" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="19" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="19" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="19" width="1" height="1" fill="#398FBE" />
+<rect x="18" y="19" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="19" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="19" width="1" height="1" fill="#2A5E7D" />
+<rect x="21" y="19" width="1" height="1" fill="#2A5E7D" />
+<rect x="22" y="19" width="1" height="1" fill="#3672AD" />
+<rect x="23" y="19" width="1" height="1" fill="#3672AD" />
+<rect x="24" y="19" width="1" height="1" fill="#3672AD" />
+<rect x="25" y="19" width="1" height="1" fill="#2A5E7D" />
+<rect x="26" y="19" width="1" height="1" fill="#2A5E7D" />
+<rect x="27" y="19" width="1" height="1" fill="#2A5E7D" />
+<rect x="28" y="19" width="1" height="1" fill="#2A5E7D" />
+<rect x="29" y="19" width="1" height="1" fill="#3672AD" />
+<rect x="30" y="19" width="1" height="1" fill="#2A5E7D" />
+<rect x="31" y="19" width="1" height="1" fill="#2A5E7D" />
+<rect x="32" y="19" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="19" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="19" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="19" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="19" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="19" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="19" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="19" width="1" height="1" fill="#356CA9" />
+<rect x="40" y="19" width="1" height="1" fill="#356CA9" />
+<rect x="41" y="19" width="1" height="1" fill="#356CA9" />
+<rect x="42" y="19" width="1" height="1" fill="#141820" />
+<rect x="43" y="19" width="1" height="1" fill="#141820" />
+<rect x="44" y="19" width="1" height="1" fill="#141820" />
+<rect x="45" y="19" width="1" height="1" fill="#141820" />
+<rect x="4" y="20" width="1" height="1" fill="#141820" />
+<rect x="5" y="20" width="1" height="1" fill="#141820" />
+<rect x="6" y="20" width="1" height="1" fill="#141820" />
+<rect x="7" y="20" width="1" height="1" fill="#141820" />
+<rect x="8" y="20" width="1" height="1" fill="#345A9F" />
+<rect x="9" y="20" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="20" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="20" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="20" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="20" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="20" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="20" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="20" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="20" width="1" height="1" fill="#398FBE" />
+<rect x="18" y="20" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="20" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="20" width="1" height="1" fill="#2A5E7D" />
+<rect x="21" y="20" width="1" height="1" fill="#2A5E7D" />
+<rect x="22" y="20" width="1" height="1" fill="#3672AD" />
+<rect x="23" y="20" width="1" height="1" fill="#2A5E7D" />
+<rect x="24" y="20" width="1" height="1" fill="#2A5E7D" />
+<rect x="25" y="20" width="1" height="1" fill="#2A5E7D" />
+<rect x="26" y="20" width="1" height="1" fill="#3881B6" />
+<rect x="27" y="20" width="1" height="1" fill="#3881B6" />
+<rect x="28" y="20" width="1" height="1" fill="#2A5E7D" />
+<rect x="29" y="20" width="1" height="1" fill="#3672AD" />
+<rect x="30" y="20" width="1" height="1" fill="#3672AD" />
+<rect x="31" y="20" width="1" height="1" fill="#2A5E7D" />
+<rect x="32" y="20" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="20" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="20" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="20" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="20" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="20" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="20" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="20" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="20" width="1" height="1" fill="#356CA9" />
+<rect x="41" y="20" width="1" height="1" fill="#141820" />
+<rect x="42" y="20" width="1" height="1" fill="#141820" />
+<rect x="43" y="20" width="1" height="1" fill="#141820" />
+<rect x="44" y="20" width="1" height="1" fill="#141820" />
+<rect x="5" y="21" width="1" height="1" fill="#141820" />
+<rect x="6" y="21" width="1" height="1" fill="#141820" />
+<rect x="7" y="21" width="1" height="1" fill="#141820" />
+<rect x="8" y="21" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="21" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="21" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="21" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="21" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="21" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="21" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="21" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="17" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="18" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="21" y="21" width="1" height="1" fill="#2A5E7D" />
+<rect x="22" y="21" width="1" height="1" fill="#3672AD" />
+<rect x="23" y="21" width="1" height="1" fill="#2A5E7D" />
+<rect x="24" y="21" width="1" height="1" fill="#3881B6" />
+<rect x="25" y="21" width="1" height="1" fill="#669EBA" />
+<rect x="26" y="21" width="1" height="1" fill="#669EBA" />
+<rect x="27" y="21" width="1" height="1" fill="#669EBA" />
+<rect x="28" y="21" width="1" height="1" fill="#2A5E7D" />
+<rect x="29" y="21" width="1" height="1" fill="#2A5E7D" />
+<rect x="30" y="21" width="1" height="1" fill="#3672AD" />
+<rect x="31" y="21" width="1" height="1" fill="#2A5E7D" />
+<rect x="32" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="21" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="21" width="1" height="1" fill="#141820" />
+<rect x="41" y="21" width="1" height="1" fill="#141820" />
+<rect x="42" y="21" width="1" height="1" fill="#141820" />
+<rect x="43" y="21" width="1" height="1" fill="#141820" />
+<rect x="5" y="22" width="1" height="1" fill="#141820" />
+<rect x="6" y="22" width="1" height="1" fill="#141820" />
+<rect x="7" y="22" width="1" height="1" fill="#141820" />
+<rect x="8" y="22" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="22" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="22" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="22" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="22" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="22" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="22" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="22" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="17" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="18" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="21" y="22" width="1" height="1" fill="#2A5E7D" />
+<rect x="22" y="22" width="1" height="1" fill="#2A5E7D" />
+<rect x="23" y="22" width="1" height="1" fill="#2A5E7D" />
+<rect x="24" y="22" width="1" height="1" fill="#669EBA" />
+<rect x="25" y="22" width="1" height="1" fill="#669EBA" />
+<rect x="26" y="22" width="1" height="1" fill="#669EBA" />
+<rect x="27" y="22" width="1" height="1" fill="#2A5E7D" />
+<rect x="28" y="22" width="1" height="1" fill="#2A5E7D" />
+<rect x="29" y="22" width="1" height="1" fill="#2A5E7D" />
+<rect x="30" y="22" width="1" height="1" fill="#3672AD" />
+<rect x="31" y="22" width="1" height="1" fill="#2A5E7D" />
+<rect x="32" y="22" width="1" height="1" fill="#2A5E7D" />
+<rect x="33" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="22" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="22" width="1" height="1" fill="#141820" />
+<rect x="42" y="22" width="1" height="1" fill="#141820" />
+<rect x="43" y="22" width="1" height="1" fill="#141820" />
+<rect x="5" y="23" width="1" height="1" fill="#141820" />
+<rect x="6" y="23" width="1" height="1" fill="#141820" />
+<rect x="7" y="23" width="1" height="1" fill="#141820" />
+<rect x="8" y="23" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="23" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="23" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="23" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="23" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="23" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="23" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="23" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="17" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="18" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="21" y="23" width="1" height="1" fill="#2A5E7D" />
+<rect x="22" y="23" width="1" height="1" fill="#2A5E7D" />
+<rect x="23" y="23" width="1" height="1" fill="#3672AD" />
+<rect x="24" y="23" width="1" height="1" fill="#2A5E7D" />
+<rect x="25" y="23" width="1" height="1" fill="#2A5E7D" />
+<rect x="26" y="23" width="1" height="1" fill="#2A5E7D" />
+<rect x="27" y="23" width="1" height="1" fill="#3672AD" />
+<rect x="28" y="23" width="1" height="1" fill="#3672AD" />
+<rect x="29" y="23" width="1" height="1" fill="#2A5E7D" />
+<rect x="30" y="23" width="1" height="1" fill="#2A5E7D" />
+<rect x="31" y="23" width="1" height="1" fill="#2A5E7D" />
+<rect x="32" y="23" width="1" height="1" fill="#2A5E7D" />
+<rect x="33" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="23" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="23" width="1" height="1" fill="#141820" />
+<rect x="42" y="23" width="1" height="1" fill="#141820" />
+<rect x="43" y="23" width="1" height="1" fill="#141820" />
+<rect x="5" y="24" width="1" height="1" fill="#141820" />
+<rect x="6" y="24" width="1" height="1" fill="#141820" />
+<rect x="7" y="24" width="1" height="1" fill="#141820" />
+<rect x="8" y="24" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="24" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="24" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="24" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="24" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="24" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="24" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="16" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="17" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="18" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="21" y="24" width="1" height="1" fill="#2A5E7D" />
+<rect x="22" y="24" width="1" height="1" fill="#2A5E7D" />
+<rect x="23" y="24" width="1" height="1" fill="#3672AD" />
+<rect x="24" y="24" width="1" height="1" fill="#3672AD" />
+<rect x="25" y="24" width="1" height="1" fill="#2A5E7D" />
+<rect x="26" y="24" width="1" height="1" fill="#2A5E7D" />
+<rect x="27" y="24" width="1" height="1" fill="#2A5E7D" />
+<rect x="28" y="24" width="1" height="1" fill="#2A5E7D" />
+<rect x="29" y="24" width="1" height="1" fill="#2A5E7D" />
+<rect x="30" y="24" width="1" height="1" fill="#2A5E7D" />
+<rect x="31" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="24" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="24" width="1" height="1" fill="#141820" />
+<rect x="42" y="24" width="1" height="1" fill="#141820" />
+<rect x="43" y="24" width="1" height="1" fill="#141820" />
+<rect x="5" y="25" width="1" height="1" fill="#141820" />
+<rect x="6" y="25" width="1" height="1" fill="#141820" />
+<rect x="7" y="25" width="1" height="1" fill="#356CA9" />
+<rect x="8" y="25" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="25" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="25" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="25" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="25" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="25" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="25" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="16" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="17" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="18" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="25" width="1" height="1" fill="#141820" />
+<rect x="21" y="25" width="1" height="1" fill="#141820" />
+<rect x="22" y="25" width="1" height="1" fill="#141820" />
+<rect x="23" y="25" width="1" height="1" fill="#2A5E7D" />
+<rect x="24" y="25" width="1" height="1" fill="#2A5E7D" />
+<rect x="25" y="25" width="1" height="1" fill="#2A5E7D" />
+<rect x="26" y="25" width="1" height="1" fill="#2A5E7D" />
+<rect x="27" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="28" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="29" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="30" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="31" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="25" width="1" height="1" fill="#141820" />
+<rect x="35" y="25" width="1" height="1" fill="#141820" />
+<rect x="36" y="25" width="1" height="1" fill="#141820" />
+<rect x="37" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="25" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="25" width="1" height="1" fill="#141820" />
+<rect x="43" y="25" width="1" height="1" fill="#141820" />
+<rect x="4" y="26" width="1" height="1" fill="#141820" />
+<rect x="5" y="26" width="1" height="1" fill="#141820" />
+<rect x="6" y="26" width="1" height="1" fill="#141820" />
+<rect x="7" y="26" width="1" height="1" fill="#356CA9" />
+<rect x="8" y="26" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="26" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="26" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="26" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="26" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="26" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="26" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="16" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="17" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="18" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="26" width="1" height="1" fill="#141820" />
+<rect x="21" y="26" width="1" height="1" fill="#141820" />
+<rect x="22" y="26" width="1" height="1" fill="#141820" />
+<rect x="23" y="26" width="1" height="1" fill="#141820" />
+<rect x="24" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="25" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="26" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="27" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="28" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="29" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="30" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="31" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="26" width="1" height="1" fill="#141820" />
+<rect x="35" y="26" width="1" height="1" fill="#141820" />
+<rect x="36" y="26" width="1" height="1" fill="#141820" />
+<rect x="37" y="26" width="1" height="1" fill="#141820" />
+<rect x="38" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="26" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="26" width="1" height="1" fill="#141820" />
+<rect x="43" y="26" width="1" height="1" fill="#141820" />
+<rect x="44" y="26" width="1" height="1" fill="#141820" />
+<rect x="4" y="27" width="1" height="1" fill="#141820" />
+<rect x="5" y="27" width="1" height="1" fill="#141820" />
+<rect x="6" y="27" width="1" height="1" fill="#141820" />
+<rect x="7" y="27" width="1" height="1" fill="#356CA9" />
+<rect x="8" y="27" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="27" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="27" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="27" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="27" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="27" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="15" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="16" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="17" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="18" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="27" width="1" height="1" fill="#141820" />
+<rect x="21" y="27" width="1" height="1" fill="#141820" />
+<rect x="22" y="27" width="1" height="1" fill="#141820" />
+<rect x="23" y="27" width="1" height="1" fill="#141820" />
+<rect x="24" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="25" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="26" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="27" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="28" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="29" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="30" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="31" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="27" width="1" height="1" fill="#141820" />
+<rect x="35" y="27" width="1" height="1" fill="#141820" />
+<rect x="36" y="27" width="1" height="1" fill="#141820" />
+<rect x="37" y="27" width="1" height="1" fill="#141820" />
+<rect x="38" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="27" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="27" width="1" height="1" fill="#141820" />
+<rect x="43" y="27" width="1" height="1" fill="#141820" />
+<rect x="44" y="27" width="1" height="1" fill="#141820" />
+<rect x="4" y="28" width="1" height="1" fill="#141820" />
+<rect x="5" y="28" width="1" height="1" fill="#141820" />
+<rect x="6" y="28" width="1" height="1" fill="#141820" />
+<rect x="7" y="28" width="1" height="1" fill="#356CA9" />
+<rect x="8" y="28" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="28" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="28" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="28" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="28" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="28" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="15" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="16" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="17" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="18" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="28" width="1" height="1" fill="#141820" />
+<rect x="21" y="28" width="1" height="1" fill="#141820" />
+<rect x="22" y="28" width="1" height="1" fill="#141820" />
+<rect x="23" y="28" width="1" height="1" fill="#141820" />
+<rect x="24" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="25" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="26" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="27" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="28" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="29" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="30" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="31" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="28" width="1" height="1" fill="#141820" />
+<rect x="35" y="28" width="1" height="1" fill="#141820" />
+<rect x="36" y="28" width="1" height="1" fill="#141820" />
+<rect x="37" y="28" width="1" height="1" fill="#141820" />
+<rect x="38" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="28" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="28" width="1" height="1" fill="#141820" />
+<rect x="43" y="28" width="1" height="1" fill="#141820" />
+<rect x="44" y="28" width="1" height="1" fill="#141820" />
+<rect x="4" y="29" width="1" height="1" fill="#141820" />
+<rect x="5" y="29" width="1" height="1" fill="#141820" />
+<rect x="6" y="29" width="1" height="1" fill="#141820" />
+<rect x="7" y="29" width="1" height="1" fill="#356CA9" />
+<rect x="8" y="29" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="29" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="29" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="29" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="29" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="29" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="15" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="16" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="17" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="18" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="29" width="1" height="1" fill="#141820" />
+<rect x="21" y="29" width="1" height="1" fill="#141820" />
+<rect x="22" y="29" width="1" height="1" fill="#141820" />
+<rect x="23" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="24" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="25" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="26" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="27" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="28" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="29" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="30" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="31" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="29" width="1" height="1" fill="#141820" />
+<rect x="35" y="29" width="1" height="1" fill="#141820" />
+<rect x="36" y="29" width="1" height="1" fill="#141820" />
+<rect x="37" y="29" width="1" height="1" fill="#141820" />
+<rect x="38" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="29" width="1" height="1" fill="#398FBE" />
+<rect x="43" y="29" width="1" height="1" fill="#141820" />
+<rect x="44" y="29" width="1" height="1" fill="#141820" />
+<rect x="4" y="30" width="1" height="1" fill="#141820" />
+<rect x="5" y="30" width="1" height="1" fill="#141820" />
+<rect x="6" y="30" width="1" height="1" fill="#141820" />
+<rect x="7" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="8" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="15" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="16" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="17" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="18" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="30" width="1" height="1" fill="#141820" />
+<rect x="21" y="30" width="1" height="1" fill="#141820" />
+<rect x="22" y="30" width="1" height="1" fill="#141820" />
+<rect x="23" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="24" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="25" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="26" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="27" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="28" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="29" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="30" y="30" width="1" height="1" fill="#356CA9" />
+<rect x="31" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="33" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="30" width="1" height="1" fill="#141820" />
+<rect x="36" y="30" width="1" height="1" fill="#141820" />
+<rect x="37" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="30" width="1" height="1" fill="#398FBE" />
+<rect x="43" y="30" width="1" height="1" fill="#141820" />
+<rect x="44" y="30" width="1" height="1" fill="#141820" />
+<rect x="45" y="30" width="1" height="1" fill="#141820" />
+<rect x="4" y="31" width="1" height="1" fill="#141820" />
+<rect x="5" y="31" width="1" height="1" fill="#141820" />
+<rect x="6" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="7" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="8" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="31" width="1" height="1" fill="#141820" />
+<rect x="22" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="23" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="24" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="25" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="26" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="27" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="28" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="29" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="30" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="31" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="32" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="33" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="34" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="35" y="31" width="1" height="1" fill="#356CA9" />
+<rect x="36" y="31" width="1" height="1" fill="#398FBE" />
+<rect x="37" y="31" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="31" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="31" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="31" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="31" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="31" width="1" height="1" fill="#398FBE" />
+<rect x="43" y="31" width="1" height="1" fill="#141820" />
+<rect x="44" y="31" width="1" height="1" fill="#141820" />
+<rect x="45" y="31" width="1" height="1" fill="#141820" />
+<rect x="4" y="32" width="1" height="1" fill="#141820" />
+<rect x="5" y="32" width="1" height="1" fill="#141820" />
+<rect x="6" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="7" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="8" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="32" width="1" height="1" fill="#314794" />
+<rect x="12" y="32" width="1" height="1" fill="#314794" />
+<rect x="13" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="22" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="23" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="24" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="25" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="26" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="27" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="28" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="29" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="30" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="31" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="32" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="33" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="34" y="32" width="1" height="1" fill="#141820" />
+<rect x="35" y="32" width="1" height="1" fill="#141820" />
+<rect x="36" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="37" y="32" width="1" height="1" fill="#356CA9" />
+<rect x="38" y="32" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="32" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="32" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="32" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="32" width="1" height="1" fill="#398FBE" />
+<rect x="43" y="32" width="1" height="1" fill="#141820" />
+<rect x="44" y="32" width="1" height="1" fill="#141820" />
+<rect x="45" y="32" width="1" height="1" fill="#141820" />
+<rect x="4" y="33" width="1" height="1" fill="#141820" />
+<rect x="5" y="33" width="1" height="1" fill="#141820" />
+<rect x="6" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="7" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="8" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="33" width="1" height="1" fill="#314794" />
+<rect x="10" y="33" width="1" height="1" fill="#314794" />
+<rect x="11" y="33" width="1" height="1" fill="#314794" />
+<rect x="12" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="33" width="1" height="1" fill="#141820" />
+<rect x="22" y="33" width="1" height="1" fill="#141820" />
+<rect x="23" y="33" width="1" height="1" fill="#141820" />
+<rect x="24" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="25" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="26" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="27" y="33" width="1" height="1" fill="#141820" />
+<rect x="28" y="33" width="1" height="1" fill="#141820" />
+<rect x="29" y="33" width="1" height="1" fill="#141820" />
+<rect x="30" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="31" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="32" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="33" y="33" width="1" height="1" fill="#141820" />
+<rect x="34" y="33" width="1" height="1" fill="#141820" />
+<rect x="35" y="33" width="1" height="1" fill="#141820" />
+<rect x="36" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="37" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="38" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="39" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="40" y="33" width="1" height="1" fill="#356CA9" />
+<rect x="41" y="33" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="33" width="1" height="1" fill="#398FBE" />
+<rect x="43" y="33" width="1" height="1" fill="#141820" />
+<rect x="44" y="33" width="1" height="1" fill="#141820" />
+<rect x="45" y="33" width="1" height="1" fill="#141820" />
+<rect x="4" y="34" width="1" height="1" fill="#141820" />
+<rect x="5" y="34" width="1" height="1" fill="#141820" />
+<rect x="6" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="7" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="8" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="34" width="1" height="1" fill="#314794" />
+<rect x="10" y="34" width="1" height="1" fill="#314794" />
+<rect x="11" y="34" width="1" height="1" fill="#314794" />
+<rect x="12" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="34" width="1" height="1" fill="#141820" />
+<rect x="22" y="34" width="1" height="1" fill="#141820" />
+<rect x="23" y="34" width="1" height="1" fill="#141820" />
+<rect x="24" y="34" width="1" height="1" fill="#141820" />
+<rect x="25" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="26" y="34" width="1" height="1" fill="#141820" />
+<rect x="27" y="34" width="1" height="1" fill="#141820" />
+<rect x="28" y="34" width="1" height="1" fill="#141820" />
+<rect x="29" y="34" width="1" height="1" fill="#141820" />
+<rect x="30" y="34" width="1" height="1" fill="#141820" />
+<rect x="31" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="32" y="34" width="1" height="1" fill="#141820" />
+<rect x="33" y="34" width="1" height="1" fill="#141820" />
+<rect x="34" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="35" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="36" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="37" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="38" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="39" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="40" y="34" width="1" height="1" fill="#356CA9" />
+<rect x="41" y="34" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="34" width="1" height="1" fill="#398FBE" />
+<rect x="43" y="34" width="1" height="1" fill="#141820" />
+<rect x="44" y="34" width="1" height="1" fill="#141820" />
+<rect x="45" y="34" width="1" height="1" fill="#141820" />
+<rect x="4" y="35" width="1" height="1" fill="#141820" />
+<rect x="5" y="35" width="1" height="1" fill="#141820" />
+<rect x="6" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="7" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="8" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="35" width="1" height="1" fill="#314794" />
+<rect x="10" y="35" width="1" height="1" fill="#314794" />
+<rect x="11" y="35" width="1" height="1" fill="#314794" />
+<rect x="12" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="22" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="23" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="24" y="35" width="1" height="1" fill="#141820" />
+<rect x="25" y="35" width="1" height="1" fill="#141820" />
+<rect x="26" y="35" width="1" height="1" fill="#141820" />
+<rect x="27" y="35" width="1" height="1" fill="#141820" />
+<rect x="28" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="29" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="30" y="35" width="1" height="1" fill="#141820" />
+<rect x="31" y="35" width="1" height="1" fill="#141820" />
+<rect x="32" y="35" width="1" height="1" fill="#141820" />
+<rect x="33" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="34" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="35" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="36" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="37" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="38" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="39" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="40" y="35" width="1" height="1" fill="#356CA9" />
+<rect x="41" y="35" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="35" width="1" height="1" fill="#398FBE" />
+<rect x="43" y="35" width="1" height="1" fill="#141820" />
+<rect x="44" y="35" width="1" height="1" fill="#141820" />
+<rect x="45" y="35" width="1" height="1" fill="#141820" />
+<rect x="4" y="36" width="1" height="1" fill="#141820" />
+<rect x="5" y="36" width="1" height="1" fill="#141820" />
+<rect x="6" y="36" width="1" height="1" fill="#141820" />
+<rect x="7" y="36" width="1" height="1" fill="#141820" />
+<rect x="8" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="9" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="36" width="1" height="1" fill="#314794" />
+<rect x="11" y="36" width="1" height="1" fill="#314794" />
+<rect x="12" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="22" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="23" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="24" y="36" width="1" height="1" fill="#141820" />
+<rect x="25" y="36" width="1" height="1" fill="#141820" />
+<rect x="26" y="36" width="1" height="1" fill="#141820" />
+<rect x="27" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="28" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="29" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="30" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="31" y="36" width="1" height="1" fill="#141820" />
+<rect x="32" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="33" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="34" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="35" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="36" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="37" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="38" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="39" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="40" y="36" width="1" height="1" fill="#356CA9" />
+<rect x="41" y="36" width="1" height="1" fill="#398FBE" />
+<rect x="42" y="36" width="1" height="1" fill="#141820" />
+<rect x="43" y="36" width="1" height="1" fill="#141820" />
+<rect x="44" y="36" width="1" height="1" fill="#141820" />
+<rect x="45" y="36" width="1" height="1" fill="#141820" />
+<rect x="5" y="37" width="1" height="1" fill="#141820" />
+<rect x="6" y="37" width="1" height="1" fill="#141820" />
+<rect x="7" y="37" width="1" height="1" fill="#141820" />
+<rect x="8" y="37" width="1" height="1" fill="#141820" />
+<rect x="9" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="10" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="11" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="13" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="14" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="22" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="23" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="24" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="25" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="26" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="27" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="28" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="29" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="30" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="31" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="32" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="33" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="34" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="35" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="36" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="37" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="38" y="37" width="1" height="1" fill="#356CA9" />
+<rect x="39" y="37" width="1" height="1" fill="#398FBE" />
+<rect x="40" y="37" width="1" height="1" fill="#398FBE" />
+<rect x="41" y="37" width="1" height="1" fill="#141820" />
+<rect x="42" y="37" width="1" height="1" fill="#141820" />
+<rect x="43" y="37" width="1" height="1" fill="#141820" />
+<rect x="44" y="37" width="1" height="1" fill="#141820" />
+<rect x="6" y="38" width="1" height="1" fill="#141820" />
+<rect x="7" y="38" width="1" height="1" fill="#141820" />
+<rect x="8" y="38" width="1" height="1" fill="#141820" />
+<rect x="9" y="38" width="1" height="1" fill="#141820" />
+<rect x="10" y="38" width="1" height="1" fill="#141820" />
+<rect x="11" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="12" y="38" width="1" height="1" fill="#398FBE" />
+<rect x="13" y="38" width="1" height="1" fill="#398FBE" />
+<rect x="14" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="15" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="16" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="17" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="22" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="23" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="24" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="25" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="26" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="27" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="28" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="29" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="30" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="31" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="32" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="33" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="34" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="35" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="36" y="38" width="1" height="1" fill="#356CA9" />
+<rect x="37" y="38" width="1" height="1" fill="#398FBE" />
+<rect x="38" y="38" width="1" height="1" fill="#398FBE" />
+<rect x="39" y="38" width="1" height="1" fill="#141820" />
+<rect x="40" y="38" width="1" height="1" fill="#141820" />
+<rect x="41" y="38" width="1" height="1" fill="#141820" />
+<rect x="42" y="38" width="1" height="1" fill="#141820" />
+<rect x="43" y="38" width="1" height="1" fill="#141820" />
+<rect x="7" y="39" width="1" height="1" fill="#141820" />
+<rect x="8" y="39" width="1" height="1" fill="#141820" />
+<rect x="9" y="39" width="1" height="1" fill="#141820" />
+<rect x="10" y="39" width="1" height="1" fill="#141820" />
+<rect x="11" y="39" width="1" height="1" fill="#141820" />
+<rect x="12" y="39" width="1" height="1" fill="#141820" />
+<rect x="13" y="39" width="1" height="1" fill="#398FBE" />
+<rect x="14" y="39" width="1" height="1" fill="#398FBE" />
+<rect x="15" y="39" width="1" height="1" fill="#398FBE" />
+<rect x="16" y="39" width="1" height="1" fill="#398FBE" />
+<rect x="17" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="18" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="19" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="20" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="21" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="22" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="23" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="24" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="25" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="26" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="27" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="28" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="29" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="30" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="31" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="32" y="39" width="1" height="1" fill="#356CA9" />
+<rect x="33" y="39" width="1" height="1" fill="#398FBE" />
+<rect x="34" y="39" width="1" height="1" fill="#398FBE" />
+<rect x="35" y="39" width="1" height="1" fill="#398FBE" />
+<rect x="36" y="39" width="1" height="1" fill="#141820" />
+<rect x="37" y="39" width="1" height="1" fill="#141820" />
+<rect x="38" y="39" width="1" height="1" fill="#141820" />
+<rect x="39" y="39" width="1" height="1" fill="#141820" />
+<rect x="40" y="39" width="1" height="1" fill="#141820" />
+<rect x="41" y="39" width="1" height="1" fill="#141820" />
+<rect x="42" y="39" width="1" height="1" fill="#141820" />
+<rect x="9" y="40" width="1" height="1" fill="#141820" />
+<rect x="10" y="40" width="1" height="1" fill="#141820" />
+<rect x="11" y="40" width="1" height="1" fill="#141820" />
+<rect x="12" y="40" width="1" height="1" fill="#141820" />
+<rect x="13" y="40" width="1" height="1" fill="#141820" />
+<rect x="14" y="40" width="1" height="1" fill="#141820" />
+<rect x="15" y="40" width="1" height="1" fill="#141820" />
+<rect x="16" y="40" width="1" height="1" fill="#141820" />
+<rect x="17" y="40" width="1" height="1" fill="#141820" />
+<rect x="18" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="19" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="20" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="21" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="22" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="23" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="24" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="25" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="26" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="27" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="28" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="29" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="30" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="31" y="40" width="1" height="1" fill="#398FBE" />
+<rect x="32" y="40" width="1" height="1" fill="#141820" />
+<rect x="33" y="40" width="1" height="1" fill="#141820" />
+<rect x="34" y="40" width="1" height="1" fill="#141820" />
+<rect x="35" y="40" width="1" height="1" fill="#141820" />
+<rect x="36" y="40" width="1" height="1" fill="#141820" />
+<rect x="37" y="40" width="1" height="1" fill="#141820" />
+<rect x="38" y="40" width="1" height="1" fill="#141820" />
+<rect x="39" y="40" width="1" height="1" fill="#141820" />
+<rect x="40" y="40" width="1" height="1" fill="#141820" />
+<rect x="11" y="41" width="1" height="1" fill="#141820" />
+<rect x="12" y="41" width="1" height="1" fill="#141820" />
+<rect x="13" y="41" width="1" height="1" fill="#141820" />
+<rect x="14" y="41" width="1" height="1" fill="#141820" />
+<rect x="15" y="41" width="1" height="1" fill="#141820" />
+<rect x="16" y="41" width="1" height="1" fill="#141820" />
+<rect x="17" y="41" width="1" height="1" fill="#141820" />
+<rect x="18" y="41" width="1" height="1" fill="#141820" />
+<rect x="19" y="41" width="1" height="1" fill="#141820" />
+<rect x="20" y="41" width="1" height="1" fill="#141820" />
+<rect x="21" y="41" width="1" height="1" fill="#141820" />
+<rect x="22" y="41" width="1" height="1" fill="#141820" />
+<rect x="23" y="41" width="1" height="1" fill="#141820" />
+<rect x="24" y="41" width="1" height="1" fill="#141820" />
+<rect x="25" y="41" width="1" height="1" fill="#141820" />
+<rect x="26" y="41" width="1" height="1" fill="#141820" />
+<rect x="27" y="41" width="1" height="1" fill="#141820" />
+<rect x="28" y="41" width="1" height="1" fill="#141820" />
+<rect x="29" y="41" width="1" height="1" fill="#141820" />
+<rect x="30" y="41" width="1" height="1" fill="#141820" />
+<rect x="31" y="41" width="1" height="1" fill="#141820" />
+<rect x="32" y="41" width="1" height="1" fill="#141820" />
+<rect x="33" y="41" width="1" height="1" fill="#141820" />
+<rect x="34" y="41" width="1" height="1" fill="#141820" />
+<rect x="35" y="41" width="1" height="1" fill="#141820" />
+<rect x="36" y="41" width="1" height="1" fill="#141820" />
+<rect x="37" y="41" width="1" height="1" fill="#141820" />
+<rect x="38" y="41" width="1" height="1" fill="#141820" />
+<rect x="14" y="42" width="1" height="1" fill="#141820" />
+<rect x="15" y="42" width="1" height="1" fill="#141820" />
+<rect x="16" y="42" width="1" height="1" fill="#141820" />
+<rect x="17" y="42" width="1" height="1" fill="#141820" />
+<rect x="18" y="42" width="1" height="1" fill="#141820" />
+<rect x="19" y="42" width="1" height="1" fill="#141820" />
+<rect x="20" y="42" width="1" height="1" fill="#141820" />
+<rect x="21" y="42" width="1" height="1" fill="#141820" />
+<rect x="22" y="42" width="1" height="1" fill="#141820" />
+<rect x="23" y="42" width="1" height="1" fill="#141820" />
+<rect x="24" y="42" width="1" height="1" fill="#141820" />
+<rect x="25" y="42" width="1" height="1" fill="#141820" />
+<rect x="26" y="42" width="1" height="1" fill="#141820" />
+<rect x="27" y="42" width="1" height="1" fill="#141820" />
+<rect x="28" y="42" width="1" height="1" fill="#141820" />
+<rect x="29" y="42" width="1" height="1" fill="#141820" />
+<rect x="30" y="42" width="1" height="1" fill="#141820" />
+<rect x="31" y="42" width="1" height="1" fill="#141820" />
+<rect x="32" y="42" width="1" height="1" fill="#141820" />
+<rect x="33" y="42" width="1" height="1" fill="#141820" />
+<rect x="34" y="42" width="1" height="1" fill="#141820" />
+<rect x="22" y="43" width="1" height="1" fill="#141820" />
+<rect x="23" y="43" width="1" height="1" fill="#141820" />
+<rect x="24" y="43" width="1" height="1" fill="#141820" />
+<rect x="25" y="43" width="1" height="1" fill="#141820" />
+<rect x="26" y="43" width="1" height="1" fill="#141820" />
+<rect x="27" y="43" width="1" height="1" fill="#141820" />
+<rect x="28" y="43" width="1" height="1" fill="#141820" />
+<rect x="29" y="43" width="1" height="1" fill="#141820" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/slimes/Honey1.svg b/Edikoyo/.obsidian/icons/slimes/Honey1.svg
new file mode 100644
index 0000000..c42bea1
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/slimes/Honey1.svg
@@ -0,0 +1,1280 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="48" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="34" y="1" width="1" height="1" fill="#341C27" />
+<rect x="35" y="1" width="1" height="1" fill="#341C27" />
+<rect x="36" y="1" width="1" height="1" fill="#341C27" />
+<rect x="37" y="1" width="1" height="1" fill="#341C27" />
+<rect x="10" y="2" width="1" height="1" fill="#341C27" />
+<rect x="11" y="2" width="1" height="1" fill="#341C27" />
+<rect x="12" y="2" width="1" height="1" fill="#341C27" />
+<rect x="13" y="2" width="1" height="1" fill="#341C27" />
+<rect x="33" y="2" width="1" height="1" fill="#341C27" />
+<rect x="34" y="2" width="1" height="1" fill="#341C27" />
+<rect x="35" y="2" width="1" height="1" fill="#341C27" />
+<rect x="36" y="2" width="1" height="1" fill="#341C27" />
+<rect x="37" y="2" width="1" height="1" fill="#341C27" />
+<rect x="38" y="2" width="1" height="1" fill="#341C27" />
+<rect x="9" y="3" width="1" height="1" fill="#341C27" />
+<rect x="10" y="3" width="1" height="1" fill="#341C27" />
+<rect x="11" y="3" width="1" height="1" fill="#341C27" />
+<rect x="12" y="3" width="1" height="1" fill="#341C27" />
+<rect x="13" y="3" width="1" height="1" fill="#341C27" />
+<rect x="14" y="3" width="1" height="1" fill="#341C27" />
+<rect x="32" y="3" width="1" height="1" fill="#341C27" />
+<rect x="33" y="3" width="1" height="1" fill="#341C27" />
+<rect x="34" y="3" width="1" height="1" fill="#341C27" />
+<rect x="35" y="3" width="1" height="1" fill="#341C27" />
+<rect x="36" y="3" width="1" height="1" fill="#341C27" />
+<rect x="37" y="3" width="1" height="1" fill="#341C27" />
+<rect x="38" y="3" width="1" height="1" fill="#341C27" />
+<rect x="9" y="4" width="1" height="1" fill="#341C27" />
+<rect x="10" y="4" width="1" height="1" fill="#341C27" />
+<rect x="11" y="4" width="1" height="1" fill="#341C27" />
+<rect x="12" y="4" width="1" height="1" fill="#341C27" />
+<rect x="13" y="4" width="1" height="1" fill="#341C27" />
+<rect x="14" y="4" width="1" height="1" fill="#341C27" />
+<rect x="32" y="4" width="1" height="1" fill="#341C27" />
+<rect x="33" y="4" width="1" height="1" fill="#341C27" />
+<rect x="34" y="4" width="1" height="1" fill="#341C27" />
+<rect x="35" y="4" width="1" height="1" fill="#341C27" />
+<rect x="36" y="4" width="1" height="1" fill="#341C27" />
+<rect x="37" y="4" width="1" height="1" fill="#341C27" />
+<rect x="38" y="4" width="1" height="1" fill="#341C27" />
+<rect x="8" y="5" width="1" height="1" fill="#341C27" />
+<rect x="9" y="5" width="1" height="1" fill="#341C27" />
+<rect x="10" y="5" width="1" height="1" fill="#341C27" />
+<rect x="11" y="5" width="1" height="1" fill="#341C27" />
+<rect x="12" y="5" width="1" height="1" fill="#341C27" />
+<rect x="13" y="5" width="1" height="1" fill="#341C27" />
+<rect x="14" y="5" width="1" height="1" fill="#341C27" />
+<rect x="15" y="5" width="1" height="1" fill="#341C27" />
+<rect x="32" y="5" width="1" height="1" fill="#341C27" />
+<rect x="33" y="5" width="1" height="1" fill="#341C27" />
+<rect x="34" y="5" width="1" height="1" fill="#341C27" />
+<rect x="35" y="5" width="1" height="1" fill="#341C27" />
+<rect x="36" y="5" width="1" height="1" fill="#341C27" />
+<rect x="37" y="5" width="1" height="1" fill="#341C27" />
+<rect x="38" y="5" width="1" height="1" fill="#341C27" />
+<rect x="8" y="6" width="1" height="1" fill="#341C27" />
+<rect x="9" y="6" width="1" height="1" fill="#341C27" />
+<rect x="10" y="6" width="1" height="1" fill="#341C27" />
+<rect x="11" y="6" width="1" height="1" fill="#341C27" />
+<rect x="12" y="6" width="1" height="1" fill="#341C27" />
+<rect x="13" y="6" width="1" height="1" fill="#341C27" />
+<rect x="14" y="6" width="1" height="1" fill="#341C27" />
+<rect x="15" y="6" width="1" height="1" fill="#341C27" />
+<rect x="32" y="6" width="1" height="1" fill="#341C27" />
+<rect x="33" y="6" width="1" height="1" fill="#341C27" />
+<rect x="34" y="6" width="1" height="1" fill="#341C27" />
+<rect x="35" y="6" width="1" height="1" fill="#341C27" />
+<rect x="36" y="6" width="1" height="1" fill="#341C27" />
+<rect x="37" y="6" width="1" height="1" fill="#341C27" />
+<rect x="38" y="6" width="1" height="1" fill="#341C27" />
+<rect x="8" y="7" width="1" height="1" fill="#341C27" />
+<rect x="9" y="7" width="1" height="1" fill="#341C27" />
+<rect x="10" y="7" width="1" height="1" fill="#341C27" />
+<rect x="11" y="7" width="1" height="1" fill="#341C27" />
+<rect x="12" y="7" width="1" height="1" fill="#341C27" />
+<rect x="13" y="7" width="1" height="1" fill="#341C27" />
+<rect x="14" y="7" width="1" height="1" fill="#341C27" />
+<rect x="33" y="7" width="1" height="1" fill="#341C27" />
+<rect x="34" y="7" width="1" height="1" fill="#341C27" />
+<rect x="35" y="7" width="1" height="1" fill="#341C27" />
+<rect x="36" y="7" width="1" height="1" fill="#341C27" />
+<rect x="37" y="7" width="1" height="1" fill="#341C27" />
+<rect x="9" y="8" width="1" height="1" fill="#341C27" />
+<rect x="10" y="8" width="1" height="1" fill="#341C27" />
+<rect x="11" y="8" width="1" height="1" fill="#341C27" />
+<rect x="12" y="8" width="1" height="1" fill="#341C27" />
+<rect x="13" y="8" width="1" height="1" fill="#341C27" />
+<rect x="14" y="8" width="1" height="1" fill="#341C27" />
+<rect x="24" y="8" width="1" height="1" fill="#341C27" />
+<rect x="25" y="8" width="1" height="1" fill="#341C27" />
+<rect x="26" y="8" width="1" height="1" fill="#341C27" />
+<rect x="34" y="8" width="1" height="1" fill="#341C27" />
+<rect x="35" y="8" width="1" height="1" fill="#341C27" />
+<rect x="36" y="8" width="1" height="1" fill="#341C27" />
+<rect x="10" y="9" width="1" height="1" fill="#341C27" />
+<rect x="11" y="9" width="1" height="1" fill="#341C27" />
+<rect x="12" y="9" width="1" height="1" fill="#341C27" />
+<rect x="19" y="9" width="1" height="1" fill="#341C27" />
+<rect x="20" y="9" width="1" height="1" fill="#341C27" />
+<rect x="21" y="9" width="1" height="1" fill="#341C27" />
+<rect x="22" y="9" width="1" height="1" fill="#341C27" />
+<rect x="23" y="9" width="1" height="1" fill="#341C27" />
+<rect x="24" y="9" width="1" height="1" fill="#341C27" />
+<rect x="25" y="9" width="1" height="1" fill="#341C27" />
+<rect x="26" y="9" width="1" height="1" fill="#341C27" />
+<rect x="27" y="9" width="1" height="1" fill="#341C27" />
+<rect x="28" y="9" width="1" height="1" fill="#341C27" />
+<rect x="29" y="9" width="1" height="1" fill="#341C27" />
+<rect x="30" y="9" width="1" height="1" fill="#341C27" />
+<rect x="31" y="9" width="1" height="1" fill="#341C27" />
+<rect x="33" y="9" width="1" height="1" fill="#341C27" />
+<rect x="34" y="9" width="1" height="1" fill="#341C27" />
+<rect x="35" y="9" width="1" height="1" fill="#341C27" />
+<rect x="11" y="10" width="1" height="1" fill="#341C27" />
+<rect x="12" y="10" width="1" height="1" fill="#341C27" />
+<rect x="13" y="10" width="1" height="1" fill="#341C27" />
+<rect x="17" y="10" width="1" height="1" fill="#341C27" />
+<rect x="18" y="10" width="1" height="1" fill="#341C27" />
+<rect x="19" y="10" width="1" height="1" fill="#341C27" />
+<rect x="20" y="10" width="1" height="1" fill="#341C27" />
+<rect x="21" y="10" width="1" height="1" fill="#341C27" />
+<rect x="22" y="10" width="1" height="1" fill="#341C27" />
+<rect x="23" y="10" width="1" height="1" fill="#341C27" />
+<rect x="24" y="10" width="1" height="1" fill="#341C27" />
+<rect x="25" y="10" width="1" height="1" fill="#341C27" />
+<rect x="26" y="10" width="1" height="1" fill="#341C27" />
+<rect x="27" y="10" width="1" height="1" fill="#341C27" />
+<rect x="28" y="10" width="1" height="1" fill="#341C27" />
+<rect x="29" y="10" width="1" height="1" fill="#341C27" />
+<rect x="30" y="10" width="1" height="1" fill="#341C27" />
+<rect x="31" y="10" width="1" height="1" fill="#341C27" />
+<rect x="32" y="10" width="1" height="1" fill="#341C27" />
+<rect x="33" y="10" width="1" height="1" fill="#341C27" />
+<rect x="34" y="10" width="1" height="1" fill="#341C27" />
+<rect x="35" y="10" width="1" height="1" fill="#341C27" />
+<rect x="11" y="11" width="1" height="1" fill="#341C27" />
+<rect x="12" y="11" width="1" height="1" fill="#341C27" />
+<rect x="13" y="11" width="1" height="1" fill="#341C27" />
+<rect x="15" y="11" width="1" height="1" fill="#341C27" />
+<rect x="16" y="11" width="1" height="1" fill="#341C27" />
+<rect x="17" y="11" width="1" height="1" fill="#341C27" />
+<rect x="18" y="11" width="1" height="1" fill="#341C27" />
+<rect x="19" y="11" width="1" height="1" fill="#341C27" />
+<rect x="20" y="11" width="1" height="1" fill="#341C27" />
+<rect x="21" y="11" width="1" height="1" fill="#341C27" />
+<rect x="22" y="11" width="1" height="1" fill="#341C27" />
+<rect x="23" y="11" width="1" height="1" fill="#341C27" />
+<rect x="24" y="11" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="11" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="11" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="11" width="1" height="1" fill="#341C27" />
+<rect x="28" y="11" width="1" height="1" fill="#341C27" />
+<rect x="29" y="11" width="1" height="1" fill="#341C27" />
+<rect x="30" y="11" width="1" height="1" fill="#341C27" />
+<rect x="31" y="11" width="1" height="1" fill="#341C27" />
+<rect x="32" y="11" width="1" height="1" fill="#341C27" />
+<rect x="33" y="11" width="1" height="1" fill="#341C27" />
+<rect x="34" y="11" width="1" height="1" fill="#341C27" />
+<rect x="35" y="11" width="1" height="1" fill="#341C27" />
+<rect x="11" y="12" width="1" height="1" fill="#341C27" />
+<rect x="12" y="12" width="1" height="1" fill="#341C27" />
+<rect x="13" y="12" width="1" height="1" fill="#341C27" />
+<rect x="14" y="12" width="1" height="1" fill="#341C27" />
+<rect x="15" y="12" width="1" height="1" fill="#341C27" />
+<rect x="16" y="12" width="1" height="1" fill="#341C27" />
+<rect x="17" y="12" width="1" height="1" fill="#341C27" />
+<rect x="18" y="12" width="1" height="1" fill="#341C27" />
+<rect x="19" y="12" width="1" height="1" fill="#341C27" />
+<rect x="20" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="12" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="12" width="1" height="1" fill="#341C27" />
+<rect x="32" y="12" width="1" height="1" fill="#341C27" />
+<rect x="33" y="12" width="1" height="1" fill="#341C27" />
+<rect x="34" y="12" width="1" height="1" fill="#341C27" />
+<rect x="35" y="12" width="1" height="1" fill="#341C27" />
+<rect x="36" y="12" width="1" height="1" fill="#341C27" />
+<rect x="11" y="13" width="1" height="1" fill="#341C27" />
+<rect x="12" y="13" width="1" height="1" fill="#341C27" />
+<rect x="13" y="13" width="1" height="1" fill="#341C27" />
+<rect x="14" y="13" width="1" height="1" fill="#341C27" />
+<rect x="15" y="13" width="1" height="1" fill="#341C27" />
+<rect x="16" y="13" width="1" height="1" fill="#341C27" />
+<rect x="17" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="13" width="1" height="1" fill="#B77837" />
+<rect x="29" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="13" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="13" width="1" height="1" fill="#341C27" />
+<rect x="33" y="13" width="1" height="1" fill="#341C27" />
+<rect x="34" y="13" width="1" height="1" fill="#341C27" />
+<rect x="35" y="13" width="1" height="1" fill="#341C27" />
+<rect x="36" y="13" width="1" height="1" fill="#341C27" />
+<rect x="37" y="13" width="1" height="1" fill="#341C27" />
+<rect x="11" y="14" width="1" height="1" fill="#341C27" />
+<rect x="12" y="14" width="1" height="1" fill="#341C27" />
+<rect x="13" y="14" width="1" height="1" fill="#341C27" />
+<rect x="14" y="14" width="1" height="1" fill="#341C27" />
+<rect x="15" y="14" width="1" height="1" fill="#341C27" />
+<rect x="16" y="14" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="14" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="14" width="1" height="1" fill="#A6632B" />
+<rect x="19" y="14" width="1" height="1" fill="#A6632B" />
+<rect x="20" y="14" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="14" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="14" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="14" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="14" width="1" height="1" fill="#341C27" />
+<rect x="33" y="14" width="1" height="1" fill="#341C27" />
+<rect x="34" y="14" width="1" height="1" fill="#341C27" />
+<rect x="35" y="14" width="1" height="1" fill="#341C27" />
+<rect x="36" y="14" width="1" height="1" fill="#341C27" />
+<rect x="37" y="14" width="1" height="1" fill="#341C27" />
+<rect x="38" y="14" width="1" height="1" fill="#341C27" />
+<rect x="10" y="15" width="1" height="1" fill="#341C27" />
+<rect x="11" y="15" width="1" height="1" fill="#341C27" />
+<rect x="12" y="15" width="1" height="1" fill="#341C27" />
+<rect x="13" y="15" width="1" height="1" fill="#341C27" />
+<rect x="14" y="15" width="1" height="1" fill="#341C27" />
+<rect x="15" y="15" width="1" height="1" fill="#341C27" />
+<rect x="16" y="15" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="15" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="15" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="15" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="15" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="15" width="1" height="1" fill="#94632A" />
+<rect x="24" y="15" width="1" height="1" fill="#94632A" />
+<rect x="25" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="15" width="1" height="1" fill="#94632A" />
+<rect x="28" y="15" width="1" height="1" fill="#94632A" />
+<rect x="29" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="15" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="15" width="1" height="1" fill="#341C27" />
+<rect x="32" y="15" width="1" height="1" fill="#341C27" />
+<rect x="33" y="15" width="1" height="1" fill="#341C27" />
+<rect x="34" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="15" width="1" height="1" fill="#341C27" />
+<rect x="37" y="15" width="1" height="1" fill="#341C27" />
+<rect x="38" y="15" width="1" height="1" fill="#341C27" />
+<rect x="9" y="16" width="1" height="1" fill="#341C27" />
+<rect x="10" y="16" width="1" height="1" fill="#341C27" />
+<rect x="11" y="16" width="1" height="1" fill="#341C27" />
+<rect x="12" y="16" width="1" height="1" fill="#341C27" />
+<rect x="13" y="16" width="1" height="1" fill="#341C27" />
+<rect x="14" y="16" width="1" height="1" fill="#341C27" />
+<rect x="15" y="16" width="1" height="1" fill="#341C27" />
+<rect x="16" y="16" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="16" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="16" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="16" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="16" width="1" height="1" fill="#94632A" />
+<rect x="23" y="16" width="1" height="1" fill="#C77B2B" />
+<rect x="24" y="16" width="1" height="1" fill="#C77B2B" />
+<rect x="25" y="16" width="1" height="1" fill="#94632A" />
+<rect x="26" y="16" width="1" height="1" fill="#94632A" />
+<rect x="27" y="16" width="1" height="1" fill="#C77B2B" />
+<rect x="28" y="16" width="1" height="1" fill="#B3702B" />
+<rect x="29" y="16" width="1" height="1" fill="#94632A" />
+<rect x="30" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="16" width="1" height="1" fill="#341C27" />
+<rect x="32" y="16" width="1" height="1" fill="#341C27" />
+<rect x="33" y="16" width="1" height="1" fill="#341C27" />
+<rect x="34" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="16" width="1" height="1" fill="#341C27" />
+<rect x="38" y="16" width="1" height="1" fill="#341C27" />
+<rect x="39" y="16" width="1" height="1" fill="#341C27" />
+<rect x="9" y="17" width="1" height="1" fill="#341C27" />
+<rect x="10" y="17" width="1" height="1" fill="#341C27" />
+<rect x="11" y="17" width="1" height="1" fill="#341C27" />
+<rect x="12" y="17" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="17" width="1" height="1" fill="#341C27" />
+<rect x="14" y="17" width="1" height="1" fill="#341C27" />
+<rect x="15" y="17" width="1" height="1" fill="#341C27" />
+<rect x="16" y="17" width="1" height="1" fill="#341C27" />
+<rect x="17" y="17" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="17" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="17" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="17" width="1" height="1" fill="#94632A" />
+<rect x="23" y="17" width="1" height="1" fill="#C77B2B" />
+<rect x="24" y="17" width="1" height="1" fill="#B3702B" />
+<rect x="25" y="17" width="1" height="1" fill="#B3702B" />
+<rect x="26" y="17" width="1" height="1" fill="#94632A" />
+<rect x="27" y="17" width="1" height="1" fill="#C77B2B" />
+<rect x="28" y="17" width="1" height="1" fill="#B3702B" />
+<rect x="29" y="17" width="1" height="1" fill="#B3702B" />
+<rect x="30" y="17" width="1" height="1" fill="#94632A" />
+<rect x="31" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="17" width="1" height="1" fill="#B77837" />
+<rect x="33" y="17" width="1" height="1" fill="#B77837" />
+<rect x="34" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="17" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="17" width="1" height="1" fill="#341C27" />
+<rect x="38" y="17" width="1" height="1" fill="#341C27" />
+<rect x="39" y="17" width="1" height="1" fill="#341C27" />
+<rect x="40" y="17" width="1" height="1" fill="#341C27" />
+<rect x="8" y="18" width="1" height="1" fill="#341C27" />
+<rect x="9" y="18" width="1" height="1" fill="#341C27" />
+<rect x="10" y="18" width="1" height="1" fill="#341C27" />
+<rect x="11" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="18" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="18" width="1" height="1" fill="#341C27" />
+<rect x="15" y="18" width="1" height="1" fill="#341C27" />
+<rect x="16" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="18" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="18" width="1" height="1" fill="#94632A" />
+<rect x="23" y="18" width="1" height="1" fill="#C77B2B" />
+<rect x="24" y="18" width="1" height="1" fill="#B3702B" />
+<rect x="25" y="18" width="1" height="1" fill="#B3702B" />
+<rect x="26" y="18" width="1" height="1" fill="#94632A" />
+<rect x="27" y="18" width="1" height="1" fill="#C77B2B" />
+<rect x="28" y="18" width="1" height="1" fill="#B3702B" />
+<rect x="29" y="18" width="1" height="1" fill="#B3702B" />
+<rect x="30" y="18" width="1" height="1" fill="#94632A" />
+<rect x="31" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="18" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="18" width="1" height="1" fill="#341C27" />
+<rect x="39" y="18" width="1" height="1" fill="#341C27" />
+<rect x="40" y="18" width="1" height="1" fill="#341C27" />
+<rect x="8" y="19" width="1" height="1" fill="#341C27" />
+<rect x="9" y="19" width="1" height="1" fill="#341C27" />
+<rect x="10" y="19" width="1" height="1" fill="#341C27" />
+<rect x="11" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="19" width="1" height="1" fill="#A6632B" />
+<rect x="13" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="19" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="19" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="19" width="1" height="1" fill="#94632A" />
+<rect x="22" y="19" width="1" height="1" fill="#94632A" />
+<rect x="23" y="19" width="1" height="1" fill="#C77B2B" />
+<rect x="24" y="19" width="1" height="1" fill="#B3702B" />
+<rect x="25" y="19" width="1" height="1" fill="#94632A" />
+<rect x="26" y="19" width="1" height="1" fill="#94632A" />
+<rect x="27" y="19" width="1" height="1" fill="#C77B2B" />
+<rect x="28" y="19" width="1" height="1" fill="#B3702B" />
+<rect x="29" y="19" width="1" height="1" fill="#94632A" />
+<rect x="30" y="19" width="1" height="1" fill="#94632A" />
+<rect x="31" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="19" width="1" height="1" fill="#B77837" />
+<rect x="38" y="19" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="19" width="1" height="1" fill="#341C27" />
+<rect x="40" y="19" width="1" height="1" fill="#341C27" />
+<rect x="41" y="19" width="1" height="1" fill="#341C27" />
+<rect x="7" y="20" width="1" height="1" fill="#341C27" />
+<rect x="8" y="20" width="1" height="1" fill="#341C27" />
+<rect x="9" y="20" width="1" height="1" fill="#341C27" />
+<rect x="10" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="20" width="1" height="1" fill="#A6632B" />
+<rect x="15" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="20" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="20" width="1" height="1" fill="#94632A" />
+<rect x="21" y="20" width="1" height="1" fill="#C77B2B" />
+<rect x="22" y="20" width="1" height="1" fill="#C77B2B" />
+<rect x="23" y="20" width="1" height="1" fill="#94632A" />
+<rect x="24" y="20" width="1" height="1" fill="#94632A" />
+<rect x="25" y="20" width="1" height="1" fill="#C77B2B" />
+<rect x="26" y="20" width="1" height="1" fill="#B3702B" />
+<rect x="27" y="20" width="1" height="1" fill="#94632A" />
+<rect x="28" y="20" width="1" height="1" fill="#94632A" />
+<rect x="29" y="20" width="1" height="1" fill="#94632A" />
+<rect x="30" y="20" width="1" height="1" fill="#B3702B" />
+<rect x="31" y="20" width="1" height="1" fill="#94632A" />
+<rect x="32" y="20" width="1" height="1" fill="#94632A" />
+<rect x="33" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="20" width="1" height="1" fill="#B77837" />
+<rect x="36" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="20" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="20" width="1" height="1" fill="#341C27" />
+<rect x="40" y="20" width="1" height="1" fill="#341C27" />
+<rect x="41" y="20" width="1" height="1" fill="#341C27" />
+<rect x="7" y="21" width="1" height="1" fill="#341C27" />
+<rect x="8" y="21" width="1" height="1" fill="#341C27" />
+<rect x="9" y="21" width="1" height="1" fill="#341C27" />
+<rect x="10" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="21" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="21" width="1" height="1" fill="#94632A" />
+<rect x="21" y="21" width="1" height="1" fill="#C77B2B" />
+<rect x="22" y="21" width="1" height="1" fill="#C77B2B" />
+<rect x="23" y="21" width="1" height="1" fill="#B3702B" />
+<rect x="24" y="21" width="1" height="1" fill="#94632A" />
+<rect x="25" y="21" width="1" height="1" fill="#C77B2B" />
+<rect x="26" y="21" width="1" height="1" fill="#B3702B" />
+<rect x="27" y="21" width="1" height="1" fill="#B3702B" />
+<rect x="28" y="21" width="1" height="1" fill="#94632A" />
+<rect x="29" y="21" width="1" height="1" fill="#C77B2B" />
+<rect x="30" y="21" width="1" height="1" fill="#B3702B" />
+<rect x="31" y="21" width="1" height="1" fill="#B3702B" />
+<rect x="32" y="21" width="1" height="1" fill="#94632A" />
+<rect x="33" y="21" width="1" height="1" fill="#B77837" />
+<rect x="34" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="21" width="1" height="1" fill="#B77837" />
+<rect x="37" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="21" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="21" width="1" height="1" fill="#341C27" />
+<rect x="41" y="21" width="1" height="1" fill="#341C27" />
+<rect x="42" y="21" width="1" height="1" fill="#341C27" />
+<rect x="6" y="22" width="1" height="1" fill="#341C27" />
+<rect x="7" y="22" width="1" height="1" fill="#341C27" />
+<rect x="8" y="22" width="1" height="1" fill="#341C27" />
+<rect x="9" y="22" width="1" height="1" fill="#341C27" />
+<rect x="10" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="22" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="22" width="1" height="1" fill="#94632A" />
+<rect x="21" y="22" width="1" height="1" fill="#C77B2B" />
+<rect x="22" y="22" width="1" height="1" fill="#C77B2B" />
+<rect x="23" y="22" width="1" height="1" fill="#94632A" />
+<rect x="24" y="22" width="1" height="1" fill="#94632A" />
+<rect x="25" y="22" width="1" height="1" fill="#C77B2B" />
+<rect x="26" y="22" width="1" height="1" fill="#B3702B" />
+<rect x="27" y="22" width="1" height="1" fill="#94632A" />
+<rect x="28" y="22" width="1" height="1" fill="#94632A" />
+<rect x="29" y="22" width="1" height="1" fill="#C77B2B" />
+<rect x="30" y="22" width="1" height="1" fill="#B3702B" />
+<rect x="31" y="22" width="1" height="1" fill="#B3702B" />
+<rect x="32" y="22" width="1" height="1" fill="#94632A" />
+<rect x="33" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="22" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="22" width="1" height="1" fill="#341C27" />
+<rect x="41" y="22" width="1" height="1" fill="#341C27" />
+<rect x="42" y="22" width="1" height="1" fill="#341C27" />
+<rect x="6" y="23" width="1" height="1" fill="#341C27" />
+<rect x="7" y="23" width="1" height="1" fill="#341C27" />
+<rect x="8" y="23" width="1" height="1" fill="#341C27" />
+<rect x="9" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="23" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="23" width="1" height="1" fill="#94632A" />
+<rect x="21" y="23" width="1" height="1" fill="#C77B2B" />
+<rect x="22" y="23" width="1" height="1" fill="#B3702B" />
+<rect x="23" y="23" width="1" height="1" fill="#94632A" />
+<rect x="24" y="23" width="1" height="1" fill="#94632A" />
+<rect x="25" y="23" width="1" height="1" fill="#C77B2B" />
+<rect x="26" y="23" width="1" height="1" fill="#B3702B" />
+<rect x="27" y="23" width="1" height="1" fill="#94632A" />
+<rect x="28" y="23" width="1" height="1" fill="#94632A" />
+<rect x="29" y="23" width="1" height="1" fill="#B3702B" />
+<rect x="30" y="23" width="1" height="1" fill="#B3702B" />
+<rect x="31" y="23" width="1" height="1" fill="#94632A" />
+<rect x="32" y="23" width="1" height="1" fill="#94632A" />
+<rect x="33" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="36" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="23" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="23" width="1" height="1" fill="#B77837" />
+<rect x="40" y="23" width="1" height="1" fill="#341C27" />
+<rect x="41" y="23" width="1" height="1" fill="#341C27" />
+<rect x="42" y="23" width="1" height="1" fill="#341C27" />
+<rect x="6" y="24" width="1" height="1" fill="#341C27" />
+<rect x="7" y="24" width="1" height="1" fill="#341C27" />
+<rect x="8" y="24" width="1" height="1" fill="#341C27" />
+<rect x="9" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="24" width="1" height="1" fill="#A6632B" />
+<rect x="12" y="24" width="1" height="1" fill="#A6632B" />
+<rect x="13" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="24" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="24" width="1" height="1" fill="#94632A" />
+<rect x="22" y="24" width="1" height="1" fill="#94632A" />
+<rect x="23" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="24" width="1" height="1" fill="#94632A" />
+<rect x="26" y="24" width="1" height="1" fill="#94632A" />
+<rect x="27" y="24" width="1" height="1" fill="#94632A" />
+<rect x="28" y="24" width="1" height="1" fill="#B3702B" />
+<rect x="29" y="24" width="1" height="1" fill="#94632A" />
+<rect x="30" y="24" width="1" height="1" fill="#94632A" />
+<rect x="31" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="24" width="1" height="1" fill="#B77837" />
+<rect x="35" y="24" width="1" height="1" fill="#B77837" />
+<rect x="36" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="24" width="1" height="1" fill="#B77837" />
+<rect x="39" y="24" width="1" height="1" fill="#B77837" />
+<rect x="40" y="24" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="24" width="1" height="1" fill="#341C27" />
+<rect x="42" y="24" width="1" height="1" fill="#341C27" />
+<rect x="43" y="24" width="1" height="1" fill="#341C27" />
+<rect x="6" y="25" width="1" height="1" fill="#341C27" />
+<rect x="7" y="25" width="1" height="1" fill="#341C27" />
+<rect x="8" y="25" width="1" height="1" fill="#341C27" />
+<rect x="9" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="25" width="1" height="1" fill="#A6632B" />
+<rect x="14" y="25" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="25" width="1" height="1" fill="#A6632B" />
+<rect x="16" y="25" width="1" height="1" fill="#A6632B" />
+<rect x="17" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="25" width="1" height="1" fill="#94632A" />
+<rect x="27" y="25" width="1" height="1" fill="#C77B2B" />
+<rect x="28" y="25" width="1" height="1" fill="#B3702B" />
+<rect x="29" y="25" width="1" height="1" fill="#B3702B" />
+<rect x="30" y="25" width="1" height="1" fill="#94632A" />
+<rect x="31" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="25" width="1" height="1" fill="#B77837" />
+<rect x="34" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="25" width="1" height="1" fill="#B77837" />
+<rect x="36" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="25" width="1" height="1" fill="#B77837" />
+<rect x="38" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="25" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="25" width="1" height="1" fill="#341C27" />
+<rect x="42" y="25" width="1" height="1" fill="#341C27" />
+<rect x="43" y="25" width="1" height="1" fill="#341C27" />
+<rect x="5" y="26" width="1" height="1" fill="#341C27" />
+<rect x="6" y="26" width="1" height="1" fill="#341C27" />
+<rect x="7" y="26" width="1" height="1" fill="#341C27" />
+<rect x="8" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="26" width="1" height="1" fill="#A6632B" />
+<rect x="15" y="26" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="26" width="1" height="1" fill="#94632A" />
+<rect x="27" y="26" width="1" height="1" fill="#C77B2B" />
+<rect x="28" y="26" width="1" height="1" fill="#B3702B" />
+<rect x="29" y="26" width="1" height="1" fill="#B3702B" />
+<rect x="30" y="26" width="1" height="1" fill="#94632A" />
+<rect x="31" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="35" y="26" width="1" height="1" fill="#341C27" />
+<rect x="36" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="37" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="26" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="26" width="1" height="1" fill="#341C27" />
+<rect x="42" y="26" width="1" height="1" fill="#341C27" />
+<rect x="43" y="26" width="1" height="1" fill="#341C27" />
+<rect x="5" y="27" width="1" height="1" fill="#341C27" />
+<rect x="6" y="27" width="1" height="1" fill="#341C27" />
+<rect x="7" y="27" width="1" height="1" fill="#341C27" />
+<rect x="8" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="27" width="1" height="1" fill="#A6632B" />
+<rect x="14" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="27" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="27" width="1" height="1" fill="#94632A" />
+<rect x="27" y="27" width="1" height="1" fill="#C77B2B" />
+<rect x="28" y="27" width="1" height="1" fill="#B3702B" />
+<rect x="29" y="27" width="1" height="1" fill="#94632A" />
+<rect x="30" y="27" width="1" height="1" fill="#94632A" />
+<rect x="31" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="33" y="27" width="1" height="1" fill="#341C27" />
+<rect x="34" y="27" width="1" height="1" fill="#341C27" />
+<rect x="35" y="27" width="1" height="1" fill="#341C27" />
+<rect x="36" y="27" width="1" height="1" fill="#341C27" />
+<rect x="37" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="27" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="27" width="1" height="1" fill="#341C27" />
+<rect x="42" y="27" width="1" height="1" fill="#341C27" />
+<rect x="43" y="27" width="1" height="1" fill="#341C27" />
+<rect x="44" y="27" width="1" height="1" fill="#341C27" />
+<rect x="5" y="28" width="1" height="1" fill="#341C27" />
+<rect x="6" y="28" width="1" height="1" fill="#341C27" />
+<rect x="7" y="28" width="1" height="1" fill="#341C27" />
+<rect x="8" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="28" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="28" width="1" height="1" fill="#341C27" />
+<rect x="21" y="28" width="1" height="1" fill="#341C27" />
+<rect x="22" y="28" width="1" height="1" fill="#341C27" />
+<rect x="23" y="28" width="1" height="1" fill="#341C27" />
+<rect x="24" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="28" width="1" height="1" fill="#94632A" />
+<rect x="28" y="28" width="1" height="1" fill="#94632A" />
+<rect x="29" y="28" width="1" height="1" fill="#94632A" />
+<rect x="30" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="28" width="1" height="1" fill="#341C27" />
+<rect x="33" y="28" width="1" height="1" fill="#341C27" />
+<rect x="34" y="28" width="1" height="1" fill="#341C27" />
+<rect x="35" y="28" width="1" height="1" fill="#341C27" />
+<rect x="36" y="28" width="1" height="1" fill="#341C27" />
+<rect x="37" y="28" width="1" height="1" fill="#341C27" />
+<rect x="38" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="28" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="28" width="1" height="1" fill="#341C27" />
+<rect x="43" y="28" width="1" height="1" fill="#341C27" />
+<rect x="44" y="28" width="1" height="1" fill="#341C27" />
+<rect x="5" y="29" width="1" height="1" fill="#341C27" />
+<rect x="6" y="29" width="1" height="1" fill="#341C27" />
+<rect x="7" y="29" width="1" height="1" fill="#341C27" />
+<rect x="8" y="29" width="1" height="1" fill="#A6632B" />
+<rect x="9" y="29" width="1" height="1" fill="#A6632B" />
+<rect x="10" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="29" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="29" width="1" height="1" fill="#341C27" />
+<rect x="20" y="29" width="1" height="1" fill="#341C27" />
+<rect x="21" y="29" width="1" height="1" fill="#341C27" />
+<rect x="22" y="29" width="1" height="1" fill="#341C27" />
+<rect x="23" y="29" width="1" height="1" fill="#341C27" />
+<rect x="24" y="29" width="1" height="1" fill="#341C27" />
+<rect x="25" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="31" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="32" y="29" width="1" height="1" fill="#341C27" />
+<rect x="33" y="29" width="1" height="1" fill="#341C27" />
+<rect x="34" y="29" width="1" height="1" fill="#341C27" />
+<rect x="35" y="29" width="1" height="1" fill="#341C27" />
+<rect x="36" y="29" width="1" height="1" fill="#341C27" />
+<rect x="37" y="29" width="1" height="1" fill="#341C27" />
+<rect x="38" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="29" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="29" width="1" height="1" fill="#341C27" />
+<rect x="43" y="29" width="1" height="1" fill="#341C27" />
+<rect x="44" y="29" width="1" height="1" fill="#341C27" />
+<rect x="4" y="30" width="1" height="1" fill="#341C27" />
+<rect x="5" y="30" width="1" height="1" fill="#341C27" />
+<rect x="6" y="30" width="1" height="1" fill="#341C27" />
+<rect x="7" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="30" width="1" height="1" fill="#A6632B" />
+<rect x="10" y="30" width="1" height="1" fill="#A6632B" />
+<rect x="11" y="30" width="1" height="1" fill="#A6632B" />
+<rect x="12" y="30" width="1" height="1" fill="#A6632B" />
+<rect x="13" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="30" width="1" height="1" fill="#341C27" />
+<rect x="20" y="30" width="1" height="1" fill="#341C27" />
+<rect x="21" y="30" width="1" height="1" fill="#341C27" />
+<rect x="22" y="30" width="1" height="1" fill="#341C27" />
+<rect x="23" y="30" width="1" height="1" fill="#341C27" />
+<rect x="24" y="30" width="1" height="1" fill="#341C27" />
+<rect x="25" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="30" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="30" width="1" height="1" fill="#341C27" />
+<rect x="33" y="30" width="1" height="1" fill="#341C27" />
+<rect x="34" y="30" width="1" height="1" fill="#341C27" />
+<rect x="35" y="30" width="1" height="1" fill="#341C27" />
+<rect x="36" y="30" width="1" height="1" fill="#341C27" />
+<rect x="37" y="30" width="1" height="1" fill="#341C27" />
+<rect x="38" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="30" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="30" width="1" height="1" fill="#341C27" />
+<rect x="43" y="30" width="1" height="1" fill="#341C27" />
+<rect x="44" y="30" width="1" height="1" fill="#341C27" />
+<rect x="4" y="31" width="1" height="1" fill="#341C27" />
+<rect x="5" y="31" width="1" height="1" fill="#341C27" />
+<rect x="6" y="31" width="1" height="1" fill="#341C27" />
+<rect x="7" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="31" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="31" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="31" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="31" width="1" height="1" fill="#341C27" />
+<rect x="20" y="31" width="1" height="1" fill="#341C27" />
+<rect x="21" y="31" width="1" height="1" fill="#341C27" />
+<rect x="22" y="31" width="1" height="1" fill="#341C27" />
+<rect x="23" y="31" width="1" height="1" fill="#341C27" />
+<rect x="24" y="31" width="1" height="1" fill="#341C27" />
+<rect x="25" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="31" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="31" width="1" height="1" fill="#341C27" />
+<rect x="33" y="31" width="1" height="1" fill="#341C27" />
+<rect x="34" y="31" width="1" height="1" fill="#341C27" />
+<rect x="35" y="31" width="1" height="1" fill="#341C27" />
+<rect x="36" y="31" width="1" height="1" fill="#341C27" />
+<rect x="37" y="31" width="1" height="1" fill="#DE9E41" />
+<rect x="38" y="31" width="1" height="1" fill="#DE9E41" />
+<rect x="39" y="31" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="31" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="31" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="31" width="1" height="1" fill="#341C27" />
+<rect x="43" y="31" width="1" height="1" fill="#341C27" />
+<rect x="44" y="31" width="1" height="1" fill="#341C27" />
+<rect x="4" y="32" width="1" height="1" fill="#341C27" />
+<rect x="5" y="32" width="1" height="1" fill="#341C27" />
+<rect x="6" y="32" width="1" height="1" fill="#341C27" />
+<rect x="7" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="32" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="32" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="32" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="32" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="32" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="32" width="1" height="1" fill="#341C27" />
+<rect x="20" y="32" width="1" height="1" fill="#341C27" />
+<rect x="21" y="32" width="1" height="1" fill="#341C27" />
+<rect x="22" y="32" width="1" height="1" fill="#341C27" />
+<rect x="23" y="32" width="1" height="1" fill="#341C27" />
+<rect x="24" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="35" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="38" y="32" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="32" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="32" width="1" height="1" fill="#DE9E41" />
+<rect x="41" y="32" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="32" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="32" width="1" height="1" fill="#341C27" />
+<rect x="44" y="32" width="1" height="1" fill="#341C27" />
+<rect x="45" y="32" width="1" height="1" fill="#341C27" />
+<rect x="4" y="33" width="1" height="1" fill="#341C27" />
+<rect x="5" y="33" width="1" height="1" fill="#341C27" />
+<rect x="6" y="33" width="1" height="1" fill="#341C27" />
+<rect x="7" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="33" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="33" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="33" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="33" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="33" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="33" width="1" height="1" fill="#884B2B" />
+<rect x="15" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="33" width="1" height="1" fill="#341C27" />
+<rect x="21" y="33" width="1" height="1" fill="#341C27" />
+<rect x="22" y="33" width="1" height="1" fill="#341C27" />
+<rect x="23" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="35" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="38" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="40" y="33" width="1" height="1" fill="#BE772B" />
+<rect x="41" y="33" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="33" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="33" width="1" height="1" fill="#341C27" />
+<rect x="44" y="33" width="1" height="1" fill="#341C27" />
+<rect x="45" y="33" width="1" height="1" fill="#341C27" />
+<rect x="4" y="34" width="1" height="1" fill="#341C27" />
+<rect x="5" y="34" width="1" height="1" fill="#341C27" />
+<rect x="6" y="34" width="1" height="1" fill="#341C27" />
+<rect x="7" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="34" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="34" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="34" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="34" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="34" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="35" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="38" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="40" y="34" width="1" height="1" fill="#BE772B" />
+<rect x="41" y="34" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="34" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="34" width="1" height="1" fill="#341C27" />
+<rect x="44" y="34" width="1" height="1" fill="#341C27" />
+<rect x="45" y="34" width="1" height="1" fill="#341C27" />
+<rect x="4" y="35" width="1" height="1" fill="#341C27" />
+<rect x="5" y="35" width="1" height="1" fill="#341C27" />
+<rect x="6" y="35" width="1" height="1" fill="#341C27" />
+<rect x="7" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="8" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="35" width="1" height="1" fill="#884B2B" />
+<rect x="10" y="35" width="1" height="1" fill="#884B2B" />
+<rect x="11" y="35" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="35" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="35" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="35" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="38" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="40" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="41" y="35" width="1" height="1" fill="#BE772B" />
+<rect x="42" y="35" width="1" height="1" fill="#DE9E41" />
+<rect x="43" y="35" width="1" height="1" fill="#341C27" />
+<rect x="44" y="35" width="1" height="1" fill="#341C27" />
+<rect x="45" y="35" width="1" height="1" fill="#341C27" />
+<rect x="4" y="36" width="1" height="1" fill="#341C27" />
+<rect x="5" y="36" width="1" height="1" fill="#341C27" />
+<rect x="6" y="36" width="1" height="1" fill="#341C27" />
+<rect x="7" y="36" width="1" height="1" fill="#341C27" />
+<rect x="8" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="9" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="36" width="1" height="1" fill="#884B2B" />
+<rect x="12" y="36" width="1" height="1" fill="#884B2B" />
+<rect x="13" y="36" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="35" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="38" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="40" y="36" width="1" height="1" fill="#BE772B" />
+<rect x="41" y="36" width="1" height="1" fill="#DE9E41" />
+<rect x="42" y="36" width="1" height="1" fill="#341C27" />
+<rect x="43" y="36" width="1" height="1" fill="#341C27" />
+<rect x="44" y="36" width="1" height="1" fill="#341C27" />
+<rect x="45" y="36" width="1" height="1" fill="#341C27" />
+<rect x="5" y="37" width="1" height="1" fill="#341C27" />
+<rect x="6" y="37" width="1" height="1" fill="#341C27" />
+<rect x="7" y="37" width="1" height="1" fill="#341C27" />
+<rect x="8" y="37" width="1" height="1" fill="#341C27" />
+<rect x="9" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="10" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="11" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="12" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="37" width="1" height="1" fill="#884B2B" />
+<rect x="14" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="15" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="35" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="38" y="37" width="1" height="1" fill="#BE772B" />
+<rect x="39" y="37" width="1" height="1" fill="#DE9E41" />
+<rect x="40" y="37" width="1" height="1" fill="#341C27" />
+<rect x="41" y="37" width="1" height="1" fill="#341C27" />
+<rect x="42" y="37" width="1" height="1" fill="#341C27" />
+<rect x="43" y="37" width="1" height="1" fill="#341C27" />
+<rect x="44" y="37" width="1" height="1" fill="#341C27" />
+<rect x="45" y="37" width="1" height="1" fill="#341C27" />
+<rect x="6" y="38" width="1" height="1" fill="#341C27" />
+<rect x="7" y="38" width="1" height="1" fill="#341C27" />
+<rect x="8" y="38" width="1" height="1" fill="#341C27" />
+<rect x="9" y="38" width="1" height="1" fill="#341C27" />
+<rect x="10" y="38" width="1" height="1" fill="#341C27" />
+<rect x="11" y="38" width="1" height="1" fill="#341C27" />
+<rect x="12" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="13" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="14" y="38" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="16" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="17" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="18" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="34" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="35" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="36" y="38" width="1" height="1" fill="#BE772B" />
+<rect x="37" y="38" width="1" height="1" fill="#341C27" />
+<rect x="38" y="38" width="1" height="1" fill="#341C27" />
+<rect x="39" y="38" width="1" height="1" fill="#341C27" />
+<rect x="40" y="38" width="1" height="1" fill="#341C27" />
+<rect x="41" y="38" width="1" height="1" fill="#341C27" />
+<rect x="42" y="38" width="1" height="1" fill="#341C27" />
+<rect x="43" y="38" width="1" height="1" fill="#341C27" />
+<rect x="7" y="39" width="1" height="1" fill="#341C27" />
+<rect x="8" y="39" width="1" height="1" fill="#341C27" />
+<rect x="9" y="39" width="1" height="1" fill="#341C27" />
+<rect x="10" y="39" width="1" height="1" fill="#341C27" />
+<rect x="11" y="39" width="1" height="1" fill="#341C27" />
+<rect x="12" y="39" width="1" height="1" fill="#341C27" />
+<rect x="13" y="39" width="1" height="1" fill="#341C27" />
+<rect x="14" y="39" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="39" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="39" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="39" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="19" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="20" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="21" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="22" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="23" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="24" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="25" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="26" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="27" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="28" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="29" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="30" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="31" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="32" y="39" width="1" height="1" fill="#BE772B" />
+<rect x="33" y="39" width="1" height="1" fill="#DE9E41" />
+<rect x="34" y="39" width="1" height="1" fill="#341C27" />
+<rect x="35" y="39" width="1" height="1" fill="#341C27" />
+<rect x="36" y="39" width="1" height="1" fill="#341C27" />
+<rect x="37" y="39" width="1" height="1" fill="#341C27" />
+<rect x="38" y="39" width="1" height="1" fill="#341C27" />
+<rect x="39" y="39" width="1" height="1" fill="#341C27" />
+<rect x="40" y="39" width="1" height="1" fill="#341C27" />
+<rect x="41" y="39" width="1" height="1" fill="#341C27" />
+<rect x="42" y="39" width="1" height="1" fill="#341C27" />
+<rect x="9" y="40" width="1" height="1" fill="#341C27" />
+<rect x="10" y="40" width="1" height="1" fill="#341C27" />
+<rect x="11" y="40" width="1" height="1" fill="#341C27" />
+<rect x="12" y="40" width="1" height="1" fill="#341C27" />
+<rect x="13" y="40" width="1" height="1" fill="#341C27" />
+<rect x="14" y="40" width="1" height="1" fill="#341C27" />
+<rect x="15" y="40" width="1" height="1" fill="#341C27" />
+<rect x="16" y="40" width="1" height="1" fill="#341C27" />
+<rect x="17" y="40" width="1" height="1" fill="#341C27" />
+<rect x="18" y="40" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="40" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="40" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="40" width="1" height="1" fill="#DE9E41" />
+<rect x="22" y="40" width="1" height="1" fill="#DE9E41" />
+<rect x="23" y="40" width="1" height="1" fill="#DE9E41" />
+<rect x="24" y="40" width="1" height="1" fill="#DE9E41" />
+<rect x="25" y="40" width="1" height="1" fill="#DE9E41" />
+<rect x="26" y="40" width="1" height="1" fill="#DE9E41" />
+<rect x="27" y="40" width="1" height="1" fill="#DE9E41" />
+<rect x="28" y="40" width="1" height="1" fill="#DE9E41" />
+<rect x="29" y="40" width="1" height="1" fill="#DE9E41" />
+<rect x="30" y="40" width="1" height="1" fill="#341C27" />
+<rect x="31" y="40" width="1" height="1" fill="#341C27" />
+<rect x="32" y="40" width="1" height="1" fill="#341C27" />
+<rect x="33" y="40" width="1" height="1" fill="#341C27" />
+<rect x="34" y="40" width="1" height="1" fill="#341C27" />
+<rect x="35" y="40" width="1" height="1" fill="#341C27" />
+<rect x="36" y="40" width="1" height="1" fill="#341C27" />
+<rect x="37" y="40" width="1" height="1" fill="#341C27" />
+<rect x="38" y="40" width="1" height="1" fill="#341C27" />
+<rect x="39" y="40" width="1" height="1" fill="#341C27" />
+<rect x="11" y="41" width="1" height="1" fill="#341C27" />
+<rect x="12" y="41" width="1" height="1" fill="#341C27" />
+<rect x="13" y="41" width="1" height="1" fill="#341C27" />
+<rect x="14" y="41" width="1" height="1" fill="#341C27" />
+<rect x="15" y="41" width="1" height="1" fill="#341C27" />
+<rect x="16" y="41" width="1" height="1" fill="#341C27" />
+<rect x="17" y="41" width="1" height="1" fill="#341C27" />
+<rect x="18" y="41" width="1" height="1" fill="#341C27" />
+<rect x="19" y="41" width="1" height="1" fill="#341C27" />
+<rect x="20" y="41" width="1" height="1" fill="#341C27" />
+<rect x="21" y="41" width="1" height="1" fill="#341C27" />
+<rect x="22" y="41" width="1" height="1" fill="#341C27" />
+<rect x="23" y="41" width="1" height="1" fill="#341C27" />
+<rect x="24" y="41" width="1" height="1" fill="#341C27" />
+<rect x="25" y="41" width="1" height="1" fill="#341C27" />
+<rect x="26" y="41" width="1" height="1" fill="#341C27" />
+<rect x="27" y="41" width="1" height="1" fill="#341C27" />
+<rect x="28" y="41" width="1" height="1" fill="#341C27" />
+<rect x="29" y="41" width="1" height="1" fill="#341C27" />
+<rect x="30" y="41" width="1" height="1" fill="#341C27" />
+<rect x="31" y="41" width="1" height="1" fill="#341C27" />
+<rect x="32" y="41" width="1" height="1" fill="#341C27" />
+<rect x="33" y="41" width="1" height="1" fill="#341C27" />
+<rect x="34" y="41" width="1" height="1" fill="#341C27" />
+<rect x="35" y="41" width="1" height="1" fill="#341C27" />
+<rect x="36" y="41" width="1" height="1" fill="#341C27" />
+<rect x="37" y="41" width="1" height="1" fill="#341C27" />
+<rect x="14" y="42" width="1" height="1" fill="#341C27" />
+<rect x="15" y="42" width="1" height="1" fill="#341C27" />
+<rect x="16" y="42" width="1" height="1" fill="#341C27" />
+<rect x="17" y="42" width="1" height="1" fill="#341C27" />
+<rect x="18" y="42" width="1" height="1" fill="#341C27" />
+<rect x="19" y="42" width="1" height="1" fill="#341C27" />
+<rect x="20" y="42" width="1" height="1" fill="#341C27" />
+<rect x="21" y="42" width="1" height="1" fill="#341C27" />
+<rect x="22" y="42" width="1" height="1" fill="#341C27" />
+<rect x="23" y="42" width="1" height="1" fill="#341C27" />
+<rect x="24" y="42" width="1" height="1" fill="#341C27" />
+<rect x="25" y="42" width="1" height="1" fill="#341C27" />
+<rect x="26" y="42" width="1" height="1" fill="#341C27" />
+<rect x="27" y="42" width="1" height="1" fill="#341C27" />
+<rect x="28" y="42" width="1" height="1" fill="#341C27" />
+<rect x="29" y="42" width="1" height="1" fill="#341C27" />
+<rect x="30" y="42" width="1" height="1" fill="#341C27" />
+<rect x="31" y="42" width="1" height="1" fill="#341C27" />
+<rect x="32" y="42" width="1" height="1" fill="#341C27" />
+<rect x="33" y="42" width="1" height="1" fill="#341C27" />
+<rect x="34" y="42" width="1" height="1" fill="#341C27" />
+<rect x="18" y="43" width="1" height="1" fill="#341C27" />
+<rect x="19" y="43" width="1" height="1" fill="#341C27" />
+<rect x="20" y="43" width="1" height="1" fill="#341C27" />
+<rect x="21" y="43" width="1" height="1" fill="#341C27" />
+<rect x="22" y="43" width="1" height="1" fill="#341C27" />
+<rect x="23" y="43" width="1" height="1" fill="#341C27" />
+<rect x="24" y="43" width="1" height="1" fill="#341C27" />
+<rect x="25" y="43" width="1" height="1" fill="#341C27" />
+<rect x="26" y="43" width="1" height="1" fill="#341C27" />
+<rect x="27" y="43" width="1" height="1" fill="#341C27" />
+<rect x="28" y="43" width="1" height="1" fill="#341C27" />
+<rect x="29" y="43" width="1" height="1" fill="#341C27" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/slimes/Lagoon1.svg b/Edikoyo/.obsidian/icons/slimes/Lagoon1.svg
new file mode 100644
index 0000000..a5b9328
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/slimes/Lagoon1.svg
@@ -0,0 +1,1525 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="48" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="27" y="1" width="1" height="1" fill="#10141F" />
+<rect x="28" y="1" width="1" height="1" fill="#10141F" />
+<rect x="29" y="1" width="1" height="1" fill="#10141F" />
+<rect x="30" y="1" width="1" height="1" fill="#10141F" />
+<rect x="31" y="1" width="1" height="1" fill="#10141F" />
+<rect x="32" y="1" width="1" height="1" fill="#10141F" />
+<rect x="33" y="1" width="1" height="1" fill="#10141F" />
+<rect x="34" y="1" width="1" height="1" fill="#10141F" />
+<rect x="35" y="1" width="1" height="1" fill="#10141F" />
+<rect x="36" y="1" width="1" height="1" fill="#10141F" />
+<rect x="14" y="2" width="1" height="1" fill="#10141F" />
+<rect x="15" y="2" width="1" height="1" fill="#10141F" />
+<rect x="16" y="2" width="1" height="1" fill="#10141F" />
+<rect x="25" y="2" width="1" height="1" fill="#10141F" />
+<rect x="26" y="2" width="1" height="1" fill="#10141F" />
+<rect x="27" y="2" width="1" height="1" fill="#10141F" />
+<rect x="28" y="2" width="1" height="1" fill="#10141F" />
+<rect x="29" y="2" width="1" height="1" fill="#10141F" />
+<rect x="30" y="2" width="1" height="1" fill="#10141F" />
+<rect x="31" y="2" width="1" height="1" fill="#10141F" />
+<rect x="32" y="2" width="1" height="1" fill="#10141F" />
+<rect x="33" y="2" width="1" height="1" fill="#10141F" />
+<rect x="34" y="2" width="1" height="1" fill="#10141F" />
+<rect x="35" y="2" width="1" height="1" fill="#10141F" />
+<rect x="36" y="2" width="1" height="1" fill="#10141F" />
+<rect x="37" y="2" width="1" height="1" fill="#10141F" />
+<rect x="13" y="3" width="1" height="1" fill="#10141F" />
+<rect x="14" y="3" width="1" height="1" fill="#10141F" />
+<rect x="15" y="3" width="1" height="1" fill="#10141F" />
+<rect x="16" y="3" width="1" height="1" fill="#10141F" />
+<rect x="17" y="3" width="1" height="1" fill="#10141F" />
+<rect x="23" y="3" width="1" height="1" fill="#10141F" />
+<rect x="24" y="3" width="1" height="1" fill="#10141F" />
+<rect x="25" y="3" width="1" height="1" fill="#10141F" />
+<rect x="26" y="3" width="1" height="1" fill="#10141F" />
+<rect x="27" y="3" width="1" height="1" fill="#10141F" />
+<rect x="28" y="3" width="1" height="1" fill="#10141F" />
+<rect x="29" y="3" width="1" height="1" fill="#10141F" />
+<rect x="30" y="3" width="1" height="1" fill="#C65197" />
+<rect x="31" y="3" width="1" height="1" fill="#C65197" />
+<rect x="32" y="3" width="1" height="1" fill="#C65197" />
+<rect x="33" y="3" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="3" width="1" height="1" fill="#10141F" />
+<rect x="35" y="3" width="1" height="1" fill="#10141F" />
+<rect x="36" y="3" width="1" height="1" fill="#10141F" />
+<rect x="37" y="3" width="1" height="1" fill="#10141F" />
+<rect x="13" y="4" width="1" height="1" fill="#10141F" />
+<rect x="14" y="4" width="1" height="1" fill="#10141F" />
+<rect x="15" y="4" width="1" height="1" fill="#10141F" />
+<rect x="16" y="4" width="1" height="1" fill="#10141F" />
+<rect x="17" y="4" width="1" height="1" fill="#10141F" />
+<rect x="18" y="4" width="1" height="1" fill="#10141F" />
+<rect x="21" y="4" width="1" height="1" fill="#10141F" />
+<rect x="22" y="4" width="1" height="1" fill="#10141F" />
+<rect x="23" y="4" width="1" height="1" fill="#10141F" />
+<rect x="24" y="4" width="1" height="1" fill="#10141F" />
+<rect x="25" y="4" width="1" height="1" fill="#10141F" />
+<rect x="26" y="4" width="1" height="1" fill="#10141F" />
+<rect x="27" y="4" width="1" height="1" fill="#C65197" />
+<rect x="28" y="4" width="1" height="1" fill="#C65197" />
+<rect x="29" y="4" width="1" height="1" fill="#C65197" />
+<rect x="30" y="4" width="1" height="1" fill="#C65197" />
+<rect x="31" y="4" width="1" height="1" fill="#C65197" />
+<rect x="32" y="4" width="1" height="1" fill="#C65197" />
+<rect x="33" y="4" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="4" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="4" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="4" width="1" height="1" fill="#10141F" />
+<rect x="37" y="4" width="1" height="1" fill="#10141F" />
+<rect x="38" y="4" width="1" height="1" fill="#10141F" />
+<rect x="13" y="5" width="1" height="1" fill="#10141F" />
+<rect x="14" y="5" width="1" height="1" fill="#10141F" />
+<rect x="15" y="5" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="5" width="1" height="1" fill="#10141F" />
+<rect x="17" y="5" width="1" height="1" fill="#10141F" />
+<rect x="18" y="5" width="1" height="1" fill="#10141F" />
+<rect x="20" y="5" width="1" height="1" fill="#10141F" />
+<rect x="21" y="5" width="1" height="1" fill="#10141F" />
+<rect x="22" y="5" width="1" height="1" fill="#10141F" />
+<rect x="23" y="5" width="1" height="1" fill="#10141F" />
+<rect x="24" y="5" width="1" height="1" fill="#10141F" />
+<rect x="25" y="5" width="1" height="1" fill="#C65197" />
+<rect x="26" y="5" width="1" height="1" fill="#C65197" />
+<rect x="27" y="5" width="1" height="1" fill="#C65197" />
+<rect x="28" y="5" width="1" height="1" fill="#C65197" />
+<rect x="29" y="5" width="1" height="1" fill="#C65197" />
+<rect x="30" y="5" width="1" height="1" fill="#C65197" />
+<rect x="31" y="5" width="1" height="1" fill="#C65197" />
+<rect x="32" y="5" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="5" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="5" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="5" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="5" width="1" height="1" fill="#10141F" />
+<rect x="37" y="5" width="1" height="1" fill="#10141F" />
+<rect x="38" y="5" width="1" height="1" fill="#10141F" />
+<rect x="10" y="6" width="1" height="1" fill="#10141F" />
+<rect x="11" y="6" width="1" height="1" fill="#10141F" />
+<rect x="12" y="6" width="1" height="1" fill="#10141F" />
+<rect x="13" y="6" width="1" height="1" fill="#10141F" />
+<rect x="14" y="6" width="1" height="1" fill="#10141F" />
+<rect x="15" y="6" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="6" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="6" width="1" height="1" fill="#10141F" />
+<rect x="18" y="6" width="1" height="1" fill="#10141F" />
+<rect x="19" y="6" width="1" height="1" fill="#10141F" />
+<rect x="20" y="6" width="1" height="1" fill="#10141F" />
+<rect x="21" y="6" width="1" height="1" fill="#10141F" />
+<rect x="22" y="6" width="1" height="1" fill="#10141F" />
+<rect x="23" y="6" width="1" height="1" fill="#C65197" />
+<rect x="24" y="6" width="1" height="1" fill="#C65197" />
+<rect x="25" y="6" width="1" height="1" fill="#C65197" />
+<rect x="26" y="6" width="1" height="1" fill="#C65197" />
+<rect x="27" y="6" width="1" height="1" fill="#C65197" />
+<rect x="28" y="6" width="1" height="1" fill="#C65197" />
+<rect x="29" y="6" width="1" height="1" fill="#C65197" />
+<rect x="30" y="6" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="6" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="6" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="6" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="6" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="6" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="6" width="1" height="1" fill="#10141F" />
+<rect x="37" y="6" width="1" height="1" fill="#10141F" />
+<rect x="38" y="6" width="1" height="1" fill="#10141F" />
+<rect x="9" y="7" width="1" height="1" fill="#10141F" />
+<rect x="10" y="7" width="1" height="1" fill="#10141F" />
+<rect x="11" y="7" width="1" height="1" fill="#10141F" />
+<rect x="12" y="7" width="1" height="1" fill="#10141F" />
+<rect x="13" y="7" width="1" height="1" fill="#10141F" />
+<rect x="14" y="7" width="1" height="1" fill="#10141F" />
+<rect x="15" y="7" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="7" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="7" width="1" height="1" fill="#10141F" />
+<rect x="18" y="7" width="1" height="1" fill="#10141F" />
+<rect x="19" y="7" width="1" height="1" fill="#10141F" />
+<rect x="20" y="7" width="1" height="1" fill="#10141F" />
+<rect x="21" y="7" width="1" height="1" fill="#10141F" />
+<rect x="22" y="7" width="1" height="1" fill="#C65197" />
+<rect x="23" y="7" width="1" height="1" fill="#C65197" />
+<rect x="24" y="7" width="1" height="1" fill="#C65197" />
+<rect x="25" y="7" width="1" height="1" fill="#C65197" />
+<rect x="26" y="7" width="1" height="1" fill="#C65197" />
+<rect x="27" y="7" width="1" height="1" fill="#C65197" />
+<rect x="28" y="7" width="1" height="1" fill="#C65197" />
+<rect x="29" y="7" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="7" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="7" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="7" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="7" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="7" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="7" width="1" height="1" fill="#10141F" />
+<rect x="36" y="7" width="1" height="1" fill="#10141F" />
+<rect x="37" y="7" width="1" height="1" fill="#10141F" />
+<rect x="8" y="8" width="1" height="1" fill="#10141F" />
+<rect x="9" y="8" width="1" height="1" fill="#10141F" />
+<rect x="10" y="8" width="1" height="1" fill="#10141F" />
+<rect x="11" y="8" width="1" height="1" fill="#10141F" />
+<rect x="12" y="8" width="1" height="1" fill="#10141F" />
+<rect x="13" y="8" width="1" height="1" fill="#10141F" />
+<rect x="14" y="8" width="1" height="1" fill="#10141F" />
+<rect x="15" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="8" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="8" width="1" height="1" fill="#10141F" />
+<rect x="18" y="8" width="1" height="1" fill="#10141F" />
+<rect x="19" y="8" width="1" height="1" fill="#10141F" />
+<rect x="20" y="8" width="1" height="1" fill="#C65197" />
+<rect x="21" y="8" width="1" height="1" fill="#C65197" />
+<rect x="22" y="8" width="1" height="1" fill="#C65197" />
+<rect x="23" y="8" width="1" height="1" fill="#C65197" />
+<rect x="24" y="8" width="1" height="1" fill="#C65197" />
+<rect x="25" y="8" width="1" height="1" fill="#C65197" />
+<rect x="26" y="8" width="1" height="1" fill="#C65197" />
+<rect x="27" y="8" width="1" height="1" fill="#C65197" />
+<rect x="28" y="8" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="8" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="8" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="8" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="8" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="8" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="8" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="8" width="1" height="1" fill="#10141F" />
+<rect x="36" y="8" width="1" height="1" fill="#10141F" />
+<rect x="37" y="8" width="1" height="1" fill="#10141F" />
+<rect x="38" y="8" width="1" height="1" fill="#10141F" />
+<rect x="39" y="8" width="1" height="1" fill="#10141F" />
+<rect x="8" y="9" width="1" height="1" fill="#10141F" />
+<rect x="9" y="9" width="1" height="1" fill="#10141F" />
+<rect x="10" y="9" width="1" height="1" fill="#10141F" />
+<rect x="11" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="12" y="9" width="1" height="1" fill="#7A367B" />
+<rect x="13" y="9" width="1" height="1" fill="#10141F" />
+<rect x="14" y="9" width="1" height="1" fill="#10141F" />
+<rect x="15" y="9" width="1" height="1" fill="#10141F" />
+<rect x="16" y="9" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="9" width="1" height="1" fill="#E8C170" />
+<rect x="18" y="9" width="1" height="1" fill="#10141F" />
+<rect x="19" y="9" width="1" height="1" fill="#10141F" />
+<rect x="20" y="9" width="1" height="1" fill="#10141F" />
+<rect x="21" y="9" width="1" height="1" fill="#C65197" />
+<rect x="22" y="9" width="1" height="1" fill="#C65197" />
+<rect x="23" y="9" width="1" height="1" fill="#C65197" />
+<rect x="24" y="9" width="1" height="1" fill="#C65197" />
+<rect x="25" y="9" width="1" height="1" fill="#C65197" />
+<rect x="26" y="9" width="1" height="1" fill="#C65197" />
+<rect x="27" y="9" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="9" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="9" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="9" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="9" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="9" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="9" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="9" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="9" width="1" height="1" fill="#10141F" />
+<rect x="36" y="9" width="1" height="1" fill="#10141F" />
+<rect x="37" y="9" width="1" height="1" fill="#10141F" />
+<rect x="38" y="9" width="1" height="1" fill="#10141F" />
+<rect x="39" y="9" width="1" height="1" fill="#10141F" />
+<rect x="40" y="9" width="1" height="1" fill="#10141F" />
+<rect x="41" y="9" width="1" height="1" fill="#10141F" />
+<rect x="7" y="10" width="1" height="1" fill="#10141F" />
+<rect x="8" y="10" width="1" height="1" fill="#10141F" />
+<rect x="9" y="10" width="1" height="1" fill="#10141F" />
+<rect x="10" y="10" width="1" height="1" fill="#10141F" />
+<rect x="11" y="10" width="1" height="1" fill="#10141F" />
+<rect x="12" y="10" width="1" height="1" fill="#10141F" />
+<rect x="13" y="10" width="1" height="1" fill="#10141F" />
+<rect x="14" y="10" width="1" height="1" fill="#10141F" />
+<rect x="15" y="10" width="1" height="1" fill="#10141F" />
+<rect x="16" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="17" y="10" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="10" width="1" height="1" fill="#10141F" />
+<rect x="19" y="10" width="1" height="1" fill="#10141F" />
+<rect x="20" y="10" width="1" height="1" fill="#10141F" />
+<rect x="21" y="10" width="1" height="1" fill="#C65197" />
+<rect x="22" y="10" width="1" height="1" fill="#C65197" />
+<rect x="23" y="10" width="1" height="1" fill="#C65197" />
+<rect x="24" y="10" width="1" height="1" fill="#C65197" />
+<rect x="25" y="10" width="1" height="1" fill="#C65197" />
+<rect x="26" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="10" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="10" width="1" height="1" fill="#C65197" />
+<rect x="36" y="10" width="1" height="1" fill="#C65197" />
+<rect x="37" y="10" width="1" height="1" fill="#10141F" />
+<rect x="38" y="10" width="1" height="1" fill="#10141F" />
+<rect x="39" y="10" width="1" height="1" fill="#10141F" />
+<rect x="40" y="10" width="1" height="1" fill="#10141F" />
+<rect x="41" y="10" width="1" height="1" fill="#10141F" />
+<rect x="42" y="10" width="1" height="1" fill="#10141F" />
+<rect x="7" y="11" width="1" height="1" fill="#10141F" />
+<rect x="8" y="11" width="1" height="1" fill="#10141F" />
+<rect x="9" y="11" width="1" height="1" fill="#10141F" />
+<rect x="10" y="11" width="1" height="1" fill="#10141F" />
+<rect x="11" y="11" width="1" height="1" fill="#10141F" />
+<rect x="12" y="11" width="1" height="1" fill="#10141F" />
+<rect x="13" y="11" width="1" height="1" fill="#10141F" />
+<rect x="14" y="11" width="1" height="1" fill="#10141F" />
+<rect x="15" y="11" width="1" height="1" fill="#10141F" />
+<rect x="16" y="11" width="1" height="1" fill="#10141F" />
+<rect x="17" y="11" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="11" width="1" height="1" fill="#E8C170" />
+<rect x="19" y="11" width="1" height="1" fill="#10141F" />
+<rect x="20" y="11" width="1" height="1" fill="#10141F" />
+<rect x="21" y="11" width="1" height="1" fill="#10141F" />
+<rect x="22" y="11" width="1" height="1" fill="#C65197" />
+<rect x="23" y="11" width="1" height="1" fill="#C65197" />
+<rect x="24" y="11" width="1" height="1" fill="#C65197" />
+<rect x="25" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="11" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="11" width="1" height="1" fill="#C65197" />
+<rect x="35" y="11" width="1" height="1" fill="#C65197" />
+<rect x="36" y="11" width="1" height="1" fill="#C65197" />
+<rect x="37" y="11" width="1" height="1" fill="#C65197" />
+<rect x="38" y="11" width="1" height="1" fill="#C65197" />
+<rect x="39" y="11" width="1" height="1" fill="#C65197" />
+<rect x="40" y="11" width="1" height="1" fill="#10141F" />
+<rect x="41" y="11" width="1" height="1" fill="#10141F" />
+<rect x="42" y="11" width="1" height="1" fill="#10141F" />
+<rect x="43" y="11" width="1" height="1" fill="#10141F" />
+<rect x="7" y="12" width="1" height="1" fill="#10141F" />
+<rect x="8" y="12" width="1" height="1" fill="#10141F" />
+<rect x="9" y="12" width="1" height="1" fill="#10141F" />
+<rect x="10" y="12" width="1" height="1" fill="#10141F" />
+<rect x="11" y="12" width="1" height="1" fill="#10141F" />
+<rect x="12" y="12" width="1" height="1" fill="#10141F" />
+<rect x="13" y="12" width="1" height="1" fill="#10141F" />
+<rect x="14" y="12" width="1" height="1" fill="#10141F" />
+<rect x="15" y="12" width="1" height="1" fill="#10141F" />
+<rect x="16" y="12" width="1" height="1" fill="#10141F" />
+<rect x="17" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="18" y="12" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="12" width="1" height="1" fill="#10141F" />
+<rect x="20" y="12" width="1" height="1" fill="#10141F" />
+<rect x="21" y="12" width="1" height="1" fill="#10141F" />
+<rect x="22" y="12" width="1" height="1" fill="#10141F" />
+<rect x="23" y="12" width="1" height="1" fill="#C65197" />
+<rect x="24" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="12" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="12" width="1" height="1" fill="#C65197" />
+<rect x="34" y="12" width="1" height="1" fill="#C65197" />
+<rect x="35" y="12" width="1" height="1" fill="#C65197" />
+<rect x="36" y="12" width="1" height="1" fill="#C65197" />
+<rect x="37" y="12" width="1" height="1" fill="#C65197" />
+<rect x="38" y="12" width="1" height="1" fill="#C65197" />
+<rect x="39" y="12" width="1" height="1" fill="#C65197" />
+<rect x="40" y="12" width="1" height="1" fill="#C65197" />
+<rect x="41" y="12" width="1" height="1" fill="#10141F" />
+<rect x="42" y="12" width="1" height="1" fill="#10141F" />
+<rect x="43" y="12" width="1" height="1" fill="#10141F" />
+<rect x="7" y="13" width="1" height="1" fill="#10141F" />
+<rect x="8" y="13" width="1" height="1" fill="#10141F" />
+<rect x="9" y="13" width="1" height="1" fill="#10141F" />
+<rect x="10" y="13" width="1" height="1" fill="#10141F" />
+<rect x="11" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="12" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="13" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="14" y="13" width="1" height="1" fill="#10141F" />
+<rect x="15" y="13" width="1" height="1" fill="#10141F" />
+<rect x="16" y="13" width="1" height="1" fill="#10141F" />
+<rect x="17" y="13" width="1" height="1" fill="#10141F" />
+<rect x="18" y="13" width="1" height="1" fill="#DE9E41" />
+<rect x="19" y="13" width="1" height="1" fill="#E8C170" />
+<rect x="20" y="13" width="1" height="1" fill="#10141F" />
+<rect x="21" y="13" width="1" height="1" fill="#10141F" />
+<rect x="22" y="13" width="1" height="1" fill="#10141F" />
+<rect x="23" y="13" width="1" height="1" fill="#10141F" />
+<rect x="24" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="13" width="1" height="1" fill="#C65197" />
+<rect x="34" y="13" width="1" height="1" fill="#C65197" />
+<rect x="35" y="13" width="1" height="1" fill="#C65197" />
+<rect x="36" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="13" width="1" height="1" fill="#A23E8C" />
+<rect x="42" y="13" width="1" height="1" fill="#10141F" />
+<rect x="43" y="13" width="1" height="1" fill="#10141F" />
+<rect x="7" y="14" width="1" height="1" fill="#10141F" />
+<rect x="8" y="14" width="1" height="1" fill="#10141F" />
+<rect x="9" y="14" width="1" height="1" fill="#10141F" />
+<rect x="10" y="14" width="1" height="1" fill="#10141F" />
+<rect x="11" y="14" width="1" height="1" fill="#10141F" />
+<rect x="12" y="14" width="1" height="1" fill="#10141F" />
+<rect x="13" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="14" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="15" y="14" width="1" height="1" fill="#10141F" />
+<rect x="16" y="14" width="1" height="1" fill="#10141F" />
+<rect x="17" y="14" width="1" height="1" fill="#10141F" />
+<rect x="18" y="14" width="1" height="1" fill="#10141F" />
+<rect x="19" y="14" width="1" height="1" fill="#DE9E41" />
+<rect x="20" y="14" width="1" height="1" fill="#E8C170" />
+<rect x="21" y="14" width="1" height="1" fill="#10141F" />
+<rect x="22" y="14" width="1" height="1" fill="#10141F" />
+<rect x="23" y="14" width="1" height="1" fill="#10141F" />
+<rect x="24" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="14" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="14" width="1" height="1" fill="#10141F" />
+<rect x="42" y="14" width="1" height="1" fill="#10141F" />
+<rect x="43" y="14" width="1" height="1" fill="#10141F" />
+<rect x="7" y="15" width="1" height="1" fill="#10141F" />
+<rect x="8" y="15" width="1" height="1" fill="#10141F" />
+<rect x="9" y="15" width="1" height="1" fill="#10141F" />
+<rect x="10" y="15" width="1" height="1" fill="#10141F" />
+<rect x="11" y="15" width="1" height="1" fill="#10141F" />
+<rect x="12" y="15" width="1" height="1" fill="#10141F" />
+<rect x="13" y="15" width="1" height="1" fill="#10141F" />
+<rect x="14" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="15" y="15" width="1" height="1" fill="#E8C170" />
+<rect x="16" y="15" width="1" height="1" fill="#10141F" />
+<rect x="17" y="15" width="1" height="1" fill="#10141F" />
+<rect x="18" y="15" width="1" height="1" fill="#10141F" />
+<rect x="19" y="15" width="1" height="1" fill="#10141F" />
+<rect x="20" y="15" width="1" height="1" fill="#DE9E41" />
+<rect x="21" y="15" width="1" height="1" fill="#10141F" />
+<rect x="22" y="15" width="1" height="1" fill="#10141F" />
+<rect x="23" y="15" width="1" height="1" fill="#10141F" />
+<rect x="24" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="15" width="1" height="1" fill="#A23E8C" />
+<rect x="41" y="15" width="1" height="1" fill="#10141F" />
+<rect x="42" y="15" width="1" height="1" fill="#10141F" />
+<rect x="43" y="15" width="1" height="1" fill="#10141F" />
+<rect x="7" y="16" width="1" height="1" fill="#10141F" />
+<rect x="8" y="16" width="1" height="1" fill="#10141F" />
+<rect x="9" y="16" width="1" height="1" fill="#10141F" />
+<rect x="10" y="16" width="1" height="1" fill="#7A367B" />
+<rect x="11" y="16" width="1" height="1" fill="#10141F" />
+<rect x="12" y="16" width="1" height="1" fill="#10141F" />
+<rect x="13" y="16" width="1" height="1" fill="#10141F" />
+<rect x="14" y="16" width="1" height="1" fill="#10141F" />
+<rect x="15" y="16" width="1" height="1" fill="#DE9E41" />
+<rect x="16" y="16" width="1" height="1" fill="#E8C170" />
+<rect x="17" y="16" width="1" height="1" fill="#10141F" />
+<rect x="18" y="16" width="1" height="1" fill="#10141F" />
+<rect x="19" y="16" width="1" height="1" fill="#10141F" />
+<rect x="20" y="16" width="1" height="1" fill="#10141F" />
+<rect x="21" y="16" width="1" height="1" fill="#10141F" />
+<rect x="22" y="16" width="1" height="1" fill="#10141F" />
+<rect x="23" y="16" width="1" height="1" fill="#C65197" />
+<rect x="24" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="39" y="16" width="1" height="1" fill="#A23E8C" />
+<rect x="40" y="16" width="1" height="1" fill="#10141F" />
+<rect x="41" y="16" width="1" height="1" fill="#10141F" />
+<rect x="42" y="16" width="1" height="1" fill="#10141F" />
+<rect x="5" y="17" width="1" height="1" fill="#10141F" />
+<rect x="6" y="17" width="1" height="1" fill="#10141F" />
+<rect x="7" y="17" width="1" height="1" fill="#10141F" />
+<rect x="8" y="17" width="1" height="1" fill="#10141F" />
+<rect x="9" y="17" width="1" height="1" fill="#10141F" />
+<rect x="10" y="17" width="1" height="1" fill="#7A367B" />
+<rect x="11" y="17" width="1" height="1" fill="#7A367B" />
+<rect x="12" y="17" width="1" height="1" fill="#10141F" />
+<rect x="13" y="17" width="1" height="1" fill="#10141F" />
+<rect x="14" y="17" width="1" height="1" fill="#10141F" />
+<rect x="15" y="17" width="1" height="1" fill="#10141F" />
+<rect x="16" y="17" width="1" height="1" fill="#10141F" />
+<rect x="17" y="17" width="1" height="1" fill="#10141F" />
+<rect x="18" y="17" width="1" height="1" fill="#10141F" />
+<rect x="19" y="17" width="1" height="1" fill="#10141F" />
+<rect x="20" y="17" width="1" height="1" fill="#10141F" />
+<rect x="21" y="17" width="1" height="1" fill="#10141F" />
+<rect x="22" y="17" width="1" height="1" fill="#C65197" />
+<rect x="23" y="17" width="1" height="1" fill="#C65197" />
+<rect x="24" y="17" width="1" height="1" fill="#C65197" />
+<rect x="25" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="29" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="30" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="31" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="32" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="33" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="34" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="35" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="36" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="37" y="17" width="1" height="1" fill="#A23E8C" />
+<rect x="38" y="17" width="1" height="1" fill="#10141F" />
+<rect x="39" y="17" width="1" height="1" fill="#10141F" />
+<rect x="40" y="17" width="1" height="1" fill="#10141F" />
+<rect x="41" y="17" width="1" height="1" fill="#10141F" />
+<rect x="4" y="18" width="1" height="1" fill="#10141F" />
+<rect x="5" y="18" width="1" height="1" fill="#10141F" />
+<rect x="6" y="18" width="1" height="1" fill="#10141F" />
+<rect x="7" y="18" width="1" height="1" fill="#10141F" />
+<rect x="8" y="18" width="1" height="1" fill="#10141F" />
+<rect x="9" y="18" width="1" height="1" fill="#10141F" />
+<rect x="10" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="11" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="12" y="18" width="1" height="1" fill="#7A367B" />
+<rect x="13" y="18" width="1" height="1" fill="#10141F" />
+<rect x="14" y="18" width="1" height="1" fill="#10141F" />
+<rect x="15" y="18" width="1" height="1" fill="#10141F" />
+<rect x="16" y="18" width="1" height="1" fill="#10141F" />
+<rect x="17" y="18" width="1" height="1" fill="#10141F" />
+<rect x="18" y="18" width="1" height="1" fill="#10141F" />
+<rect x="19" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="18" width="1" height="1" fill="#10141F" />
+<rect x="21" y="18" width="1" height="1" fill="#C65197" />
+<rect x="22" y="18" width="1" height="1" fill="#C65197" />
+<rect x="23" y="18" width="1" height="1" fill="#C65197" />
+<rect x="24" y="18" width="1" height="1" fill="#C65197" />
+<rect x="25" y="18" width="1" height="1" fill="#C65197" />
+<rect x="26" y="18" width="1" height="1" fill="#C65197" />
+<rect x="27" y="18" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="18" width="1" height="1" fill="#10141F" />
+<rect x="29" y="18" width="1" height="1" fill="#10141F" />
+<rect x="30" y="18" width="1" height="1" fill="#10141F" />
+<rect x="31" y="18" width="1" height="1" fill="#10141F" />
+<rect x="32" y="18" width="1" height="1" fill="#10141F" />
+<rect x="33" y="18" width="1" height="1" fill="#10141F" />
+<rect x="34" y="18" width="1" height="1" fill="#10141F" />
+<rect x="35" y="18" width="1" height="1" fill="#10141F" />
+<rect x="36" y="18" width="1" height="1" fill="#10141F" />
+<rect x="37" y="18" width="1" height="1" fill="#10141F" />
+<rect x="38" y="18" width="1" height="1" fill="#10141F" />
+<rect x="39" y="18" width="1" height="1" fill="#10141F" />
+<rect x="40" y="18" width="1" height="1" fill="#10141F" />
+<rect x="3" y="19" width="1" height="1" fill="#10141F" />
+<rect x="4" y="19" width="1" height="1" fill="#10141F" />
+<rect x="5" y="19" width="1" height="1" fill="#10141F" />
+<rect x="6" y="19" width="1" height="1" fill="#10141F" />
+<rect x="7" y="19" width="1" height="1" fill="#10141F" />
+<rect x="8" y="19" width="1" height="1" fill="#10141F" />
+<rect x="9" y="19" width="1" height="1" fill="#7A367B" />
+<rect x="10" y="19" width="1" height="1" fill="#7A367B" />
+<rect x="11" y="19" width="1" height="1" fill="#7A367B" />
+<rect x="12" y="19" width="1" height="1" fill="#7A367B" />
+<rect x="13" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="14" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="15" y="19" width="1" height="1" fill="#10141F" />
+<rect x="16" y="19" width="1" height="1" fill="#10141F" />
+<rect x="17" y="19" width="1" height="1" fill="#10141F" />
+<rect x="18" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="19" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="19" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="19" width="1" height="1" fill="#C65197" />
+<rect x="22" y="19" width="1" height="1" fill="#C65197" />
+<rect x="23" y="19" width="1" height="1" fill="#C65197" />
+<rect x="24" y="19" width="1" height="1" fill="#C65197" />
+<rect x="25" y="19" width="1" height="1" fill="#C65197" />
+<rect x="26" y="19" width="1" height="1" fill="#C65197" />
+<rect x="27" y="19" width="1" height="1" fill="#C65197" />
+<rect x="28" y="19" width="1" height="1" fill="#10141F" />
+<rect x="29" y="19" width="1" height="1" fill="#10141F" />
+<rect x="30" y="19" width="1" height="1" fill="#10141F" />
+<rect x="31" y="19" width="1" height="1" fill="#10141F" />
+<rect x="32" y="19" width="1" height="1" fill="#10141F" />
+<rect x="33" y="19" width="1" height="1" fill="#10141F" />
+<rect x="34" y="19" width="1" height="1" fill="#10141F" />
+<rect x="35" y="19" width="1" height="1" fill="#10141F" />
+<rect x="36" y="19" width="1" height="1" fill="#10141F" />
+<rect x="37" y="19" width="1" height="1" fill="#10141F" />
+<rect x="38" y="19" width="1" height="1" fill="#10141F" />
+<rect x="39" y="19" width="1" height="1" fill="#10141F" />
+<rect x="40" y="19" width="1" height="1" fill="#10141F" />
+<rect x="41" y="19" width="1" height="1" fill="#10141F" />
+<rect x="2" y="20" width="1" height="1" fill="#10141F" />
+<rect x="3" y="20" width="1" height="1" fill="#10141F" />
+<rect x="4" y="20" width="1" height="1" fill="#10141F" />
+<rect x="5" y="20" width="1" height="1" fill="#10141F" />
+<rect x="6" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="8" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="10" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="11" y="20" width="1" height="1" fill="#7A367B" />
+<rect x="12" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="13" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="14" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="15" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="16" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="17" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="18" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="19" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="20" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="20" width="1" height="1" fill="#C65197" />
+<rect x="23" y="20" width="1" height="1" fill="#C65197" />
+<rect x="24" y="20" width="1" height="1" fill="#C65197" />
+<rect x="25" y="20" width="1" height="1" fill="#C65197" />
+<rect x="26" y="20" width="1" height="1" fill="#C65197" />
+<rect x="27" y="20" width="1" height="1" fill="#C65197" />
+<rect x="28" y="20" width="1" height="1" fill="#10141F" />
+<rect x="29" y="20" width="1" height="1" fill="#10141F" />
+<rect x="30" y="20" width="1" height="1" fill="#10141F" />
+<rect x="31" y="20" width="1" height="1" fill="#10141F" />
+<rect x="32" y="20" width="1" height="1" fill="#10141F" />
+<rect x="33" y="20" width="1" height="1" fill="#10141F" />
+<rect x="34" y="20" width="1" height="1" fill="#10141F" />
+<rect x="35" y="20" width="1" height="1" fill="#10141F" />
+<rect x="36" y="20" width="1" height="1" fill="#10141F" />
+<rect x="37" y="20" width="1" height="1" fill="#3C8248" />
+<rect x="38" y="20" width="1" height="1" fill="#3C8248" />
+<rect x="39" y="20" width="1" height="1" fill="#10141F" />
+<rect x="40" y="20" width="1" height="1" fill="#10141F" />
+<rect x="41" y="20" width="1" height="1" fill="#10141F" />
+<rect x="42" y="20" width="1" height="1" fill="#10141F" />
+<rect x="1" y="21" width="1" height="1" fill="#10141F" />
+<rect x="2" y="21" width="1" height="1" fill="#10141F" />
+<rect x="3" y="21" width="1" height="1" fill="#10141F" />
+<rect x="4" y="21" width="1" height="1" fill="#10141F" />
+<rect x="5" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="8" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="10" y="21" width="1" height="1" fill="#7A367B" />
+<rect x="11" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="12" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="13" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="14" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="15" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="16" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="17" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="18" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="19" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="21" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="21" width="1" height="1" fill="#C65197" />
+<rect x="24" y="21" width="1" height="1" fill="#C65197" />
+<rect x="25" y="21" width="1" height="1" fill="#C65197" />
+<rect x="26" y="21" width="1" height="1" fill="#C65197" />
+<rect x="27" y="21" width="1" height="1" fill="#C65197" />
+<rect x="28" y="21" width="1" height="1" fill="#C65197" />
+<rect x="29" y="21" width="1" height="1" fill="#10141F" />
+<rect x="30" y="21" width="1" height="1" fill="#10141F" />
+<rect x="31" y="21" width="1" height="1" fill="#3C8248" />
+<rect x="32" y="21" width="1" height="1" fill="#3C8248" />
+<rect x="33" y="21" width="1" height="1" fill="#3C8248" />
+<rect x="34" y="21" width="1" height="1" fill="#3C8248" />
+<rect x="35" y="21" width="1" height="1" fill="#3C8248" />
+<rect x="36" y="21" width="1" height="1" fill="#3C8248" />
+<rect x="37" y="21" width="1" height="1" fill="#3C8248" />
+<rect x="38" y="21" width="1" height="1" fill="#3C8248" />
+<rect x="39" y="21" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="21" width="1" height="1" fill="#10141F" />
+<rect x="41" y="21" width="1" height="1" fill="#10141F" />
+<rect x="42" y="21" width="1" height="1" fill="#10141F" />
+<rect x="1" y="22" width="1" height="1" fill="#10141F" />
+<rect x="2" y="22" width="1" height="1" fill="#10141F" />
+<rect x="3" y="22" width="1" height="1" fill="#10141F" />
+<rect x="4" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="8" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="10" y="22" width="1" height="1" fill="#7A367B" />
+<rect x="11" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="12" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="13" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="14" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="15" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="16" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="17" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="18" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="19" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="22" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="22" width="1" height="1" fill="#C65197" />
+<rect x="25" y="22" width="1" height="1" fill="#C65197" />
+<rect x="26" y="22" width="1" height="1" fill="#C65197" />
+<rect x="27" y="22" width="1" height="1" fill="#C65197" />
+<rect x="28" y="22" width="1" height="1" fill="#C65197" />
+<rect x="29" y="22" width="1" height="1" fill="#10141F" />
+<rect x="30" y="22" width="1" height="1" fill="#10141F" />
+<rect x="31" y="22" width="1" height="1" fill="#3C8248" />
+<rect x="32" y="22" width="1" height="1" fill="#3C8248" />
+<rect x="33" y="22" width="1" height="1" fill="#3C8248" />
+<rect x="34" y="22" width="1" height="1" fill="#3C8248" />
+<rect x="35" y="22" width="1" height="1" fill="#3C8248" />
+<rect x="36" y="22" width="1" height="1" fill="#3C8248" />
+<rect x="37" y="22" width="1" height="1" fill="#3C8248" />
+<rect x="38" y="22" width="1" height="1" fill="#3C8248" />
+<rect x="39" y="22" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="22" width="1" height="1" fill="#10141F" />
+<rect x="41" y="22" width="1" height="1" fill="#10141F" />
+<rect x="42" y="22" width="1" height="1" fill="#10141F" />
+<rect x="43" y="22" width="1" height="1" fill="#10141F" />
+<rect x="1" y="23" width="1" height="1" fill="#10141F" />
+<rect x="2" y="23" width="1" height="1" fill="#10141F" />
+<rect x="3" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="8" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="23" width="1" height="1" fill="#7A367B" />
+<rect x="10" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="11" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="12" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="13" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="14" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="15" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="16" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="17" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="18" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="19" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="23" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="23" width="1" height="1" fill="#C65197" />
+<rect x="26" y="23" width="1" height="1" fill="#C65197" />
+<rect x="27" y="23" width="1" height="1" fill="#C65197" />
+<rect x="28" y="23" width="1" height="1" fill="#C65197" />
+<rect x="29" y="23" width="1" height="1" fill="#10141F" />
+<rect x="30" y="23" width="1" height="1" fill="#10141F" />
+<rect x="31" y="23" width="1" height="1" fill="#3C8248" />
+<rect x="32" y="23" width="1" height="1" fill="#3C8248" />
+<rect x="33" y="23" width="1" height="1" fill="#3C8248" />
+<rect x="34" y="23" width="1" height="1" fill="#3C8248" />
+<rect x="35" y="23" width="1" height="1" fill="#3C8248" />
+<rect x="36" y="23" width="1" height="1" fill="#3C8248" />
+<rect x="37" y="23" width="1" height="1" fill="#3C8248" />
+<rect x="38" y="23" width="1" height="1" fill="#3C8248" />
+<rect x="39" y="23" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="23" width="1" height="1" fill="#3C8248" />
+<rect x="41" y="23" width="1" height="1" fill="#10141F" />
+<rect x="42" y="23" width="1" height="1" fill="#10141F" />
+<rect x="43" y="23" width="1" height="1" fill="#10141F" />
+<rect x="0" y="24" width="1" height="1" fill="#10141F" />
+<rect x="1" y="24" width="1" height="1" fill="#10141F" />
+<rect x="2" y="24" width="1" height="1" fill="#10141F" />
+<rect x="3" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="8" y="24" width="1" height="1" fill="#7A367B" />
+<rect x="9" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="10" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="11" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="12" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="13" y="24" width="1" height="1" fill="#10141F" />
+<rect x="14" y="24" width="1" height="1" fill="#10141F" />
+<rect x="15" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="16" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="17" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="18" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="19" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="24" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="24" width="1" height="1" fill="#C65197" />
+<rect x="27" y="24" width="1" height="1" fill="#C65197" />
+<rect x="28" y="24" width="1" height="1" fill="#10141F" />
+<rect x="29" y="24" width="1" height="1" fill="#10141F" />
+<rect x="30" y="24" width="1" height="1" fill="#10141F" />
+<rect x="31" y="24" width="1" height="1" fill="#3C8248" />
+<rect x="32" y="24" width="1" height="1" fill="#3C8248" />
+<rect x="33" y="24" width="1" height="1" fill="#3C8248" />
+<rect x="34" y="24" width="1" height="1" fill="#3C8248" />
+<rect x="35" y="24" width="1" height="1" fill="#3C8248" />
+<rect x="36" y="24" width="1" height="1" fill="#3C8248" />
+<rect x="37" y="24" width="1" height="1" fill="#3C8248" />
+<rect x="38" y="24" width="1" height="1" fill="#3C8248" />
+<rect x="39" y="24" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="24" width="1" height="1" fill="#3C8248" />
+<rect x="41" y="24" width="1" height="1" fill="#10141F" />
+<rect x="42" y="24" width="1" height="1" fill="#10141F" />
+<rect x="43" y="24" width="1" height="1" fill="#10141F" />
+<rect x="0" y="25" width="1" height="1" fill="#10141F" />
+<rect x="1" y="25" width="1" height="1" fill="#10141F" />
+<rect x="2" y="25" width="1" height="1" fill="#10141F" />
+<rect x="3" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="4" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="25" width="1" height="1" fill="#7A367B" />
+<rect x="8" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="9" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="10" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="11" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="12" y="25" width="1" height="1" fill="#10141F" />
+<rect x="13" y="25" width="1" height="1" fill="#10141F" />
+<rect x="14" y="25" width="1" height="1" fill="#10141F" />
+<rect x="15" y="25" width="1" height="1" fill="#10141F" />
+<rect x="16" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="17" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="18" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="19" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="25" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="25" width="1" height="1" fill="#C65197" />
+<rect x="27" y="25" width="1" height="1" fill="#C65197" />
+<rect x="28" y="25" width="1" height="1" fill="#10141F" />
+<rect x="29" y="25" width="1" height="1" fill="#10141F" />
+<rect x="30" y="25" width="1" height="1" fill="#10141F" />
+<rect x="31" y="25" width="1" height="1" fill="#3C8248" />
+<rect x="32" y="25" width="1" height="1" fill="#3C8248" />
+<rect x="33" y="25" width="1" height="1" fill="#3C8248" />
+<rect x="34" y="25" width="1" height="1" fill="#3C8248" />
+<rect x="35" y="25" width="1" height="1" fill="#3C8248" />
+<rect x="36" y="25" width="1" height="1" fill="#10141F" />
+<rect x="37" y="25" width="1" height="1" fill="#10141F" />
+<rect x="38" y="25" width="1" height="1" fill="#3C8248" />
+<rect x="39" y="25" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="25" width="1" height="1" fill="#3C8248" />
+<rect x="41" y="25" width="1" height="1" fill="#3C8248" />
+<rect x="42" y="25" width="1" height="1" fill="#10141F" />
+<rect x="43" y="25" width="1" height="1" fill="#10141F" />
+<rect x="44" y="25" width="1" height="1" fill="#10141F" />
+<rect x="1" y="26" width="1" height="1" fill="#10141F" />
+<rect x="2" y="26" width="1" height="1" fill="#10141F" />
+<rect x="3" y="26" width="1" height="1" fill="#10141F" />
+<rect x="4" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="26" width="1" height="1" fill="#7A367B" />
+<rect x="7" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="8" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="9" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="10" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="11" y="26" width="1" height="1" fill="#10141F" />
+<rect x="12" y="26" width="1" height="1" fill="#10141F" />
+<rect x="13" y="26" width="1" height="1" fill="#10141F" />
+<rect x="14" y="26" width="1" height="1" fill="#10141F" />
+<rect x="15" y="26" width="1" height="1" fill="#10141F" />
+<rect x="16" y="26" width="1" height="1" fill="#10141F" />
+<rect x="17" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="18" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="19" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="26" width="1" height="1" fill="#A23E8C" />
+<rect x="28" y="26" width="1" height="1" fill="#10141F" />
+<rect x="29" y="26" width="1" height="1" fill="#10141F" />
+<rect x="30" y="26" width="1" height="1" fill="#10141F" />
+<rect x="31" y="26" width="1" height="1" fill="#3C8248" />
+<rect x="32" y="26" width="1" height="1" fill="#3C8248" />
+<rect x="33" y="26" width="1" height="1" fill="#3C8248" />
+<rect x="34" y="26" width="1" height="1" fill="#3C8248" />
+<rect x="35" y="26" width="1" height="1" fill="#10141F" />
+<rect x="36" y="26" width="1" height="1" fill="#10141F" />
+<rect x="37" y="26" width="1" height="1" fill="#10141F" />
+<rect x="38" y="26" width="1" height="1" fill="#10141F" />
+<rect x="39" y="26" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="26" width="1" height="1" fill="#3C8248" />
+<rect x="41" y="26" width="1" height="1" fill="#3C8248" />
+<rect x="42" y="26" width="1" height="1" fill="#10141F" />
+<rect x="43" y="26" width="1" height="1" fill="#10141F" />
+<rect x="44" y="26" width="1" height="1" fill="#10141F" />
+<rect x="1" y="27" width="1" height="1" fill="#10141F" />
+<rect x="2" y="27" width="1" height="1" fill="#10141F" />
+<rect x="3" y="27" width="1" height="1" fill="#10141F" />
+<rect x="4" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="5" y="27" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="7" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="8" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="9" y="27" width="1" height="1" fill="#10141F" />
+<rect x="10" y="27" width="1" height="1" fill="#10141F" />
+<rect x="11" y="27" width="1" height="1" fill="#10141F" />
+<rect x="12" y="27" width="1" height="1" fill="#10141F" />
+<rect x="13" y="27" width="1" height="1" fill="#25563A" />
+<rect x="14" y="27" width="1" height="1" fill="#10141F" />
+<rect x="15" y="27" width="1" height="1" fill="#10141F" />
+<rect x="16" y="27" width="1" height="1" fill="#10141F" />
+<rect x="17" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="18" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="19" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="27" width="1" height="1" fill="#A23E8C" />
+<rect x="27" y="27" width="1" height="1" fill="#10141F" />
+<rect x="28" y="27" width="1" height="1" fill="#10141F" />
+<rect x="29" y="27" width="1" height="1" fill="#10141F" />
+<rect x="30" y="27" width="1" height="1" fill="#3C8248" />
+<rect x="31" y="27" width="1" height="1" fill="#3C8248" />
+<rect x="32" y="27" width="1" height="1" fill="#3C8248" />
+<rect x="33" y="27" width="1" height="1" fill="#3C8248" />
+<rect x="34" y="27" width="1" height="1" fill="#10141F" />
+<rect x="35" y="27" width="1" height="1" fill="#10141F" />
+<rect x="36" y="27" width="1" height="1" fill="#10141F" />
+<rect x="37" y="27" width="1" height="1" fill="#10141F" />
+<rect x="38" y="27" width="1" height="1" fill="#10141F" />
+<rect x="39" y="27" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="27" width="1" height="1" fill="#3C8248" />
+<rect x="41" y="27" width="1" height="1" fill="#3C8248" />
+<rect x="42" y="27" width="1" height="1" fill="#3C8248" />
+<rect x="43" y="27" width="1" height="1" fill="#10141F" />
+<rect x="44" y="27" width="1" height="1" fill="#10141F" />
+<rect x="1" y="28" width="1" height="1" fill="#10141F" />
+<rect x="2" y="28" width="1" height="1" fill="#10141F" />
+<rect x="3" y="28" width="1" height="1" fill="#10141F" />
+<rect x="4" y="28" width="1" height="1" fill="#10141F" />
+<rect x="5" y="28" width="1" height="1" fill="#7A367B" />
+<rect x="6" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="7" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="8" y="28" width="1" height="1" fill="#10141F" />
+<rect x="9" y="28" width="1" height="1" fill="#10141F" />
+<rect x="10" y="28" width="1" height="1" fill="#10141F" />
+<rect x="11" y="28" width="1" height="1" fill="#10141F" />
+<rect x="12" y="28" width="1" height="1" fill="#25563A" />
+<rect x="13" y="28" width="1" height="1" fill="#25563A" />
+<rect x="14" y="28" width="1" height="1" fill="#25563A" />
+<rect x="15" y="28" width="1" height="1" fill="#10141F" />
+<rect x="16" y="28" width="1" height="1" fill="#10141F" />
+<rect x="17" y="28" width="1" height="1" fill="#10141F" />
+<rect x="18" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="19" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="20" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="28" width="1" height="1" fill="#A23E8C" />
+<rect x="26" y="28" width="1" height="1" fill="#10141F" />
+<rect x="27" y="28" width="1" height="1" fill="#10141F" />
+<rect x="28" y="28" width="1" height="1" fill="#10141F" />
+<rect x="29" y="28" width="1" height="1" fill="#10141F" />
+<rect x="30" y="28" width="1" height="1" fill="#3C8248" />
+<rect x="31" y="28" width="1" height="1" fill="#3C8248" />
+<rect x="32" y="28" width="1" height="1" fill="#3C8248" />
+<rect x="33" y="28" width="1" height="1" fill="#3C8248" />
+<rect x="34" y="28" width="1" height="1" fill="#10141F" />
+<rect x="35" y="28" width="1" height="1" fill="#10141F" />
+<rect x="36" y="28" width="1" height="1" fill="#10141F" />
+<rect x="37" y="28" width="1" height="1" fill="#10141F" />
+<rect x="38" y="28" width="1" height="1" fill="#10141F" />
+<rect x="39" y="28" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="28" width="1" height="1" fill="#3C8248" />
+<rect x="41" y="28" width="1" height="1" fill="#3C8248" />
+<rect x="42" y="28" width="1" height="1" fill="#3C8248" />
+<rect x="43" y="28" width="1" height="1" fill="#10141F" />
+<rect x="44" y="28" width="1" height="1" fill="#10141F" />
+<rect x="45" y="28" width="1" height="1" fill="#10141F" />
+<rect x="2" y="29" width="1" height="1" fill="#10141F" />
+<rect x="3" y="29" width="1" height="1" fill="#10141F" />
+<rect x="4" y="29" width="1" height="1" fill="#10141F" />
+<rect x="5" y="29" width="1" height="1" fill="#10141F" />
+<rect x="6" y="29" width="1" height="1" fill="#10141F" />
+<rect x="7" y="29" width="1" height="1" fill="#10141F" />
+<rect x="8" y="29" width="1" height="1" fill="#10141F" />
+<rect x="9" y="29" width="1" height="1" fill="#10141F" />
+<rect x="10" y="29" width="1" height="1" fill="#10141F" />
+<rect x="11" y="29" width="1" height="1" fill="#25563A" />
+<rect x="12" y="29" width="1" height="1" fill="#25563A" />
+<rect x="13" y="29" width="1" height="1" fill="#25563A" />
+<rect x="14" y="29" width="1" height="1" fill="#3C8248" />
+<rect x="15" y="29" width="1" height="1" fill="#3C8248" />
+<rect x="16" y="29" width="1" height="1" fill="#10141F" />
+<rect x="17" y="29" width="1" height="1" fill="#10141F" />
+<rect x="18" y="29" width="1" height="1" fill="#10141F" />
+<rect x="19" y="29" width="1" height="1" fill="#10141F" />
+<rect x="20" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="21" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="22" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="23" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="24" y="29" width="1" height="1" fill="#A23E8C" />
+<rect x="25" y="29" width="1" height="1" fill="#10141F" />
+<rect x="26" y="29" width="1" height="1" fill="#10141F" />
+<rect x="27" y="29" width="1" height="1" fill="#10141F" />
+<rect x="28" y="29" width="1" height="1" fill="#10141F" />
+<rect x="29" y="29" width="1" height="1" fill="#3C8248" />
+<rect x="30" y="29" width="1" height="1" fill="#3C8248" />
+<rect x="31" y="29" width="1" height="1" fill="#3C8248" />
+<rect x="32" y="29" width="1" height="1" fill="#3C8248" />
+<rect x="33" y="29" width="1" height="1" fill="#3C8248" />
+<rect x="34" y="29" width="1" height="1" fill="#10141F" />
+<rect x="35" y="29" width="1" height="1" fill="#10141F" />
+<rect x="36" y="29" width="1" height="1" fill="#10141F" />
+<rect x="37" y="29" width="1" height="1" fill="#10141F" />
+<rect x="38" y="29" width="1" height="1" fill="#3C8248" />
+<rect x="39" y="29" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="29" width="1" height="1" fill="#3C8248" />
+<rect x="41" y="29" width="1" height="1" fill="#3C8248" />
+<rect x="42" y="29" width="1" height="1" fill="#3C8248" />
+<rect x="43" y="29" width="1" height="1" fill="#10141F" />
+<rect x="44" y="29" width="1" height="1" fill="#10141F" />
+<rect x="45" y="29" width="1" height="1" fill="#10141F" />
+<rect x="3" y="30" width="1" height="1" fill="#10141F" />
+<rect x="4" y="30" width="1" height="1" fill="#10141F" />
+<rect x="5" y="30" width="1" height="1" fill="#10141F" />
+<rect x="6" y="30" width="1" height="1" fill="#10141F" />
+<rect x="7" y="30" width="1" height="1" fill="#10141F" />
+<rect x="8" y="30" width="1" height="1" fill="#10141F" />
+<rect x="9" y="30" width="1" height="1" fill="#10141F" />
+<rect x="10" y="30" width="1" height="1" fill="#25563A" />
+<rect x="11" y="30" width="1" height="1" fill="#25563A" />
+<rect x="12" y="30" width="1" height="1" fill="#25563A" />
+<rect x="13" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="14" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="15" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="16" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="17" y="30" width="1" height="1" fill="#10141F" />
+<rect x="18" y="30" width="1" height="1" fill="#10141F" />
+<rect x="19" y="30" width="1" height="1" fill="#10141F" />
+<rect x="20" y="30" width="1" height="1" fill="#10141F" />
+<rect x="21" y="30" width="1" height="1" fill="#10141F" />
+<rect x="22" y="30" width="1" height="1" fill="#10141F" />
+<rect x="23" y="30" width="1" height="1" fill="#10141F" />
+<rect x="24" y="30" width="1" height="1" fill="#10141F" />
+<rect x="25" y="30" width="1" height="1" fill="#10141F" />
+<rect x="26" y="30" width="1" height="1" fill="#10141F" />
+<rect x="27" y="30" width="1" height="1" fill="#10141F" />
+<rect x="28" y="30" width="1" height="1" fill="#10141F" />
+<rect x="29" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="30" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="31" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="32" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="33" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="34" y="30" width="1" height="1" fill="#10141F" />
+<rect x="35" y="30" width="1" height="1" fill="#10141F" />
+<rect x="36" y="30" width="1" height="1" fill="#10141F" />
+<rect x="37" y="30" width="1" height="1" fill="#10141F" />
+<rect x="38" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="39" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="41" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="42" y="30" width="1" height="1" fill="#3C8248" />
+<rect x="43" y="30" width="1" height="1" fill="#10141F" />
+<rect x="44" y="30" width="1" height="1" fill="#10141F" />
+<rect x="45" y="30" width="1" height="1" fill="#10141F" />
+<rect x="4" y="31" width="1" height="1" fill="#10141F" />
+<rect x="5" y="31" width="1" height="1" fill="#10141F" />
+<rect x="6" y="31" width="1" height="1" fill="#10141F" />
+<rect x="7" y="31" width="1" height="1" fill="#10141F" />
+<rect x="8" y="31" width="1" height="1" fill="#25563A" />
+<rect x="9" y="31" width="1" height="1" fill="#25563A" />
+<rect x="10" y="31" width="1" height="1" fill="#25563A" />
+<rect x="11" y="31" width="1" height="1" fill="#25563A" />
+<rect x="12" y="31" width="1" height="1" fill="#25563A" />
+<rect x="13" y="31" width="1" height="1" fill="#3C8248" />
+<rect x="14" y="31" width="1" height="1" fill="#25563A" />
+<rect x="15" y="31" width="1" height="1" fill="#25563A" />
+<rect x="16" y="31" width="1" height="1" fill="#25563A" />
+<rect x="17" y="31" width="1" height="1" fill="#25563A" />
+<rect x="18" y="31" width="1" height="1" fill="#10141F" />
+<rect x="19" y="31" width="1" height="1" fill="#10141F" />
+<rect x="20" y="31" width="1" height="1" fill="#10141F" />
+<rect x="21" y="31" width="1" height="1" fill="#10141F" />
+<rect x="22" y="31" width="1" height="1" fill="#10141F" />
+<rect x="23" y="31" width="1" height="1" fill="#10141F" />
+<rect x="24" y="31" width="1" height="1" fill="#10141F" />
+<rect x="25" y="31" width="1" height="1" fill="#10141F" />
+<rect x="26" y="31" width="1" height="1" fill="#10141F" />
+<rect x="27" y="31" width="1" height="1" fill="#10141F" />
+<rect x="28" y="31" width="1" height="1" fill="#10141F" />
+<rect x="29" y="31" width="1" height="1" fill="#25563A" />
+<rect x="30" y="31" width="1" height="1" fill="#25563A" />
+<rect x="31" y="31" width="1" height="1" fill="#25563A" />
+<rect x="32" y="31" width="1" height="1" fill="#25563A" />
+<rect x="33" y="31" width="1" height="1" fill="#25563A" />
+<rect x="34" y="31" width="1" height="1" fill="#10141F" />
+<rect x="35" y="31" width="1" height="1" fill="#10141F" />
+<rect x="36" y="31" width="1" height="1" fill="#10141F" />
+<rect x="37" y="31" width="1" height="1" fill="#10141F" />
+<rect x="38" y="31" width="1" height="1" fill="#3C8248" />
+<rect x="39" y="31" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="31" width="1" height="1" fill="#3C8248" />
+<rect x="41" y="31" width="1" height="1" fill="#3C8248" />
+<rect x="42" y="31" width="1" height="1" fill="#3C8248" />
+<rect x="43" y="31" width="1" height="1" fill="#10141F" />
+<rect x="44" y="31" width="1" height="1" fill="#10141F" />
+<rect x="45" y="31" width="1" height="1" fill="#10141F" />
+<rect x="4" y="32" width="1" height="1" fill="#10141F" />
+<rect x="5" y="32" width="1" height="1" fill="#10141F" />
+<rect x="6" y="32" width="1" height="1" fill="#10141F" />
+<rect x="7" y="32" width="1" height="1" fill="#25563A" />
+<rect x="8" y="32" width="1" height="1" fill="#25563A" />
+<rect x="9" y="32" width="1" height="1" fill="#25563A" />
+<rect x="10" y="32" width="1" height="1" fill="#25563A" />
+<rect x="11" y="32" width="1" height="1" fill="#19332D" />
+<rect x="12" y="32" width="1" height="1" fill="#25563A" />
+<rect x="13" y="32" width="1" height="1" fill="#25563A" />
+<rect x="14" y="32" width="1" height="1" fill="#25563A" />
+<rect x="15" y="32" width="1" height="1" fill="#25563A" />
+<rect x="16" y="32" width="1" height="1" fill="#25563A" />
+<rect x="17" y="32" width="1" height="1" fill="#25563A" />
+<rect x="18" y="32" width="1" height="1" fill="#25563A" />
+<rect x="19" y="32" width="1" height="1" fill="#25563A" />
+<rect x="20" y="32" width="1" height="1" fill="#10141F" />
+<rect x="21" y="32" width="1" height="1" fill="#10141F" />
+<rect x="22" y="32" width="1" height="1" fill="#10141F" />
+<rect x="23" y="32" width="1" height="1" fill="#10141F" />
+<rect x="24" y="32" width="1" height="1" fill="#25563A" />
+<rect x="25" y="32" width="1" height="1" fill="#25563A" />
+<rect x="26" y="32" width="1" height="1" fill="#10141F" />
+<rect x="27" y="32" width="1" height="1" fill="#10141F" />
+<rect x="28" y="32" width="1" height="1" fill="#25563A" />
+<rect x="29" y="32" width="1" height="1" fill="#25563A" />
+<rect x="30" y="32" width="1" height="1" fill="#25563A" />
+<rect x="31" y="32" width="1" height="1" fill="#25563A" />
+<rect x="32" y="32" width="1" height="1" fill="#25563A" />
+<rect x="33" y="32" width="1" height="1" fill="#25563A" />
+<rect x="34" y="32" width="1" height="1" fill="#25563A" />
+<rect x="35" y="32" width="1" height="1" fill="#10141F" />
+<rect x="36" y="32" width="1" height="1" fill="#10141F" />
+<rect x="37" y="32" width="1" height="1" fill="#25563A" />
+<rect x="38" y="32" width="1" height="1" fill="#25563A" />
+<rect x="39" y="32" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="32" width="1" height="1" fill="#3C8248" />
+<rect x="41" y="32" width="1" height="1" fill="#3C8248" />
+<rect x="42" y="32" width="1" height="1" fill="#3C8248" />
+<rect x="43" y="32" width="1" height="1" fill="#10141F" />
+<rect x="44" y="32" width="1" height="1" fill="#10141F" />
+<rect x="45" y="32" width="1" height="1" fill="#10141F" />
+<rect x="4" y="33" width="1" height="1" fill="#10141F" />
+<rect x="5" y="33" width="1" height="1" fill="#10141F" />
+<rect x="6" y="33" width="1" height="1" fill="#10141F" />
+<rect x="7" y="33" width="1" height="1" fill="#25563A" />
+<rect x="8" y="33" width="1" height="1" fill="#19332D" />
+<rect x="9" y="33" width="1" height="1" fill="#19332D" />
+<rect x="10" y="33" width="1" height="1" fill="#19332D" />
+<rect x="11" y="33" width="1" height="1" fill="#19332D" />
+<rect x="12" y="33" width="1" height="1" fill="#25563A" />
+<rect x="13" y="33" width="1" height="1" fill="#25563A" />
+<rect x="14" y="33" width="1" height="1" fill="#25563A" />
+<rect x="15" y="33" width="1" height="1" fill="#25563A" />
+<rect x="16" y="33" width="1" height="1" fill="#25563A" />
+<rect x="17" y="33" width="1" height="1" fill="#25563A" />
+<rect x="18" y="33" width="1" height="1" fill="#25563A" />
+<rect x="19" y="33" width="1" height="1" fill="#25563A" />
+<rect x="20" y="33" width="1" height="1" fill="#25563A" />
+<rect x="21" y="33" width="1" height="1" fill="#25563A" />
+<rect x="22" y="33" width="1" height="1" fill="#25563A" />
+<rect x="23" y="33" width="1" height="1" fill="#25563A" />
+<rect x="24" y="33" width="1" height="1" fill="#25563A" />
+<rect x="25" y="33" width="1" height="1" fill="#25563A" />
+<rect x="26" y="33" width="1" height="1" fill="#25563A" />
+<rect x="27" y="33" width="1" height="1" fill="#25563A" />
+<rect x="28" y="33" width="1" height="1" fill="#25563A" />
+<rect x="29" y="33" width="1" height="1" fill="#25563A" />
+<rect x="30" y="33" width="1" height="1" fill="#25563A" />
+<rect x="31" y="33" width="1" height="1" fill="#25563A" />
+<rect x="32" y="33" width="1" height="1" fill="#25563A" />
+<rect x="33" y="33" width="1" height="1" fill="#25563A" />
+<rect x="34" y="33" width="1" height="1" fill="#25563A" />
+<rect x="35" y="33" width="1" height="1" fill="#25563A" />
+<rect x="36" y="33" width="1" height="1" fill="#25563A" />
+<rect x="37" y="33" width="1" height="1" fill="#25563A" />
+<rect x="38" y="33" width="1" height="1" fill="#25563A" />
+<rect x="39" y="33" width="1" height="1" fill="#25563A" />
+<rect x="40" y="33" width="1" height="1" fill="#25563A" />
+<rect x="41" y="33" width="1" height="1" fill="#3C8248" />
+<rect x="42" y="33" width="1" height="1" fill="#3C8248" />
+<rect x="43" y="33" width="1" height="1" fill="#10141F" />
+<rect x="44" y="33" width="1" height="1" fill="#10141F" />
+<rect x="45" y="33" width="1" height="1" fill="#10141F" />
+<rect x="4" y="34" width="1" height="1" fill="#10141F" />
+<rect x="5" y="34" width="1" height="1" fill="#10141F" />
+<rect x="6" y="34" width="1" height="1" fill="#10141F" />
+<rect x="7" y="34" width="1" height="1" fill="#25563A" />
+<rect x="8" y="34" width="1" height="1" fill="#19332D" />
+<rect x="9" y="34" width="1" height="1" fill="#19332D" />
+<rect x="10" y="34" width="1" height="1" fill="#19332D" />
+<rect x="11" y="34" width="1" height="1" fill="#19332D" />
+<rect x="12" y="34" width="1" height="1" fill="#25563A" />
+<rect x="13" y="34" width="1" height="1" fill="#25563A" />
+<rect x="14" y="34" width="1" height="1" fill="#25563A" />
+<rect x="15" y="34" width="1" height="1" fill="#25563A" />
+<rect x="16" y="34" width="1" height="1" fill="#25563A" />
+<rect x="17" y="34" width="1" height="1" fill="#25563A" />
+<rect x="18" y="34" width="1" height="1" fill="#25563A" />
+<rect x="19" y="34" width="1" height="1" fill="#25563A" />
+<rect x="20" y="34" width="1" height="1" fill="#25563A" />
+<rect x="21" y="34" width="1" height="1" fill="#25563A" />
+<rect x="22" y="34" width="1" height="1" fill="#25563A" />
+<rect x="23" y="34" width="1" height="1" fill="#25563A" />
+<rect x="24" y="34" width="1" height="1" fill="#25563A" />
+<rect x="25" y="34" width="1" height="1" fill="#25563A" />
+<rect x="26" y="34" width="1" height="1" fill="#25563A" />
+<rect x="27" y="34" width="1" height="1" fill="#25563A" />
+<rect x="28" y="34" width="1" height="1" fill="#25563A" />
+<rect x="29" y="34" width="1" height="1" fill="#25563A" />
+<rect x="30" y="34" width="1" height="1" fill="#25563A" />
+<rect x="31" y="34" width="1" height="1" fill="#25563A" />
+<rect x="32" y="34" width="1" height="1" fill="#25563A" />
+<rect x="33" y="34" width="1" height="1" fill="#25563A" />
+<rect x="34" y="34" width="1" height="1" fill="#25563A" />
+<rect x="35" y="34" width="1" height="1" fill="#25563A" />
+<rect x="36" y="34" width="1" height="1" fill="#25563A" />
+<rect x="37" y="34" width="1" height="1" fill="#25563A" />
+<rect x="38" y="34" width="1" height="1" fill="#25563A" />
+<rect x="39" y="34" width="1" height="1" fill="#25563A" />
+<rect x="40" y="34" width="1" height="1" fill="#25563A" />
+<rect x="41" y="34" width="1" height="1" fill="#25563A" />
+<rect x="42" y="34" width="1" height="1" fill="#3C8248" />
+<rect x="43" y="34" width="1" height="1" fill="#10141F" />
+<rect x="44" y="34" width="1" height="1" fill="#10141F" />
+<rect x="45" y="34" width="1" height="1" fill="#10141F" />
+<rect x="4" y="35" width="1" height="1" fill="#10141F" />
+<rect x="5" y="35" width="1" height="1" fill="#10141F" />
+<rect x="6" y="35" width="1" height="1" fill="#10141F" />
+<rect x="7" y="35" width="1" height="1" fill="#25563A" />
+<rect x="8" y="35" width="1" height="1" fill="#19332D" />
+<rect x="9" y="35" width="1" height="1" fill="#19332D" />
+<rect x="10" y="35" width="1" height="1" fill="#19332D" />
+<rect x="11" y="35" width="1" height="1" fill="#19332D" />
+<rect x="12" y="35" width="1" height="1" fill="#25563A" />
+<rect x="13" y="35" width="1" height="1" fill="#25563A" />
+<rect x="14" y="35" width="1" height="1" fill="#25563A" />
+<rect x="15" y="35" width="1" height="1" fill="#25563A" />
+<rect x="16" y="35" width="1" height="1" fill="#25563A" />
+<rect x="17" y="35" width="1" height="1" fill="#25563A" />
+<rect x="18" y="35" width="1" height="1" fill="#25563A" />
+<rect x="19" y="35" width="1" height="1" fill="#25563A" />
+<rect x="20" y="35" width="1" height="1" fill="#25563A" />
+<rect x="21" y="35" width="1" height="1" fill="#25563A" />
+<rect x="22" y="35" width="1" height="1" fill="#25563A" />
+<rect x="23" y="35" width="1" height="1" fill="#25563A" />
+<rect x="24" y="35" width="1" height="1" fill="#25563A" />
+<rect x="25" y="35" width="1" height="1" fill="#25563A" />
+<rect x="26" y="35" width="1" height="1" fill="#25563A" />
+<rect x="27" y="35" width="1" height="1" fill="#25563A" />
+<rect x="28" y="35" width="1" height="1" fill="#25563A" />
+<rect x="29" y="35" width="1" height="1" fill="#25563A" />
+<rect x="30" y="35" width="1" height="1" fill="#25563A" />
+<rect x="31" y="35" width="1" height="1" fill="#25563A" />
+<rect x="32" y="35" width="1" height="1" fill="#25563A" />
+<rect x="33" y="35" width="1" height="1" fill="#25563A" />
+<rect x="34" y="35" width="1" height="1" fill="#25563A" />
+<rect x="35" y="35" width="1" height="1" fill="#25563A" />
+<rect x="36" y="35" width="1" height="1" fill="#25563A" />
+<rect x="37" y="35" width="1" height="1" fill="#25563A" />
+<rect x="38" y="35" width="1" height="1" fill="#25563A" />
+<rect x="39" y="35" width="1" height="1" fill="#25563A" />
+<rect x="40" y="35" width="1" height="1" fill="#25563A" />
+<rect x="41" y="35" width="1" height="1" fill="#3C8248" />
+<rect x="42" y="35" width="1" height="1" fill="#3C8248" />
+<rect x="43" y="35" width="1" height="1" fill="#10141F" />
+<rect x="44" y="35" width="1" height="1" fill="#10141F" />
+<rect x="45" y="35" width="1" height="1" fill="#10141F" />
+<rect x="4" y="36" width="1" height="1" fill="#10141F" />
+<rect x="5" y="36" width="1" height="1" fill="#10141F" />
+<rect x="6" y="36" width="1" height="1" fill="#10141F" />
+<rect x="7" y="36" width="1" height="1" fill="#10141F" />
+<rect x="8" y="36" width="1" height="1" fill="#25563A" />
+<rect x="9" y="36" width="1" height="1" fill="#25563A" />
+<rect x="10" y="36" width="1" height="1" fill="#19332D" />
+<rect x="11" y="36" width="1" height="1" fill="#25563A" />
+<rect x="12" y="36" width="1" height="1" fill="#25563A" />
+<rect x="13" y="36" width="1" height="1" fill="#25563A" />
+<rect x="14" y="36" width="1" height="1" fill="#25563A" />
+<rect x="15" y="36" width="1" height="1" fill="#25563A" />
+<rect x="16" y="36" width="1" height="1" fill="#25563A" />
+<rect x="17" y="36" width="1" height="1" fill="#25563A" />
+<rect x="18" y="36" width="1" height="1" fill="#25563A" />
+<rect x="19" y="36" width="1" height="1" fill="#25563A" />
+<rect x="20" y="36" width="1" height="1" fill="#25563A" />
+<rect x="21" y="36" width="1" height="1" fill="#25563A" />
+<rect x="22" y="36" width="1" height="1" fill="#25563A" />
+<rect x="23" y="36" width="1" height="1" fill="#25563A" />
+<rect x="24" y="36" width="1" height="1" fill="#25563A" />
+<rect x="25" y="36" width="1" height="1" fill="#25563A" />
+<rect x="26" y="36" width="1" height="1" fill="#25563A" />
+<rect x="27" y="36" width="1" height="1" fill="#25563A" />
+<rect x="28" y="36" width="1" height="1" fill="#25563A" />
+<rect x="29" y="36" width="1" height="1" fill="#25563A" />
+<rect x="30" y="36" width="1" height="1" fill="#25563A" />
+<rect x="31" y="36" width="1" height="1" fill="#25563A" />
+<rect x="32" y="36" width="1" height="1" fill="#25563A" />
+<rect x="33" y="36" width="1" height="1" fill="#25563A" />
+<rect x="34" y="36" width="1" height="1" fill="#25563A" />
+<rect x="35" y="36" width="1" height="1" fill="#25563A" />
+<rect x="36" y="36" width="1" height="1" fill="#25563A" />
+<rect x="37" y="36" width="1" height="1" fill="#25563A" />
+<rect x="38" y="36" width="1" height="1" fill="#25563A" />
+<rect x="39" y="36" width="1" height="1" fill="#25563A" />
+<rect x="40" y="36" width="1" height="1" fill="#3C8248" />
+<rect x="41" y="36" width="1" height="1" fill="#3C8248" />
+<rect x="42" y="36" width="1" height="1" fill="#10141F" />
+<rect x="43" y="36" width="1" height="1" fill="#10141F" />
+<rect x="44" y="36" width="1" height="1" fill="#10141F" />
+<rect x="45" y="36" width="1" height="1" fill="#10141F" />
+<rect x="5" y="37" width="1" height="1" fill="#10141F" />
+<rect x="6" y="37" width="1" height="1" fill="#10141F" />
+<rect x="7" y="37" width="1" height="1" fill="#10141F" />
+<rect x="8" y="37" width="1" height="1" fill="#10141F" />
+<rect x="9" y="37" width="1" height="1" fill="#25563A" />
+<rect x="10" y="37" width="1" height="1" fill="#25563A" />
+<rect x="11" y="37" width="1" height="1" fill="#3C8248" />
+<rect x="12" y="37" width="1" height="1" fill="#25563A" />
+<rect x="13" y="37" width="1" height="1" fill="#25563A" />
+<rect x="14" y="37" width="1" height="1" fill="#25563A" />
+<rect x="15" y="37" width="1" height="1" fill="#25563A" />
+<rect x="16" y="37" width="1" height="1" fill="#25563A" />
+<rect x="17" y="37" width="1" height="1" fill="#25563A" />
+<rect x="18" y="37" width="1" height="1" fill="#25563A" />
+<rect x="19" y="37" width="1" height="1" fill="#25563A" />
+<rect x="20" y="37" width="1" height="1" fill="#25563A" />
+<rect x="21" y="37" width="1" height="1" fill="#25563A" />
+<rect x="22" y="37" width="1" height="1" fill="#25563A" />
+<rect x="23" y="37" width="1" height="1" fill="#25563A" />
+<rect x="24" y="37" width="1" height="1" fill="#25563A" />
+<rect x="25" y="37" width="1" height="1" fill="#25563A" />
+<rect x="26" y="37" width="1" height="1" fill="#25563A" />
+<rect x="27" y="37" width="1" height="1" fill="#25563A" />
+<rect x="28" y="37" width="1" height="1" fill="#25563A" />
+<rect x="29" y="37" width="1" height="1" fill="#25563A" />
+<rect x="30" y="37" width="1" height="1" fill="#25563A" />
+<rect x="31" y="37" width="1" height="1" fill="#25563A" />
+<rect x="32" y="37" width="1" height="1" fill="#25563A" />
+<rect x="33" y="37" width="1" height="1" fill="#25563A" />
+<rect x="34" y="37" width="1" height="1" fill="#25563A" />
+<rect x="35" y="37" width="1" height="1" fill="#25563A" />
+<rect x="36" y="37" width="1" height="1" fill="#25563A" />
+<rect x="37" y="37" width="1" height="1" fill="#25563A" />
+<rect x="38" y="37" width="1" height="1" fill="#25563A" />
+<rect x="39" y="37" width="1" height="1" fill="#3C8248" />
+<rect x="40" y="37" width="1" height="1" fill="#3C8248" />
+<rect x="41" y="37" width="1" height="1" fill="#10141F" />
+<rect x="42" y="37" width="1" height="1" fill="#10141F" />
+<rect x="43" y="37" width="1" height="1" fill="#10141F" />
+<rect x="44" y="37" width="1" height="1" fill="#10141F" />
+<rect x="6" y="38" width="1" height="1" fill="#10141F" />
+<rect x="7" y="38" width="1" height="1" fill="#10141F" />
+<rect x="8" y="38" width="1" height="1" fill="#10141F" />
+<rect x="9" y="38" width="1" height="1" fill="#10141F" />
+<rect x="10" y="38" width="1" height="1" fill="#10141F" />
+<rect x="11" y="38" width="1" height="1" fill="#3C8248" />
+<rect x="12" y="38" width="1" height="1" fill="#3C8248" />
+<rect x="13" y="38" width="1" height="1" fill="#3C8248" />
+<rect x="14" y="38" width="1" height="1" fill="#3C8248" />
+<rect x="15" y="38" width="1" height="1" fill="#25563A" />
+<rect x="16" y="38" width="1" height="1" fill="#25563A" />
+<rect x="17" y="38" width="1" height="1" fill="#25563A" />
+<rect x="18" y="38" width="1" height="1" fill="#25563A" />
+<rect x="19" y="38" width="1" height="1" fill="#25563A" />
+<rect x="20" y="38" width="1" height="1" fill="#25563A" />
+<rect x="21" y="38" width="1" height="1" fill="#25563A" />
+<rect x="22" y="38" width="1" height="1" fill="#25563A" />
+<rect x="23" y="38" width="1" height="1" fill="#25563A" />
+<rect x="24" y="38" width="1" height="1" fill="#25563A" />
+<rect x="25" y="38" width="1" height="1" fill="#25563A" />
+<rect x="26" y="38" width="1" height="1" fill="#25563A" />
+<rect x="27" y="38" width="1" height="1" fill="#25563A" />
+<rect x="28" y="38" width="1" height="1" fill="#25563A" />
+<rect x="29" y="38" width="1" height="1" fill="#25563A" />
+<rect x="30" y="38" width="1" height="1" fill="#25563A" />
+<rect x="31" y="38" width="1" height="1" fill="#25563A" />
+<rect x="32" y="38" width="1" height="1" fill="#25563A" />
+<rect x="33" y="38" width="1" height="1" fill="#25563A" />
+<rect x="34" y="38" width="1" height="1" fill="#25563A" />
+<rect x="35" y="38" width="1" height="1" fill="#3C8248" />
+<rect x="36" y="38" width="1" height="1" fill="#3C8248" />
+<rect x="37" y="38" width="1" height="1" fill="#3C8248" />
+<rect x="38" y="38" width="1" height="1" fill="#3C8248" />
+<rect x="39" y="38" width="1" height="1" fill="#10141F" />
+<rect x="40" y="38" width="1" height="1" fill="#10141F" />
+<rect x="41" y="38" width="1" height="1" fill="#10141F" />
+<rect x="42" y="38" width="1" height="1" fill="#10141F" />
+<rect x="43" y="38" width="1" height="1" fill="#10141F" />
+<rect x="7" y="39" width="1" height="1" fill="#10141F" />
+<rect x="8" y="39" width="1" height="1" fill="#10141F" />
+<rect x="9" y="39" width="1" height="1" fill="#10141F" />
+<rect x="10" y="39" width="1" height="1" fill="#10141F" />
+<rect x="11" y="39" width="1" height="1" fill="#10141F" />
+<rect x="12" y="39" width="1" height="1" fill="#10141F" />
+<rect x="13" y="39" width="1" height="1" fill="#10141F" />
+<rect x="14" y="39" width="1" height="1" fill="#3C8248" />
+<rect x="15" y="39" width="1" height="1" fill="#3C8248" />
+<rect x="16" y="39" width="1" height="1" fill="#3C8248" />
+<rect x="17" y="39" width="1" height="1" fill="#3C8248" />
+<rect x="18" y="39" width="1" height="1" fill="#3C8248" />
+<rect x="19" y="39" width="1" height="1" fill="#3C8248" />
+<rect x="20" y="39" width="1" height="1" fill="#25563A" />
+<rect x="21" y="39" width="1" height="1" fill="#25563A" />
+<rect x="22" y="39" width="1" height="1" fill="#25563A" />
+<rect x="23" y="39" width="1" height="1" fill="#25563A" />
+<rect x="24" y="39" width="1" height="1" fill="#25563A" />
+<rect x="25" y="39" width="1" height="1" fill="#25563A" />
+<rect x="26" y="39" width="1" height="1" fill="#25563A" />
+<rect x="27" y="39" width="1" height="1" fill="#25563A" />
+<rect x="28" y="39" width="1" height="1" fill="#25563A" />
+<rect x="29" y="39" width="1" height="1" fill="#25563A" />
+<rect x="30" y="39" width="1" height="1" fill="#25563A" />
+<rect x="31" y="39" width="1" height="1" fill="#3C8248" />
+<rect x="32" y="39" width="1" height="1" fill="#3C8248" />
+<rect x="33" y="39" width="1" height="1" fill="#3C8248" />
+<rect x="34" y="39" width="1" height="1" fill="#3C8248" />
+<rect x="35" y="39" width="1" height="1" fill="#3C8248" />
+<rect x="36" y="39" width="1" height="1" fill="#3C8248" />
+<rect x="37" y="39" width="1" height="1" fill="#10141F" />
+<rect x="38" y="39" width="1" height="1" fill="#10141F" />
+<rect x="39" y="39" width="1" height="1" fill="#10141F" />
+<rect x="40" y="39" width="1" height="1" fill="#10141F" />
+<rect x="41" y="39" width="1" height="1" fill="#10141F" />
+<rect x="42" y="39" width="1" height="1" fill="#10141F" />
+<rect x="9" y="40" width="1" height="1" fill="#10141F" />
+<rect x="10" y="40" width="1" height="1" fill="#10141F" />
+<rect x="11" y="40" width="1" height="1" fill="#10141F" />
+<rect x="12" y="40" width="1" height="1" fill="#10141F" />
+<rect x="13" y="40" width="1" height="1" fill="#10141F" />
+<rect x="14" y="40" width="1" height="1" fill="#10141F" />
+<rect x="15" y="40" width="1" height="1" fill="#10141F" />
+<rect x="16" y="40" width="1" height="1" fill="#10141F" />
+<rect x="17" y="40" width="1" height="1" fill="#10141F" />
+<rect x="18" y="40" width="1" height="1" fill="#10141F" />
+<rect x="19" y="40" width="1" height="1" fill="#10141F" />
+<rect x="20" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="21" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="22" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="23" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="24" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="25" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="26" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="27" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="28" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="29" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="30" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="31" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="32" y="40" width="1" height="1" fill="#3C8248" />
+<rect x="33" y="40" width="1" height="1" fill="#10141F" />
+<rect x="34" y="40" width="1" height="1" fill="#10141F" />
+<rect x="35" y="40" width="1" height="1" fill="#10141F" />
+<rect x="36" y="40" width="1" height="1" fill="#10141F" />
+<rect x="37" y="40" width="1" height="1" fill="#10141F" />
+<rect x="38" y="40" width="1" height="1" fill="#10141F" />
+<rect x="39" y="40" width="1" height="1" fill="#10141F" />
+<rect x="40" y="40" width="1" height="1" fill="#10141F" />
+<rect x="11" y="41" width="1" height="1" fill="#10141F" />
+<rect x="12" y="41" width="1" height="1" fill="#10141F" />
+<rect x="13" y="41" width="1" height="1" fill="#10141F" />
+<rect x="14" y="41" width="1" height="1" fill="#10141F" />
+<rect x="15" y="41" width="1" height="1" fill="#10141F" />
+<rect x="16" y="41" width="1" height="1" fill="#10141F" />
+<rect x="17" y="41" width="1" height="1" fill="#10141F" />
+<rect x="18" y="41" width="1" height="1" fill="#10141F" />
+<rect x="19" y="41" width="1" height="1" fill="#10141F" />
+<rect x="20" y="41" width="1" height="1" fill="#10141F" />
+<rect x="21" y="41" width="1" height="1" fill="#10141F" />
+<rect x="22" y="41" width="1" height="1" fill="#10141F" />
+<rect x="23" y="41" width="1" height="1" fill="#10141F" />
+<rect x="24" y="41" width="1" height="1" fill="#10141F" />
+<rect x="25" y="41" width="1" height="1" fill="#10141F" />
+<rect x="26" y="41" width="1" height="1" fill="#10141F" />
+<rect x="27" y="41" width="1" height="1" fill="#10141F" />
+<rect x="28" y="41" width="1" height="1" fill="#10141F" />
+<rect x="29" y="41" width="1" height="1" fill="#10141F" />
+<rect x="30" y="41" width="1" height="1" fill="#10141F" />
+<rect x="31" y="41" width="1" height="1" fill="#10141F" />
+<rect x="32" y="41" width="1" height="1" fill="#10141F" />
+<rect x="33" y="41" width="1" height="1" fill="#10141F" />
+<rect x="34" y="41" width="1" height="1" fill="#10141F" />
+<rect x="35" y="41" width="1" height="1" fill="#10141F" />
+<rect x="36" y="41" width="1" height="1" fill="#10141F" />
+<rect x="37" y="41" width="1" height="1" fill="#10141F" />
+<rect x="38" y="41" width="1" height="1" fill="#10141F" />
+<rect x="15" y="42" width="1" height="1" fill="#10141F" />
+<rect x="16" y="42" width="1" height="1" fill="#10141F" />
+<rect x="17" y="42" width="1" height="1" fill="#10141F" />
+<rect x="18" y="42" width="1" height="1" fill="#10141F" />
+<rect x="19" y="42" width="1" height="1" fill="#10141F" />
+<rect x="20" y="42" width="1" height="1" fill="#10141F" />
+<rect x="21" y="42" width="1" height="1" fill="#10141F" />
+<rect x="22" y="42" width="1" height="1" fill="#10141F" />
+<rect x="23" y="42" width="1" height="1" fill="#10141F" />
+<rect x="24" y="42" width="1" height="1" fill="#10141F" />
+<rect x="25" y="42" width="1" height="1" fill="#10141F" />
+<rect x="26" y="42" width="1" height="1" fill="#10141F" />
+<rect x="27" y="42" width="1" height="1" fill="#10141F" />
+<rect x="28" y="42" width="1" height="1" fill="#10141F" />
+<rect x="29" y="42" width="1" height="1" fill="#10141F" />
+<rect x="30" y="42" width="1" height="1" fill="#10141F" />
+<rect x="31" y="42" width="1" height="1" fill="#10141F" />
+<rect x="32" y="42" width="1" height="1" fill="#10141F" />
+<rect x="33" y="42" width="1" height="1" fill="#10141F" />
+<rect x="34" y="42" width="1" height="1" fill="#10141F" />
+<rect x="35" y="42" width="1" height="1" fill="#10141F" />
+<rect x="23" y="43" width="1" height="1" fill="#10141F" />
+<rect x="24" y="43" width="1" height="1" fill="#10141F" />
+<rect x="25" y="43" width="1" height="1" fill="#10141F" />
+<rect x="26" y="43" width="1" height="1" fill="#10141F" />
+<rect x="27" y="43" width="1" height="1" fill="#10141F" />
+<rect x="28" y="43" width="1" height="1" fill="#10141F" />
+<rect x="29" y="43" width="1" height="1" fill="#10141F" />
+<rect x="30" y="43" width="1" height="1" fill="#10141F" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/slimes/Marsh1.svg b/Edikoyo/.obsidian/icons/slimes/Marsh1.svg
new file mode 100644
index 0000000..01101bc
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/slimes/Marsh1.svg
@@ -0,0 +1,1300 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="48" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="35" y="3" width="1" height="1" fill="#10141F" />
+<rect x="36" y="3" width="1" height="1" fill="#10141F" />
+<rect x="10" y="4" width="1" height="1" fill="#10141F" />
+<rect x="11" y="4" width="1" height="1" fill="#10141F" />
+<rect x="12" y="4" width="1" height="1" fill="#10141F" />
+<rect x="34" y="4" width="1" height="1" fill="#10141F" />
+<rect x="35" y="4" width="1" height="1" fill="#10141F" />
+<rect x="36" y="4" width="1" height="1" fill="#10141F" />
+<rect x="37" y="4" width="1" height="1" fill="#10141F" />
+<rect x="38" y="4" width="1" height="1" fill="#10141F" />
+<rect x="9" y="5" width="1" height="1" fill="#10141F" />
+<rect x="10" y="5" width="1" height="1" fill="#10141F" />
+<rect x="11" y="5" width="1" height="1" fill="#10141F" />
+<rect x="12" y="5" width="1" height="1" fill="#10141F" />
+<rect x="13" y="5" width="1" height="1" fill="#10141F" />
+<rect x="33" y="5" width="1" height="1" fill="#10141F" />
+<rect x="34" y="5" width="1" height="1" fill="#10141F" />
+<rect x="35" y="5" width="1" height="1" fill="#10141F" />
+<rect x="36" y="5" width="1" height="1" fill="#10141F" />
+<rect x="37" y="5" width="1" height="1" fill="#10141F" />
+<rect x="38" y="5" width="1" height="1" fill="#10141F" />
+<rect x="39" y="5" width="1" height="1" fill="#10141F" />
+<rect x="7" y="6" width="1" height="1" fill="#10141F" />
+<rect x="8" y="6" width="1" height="1" fill="#10141F" />
+<rect x="9" y="6" width="1" height="1" fill="#10141F" />
+<rect x="10" y="6" width="1" height="1" fill="#10141F" />
+<rect x="11" y="6" width="1" height="1" fill="#10141F" />
+<rect x="12" y="6" width="1" height="1" fill="#10141F" />
+<rect x="13" y="6" width="1" height="1" fill="#10141F" />
+<rect x="14" y="6" width="1" height="1" fill="#10141F" />
+<rect x="33" y="6" width="1" height="1" fill="#10141F" />
+<rect x="34" y="6" width="1" height="1" fill="#10141F" />
+<rect x="35" y="6" width="1" height="1" fill="#10141F" />
+<rect x="36" y="6" width="1" height="1" fill="#21121D" />
+<rect x="37" y="6" width="1" height="1" fill="#10141F" />
+<rect x="38" y="6" width="1" height="1" fill="#10141F" />
+<rect x="39" y="6" width="1" height="1" fill="#10141F" />
+<rect x="40" y="6" width="1" height="1" fill="#10141F" />
+<rect x="6" y="7" width="1" height="1" fill="#10141F" />
+<rect x="7" y="7" width="1" height="1" fill="#10141F" />
+<rect x="8" y="7" width="1" height="1" fill="#10141F" />
+<rect x="9" y="7" width="1" height="1" fill="#10141F" />
+<rect x="10" y="7" width="1" height="1" fill="#10141F" />
+<rect x="11" y="7" width="1" height="1" fill="#341C27" />
+<rect x="12" y="7" width="1" height="1" fill="#10141F" />
+<rect x="13" y="7" width="1" height="1" fill="#10141F" />
+<rect x="14" y="7" width="1" height="1" fill="#10141F" />
+<rect x="15" y="7" width="1" height="1" fill="#10141F" />
+<rect x="32" y="7" width="1" height="1" fill="#10141F" />
+<rect x="33" y="7" width="1" height="1" fill="#10141F" />
+<rect x="34" y="7" width="1" height="1" fill="#10141F" />
+<rect x="35" y="7" width="1" height="1" fill="#21121D" />
+<rect x="36" y="7" width="1" height="1" fill="#21121D" />
+<rect x="37" y="7" width="1" height="1" fill="#341C27" />
+<rect x="38" y="7" width="1" height="1" fill="#10141F" />
+<rect x="39" y="7" width="1" height="1" fill="#10141F" />
+<rect x="40" y="7" width="1" height="1" fill="#10141F" />
+<rect x="41" y="7" width="1" height="1" fill="#10141F" />
+<rect x="5" y="8" width="1" height="1" fill="#10141F" />
+<rect x="6" y="8" width="1" height="1" fill="#10141F" />
+<rect x="7" y="8" width="1" height="1" fill="#10141F" />
+<rect x="8" y="8" width="1" height="1" fill="#10141F" />
+<rect x="9" y="8" width="1" height="1" fill="#21121D" />
+<rect x="10" y="8" width="1" height="1" fill="#21121D" />
+<rect x="11" y="8" width="1" height="1" fill="#341C27" />
+<rect x="12" y="8" width="1" height="1" fill="#341C27" />
+<rect x="13" y="8" width="1" height="1" fill="#10141F" />
+<rect x="14" y="8" width="1" height="1" fill="#10141F" />
+<rect x="15" y="8" width="1" height="1" fill="#10141F" />
+<rect x="16" y="8" width="1" height="1" fill="#10141F" />
+<rect x="32" y="8" width="1" height="1" fill="#10141F" />
+<rect x="33" y="8" width="1" height="1" fill="#10141F" />
+<rect x="34" y="8" width="1" height="1" fill="#10141F" />
+<rect x="35" y="8" width="1" height="1" fill="#21121D" />
+<rect x="36" y="8" width="1" height="1" fill="#341C27" />
+<rect x="37" y="8" width="1" height="1" fill="#341C27" />
+<rect x="38" y="8" width="1" height="1" fill="#341C27" />
+<rect x="39" y="8" width="1" height="1" fill="#10141F" />
+<rect x="40" y="8" width="1" height="1" fill="#10141F" />
+<rect x="41" y="8" width="1" height="1" fill="#10141F" />
+<rect x="5" y="9" width="1" height="1" fill="#10141F" />
+<rect x="6" y="9" width="1" height="1" fill="#10141F" />
+<rect x="7" y="9" width="1" height="1" fill="#10141F" />
+<rect x="8" y="9" width="1" height="1" fill="#10141F" />
+<rect x="9" y="9" width="1" height="1" fill="#21121D" />
+<rect x="10" y="9" width="1" height="1" fill="#21121D" />
+<rect x="11" y="9" width="1" height="1" fill="#21121D" />
+<rect x="12" y="9" width="1" height="1" fill="#341C27" />
+<rect x="13" y="9" width="1" height="1" fill="#341C27" />
+<rect x="14" y="9" width="1" height="1" fill="#10141F" />
+<rect x="15" y="9" width="1" height="1" fill="#10141F" />
+<rect x="16" y="9" width="1" height="1" fill="#10141F" />
+<rect x="17" y="9" width="1" height="1" fill="#10141F" />
+<rect x="21" y="9" width="1" height="1" fill="#10141F" />
+<rect x="22" y="9" width="1" height="1" fill="#10141F" />
+<rect x="23" y="9" width="1" height="1" fill="#10141F" />
+<rect x="24" y="9" width="1" height="1" fill="#10141F" />
+<rect x="25" y="9" width="1" height="1" fill="#10141F" />
+<rect x="26" y="9" width="1" height="1" fill="#10141F" />
+<rect x="27" y="9" width="1" height="1" fill="#10141F" />
+<rect x="31" y="9" width="1" height="1" fill="#10141F" />
+<rect x="32" y="9" width="1" height="1" fill="#10141F" />
+<rect x="33" y="9" width="1" height="1" fill="#10141F" />
+<rect x="34" y="9" width="1" height="1" fill="#21121D" />
+<rect x="35" y="9" width="1" height="1" fill="#21121D" />
+<rect x="36" y="9" width="1" height="1" fill="#341C27" />
+<rect x="37" y="9" width="1" height="1" fill="#341C27" />
+<rect x="38" y="9" width="1" height="1" fill="#341C27" />
+<rect x="39" y="9" width="1" height="1" fill="#10141F" />
+<rect x="40" y="9" width="1" height="1" fill="#10141F" />
+<rect x="41" y="9" width="1" height="1" fill="#10141F" />
+<rect x="6" y="10" width="1" height="1" fill="#10141F" />
+<rect x="7" y="10" width="1" height="1" fill="#10141F" />
+<rect x="8" y="10" width="1" height="1" fill="#10141F" />
+<rect x="9" y="10" width="1" height="1" fill="#10141F" />
+<rect x="10" y="10" width="1" height="1" fill="#21121D" />
+<rect x="11" y="10" width="1" height="1" fill="#21121D" />
+<rect x="12" y="10" width="1" height="1" fill="#21121D" />
+<rect x="13" y="10" width="1" height="1" fill="#341C27" />
+<rect x="14" y="10" width="1" height="1" fill="#341C27" />
+<rect x="15" y="10" width="1" height="1" fill="#10141F" />
+<rect x="16" y="10" width="1" height="1" fill="#10141F" />
+<rect x="17" y="10" width="1" height="1" fill="#10141F" />
+<rect x="18" y="10" width="1" height="1" fill="#10141F" />
+<rect x="19" y="10" width="1" height="1" fill="#10141F" />
+<rect x="20" y="10" width="1" height="1" fill="#10141F" />
+<rect x="21" y="10" width="1" height="1" fill="#10141F" />
+<rect x="22" y="10" width="1" height="1" fill="#10141F" />
+<rect x="23" y="10" width="1" height="1" fill="#10141F" />
+<rect x="24" y="10" width="1" height="1" fill="#10141F" />
+<rect x="25" y="10" width="1" height="1" fill="#10141F" />
+<rect x="26" y="10" width="1" height="1" fill="#10141F" />
+<rect x="27" y="10" width="1" height="1" fill="#10141F" />
+<rect x="28" y="10" width="1" height="1" fill="#10141F" />
+<rect x="29" y="10" width="1" height="1" fill="#10141F" />
+<rect x="30" y="10" width="1" height="1" fill="#10141F" />
+<rect x="31" y="10" width="1" height="1" fill="#10141F" />
+<rect x="32" y="10" width="1" height="1" fill="#10141F" />
+<rect x="33" y="10" width="1" height="1" fill="#10141F" />
+<rect x="34" y="10" width="1" height="1" fill="#21121D" />
+<rect x="35" y="10" width="1" height="1" fill="#21121D" />
+<rect x="36" y="10" width="1" height="1" fill="#341C27" />
+<rect x="37" y="10" width="1" height="1" fill="#341C27" />
+<rect x="38" y="10" width="1" height="1" fill="#10141F" />
+<rect x="39" y="10" width="1" height="1" fill="#10141F" />
+<rect x="40" y="10" width="1" height="1" fill="#10141F" />
+<rect x="7" y="11" width="1" height="1" fill="#10141F" />
+<rect x="8" y="11" width="1" height="1" fill="#10141F" />
+<rect x="9" y="11" width="1" height="1" fill="#10141F" />
+<rect x="10" y="11" width="1" height="1" fill="#21121D" />
+<rect x="11" y="11" width="1" height="1" fill="#21121D" />
+<rect x="12" y="11" width="1" height="1" fill="#21121D" />
+<rect x="13" y="11" width="1" height="1" fill="#21121D" />
+<rect x="14" y="11" width="1" height="1" fill="#341C27" />
+<rect x="15" y="11" width="1" height="1" fill="#341C27" />
+<rect x="16" y="11" width="1" height="1" fill="#10141F" />
+<rect x="17" y="11" width="1" height="1" fill="#10141F" />
+<rect x="18" y="11" width="1" height="1" fill="#10141F" />
+<rect x="19" y="11" width="1" height="1" fill="#10141F" />
+<rect x="20" y="11" width="1" height="1" fill="#10141F" />
+<rect x="21" y="11" width="1" height="1" fill="#10141F" />
+<rect x="22" y="11" width="1" height="1" fill="#10141F" />
+<rect x="23" y="11" width="1" height="1" fill="#10141F" />
+<rect x="24" y="11" width="1" height="1" fill="#10141F" />
+<rect x="25" y="11" width="1" height="1" fill="#10141F" />
+<rect x="26" y="11" width="1" height="1" fill="#10141F" />
+<rect x="27" y="11" width="1" height="1" fill="#10141F" />
+<rect x="28" y="11" width="1" height="1" fill="#10141F" />
+<rect x="29" y="11" width="1" height="1" fill="#10141F" />
+<rect x="30" y="11" width="1" height="1" fill="#10141F" />
+<rect x="31" y="11" width="1" height="1" fill="#10141F" />
+<rect x="32" y="11" width="1" height="1" fill="#10141F" />
+<rect x="33" y="11" width="1" height="1" fill="#21121D" />
+<rect x="34" y="11" width="1" height="1" fill="#21121D" />
+<rect x="35" y="11" width="1" height="1" fill="#341C27" />
+<rect x="36" y="11" width="1" height="1" fill="#341C27" />
+<rect x="37" y="11" width="1" height="1" fill="#341C27" />
+<rect x="38" y="11" width="1" height="1" fill="#10141F" />
+<rect x="39" y="11" width="1" height="1" fill="#10141F" />
+<rect x="40" y="11" width="1" height="1" fill="#10141F" />
+<rect x="8" y="12" width="1" height="1" fill="#10141F" />
+<rect x="9" y="12" width="1" height="1" fill="#10141F" />
+<rect x="10" y="12" width="1" height="1" fill="#10141F" />
+<rect x="11" y="12" width="1" height="1" fill="#21121D" />
+<rect x="12" y="12" width="1" height="1" fill="#21121D" />
+<rect x="13" y="12" width="1" height="1" fill="#21121D" />
+<rect x="14" y="12" width="1" height="1" fill="#21121D" />
+<rect x="15" y="12" width="1" height="1" fill="#341C27" />
+<rect x="16" y="12" width="1" height="1" fill="#10141F" />
+<rect x="17" y="12" width="1" height="1" fill="#10141F" />
+<rect x="18" y="12" width="1" height="1" fill="#10141F" />
+<rect x="19" y="12" width="1" height="1" fill="#10141F" />
+<rect x="20" y="12" width="1" height="1" fill="#10141F" />
+<rect x="21" y="12" width="1" height="1" fill="#32825E" />
+<rect x="22" y="12" width="1" height="1" fill="#32825E" />
+<rect x="23" y="12" width="1" height="1" fill="#32825E" />
+<rect x="24" y="12" width="1" height="1" fill="#32825E" />
+<rect x="25" y="12" width="1" height="1" fill="#32825E" />
+<rect x="26" y="12" width="1" height="1" fill="#32825E" />
+<rect x="27" y="12" width="1" height="1" fill="#32825E" />
+<rect x="28" y="12" width="1" height="1" fill="#10141F" />
+<rect x="29" y="12" width="1" height="1" fill="#10141F" />
+<rect x="30" y="12" width="1" height="1" fill="#10141F" />
+<rect x="31" y="12" width="1" height="1" fill="#10141F" />
+<rect x="32" y="12" width="1" height="1" fill="#10141F" />
+<rect x="33" y="12" width="1" height="1" fill="#21121D" />
+<rect x="34" y="12" width="1" height="1" fill="#21121D" />
+<rect x="35" y="12" width="1" height="1" fill="#341C27" />
+<rect x="36" y="12" width="1" height="1" fill="#341C27" />
+<rect x="37" y="12" width="1" height="1" fill="#10141F" />
+<rect x="38" y="12" width="1" height="1" fill="#10141F" />
+<rect x="39" y="12" width="1" height="1" fill="#10141F" />
+<rect x="8" y="13" width="1" height="1" fill="#10141F" />
+<rect x="9" y="13" width="1" height="1" fill="#10141F" />
+<rect x="10" y="13" width="1" height="1" fill="#10141F" />
+<rect x="11" y="13" width="1" height="1" fill="#10141F" />
+<rect x="12" y="13" width="1" height="1" fill="#21121D" />
+<rect x="13" y="13" width="1" height="1" fill="#21121D" />
+<rect x="14" y="13" width="1" height="1" fill="#21121D" />
+<rect x="15" y="13" width="1" height="1" fill="#21121D" />
+<rect x="16" y="13" width="1" height="1" fill="#21121D" />
+<rect x="17" y="13" width="1" height="1" fill="#10141F" />
+<rect x="18" y="13" width="1" height="1" fill="#10141F" />
+<rect x="19" y="13" width="1" height="1" fill="#10141F" />
+<rect x="20" y="13" width="1" height="1" fill="#10141F" />
+<rect x="21" y="13" width="1" height="1" fill="#32825E" />
+<rect x="22" y="13" width="1" height="1" fill="#32825E" />
+<rect x="23" y="13" width="1" height="1" fill="#32825E" />
+<rect x="24" y="13" width="1" height="1" fill="#32825E" />
+<rect x="25" y="13" width="1" height="1" fill="#32825E" />
+<rect x="26" y="13" width="1" height="1" fill="#32825E" />
+<rect x="27" y="13" width="1" height="1" fill="#32825E" />
+<rect x="28" y="13" width="1" height="1" fill="#32825E" />
+<rect x="29" y="13" width="1" height="1" fill="#10141F" />
+<rect x="30" y="13" width="1" height="1" fill="#10141F" />
+<rect x="31" y="13" width="1" height="1" fill="#10141F" />
+<rect x="32" y="13" width="1" height="1" fill="#21121D" />
+<rect x="33" y="13" width="1" height="1" fill="#21121D" />
+<rect x="34" y="13" width="1" height="1" fill="#341C27" />
+<rect x="35" y="13" width="1" height="1" fill="#341C27" />
+<rect x="36" y="13" width="1" height="1" fill="#10141F" />
+<rect x="37" y="13" width="1" height="1" fill="#10141F" />
+<rect x="38" y="13" width="1" height="1" fill="#10141F" />
+<rect x="39" y="13" width="1" height="1" fill="#10141F" />
+<rect x="9" y="14" width="1" height="1" fill="#10141F" />
+<rect x="10" y="14" width="1" height="1" fill="#10141F" />
+<rect x="11" y="14" width="1" height="1" fill="#10141F" />
+<rect x="12" y="14" width="1" height="1" fill="#10141F" />
+<rect x="13" y="14" width="1" height="1" fill="#21121D" />
+<rect x="14" y="14" width="1" height="1" fill="#21121D" />
+<rect x="15" y="14" width="1" height="1" fill="#21121D" />
+<rect x="16" y="14" width="1" height="1" fill="#21121D" />
+<rect x="17" y="14" width="1" height="1" fill="#21121D" />
+<rect x="18" y="14" width="1" height="1" fill="#10141F" />
+<rect x="19" y="14" width="1" height="1" fill="#10141F" />
+<rect x="20" y="14" width="1" height="1" fill="#10141F" />
+<rect x="21" y="14" width="1" height="1" fill="#10141F" />
+<rect x="22" y="14" width="1" height="1" fill="#32825E" />
+<rect x="23" y="14" width="1" height="1" fill="#32825E" />
+<rect x="24" y="14" width="1" height="1" fill="#32825E" />
+<rect x="25" y="14" width="1" height="1" fill="#32825E" />
+<rect x="26" y="14" width="1" height="1" fill="#32825E" />
+<rect x="27" y="14" width="1" height="1" fill="#32825E" />
+<rect x="28" y="14" width="1" height="1" fill="#10141F" />
+<rect x="29" y="14" width="1" height="1" fill="#10141F" />
+<rect x="30" y="14" width="1" height="1" fill="#10141F" />
+<rect x="31" y="14" width="1" height="1" fill="#10141F" />
+<rect x="32" y="14" width="1" height="1" fill="#21121D" />
+<rect x="33" y="14" width="1" height="1" fill="#21121D" />
+<rect x="34" y="14" width="1" height="1" fill="#341C27" />
+<rect x="35" y="14" width="1" height="1" fill="#341C27" />
+<rect x="36" y="14" width="1" height="1" fill="#10141F" />
+<rect x="37" y="14" width="1" height="1" fill="#10141F" />
+<rect x="38" y="14" width="1" height="1" fill="#10141F" />
+<rect x="10" y="15" width="1" height="1" fill="#10141F" />
+<rect x="11" y="15" width="1" height="1" fill="#10141F" />
+<rect x="12" y="15" width="1" height="1" fill="#10141F" />
+<rect x="13" y="15" width="1" height="1" fill="#21121D" />
+<rect x="14" y="15" width="1" height="1" fill="#21121D" />
+<rect x="15" y="15" width="1" height="1" fill="#21121D" />
+<rect x="16" y="15" width="1" height="1" fill="#21121D" />
+<rect x="17" y="15" width="1" height="1" fill="#21121D" />
+<rect x="18" y="15" width="1" height="1" fill="#21121D" />
+<rect x="19" y="15" width="1" height="1" fill="#10141F" />
+<rect x="20" y="15" width="1" height="1" fill="#10141F" />
+<rect x="21" y="15" width="1" height="1" fill="#10141F" />
+<rect x="22" y="15" width="1" height="1" fill="#10141F" />
+<rect x="23" y="15" width="1" height="1" fill="#32825E" />
+<rect x="24" y="15" width="1" height="1" fill="#32825E" />
+<rect x="25" y="15" width="1" height="1" fill="#32825E" />
+<rect x="26" y="15" width="1" height="1" fill="#32825E" />
+<rect x="27" y="15" width="1" height="1" fill="#32825E" />
+<rect x="28" y="15" width="1" height="1" fill="#10141F" />
+<rect x="29" y="15" width="1" height="1" fill="#10141F" />
+<rect x="30" y="15" width="1" height="1" fill="#10141F" />
+<rect x="31" y="15" width="1" height="1" fill="#21121D" />
+<rect x="32" y="15" width="1" height="1" fill="#21121D" />
+<rect x="33" y="15" width="1" height="1" fill="#21121D" />
+<rect x="34" y="15" width="1" height="1" fill="#341C27" />
+<rect x="35" y="15" width="1" height="1" fill="#10141F" />
+<rect x="36" y="15" width="1" height="1" fill="#10141F" />
+<rect x="37" y="15" width="1" height="1" fill="#10141F" />
+<rect x="38" y="15" width="1" height="1" fill="#10141F" />
+<rect x="10" y="16" width="1" height="1" fill="#10141F" />
+<rect x="11" y="16" width="1" height="1" fill="#10141F" />
+<rect x="12" y="16" width="1" height="1" fill="#10141F" />
+<rect x="13" y="16" width="1" height="1" fill="#10141F" />
+<rect x="14" y="16" width="1" height="1" fill="#21121D" />
+<rect x="15" y="16" width="1" height="1" fill="#21121D" />
+<rect x="16" y="16" width="1" height="1" fill="#21121D" />
+<rect x="17" y="16" width="1" height="1" fill="#21121D" />
+<rect x="18" y="16" width="1" height="1" fill="#21121D" />
+<rect x="19" y="16" width="1" height="1" fill="#21121D" />
+<rect x="20" y="16" width="1" height="1" fill="#10141F" />
+<rect x="21" y="16" width="1" height="1" fill="#10141F" />
+<rect x="22" y="16" width="1" height="1" fill="#10141F" />
+<rect x="23" y="16" width="1" height="1" fill="#10141F" />
+<rect x="24" y="16" width="1" height="1" fill="#32825E" />
+<rect x="25" y="16" width="1" height="1" fill="#32825E" />
+<rect x="26" y="16" width="1" height="1" fill="#32825E" />
+<rect x="27" y="16" width="1" height="1" fill="#10141F" />
+<rect x="28" y="16" width="1" height="1" fill="#10141F" />
+<rect x="29" y="16" width="1" height="1" fill="#10141F" />
+<rect x="30" y="16" width="1" height="1" fill="#10141F" />
+<rect x="31" y="16" width="1" height="1" fill="#21121D" />
+<rect x="32" y="16" width="1" height="1" fill="#21121D" />
+<rect x="33" y="16" width="1" height="1" fill="#21121D" />
+<rect x="34" y="16" width="1" height="1" fill="#341C27" />
+<rect x="35" y="16" width="1" height="1" fill="#10141F" />
+<rect x="36" y="16" width="1" height="1" fill="#10141F" />
+<rect x="37" y="16" width="1" height="1" fill="#10141F" />
+<rect x="38" y="16" width="1" height="1" fill="#10141F" />
+<rect x="39" y="16" width="1" height="1" fill="#10141F" />
+<rect x="9" y="17" width="1" height="1" fill="#10141F" />
+<rect x="10" y="17" width="1" height="1" fill="#10141F" />
+<rect x="11" y="17" width="1" height="1" fill="#10141F" />
+<rect x="12" y="17" width="1" height="1" fill="#10141F" />
+<rect x="13" y="17" width="1" height="1" fill="#10141F" />
+<rect x="14" y="17" width="1" height="1" fill="#10141F" />
+<rect x="15" y="17" width="1" height="1" fill="#21121D" />
+<rect x="16" y="17" width="1" height="1" fill="#21121D" />
+<rect x="17" y="17" width="1" height="1" fill="#21121D" />
+<rect x="18" y="17" width="1" height="1" fill="#21121D" />
+<rect x="19" y="17" width="1" height="1" fill="#21121D" />
+<rect x="20" y="17" width="1" height="1" fill="#21121D" />
+<rect x="21" y="17" width="1" height="1" fill="#10141F" />
+<rect x="22" y="17" width="1" height="1" fill="#10141F" />
+<rect x="23" y="17" width="1" height="1" fill="#10141F" />
+<rect x="24" y="17" width="1" height="1" fill="#32825E" />
+<rect x="25" y="17" width="1" height="1" fill="#32825E" />
+<rect x="26" y="17" width="1" height="1" fill="#32825E" />
+<rect x="27" y="17" width="1" height="1" fill="#10141F" />
+<rect x="28" y="17" width="1" height="1" fill="#10141F" />
+<rect x="29" y="17" width="1" height="1" fill="#10141F" />
+<rect x="30" y="17" width="1" height="1" fill="#10141F" />
+<rect x="31" y="17" width="1" height="1" fill="#21121D" />
+<rect x="32" y="17" width="1" height="1" fill="#21121D" />
+<rect x="33" y="17" width="1" height="1" fill="#21121D" />
+<rect x="34" y="17" width="1" height="1" fill="#341C27" />
+<rect x="35" y="17" width="1" height="1" fill="#10141F" />
+<rect x="36" y="17" width="1" height="1" fill="#10141F" />
+<rect x="37" y="17" width="1" height="1" fill="#10141F" />
+<rect x="38" y="17" width="1" height="1" fill="#10141F" />
+<rect x="39" y="17" width="1" height="1" fill="#10141F" />
+<rect x="40" y="17" width="1" height="1" fill="#10141F" />
+<rect x="8" y="18" width="1" height="1" fill="#10141F" />
+<rect x="9" y="18" width="1" height="1" fill="#10141F" />
+<rect x="10" y="18" width="1" height="1" fill="#10141F" />
+<rect x="11" y="18" width="1" height="1" fill="#10141F" />
+<rect x="12" y="18" width="1" height="1" fill="#10141F" />
+<rect x="13" y="18" width="1" height="1" fill="#10141F" />
+<rect x="14" y="18" width="1" height="1" fill="#10141F" />
+<rect x="15" y="18" width="1" height="1" fill="#10141F" />
+<rect x="16" y="18" width="1" height="1" fill="#21121D" />
+<rect x="17" y="18" width="1" height="1" fill="#21121D" />
+<rect x="18" y="18" width="1" height="1" fill="#21121D" />
+<rect x="19" y="18" width="1" height="1" fill="#10141F" />
+<rect x="20" y="18" width="1" height="1" fill="#10141F" />
+<rect x="21" y="18" width="1" height="1" fill="#10141F" />
+<rect x="22" y="18" width="1" height="1" fill="#10141F" />
+<rect x="23" y="18" width="1" height="1" fill="#10141F" />
+<rect x="24" y="18" width="1" height="1" fill="#32825E" />
+<rect x="25" y="18" width="1" height="1" fill="#32825E" />
+<rect x="26" y="18" width="1" height="1" fill="#32825E" />
+<rect x="27" y="18" width="1" height="1" fill="#32825E" />
+<rect x="28" y="18" width="1" height="1" fill="#10141F" />
+<rect x="29" y="18" width="1" height="1" fill="#10141F" />
+<rect x="30" y="18" width="1" height="1" fill="#10141F" />
+<rect x="31" y="18" width="1" height="1" fill="#10141F" />
+<rect x="32" y="18" width="1" height="1" fill="#10141F" />
+<rect x="33" y="18" width="1" height="1" fill="#21121D" />
+<rect x="34" y="18" width="1" height="1" fill="#10141F" />
+<rect x="35" y="18" width="1" height="1" fill="#10141F" />
+<rect x="36" y="18" width="1" height="1" fill="#10141F" />
+<rect x="37" y="18" width="1" height="1" fill="#32825E" />
+<rect x="38" y="18" width="1" height="1" fill="#10141F" />
+<rect x="39" y="18" width="1" height="1" fill="#10141F" />
+<rect x="40" y="18" width="1" height="1" fill="#10141F" />
+<rect x="41" y="18" width="1" height="1" fill="#10141F" />
+<rect x="8" y="19" width="1" height="1" fill="#10141F" />
+<rect x="9" y="19" width="1" height="1" fill="#10141F" />
+<rect x="10" y="19" width="1" height="1" fill="#10141F" />
+<rect x="11" y="19" width="1" height="1" fill="#255648" />
+<rect x="12" y="19" width="1" height="1" fill="#255648" />
+<rect x="13" y="19" width="1" height="1" fill="#10141F" />
+<rect x="14" y="19" width="1" height="1" fill="#10141F" />
+<rect x="15" y="19" width="1" height="1" fill="#10141F" />
+<rect x="16" y="19" width="1" height="1" fill="#10141F" />
+<rect x="17" y="19" width="1" height="1" fill="#10141F" />
+<rect x="18" y="19" width="1" height="1" fill="#10141F" />
+<rect x="19" y="19" width="1" height="1" fill="#10141F" />
+<rect x="20" y="19" width="1" height="1" fill="#10141F" />
+<rect x="21" y="19" width="1" height="1" fill="#10141F" />
+<rect x="22" y="19" width="1" height="1" fill="#10141F" />
+<rect x="23" y="19" width="1" height="1" fill="#32825E" />
+<rect x="24" y="19" width="1" height="1" fill="#32825E" />
+<rect x="25" y="19" width="1" height="1" fill="#32825E" />
+<rect x="26" y="19" width="1" height="1" fill="#32825E" />
+<rect x="27" y="19" width="1" height="1" fill="#32825E" />
+<rect x="28" y="19" width="1" height="1" fill="#32825E" />
+<rect x="29" y="19" width="1" height="1" fill="#10141F" />
+<rect x="30" y="19" width="1" height="1" fill="#10141F" />
+<rect x="31" y="19" width="1" height="1" fill="#10141F" />
+<rect x="32" y="19" width="1" height="1" fill="#10141F" />
+<rect x="33" y="19" width="1" height="1" fill="#10141F" />
+<rect x="34" y="19" width="1" height="1" fill="#10141F" />
+<rect x="35" y="19" width="1" height="1" fill="#10141F" />
+<rect x="36" y="19" width="1" height="1" fill="#10141F" />
+<rect x="37" y="19" width="1" height="1" fill="#32825E" />
+<rect x="38" y="19" width="1" height="1" fill="#32825E" />
+<rect x="39" y="19" width="1" height="1" fill="#10141F" />
+<rect x="40" y="19" width="1" height="1" fill="#10141F" />
+<rect x="41" y="19" width="1" height="1" fill="#10141F" />
+<rect x="8" y="20" width="1" height="1" fill="#10141F" />
+<rect x="9" y="20" width="1" height="1" fill="#10141F" />
+<rect x="10" y="20" width="1" height="1" fill="#10141F" />
+<rect x="11" y="20" width="1" height="1" fill="#255648" />
+<rect x="12" y="20" width="1" height="1" fill="#255648" />
+<rect x="13" y="20" width="1" height="1" fill="#255648" />
+<rect x="14" y="20" width="1" height="1" fill="#10141F" />
+<rect x="15" y="20" width="1" height="1" fill="#10141F" />
+<rect x="16" y="20" width="1" height="1" fill="#10141F" />
+<rect x="17" y="20" width="1" height="1" fill="#10141F" />
+<rect x="18" y="20" width="1" height="1" fill="#10141F" />
+<rect x="19" y="20" width="1" height="1" fill="#10141F" />
+<rect x="20" y="20" width="1" height="1" fill="#10141F" />
+<rect x="21" y="20" width="1" height="1" fill="#10141F" />
+<rect x="22" y="20" width="1" height="1" fill="#10141F" />
+<rect x="23" y="20" width="1" height="1" fill="#32825E" />
+<rect x="24" y="20" width="1" height="1" fill="#32825E" />
+<rect x="25" y="20" width="1" height="1" fill="#32825E" />
+<rect x="26" y="20" width="1" height="1" fill="#32825E" />
+<rect x="27" y="20" width="1" height="1" fill="#32825E" />
+<rect x="28" y="20" width="1" height="1" fill="#32825E" />
+<rect x="29" y="20" width="1" height="1" fill="#10141F" />
+<rect x="30" y="20" width="1" height="1" fill="#10141F" />
+<rect x="31" y="20" width="1" height="1" fill="#10141F" />
+<rect x="32" y="20" width="1" height="1" fill="#10141F" />
+<rect x="33" y="20" width="1" height="1" fill="#10141F" />
+<rect x="34" y="20" width="1" height="1" fill="#10141F" />
+<rect x="35" y="20" width="1" height="1" fill="#10141F" />
+<rect x="36" y="20" width="1" height="1" fill="#32825E" />
+<rect x="37" y="20" width="1" height="1" fill="#32825E" />
+<rect x="38" y="20" width="1" height="1" fill="#32825E" />
+<rect x="39" y="20" width="1" height="1" fill="#10141F" />
+<rect x="40" y="20" width="1" height="1" fill="#10141F" />
+<rect x="41" y="20" width="1" height="1" fill="#10141F" />
+<rect x="42" y="20" width="1" height="1" fill="#10141F" />
+<rect x="7" y="21" width="1" height="1" fill="#10141F" />
+<rect x="8" y="21" width="1" height="1" fill="#10141F" />
+<rect x="9" y="21" width="1" height="1" fill="#10141F" />
+<rect x="10" y="21" width="1" height="1" fill="#255648" />
+<rect x="11" y="21" width="1" height="1" fill="#255648" />
+<rect x="12" y="21" width="1" height="1" fill="#255648" />
+<rect x="13" y="21" width="1" height="1" fill="#255648" />
+<rect x="14" y="21" width="1" height="1" fill="#255648" />
+<rect x="15" y="21" width="1" height="1" fill="#10141F" />
+<rect x="16" y="21" width="1" height="1" fill="#10141F" />
+<rect x="17" y="21" width="1" height="1" fill="#10141F" />
+<rect x="18" y="21" width="1" height="1" fill="#10141F" />
+<rect x="19" y="21" width="1" height="1" fill="#10141F" />
+<rect x="20" y="21" width="1" height="1" fill="#10141F" />
+<rect x="21" y="21" width="1" height="1" fill="#10141F" />
+<rect x="22" y="21" width="1" height="1" fill="#10141F" />
+<rect x="23" y="21" width="1" height="1" fill="#32825E" />
+<rect x="24" y="21" width="1" height="1" fill="#32825E" />
+<rect x="25" y="21" width="1" height="1" fill="#32825E" />
+<rect x="26" y="21" width="1" height="1" fill="#32825E" />
+<rect x="27" y="21" width="1" height="1" fill="#32825E" />
+<rect x="28" y="21" width="1" height="1" fill="#32825E" />
+<rect x="29" y="21" width="1" height="1" fill="#10141F" />
+<rect x="30" y="21" width="1" height="1" fill="#10141F" />
+<rect x="31" y="21" width="1" height="1" fill="#10141F" />
+<rect x="32" y="21" width="1" height="1" fill="#10141F" />
+<rect x="33" y="21" width="1" height="1" fill="#10141F" />
+<rect x="34" y="21" width="1" height="1" fill="#10141F" />
+<rect x="35" y="21" width="1" height="1" fill="#10141F" />
+<rect x="36" y="21" width="1" height="1" fill="#32825E" />
+<rect x="37" y="21" width="1" height="1" fill="#32825E" />
+<rect x="38" y="21" width="1" height="1" fill="#32825E" />
+<rect x="39" y="21" width="1" height="1" fill="#32825E" />
+<rect x="40" y="21" width="1" height="1" fill="#10141F" />
+<rect x="41" y="21" width="1" height="1" fill="#10141F" />
+<rect x="42" y="21" width="1" height="1" fill="#10141F" />
+<rect x="7" y="22" width="1" height="1" fill="#10141F" />
+<rect x="8" y="22" width="1" height="1" fill="#10141F" />
+<rect x="9" y="22" width="1" height="1" fill="#10141F" />
+<rect x="10" y="22" width="1" height="1" fill="#255648" />
+<rect x="11" y="22" width="1" height="1" fill="#255648" />
+<rect x="12" y="22" width="1" height="1" fill="#255648" />
+<rect x="13" y="22" width="1" height="1" fill="#255648" />
+<rect x="14" y="22" width="1" height="1" fill="#255648" />
+<rect x="15" y="22" width="1" height="1" fill="#32825E" />
+<rect x="16" y="22" width="1" height="1" fill="#10141F" />
+<rect x="17" y="22" width="1" height="1" fill="#10141F" />
+<rect x="18" y="22" width="1" height="1" fill="#32825E" />
+<rect x="19" y="22" width="1" height="1" fill="#10141F" />
+<rect x="20" y="22" width="1" height="1" fill="#10141F" />
+<rect x="21" y="22" width="1" height="1" fill="#10141F" />
+<rect x="22" y="22" width="1" height="1" fill="#10141F" />
+<rect x="23" y="22" width="1" height="1" fill="#32825E" />
+<rect x="24" y="22" width="1" height="1" fill="#32825E" />
+<rect x="25" y="22" width="1" height="1" fill="#32825E" />
+<rect x="26" y="22" width="1" height="1" fill="#32825E" />
+<rect x="27" y="22" width="1" height="1" fill="#32825E" />
+<rect x="28" y="22" width="1" height="1" fill="#10141F" />
+<rect x="29" y="22" width="1" height="1" fill="#10141F" />
+<rect x="30" y="22" width="1" height="1" fill="#10141F" />
+<rect x="31" y="22" width="1" height="1" fill="#10141F" />
+<rect x="32" y="22" width="1" height="1" fill="#10141F" />
+<rect x="33" y="22" width="1" height="1" fill="#32825E" />
+<rect x="34" y="22" width="1" height="1" fill="#32825E" />
+<rect x="35" y="22" width="1" height="1" fill="#32825E" />
+<rect x="36" y="22" width="1" height="1" fill="#32825E" />
+<rect x="37" y="22" width="1" height="1" fill="#32825E" />
+<rect x="38" y="22" width="1" height="1" fill="#32825E" />
+<rect x="39" y="22" width="1" height="1" fill="#32825E" />
+<rect x="40" y="22" width="1" height="1" fill="#32825E" />
+<rect x="41" y="22" width="1" height="1" fill="#10141F" />
+<rect x="42" y="22" width="1" height="1" fill="#10141F" />
+<rect x="43" y="22" width="1" height="1" fill="#10141F" />
+<rect x="6" y="23" width="1" height="1" fill="#10141F" />
+<rect x="7" y="23" width="1" height="1" fill="#10141F" />
+<rect x="8" y="23" width="1" height="1" fill="#10141F" />
+<rect x="9" y="23" width="1" height="1" fill="#255648" />
+<rect x="10" y="23" width="1" height="1" fill="#255648" />
+<rect x="11" y="23" width="1" height="1" fill="#255648" />
+<rect x="12" y="23" width="1" height="1" fill="#255648" />
+<rect x="13" y="23" width="1" height="1" fill="#255648" />
+<rect x="14" y="23" width="1" height="1" fill="#255648" />
+<rect x="15" y="23" width="1" height="1" fill="#32825E" />
+<rect x="16" y="23" width="1" height="1" fill="#32825E" />
+<rect x="17" y="23" width="1" height="1" fill="#32825E" />
+<rect x="18" y="23" width="1" height="1" fill="#32825E" />
+<rect x="19" y="23" width="1" height="1" fill="#10141F" />
+<rect x="20" y="23" width="1" height="1" fill="#10141F" />
+<rect x="21" y="23" width="1" height="1" fill="#10141F" />
+<rect x="22" y="23" width="1" height="1" fill="#10141F" />
+<rect x="23" y="23" width="1" height="1" fill="#10141F" />
+<rect x="24" y="23" width="1" height="1" fill="#32825E" />
+<rect x="25" y="23" width="1" height="1" fill="#32825E" />
+<rect x="26" y="23" width="1" height="1" fill="#32825E" />
+<rect x="27" y="23" width="1" height="1" fill="#32825E" />
+<rect x="28" y="23" width="1" height="1" fill="#10141F" />
+<rect x="29" y="23" width="1" height="1" fill="#10141F" />
+<rect x="30" y="23" width="1" height="1" fill="#10141F" />
+<rect x="31" y="23" width="1" height="1" fill="#10141F" />
+<rect x="32" y="23" width="1" height="1" fill="#10141F" />
+<rect x="33" y="23" width="1" height="1" fill="#32825E" />
+<rect x="34" y="23" width="1" height="1" fill="#32825E" />
+<rect x="35" y="23" width="1" height="1" fill="#32825E" />
+<rect x="36" y="23" width="1" height="1" fill="#32825E" />
+<rect x="37" y="23" width="1" height="1" fill="#32825E" />
+<rect x="38" y="23" width="1" height="1" fill="#32825E" />
+<rect x="39" y="23" width="1" height="1" fill="#32825E" />
+<rect x="40" y="23" width="1" height="1" fill="#32825E" />
+<rect x="41" y="23" width="1" height="1" fill="#10141F" />
+<rect x="42" y="23" width="1" height="1" fill="#10141F" />
+<rect x="43" y="23" width="1" height="1" fill="#10141F" />
+<rect x="6" y="24" width="1" height="1" fill="#10141F" />
+<rect x="7" y="24" width="1" height="1" fill="#10141F" />
+<rect x="8" y="24" width="1" height="1" fill="#10141F" />
+<rect x="9" y="24" width="1" height="1" fill="#255648" />
+<rect x="10" y="24" width="1" height="1" fill="#255648" />
+<rect x="11" y="24" width="1" height="1" fill="#255648" />
+<rect x="12" y="24" width="1" height="1" fill="#255648" />
+<rect x="13" y="24" width="1" height="1" fill="#255648" />
+<rect x="14" y="24" width="1" height="1" fill="#255648" />
+<rect x="15" y="24" width="1" height="1" fill="#32825E" />
+<rect x="16" y="24" width="1" height="1" fill="#32825E" />
+<rect x="17" y="24" width="1" height="1" fill="#32825E" />
+<rect x="18" y="24" width="1" height="1" fill="#32825E" />
+<rect x="19" y="24" width="1" height="1" fill="#32825E" />
+<rect x="20" y="24" width="1" height="1" fill="#10141F" />
+<rect x="21" y="24" width="1" height="1" fill="#10141F" />
+<rect x="22" y="24" width="1" height="1" fill="#10141F" />
+<rect x="23" y="24" width="1" height="1" fill="#10141F" />
+<rect x="24" y="24" width="1" height="1" fill="#32825E" />
+<rect x="25" y="24" width="1" height="1" fill="#32825E" />
+<rect x="26" y="24" width="1" height="1" fill="#32825E" />
+<rect x="27" y="24" width="1" height="1" fill="#32825E" />
+<rect x="28" y="24" width="1" height="1" fill="#10141F" />
+<rect x="29" y="24" width="1" height="1" fill="#10141F" />
+<rect x="30" y="24" width="1" height="1" fill="#10141F" />
+<rect x="31" y="24" width="1" height="1" fill="#10141F" />
+<rect x="32" y="24" width="1" height="1" fill="#32825E" />
+<rect x="33" y="24" width="1" height="1" fill="#32825E" />
+<rect x="34" y="24" width="1" height="1" fill="#32825E" />
+<rect x="35" y="24" width="1" height="1" fill="#32825E" />
+<rect x="36" y="24" width="1" height="1" fill="#32825E" />
+<rect x="37" y="24" width="1" height="1" fill="#32825E" />
+<rect x="38" y="24" width="1" height="1" fill="#32825E" />
+<rect x="39" y="24" width="1" height="1" fill="#32825E" />
+<rect x="40" y="24" width="1" height="1" fill="#32825E" />
+<rect x="41" y="24" width="1" height="1" fill="#10141F" />
+<rect x="42" y="24" width="1" height="1" fill="#10141F" />
+<rect x="43" y="24" width="1" height="1" fill="#10141F" />
+<rect x="6" y="25" width="1" height="1" fill="#10141F" />
+<rect x="7" y="25" width="1" height="1" fill="#10141F" />
+<rect x="8" y="25" width="1" height="1" fill="#10141F" />
+<rect x="9" y="25" width="1" height="1" fill="#255648" />
+<rect x="10" y="25" width="1" height="1" fill="#255648" />
+<rect x="11" y="25" width="1" height="1" fill="#255648" />
+<rect x="12" y="25" width="1" height="1" fill="#255648" />
+<rect x="13" y="25" width="1" height="1" fill="#255648" />
+<rect x="14" y="25" width="1" height="1" fill="#32825E" />
+<rect x="15" y="25" width="1" height="1" fill="#32825E" />
+<rect x="16" y="25" width="1" height="1" fill="#32825E" />
+<rect x="17" y="25" width="1" height="1" fill="#32825E" />
+<rect x="18" y="25" width="1" height="1" fill="#32825E" />
+<rect x="19" y="25" width="1" height="1" fill="#32825E" />
+<rect x="20" y="25" width="1" height="1" fill="#10141F" />
+<rect x="21" y="25" width="1" height="1" fill="#10141F" />
+<rect x="22" y="25" width="1" height="1" fill="#10141F" />
+<rect x="23" y="25" width="1" height="1" fill="#10141F" />
+<rect x="24" y="25" width="1" height="1" fill="#32825E" />
+<rect x="25" y="25" width="1" height="1" fill="#32825E" />
+<rect x="26" y="25" width="1" height="1" fill="#32825E" />
+<rect x="27" y="25" width="1" height="1" fill="#32825E" />
+<rect x="28" y="25" width="1" height="1" fill="#10141F" />
+<rect x="29" y="25" width="1" height="1" fill="#10141F" />
+<rect x="30" y="25" width="1" height="1" fill="#10141F" />
+<rect x="31" y="25" width="1" height="1" fill="#10141F" />
+<rect x="32" y="25" width="1" height="1" fill="#32825E" />
+<rect x="33" y="25" width="1" height="1" fill="#32825E" />
+<rect x="34" y="25" width="1" height="1" fill="#32825E" />
+<rect x="35" y="25" width="1" height="1" fill="#32825E" />
+<rect x="36" y="25" width="1" height="1" fill="#32825E" />
+<rect x="37" y="25" width="1" height="1" fill="#32825E" />
+<rect x="38" y="25" width="1" height="1" fill="#32825E" />
+<rect x="39" y="25" width="1" height="1" fill="#32825E" />
+<rect x="40" y="25" width="1" height="1" fill="#32825E" />
+<rect x="41" y="25" width="1" height="1" fill="#32825E" />
+<rect x="42" y="25" width="1" height="1" fill="#10141F" />
+<rect x="43" y="25" width="1" height="1" fill="#10141F" />
+<rect x="44" y="25" width="1" height="1" fill="#10141F" />
+<rect x="6" y="26" width="1" height="1" fill="#10141F" />
+<rect x="7" y="26" width="1" height="1" fill="#10141F" />
+<rect x="8" y="26" width="1" height="1" fill="#255648" />
+<rect x="9" y="26" width="1" height="1" fill="#255648" />
+<rect x="10" y="26" width="1" height="1" fill="#255648" />
+<rect x="11" y="26" width="1" height="1" fill="#255648" />
+<rect x="12" y="26" width="1" height="1" fill="#255648" />
+<rect x="13" y="26" width="1" height="1" fill="#255648" />
+<rect x="14" y="26" width="1" height="1" fill="#32825E" />
+<rect x="15" y="26" width="1" height="1" fill="#32825E" />
+<rect x="16" y="26" width="1" height="1" fill="#32825E" />
+<rect x="17" y="26" width="1" height="1" fill="#32825E" />
+<rect x="18" y="26" width="1" height="1" fill="#32825E" />
+<rect x="19" y="26" width="1" height="1" fill="#32825E" />
+<rect x="20" y="26" width="1" height="1" fill="#10141F" />
+<rect x="21" y="26" width="1" height="1" fill="#10141F" />
+<rect x="22" y="26" width="1" height="1" fill="#10141F" />
+<rect x="23" y="26" width="1" height="1" fill="#10141F" />
+<rect x="24" y="26" width="1" height="1" fill="#32825E" />
+<rect x="25" y="26" width="1" height="1" fill="#32825E" />
+<rect x="26" y="26" width="1" height="1" fill="#32825E" />
+<rect x="27" y="26" width="1" height="1" fill="#32825E" />
+<rect x="28" y="26" width="1" height="1" fill="#10141F" />
+<rect x="29" y="26" width="1" height="1" fill="#10141F" />
+<rect x="30" y="26" width="1" height="1" fill="#10141F" />
+<rect x="31" y="26" width="1" height="1" fill="#10141F" />
+<rect x="32" y="26" width="1" height="1" fill="#32825E" />
+<rect x="33" y="26" width="1" height="1" fill="#32825E" />
+<rect x="34" y="26" width="1" height="1" fill="#32825E" />
+<rect x="35" y="26" width="1" height="1" fill="#32825E" />
+<rect x="36" y="26" width="1" height="1" fill="#32825E" />
+<rect x="37" y="26" width="1" height="1" fill="#32825E" />
+<rect x="38" y="26" width="1" height="1" fill="#32825E" />
+<rect x="39" y="26" width="1" height="1" fill="#32825E" />
+<rect x="40" y="26" width="1" height="1" fill="#32825E" />
+<rect x="41" y="26" width="1" height="1" fill="#32825E" />
+<rect x="42" y="26" width="1" height="1" fill="#10141F" />
+<rect x="43" y="26" width="1" height="1" fill="#10141F" />
+<rect x="44" y="26" width="1" height="1" fill="#10141F" />
+<rect x="5" y="27" width="1" height="1" fill="#10141F" />
+<rect x="6" y="27" width="1" height="1" fill="#10141F" />
+<rect x="7" y="27" width="1" height="1" fill="#10141F" />
+<rect x="8" y="27" width="1" height="1" fill="#255648" />
+<rect x="9" y="27" width="1" height="1" fill="#255648" />
+<rect x="10" y="27" width="1" height="1" fill="#255648" />
+<rect x="11" y="27" width="1" height="1" fill="#255648" />
+<rect x="12" y="27" width="1" height="1" fill="#255648" />
+<rect x="13" y="27" width="1" height="1" fill="#255648" />
+<rect x="14" y="27" width="1" height="1" fill="#32825E" />
+<rect x="15" y="27" width="1" height="1" fill="#32825E" />
+<rect x="16" y="27" width="1" height="1" fill="#32825E" />
+<rect x="17" y="27" width="1" height="1" fill="#32825E" />
+<rect x="18" y="27" width="1" height="1" fill="#32825E" />
+<rect x="19" y="27" width="1" height="1" fill="#32825E" />
+<rect x="20" y="27" width="1" height="1" fill="#10141F" />
+<rect x="21" y="27" width="1" height="1" fill="#10141F" />
+<rect x="22" y="27" width="1" height="1" fill="#10141F" />
+<rect x="23" y="27" width="1" height="1" fill="#10141F" />
+<rect x="24" y="27" width="1" height="1" fill="#32825E" />
+<rect x="25" y="27" width="1" height="1" fill="#32825E" />
+<rect x="26" y="27" width="1" height="1" fill="#32825E" />
+<rect x="27" y="27" width="1" height="1" fill="#32825E" />
+<rect x="28" y="27" width="1" height="1" fill="#10141F" />
+<rect x="29" y="27" width="1" height="1" fill="#10141F" />
+<rect x="30" y="27" width="1" height="1" fill="#10141F" />
+<rect x="31" y="27" width="1" height="1" fill="#10141F" />
+<rect x="32" y="27" width="1" height="1" fill="#32825E" />
+<rect x="33" y="27" width="1" height="1" fill="#32825E" />
+<rect x="34" y="27" width="1" height="1" fill="#32825E" />
+<rect x="35" y="27" width="1" height="1" fill="#32825E" />
+<rect x="36" y="27" width="1" height="1" fill="#32825E" />
+<rect x="37" y="27" width="1" height="1" fill="#32825E" />
+<rect x="38" y="27" width="1" height="1" fill="#32825E" />
+<rect x="39" y="27" width="1" height="1" fill="#32825E" />
+<rect x="40" y="27" width="1" height="1" fill="#32825E" />
+<rect x="41" y="27" width="1" height="1" fill="#32825E" />
+<rect x="42" y="27" width="1" height="1" fill="#10141F" />
+<rect x="43" y="27" width="1" height="1" fill="#10141F" />
+<rect x="44" y="27" width="1" height="1" fill="#10141F" />
+<rect x="5" y="28" width="1" height="1" fill="#10141F" />
+<rect x="6" y="28" width="1" height="1" fill="#10141F" />
+<rect x="7" y="28" width="1" height="1" fill="#10141F" />
+<rect x="8" y="28" width="1" height="1" fill="#255648" />
+<rect x="9" y="28" width="1" height="1" fill="#255648" />
+<rect x="10" y="28" width="1" height="1" fill="#255648" />
+<rect x="11" y="28" width="1" height="1" fill="#255648" />
+<rect x="12" y="28" width="1" height="1" fill="#255648" />
+<rect x="13" y="28" width="1" height="1" fill="#32825E" />
+<rect x="14" y="28" width="1" height="1" fill="#32825E" />
+<rect x="15" y="28" width="1" height="1" fill="#32825E" />
+<rect x="16" y="28" width="1" height="1" fill="#32825E" />
+<rect x="17" y="28" width="1" height="1" fill="#32825E" />
+<rect x="18" y="28" width="1" height="1" fill="#32825E" />
+<rect x="19" y="28" width="1" height="1" fill="#32825E" />
+<rect x="20" y="28" width="1" height="1" fill="#10141F" />
+<rect x="21" y="28" width="1" height="1" fill="#10141F" />
+<rect x="22" y="28" width="1" height="1" fill="#10141F" />
+<rect x="23" y="28" width="1" height="1" fill="#10141F" />
+<rect x="24" y="28" width="1" height="1" fill="#32825E" />
+<rect x="25" y="28" width="1" height="1" fill="#32825E" />
+<rect x="26" y="28" width="1" height="1" fill="#32825E" />
+<rect x="27" y="28" width="1" height="1" fill="#32825E" />
+<rect x="28" y="28" width="1" height="1" fill="#10141F" />
+<rect x="29" y="28" width="1" height="1" fill="#10141F" />
+<rect x="30" y="28" width="1" height="1" fill="#10141F" />
+<rect x="31" y="28" width="1" height="1" fill="#10141F" />
+<rect x="32" y="28" width="1" height="1" fill="#32825E" />
+<rect x="33" y="28" width="1" height="1" fill="#32825E" />
+<rect x="34" y="28" width="1" height="1" fill="#32825E" />
+<rect x="35" y="28" width="1" height="1" fill="#32825E" />
+<rect x="36" y="28" width="1" height="1" fill="#32825E" />
+<rect x="37" y="28" width="1" height="1" fill="#32825E" />
+<rect x="38" y="28" width="1" height="1" fill="#32825E" />
+<rect x="39" y="28" width="1" height="1" fill="#32825E" />
+<rect x="40" y="28" width="1" height="1" fill="#32825E" />
+<rect x="41" y="28" width="1" height="1" fill="#32825E" />
+<rect x="42" y="28" width="1" height="1" fill="#10141F" />
+<rect x="43" y="28" width="1" height="1" fill="#10141F" />
+<rect x="44" y="28" width="1" height="1" fill="#10141F" />
+<rect x="5" y="29" width="1" height="1" fill="#10141F" />
+<rect x="6" y="29" width="1" height="1" fill="#10141F" />
+<rect x="7" y="29" width="1" height="1" fill="#10141F" />
+<rect x="8" y="29" width="1" height="1" fill="#255648" />
+<rect x="9" y="29" width="1" height="1" fill="#255648" />
+<rect x="10" y="29" width="1" height="1" fill="#255648" />
+<rect x="11" y="29" width="1" height="1" fill="#255648" />
+<rect x="12" y="29" width="1" height="1" fill="#255648" />
+<rect x="13" y="29" width="1" height="1" fill="#32825E" />
+<rect x="14" y="29" width="1" height="1" fill="#32825E" />
+<rect x="15" y="29" width="1" height="1" fill="#32825E" />
+<rect x="16" y="29" width="1" height="1" fill="#32825E" />
+<rect x="17" y="29" width="1" height="1" fill="#32825E" />
+<rect x="18" y="29" width="1" height="1" fill="#32825E" />
+<rect x="19" y="29" width="1" height="1" fill="#32825E" />
+<rect x="20" y="29" width="1" height="1" fill="#10141F" />
+<rect x="21" y="29" width="1" height="1" fill="#10141F" />
+<rect x="22" y="29" width="1" height="1" fill="#10141F" />
+<rect x="23" y="29" width="1" height="1" fill="#10141F" />
+<rect x="24" y="29" width="1" height="1" fill="#32825E" />
+<rect x="25" y="29" width="1" height="1" fill="#32825E" />
+<rect x="26" y="29" width="1" height="1" fill="#32825E" />
+<rect x="27" y="29" width="1" height="1" fill="#32825E" />
+<rect x="28" y="29" width="1" height="1" fill="#10141F" />
+<rect x="29" y="29" width="1" height="1" fill="#10141F" />
+<rect x="30" y="29" width="1" height="1" fill="#10141F" />
+<rect x="31" y="29" width="1" height="1" fill="#10141F" />
+<rect x="32" y="29" width="1" height="1" fill="#32825E" />
+<rect x="33" y="29" width="1" height="1" fill="#32825E" />
+<rect x="34" y="29" width="1" height="1" fill="#32825E" />
+<rect x="35" y="29" width="1" height="1" fill="#32825E" />
+<rect x="36" y="29" width="1" height="1" fill="#32825E" />
+<rect x="37" y="29" width="1" height="1" fill="#32825E" />
+<rect x="38" y="29" width="1" height="1" fill="#32825E" />
+<rect x="39" y="29" width="1" height="1" fill="#32825E" />
+<rect x="40" y="29" width="1" height="1" fill="#32825E" />
+<rect x="41" y="29" width="1" height="1" fill="#32825E" />
+<rect x="42" y="29" width="1" height="1" fill="#10141F" />
+<rect x="43" y="29" width="1" height="1" fill="#10141F" />
+<rect x="44" y="29" width="1" height="1" fill="#10141F" />
+<rect x="5" y="30" width="1" height="1" fill="#10141F" />
+<rect x="6" y="30" width="1" height="1" fill="#10141F" />
+<rect x="7" y="30" width="1" height="1" fill="#10141F" />
+<rect x="8" y="30" width="1" height="1" fill="#255648" />
+<rect x="9" y="30" width="1" height="1" fill="#255648" />
+<rect x="10" y="30" width="1" height="1" fill="#255648" />
+<rect x="11" y="30" width="1" height="1" fill="#255648" />
+<rect x="12" y="30" width="1" height="1" fill="#255648" />
+<rect x="13" y="30" width="1" height="1" fill="#32825E" />
+<rect x="14" y="30" width="1" height="1" fill="#32825E" />
+<rect x="15" y="30" width="1" height="1" fill="#32825E" />
+<rect x="16" y="30" width="1" height="1" fill="#32825E" />
+<rect x="17" y="30" width="1" height="1" fill="#32825E" />
+<rect x="18" y="30" width="1" height="1" fill="#32825E" />
+<rect x="19" y="30" width="1" height="1" fill="#255648" />
+<rect x="20" y="30" width="1" height="1" fill="#255648" />
+<rect x="21" y="30" width="1" height="1" fill="#255648" />
+<rect x="22" y="30" width="1" height="1" fill="#255648" />
+<rect x="23" y="30" width="1" height="1" fill="#255648" />
+<rect x="24" y="30" width="1" height="1" fill="#255648" />
+<rect x="25" y="30" width="1" height="1" fill="#255648" />
+<rect x="26" y="30" width="1" height="1" fill="#255648" />
+<rect x="27" y="30" width="1" height="1" fill="#255648" />
+<rect x="28" y="30" width="1" height="1" fill="#255648" />
+<rect x="29" y="30" width="1" height="1" fill="#32825E" />
+<rect x="30" y="30" width="1" height="1" fill="#32825E" />
+<rect x="31" y="30" width="1" height="1" fill="#32825E" />
+<rect x="32" y="30" width="1" height="1" fill="#32825E" />
+<rect x="33" y="30" width="1" height="1" fill="#32825E" />
+<rect x="34" y="30" width="1" height="1" fill="#32825E" />
+<rect x="35" y="30" width="1" height="1" fill="#32825E" />
+<rect x="36" y="30" width="1" height="1" fill="#32825E" />
+<rect x="37" y="30" width="1" height="1" fill="#32825E" />
+<rect x="38" y="30" width="1" height="1" fill="#32825E" />
+<rect x="39" y="30" width="1" height="1" fill="#32825E" />
+<rect x="40" y="30" width="1" height="1" fill="#32825E" />
+<rect x="41" y="30" width="1" height="1" fill="#32825E" />
+<rect x="42" y="30" width="1" height="1" fill="#10141F" />
+<rect x="43" y="30" width="1" height="1" fill="#10141F" />
+<rect x="44" y="30" width="1" height="1" fill="#10141F" />
+<rect x="5" y="31" width="1" height="1" fill="#10141F" />
+<rect x="6" y="31" width="1" height="1" fill="#10141F" />
+<rect x="7" y="31" width="1" height="1" fill="#255648" />
+<rect x="8" y="31" width="1" height="1" fill="#255648" />
+<rect x="9" y="31" width="1" height="1" fill="#255648" />
+<rect x="10" y="31" width="1" height="1" fill="#255648" />
+<rect x="11" y="31" width="1" height="1" fill="#255648" />
+<rect x="12" y="31" width="1" height="1" fill="#255648" />
+<rect x="13" y="31" width="1" height="1" fill="#32825E" />
+<rect x="14" y="31" width="1" height="1" fill="#32825E" />
+<rect x="15" y="31" width="1" height="1" fill="#255648" />
+<rect x="16" y="31" width="1" height="1" fill="#255648" />
+<rect x="17" y="31" width="1" height="1" fill="#255648" />
+<rect x="18" y="31" width="1" height="1" fill="#255648" />
+<rect x="19" y="31" width="1" height="1" fill="#255648" />
+<rect x="20" y="31" width="1" height="1" fill="#255648" />
+<rect x="21" y="31" width="1" height="1" fill="#255648" />
+<rect x="22" y="31" width="1" height="1" fill="#255648" />
+<rect x="23" y="31" width="1" height="1" fill="#255648" />
+<rect x="24" y="31" width="1" height="1" fill="#255648" />
+<rect x="25" y="31" width="1" height="1" fill="#255648" />
+<rect x="26" y="31" width="1" height="1" fill="#255648" />
+<rect x="27" y="31" width="1" height="1" fill="#255648" />
+<rect x="28" y="31" width="1" height="1" fill="#255648" />
+<rect x="29" y="31" width="1" height="1" fill="#255648" />
+<rect x="30" y="31" width="1" height="1" fill="#255648" />
+<rect x="31" y="31" width="1" height="1" fill="#255648" />
+<rect x="32" y="31" width="1" height="1" fill="#255648" />
+<rect x="33" y="31" width="1" height="1" fill="#255648" />
+<rect x="34" y="31" width="1" height="1" fill="#255648" />
+<rect x="35" y="31" width="1" height="1" fill="#32825E" />
+<rect x="36" y="31" width="1" height="1" fill="#32825E" />
+<rect x="37" y="31" width="1" height="1" fill="#32825E" />
+<rect x="38" y="31" width="1" height="1" fill="#32825E" />
+<rect x="39" y="31" width="1" height="1" fill="#32825E" />
+<rect x="40" y="31" width="1" height="1" fill="#32825E" />
+<rect x="41" y="31" width="1" height="1" fill="#32825E" />
+<rect x="42" y="31" width="1" height="1" fill="#32825E" />
+<rect x="43" y="31" width="1" height="1" fill="#10141F" />
+<rect x="44" y="31" width="1" height="1" fill="#10141F" />
+<rect x="4" y="32" width="1" height="1" fill="#10141F" />
+<rect x="5" y="32" width="1" height="1" fill="#10141F" />
+<rect x="6" y="32" width="1" height="1" fill="#10141F" />
+<rect x="7" y="32" width="1" height="1" fill="#255648" />
+<rect x="8" y="32" width="1" height="1" fill="#255648" />
+<rect x="9" y="32" width="1" height="1" fill="#255648" />
+<rect x="10" y="32" width="1" height="1" fill="#255648" />
+<rect x="11" y="32" width="1" height="1" fill="#255648" />
+<rect x="12" y="32" width="1" height="1" fill="#255648" />
+<rect x="13" y="32" width="1" height="1" fill="#255648" />
+<rect x="14" y="32" width="1" height="1" fill="#255648" />
+<rect x="15" y="32" width="1" height="1" fill="#255648" />
+<rect x="16" y="32" width="1" height="1" fill="#255648" />
+<rect x="17" y="32" width="1" height="1" fill="#255648" />
+<rect x="18" y="32" width="1" height="1" fill="#255648" />
+<rect x="19" y="32" width="1" height="1" fill="#255648" />
+<rect x="20" y="32" width="1" height="1" fill="#255648" />
+<rect x="21" y="32" width="1" height="1" fill="#255648" />
+<rect x="22" y="32" width="1" height="1" fill="#255648" />
+<rect x="23" y="32" width="1" height="1" fill="#255648" />
+<rect x="24" y="32" width="1" height="1" fill="#255648" />
+<rect x="25" y="32" width="1" height="1" fill="#255648" />
+<rect x="26" y="32" width="1" height="1" fill="#255648" />
+<rect x="27" y="32" width="1" height="1" fill="#255648" />
+<rect x="28" y="32" width="1" height="1" fill="#255648" />
+<rect x="29" y="32" width="1" height="1" fill="#255648" />
+<rect x="30" y="32" width="1" height="1" fill="#255648" />
+<rect x="31" y="32" width="1" height="1" fill="#255648" />
+<rect x="32" y="32" width="1" height="1" fill="#255648" />
+<rect x="33" y="32" width="1" height="1" fill="#255648" />
+<rect x="34" y="32" width="1" height="1" fill="#255648" />
+<rect x="35" y="32" width="1" height="1" fill="#255648" />
+<rect x="36" y="32" width="1" height="1" fill="#255648" />
+<rect x="37" y="32" width="1" height="1" fill="#255648" />
+<rect x="38" y="32" width="1" height="1" fill="#32825E" />
+<rect x="39" y="32" width="1" height="1" fill="#32825E" />
+<rect x="40" y="32" width="1" height="1" fill="#32825E" />
+<rect x="41" y="32" width="1" height="1" fill="#32825E" />
+<rect x="42" y="32" width="1" height="1" fill="#32825E" />
+<rect x="43" y="32" width="1" height="1" fill="#10141F" />
+<rect x="44" y="32" width="1" height="1" fill="#10141F" />
+<rect x="4" y="33" width="1" height="1" fill="#10141F" />
+<rect x="5" y="33" width="1" height="1" fill="#10141F" />
+<rect x="6" y="33" width="1" height="1" fill="#10141F" />
+<rect x="7" y="33" width="1" height="1" fill="#255648" />
+<rect x="8" y="33" width="1" height="1" fill="#255648" />
+<rect x="9" y="33" width="1" height="1" fill="#255648" />
+<rect x="10" y="33" width="1" height="1" fill="#255648" />
+<rect x="11" y="33" width="1" height="1" fill="#19332D" />
+<rect x="12" y="33" width="1" height="1" fill="#255648" />
+<rect x="13" y="33" width="1" height="1" fill="#255648" />
+<rect x="14" y="33" width="1" height="1" fill="#255648" />
+<rect x="15" y="33" width="1" height="1" fill="#255648" />
+<rect x="16" y="33" width="1" height="1" fill="#255648" />
+<rect x="17" y="33" width="1" height="1" fill="#255648" />
+<rect x="18" y="33" width="1" height="1" fill="#255648" />
+<rect x="19" y="33" width="1" height="1" fill="#255648" />
+<rect x="20" y="33" width="1" height="1" fill="#255648" />
+<rect x="21" y="33" width="1" height="1" fill="#255648" />
+<rect x="22" y="33" width="1" height="1" fill="#255648" />
+<rect x="23" y="33" width="1" height="1" fill="#255648" />
+<rect x="24" y="33" width="1" height="1" fill="#255648" />
+<rect x="25" y="33" width="1" height="1" fill="#255648" />
+<rect x="26" y="33" width="1" height="1" fill="#255648" />
+<rect x="27" y="33" width="1" height="1" fill="#255648" />
+<rect x="28" y="33" width="1" height="1" fill="#255648" />
+<rect x="29" y="33" width="1" height="1" fill="#255648" />
+<rect x="30" y="33" width="1" height="1" fill="#255648" />
+<rect x="31" y="33" width="1" height="1" fill="#255648" />
+<rect x="32" y="33" width="1" height="1" fill="#255648" />
+<rect x="33" y="33" width="1" height="1" fill="#255648" />
+<rect x="34" y="33" width="1" height="1" fill="#255648" />
+<rect x="35" y="33" width="1" height="1" fill="#255648" />
+<rect x="36" y="33" width="1" height="1" fill="#255648" />
+<rect x="37" y="33" width="1" height="1" fill="#255648" />
+<rect x="38" y="33" width="1" height="1" fill="#255648" />
+<rect x="39" y="33" width="1" height="1" fill="#255648" />
+<rect x="40" y="33" width="1" height="1" fill="#32825E" />
+<rect x="41" y="33" width="1" height="1" fill="#32825E" />
+<rect x="42" y="33" width="1" height="1" fill="#32825E" />
+<rect x="43" y="33" width="1" height="1" fill="#10141F" />
+<rect x="44" y="33" width="1" height="1" fill="#10141F" />
+<rect x="5" y="34" width="1" height="1" fill="#10141F" />
+<rect x="6" y="34" width="1" height="1" fill="#10141F" />
+<rect x="7" y="34" width="1" height="1" fill="#255648" />
+<rect x="8" y="34" width="1" height="1" fill="#255648" />
+<rect x="9" y="34" width="1" height="1" fill="#19332D" />
+<rect x="10" y="34" width="1" height="1" fill="#19332D" />
+<rect x="11" y="34" width="1" height="1" fill="#19332D" />
+<rect x="12" y="34" width="1" height="1" fill="#255648" />
+<rect x="13" y="34" width="1" height="1" fill="#255648" />
+<rect x="14" y="34" width="1" height="1" fill="#255648" />
+<rect x="15" y="34" width="1" height="1" fill="#255648" />
+<rect x="16" y="34" width="1" height="1" fill="#255648" />
+<rect x="17" y="34" width="1" height="1" fill="#255648" />
+<rect x="18" y="34" width="1" height="1" fill="#255648" />
+<rect x="19" y="34" width="1" height="1" fill="#255648" />
+<rect x="20" y="34" width="1" height="1" fill="#255648" />
+<rect x="21" y="34" width="1" height="1" fill="#255648" />
+<rect x="22" y="34" width="1" height="1" fill="#255648" />
+<rect x="23" y="34" width="1" height="1" fill="#255648" />
+<rect x="24" y="34" width="1" height="1" fill="#255648" />
+<rect x="25" y="34" width="1" height="1" fill="#255648" />
+<rect x="26" y="34" width="1" height="1" fill="#255648" />
+<rect x="27" y="34" width="1" height="1" fill="#255648" />
+<rect x="28" y="34" width="1" height="1" fill="#255648" />
+<rect x="29" y="34" width="1" height="1" fill="#255648" />
+<rect x="30" y="34" width="1" height="1" fill="#255648" />
+<rect x="31" y="34" width="1" height="1" fill="#255648" />
+<rect x="32" y="34" width="1" height="1" fill="#255648" />
+<rect x="33" y="34" width="1" height="1" fill="#255648" />
+<rect x="34" y="34" width="1" height="1" fill="#255648" />
+<rect x="35" y="34" width="1" height="1" fill="#255648" />
+<rect x="36" y="34" width="1" height="1" fill="#255648" />
+<rect x="37" y="34" width="1" height="1" fill="#255648" />
+<rect x="38" y="34" width="1" height="1" fill="#255648" />
+<rect x="39" y="34" width="1" height="1" fill="#255648" />
+<rect x="40" y="34" width="1" height="1" fill="#255648" />
+<rect x="41" y="34" width="1" height="1" fill="#32825E" />
+<rect x="42" y="34" width="1" height="1" fill="#32825E" />
+<rect x="43" y="34" width="1" height="1" fill="#10141F" />
+<rect x="44" y="34" width="1" height="1" fill="#10141F" />
+<rect x="5" y="35" width="1" height="1" fill="#10141F" />
+<rect x="6" y="35" width="1" height="1" fill="#10141F" />
+<rect x="7" y="35" width="1" height="1" fill="#10141F" />
+<rect x="8" y="35" width="1" height="1" fill="#255648" />
+<rect x="9" y="35" width="1" height="1" fill="#19332D" />
+<rect x="10" y="35" width="1" height="1" fill="#19332D" />
+<rect x="11" y="35" width="1" height="1" fill="#19332D" />
+<rect x="12" y="35" width="1" height="1" fill="#255648" />
+<rect x="13" y="35" width="1" height="1" fill="#255648" />
+<rect x="14" y="35" width="1" height="1" fill="#255648" />
+<rect x="15" y="35" width="1" height="1" fill="#255648" />
+<rect x="16" y="35" width="1" height="1" fill="#255648" />
+<rect x="17" y="35" width="1" height="1" fill="#255648" />
+<rect x="18" y="35" width="1" height="1" fill="#255648" />
+<rect x="19" y="35" width="1" height="1" fill="#255648" />
+<rect x="20" y="35" width="1" height="1" fill="#255648" />
+<rect x="21" y="35" width="1" height="1" fill="#255648" />
+<rect x="22" y="35" width="1" height="1" fill="#255648" />
+<rect x="23" y="35" width="1" height="1" fill="#255648" />
+<rect x="24" y="35" width="1" height="1" fill="#255648" />
+<rect x="25" y="35" width="1" height="1" fill="#255648" />
+<rect x="26" y="35" width="1" height="1" fill="#255648" />
+<rect x="27" y="35" width="1" height="1" fill="#255648" />
+<rect x="28" y="35" width="1" height="1" fill="#255648" />
+<rect x="29" y="35" width="1" height="1" fill="#255648" />
+<rect x="30" y="35" width="1" height="1" fill="#255648" />
+<rect x="31" y="35" width="1" height="1" fill="#255648" />
+<rect x="32" y="35" width="1" height="1" fill="#255648" />
+<rect x="33" y="35" width="1" height="1" fill="#255648" />
+<rect x="34" y="35" width="1" height="1" fill="#255648" />
+<rect x="35" y="35" width="1" height="1" fill="#255648" />
+<rect x="36" y="35" width="1" height="1" fill="#255648" />
+<rect x="37" y="35" width="1" height="1" fill="#255648" />
+<rect x="38" y="35" width="1" height="1" fill="#255648" />
+<rect x="39" y="35" width="1" height="1" fill="#255648" />
+<rect x="40" y="35" width="1" height="1" fill="#255648" />
+<rect x="41" y="35" width="1" height="1" fill="#32825E" />
+<rect x="42" y="35" width="1" height="1" fill="#10141F" />
+<rect x="43" y="35" width="1" height="1" fill="#10141F" />
+<rect x="44" y="35" width="1" height="1" fill="#10141F" />
+<rect x="5" y="36" width="1" height="1" fill="#10141F" />
+<rect x="6" y="36" width="1" height="1" fill="#10141F" />
+<rect x="7" y="36" width="1" height="1" fill="#10141F" />
+<rect x="8" y="36" width="1" height="1" fill="#255648" />
+<rect x="9" y="36" width="1" height="1" fill="#255648" />
+<rect x="10" y="36" width="1" height="1" fill="#19332D" />
+<rect x="11" y="36" width="1" height="1" fill="#19332D" />
+<rect x="12" y="36" width="1" height="1" fill="#255648" />
+<rect x="13" y="36" width="1" height="1" fill="#255648" />
+<rect x="14" y="36" width="1" height="1" fill="#255648" />
+<rect x="15" y="36" width="1" height="1" fill="#255648" />
+<rect x="16" y="36" width="1" height="1" fill="#255648" />
+<rect x="17" y="36" width="1" height="1" fill="#255648" />
+<rect x="18" y="36" width="1" height="1" fill="#255648" />
+<rect x="19" y="36" width="1" height="1" fill="#255648" />
+<rect x="20" y="36" width="1" height="1" fill="#255648" />
+<rect x="21" y="36" width="1" height="1" fill="#255648" />
+<rect x="22" y="36" width="1" height="1" fill="#255648" />
+<rect x="23" y="36" width="1" height="1" fill="#255648" />
+<rect x="24" y="36" width="1" height="1" fill="#255648" />
+<rect x="25" y="36" width="1" height="1" fill="#255648" />
+<rect x="26" y="36" width="1" height="1" fill="#255648" />
+<rect x="27" y="36" width="1" height="1" fill="#255648" />
+<rect x="28" y="36" width="1" height="1" fill="#255648" />
+<rect x="29" y="36" width="1" height="1" fill="#255648" />
+<rect x="30" y="36" width="1" height="1" fill="#255648" />
+<rect x="31" y="36" width="1" height="1" fill="#255648" />
+<rect x="32" y="36" width="1" height="1" fill="#255648" />
+<rect x="33" y="36" width="1" height="1" fill="#255648" />
+<rect x="34" y="36" width="1" height="1" fill="#255648" />
+<rect x="35" y="36" width="1" height="1" fill="#255648" />
+<rect x="36" y="36" width="1" height="1" fill="#255648" />
+<rect x="37" y="36" width="1" height="1" fill="#255648" />
+<rect x="38" y="36" width="1" height="1" fill="#255648" />
+<rect x="39" y="36" width="1" height="1" fill="#255648" />
+<rect x="40" y="36" width="1" height="1" fill="#32825E" />
+<rect x="41" y="36" width="1" height="1" fill="#10141F" />
+<rect x="42" y="36" width="1" height="1" fill="#10141F" />
+<rect x="43" y="36" width="1" height="1" fill="#10141F" />
+<rect x="44" y="36" width="1" height="1" fill="#10141F" />
+<rect x="6" y="37" width="1" height="1" fill="#10141F" />
+<rect x="7" y="37" width="1" height="1" fill="#10141F" />
+<rect x="8" y="37" width="1" height="1" fill="#10141F" />
+<rect x="9" y="37" width="1" height="1" fill="#255648" />
+<rect x="10" y="37" width="1" height="1" fill="#255648" />
+<rect x="11" y="37" width="1" height="1" fill="#255648" />
+<rect x="12" y="37" width="1" height="1" fill="#255648" />
+<rect x="13" y="37" width="1" height="1" fill="#255648" />
+<rect x="14" y="37" width="1" height="1" fill="#255648" />
+<rect x="15" y="37" width="1" height="1" fill="#255648" />
+<rect x="16" y="37" width="1" height="1" fill="#255648" />
+<rect x="17" y="37" width="1" height="1" fill="#255648" />
+<rect x="18" y="37" width="1" height="1" fill="#255648" />
+<rect x="19" y="37" width="1" height="1" fill="#255648" />
+<rect x="20" y="37" width="1" height="1" fill="#255648" />
+<rect x="21" y="37" width="1" height="1" fill="#255648" />
+<rect x="22" y="37" width="1" height="1" fill="#255648" />
+<rect x="23" y="37" width="1" height="1" fill="#255648" />
+<rect x="24" y="37" width="1" height="1" fill="#255648" />
+<rect x="25" y="37" width="1" height="1" fill="#255648" />
+<rect x="26" y="37" width="1" height="1" fill="#255648" />
+<rect x="27" y="37" width="1" height="1" fill="#255648" />
+<rect x="28" y="37" width="1" height="1" fill="#255648" />
+<rect x="29" y="37" width="1" height="1" fill="#255648" />
+<rect x="30" y="37" width="1" height="1" fill="#255648" />
+<rect x="31" y="37" width="1" height="1" fill="#255648" />
+<rect x="32" y="37" width="1" height="1" fill="#255648" />
+<rect x="33" y="37" width="1" height="1" fill="#255648" />
+<rect x="34" y="37" width="1" height="1" fill="#255648" />
+<rect x="35" y="37" width="1" height="1" fill="#255648" />
+<rect x="36" y="37" width="1" height="1" fill="#255648" />
+<rect x="37" y="37" width="1" height="1" fill="#255648" />
+<rect x="38" y="37" width="1" height="1" fill="#255648" />
+<rect x="39" y="37" width="1" height="1" fill="#32825E" />
+<rect x="40" y="37" width="1" height="1" fill="#10141F" />
+<rect x="41" y="37" width="1" height="1" fill="#10141F" />
+<rect x="42" y="37" width="1" height="1" fill="#10141F" />
+<rect x="43" y="37" width="1" height="1" fill="#10141F" />
+<rect x="6" y="38" width="1" height="1" fill="#10141F" />
+<rect x="7" y="38" width="1" height="1" fill="#10141F" />
+<rect x="8" y="38" width="1" height="1" fill="#10141F" />
+<rect x="9" y="38" width="1" height="1" fill="#10141F" />
+<rect x="10" y="38" width="1" height="1" fill="#10141F" />
+<rect x="11" y="38" width="1" height="1" fill="#255648" />
+<rect x="12" y="38" width="1" height="1" fill="#32825E" />
+<rect x="13" y="38" width="1" height="1" fill="#32825E" />
+<rect x="14" y="38" width="1" height="1" fill="#32825E" />
+<rect x="15" y="38" width="1" height="1" fill="#255648" />
+<rect x="16" y="38" width="1" height="1" fill="#255648" />
+<rect x="17" y="38" width="1" height="1" fill="#255648" />
+<rect x="18" y="38" width="1" height="1" fill="#255648" />
+<rect x="19" y="38" width="1" height="1" fill="#255648" />
+<rect x="20" y="38" width="1" height="1" fill="#255648" />
+<rect x="21" y="38" width="1" height="1" fill="#255648" />
+<rect x="22" y="38" width="1" height="1" fill="#255648" />
+<rect x="23" y="38" width="1" height="1" fill="#255648" />
+<rect x="24" y="38" width="1" height="1" fill="#255648" />
+<rect x="25" y="38" width="1" height="1" fill="#255648" />
+<rect x="26" y="38" width="1" height="1" fill="#255648" />
+<rect x="27" y="38" width="1" height="1" fill="#255648" />
+<rect x="28" y="38" width="1" height="1" fill="#255648" />
+<rect x="29" y="38" width="1" height="1" fill="#255648" />
+<rect x="30" y="38" width="1" height="1" fill="#255648" />
+<rect x="31" y="38" width="1" height="1" fill="#255648" />
+<rect x="32" y="38" width="1" height="1" fill="#255648" />
+<rect x="33" y="38" width="1" height="1" fill="#255648" />
+<rect x="34" y="38" width="1" height="1" fill="#255648" />
+<rect x="35" y="38" width="1" height="1" fill="#255648" />
+<rect x="36" y="38" width="1" height="1" fill="#255648" />
+<rect x="37" y="38" width="1" height="1" fill="#32825E" />
+<rect x="38" y="38" width="1" height="1" fill="#10141F" />
+<rect x="39" y="38" width="1" height="1" fill="#10141F" />
+<rect x="40" y="38" width="1" height="1" fill="#10141F" />
+<rect x="41" y="38" width="1" height="1" fill="#10141F" />
+<rect x="42" y="38" width="1" height="1" fill="#10141F" />
+<rect x="7" y="39" width="1" height="1" fill="#10141F" />
+<rect x="8" y="39" width="1" height="1" fill="#10141F" />
+<rect x="9" y="39" width="1" height="1" fill="#10141F" />
+<rect x="10" y="39" width="1" height="1" fill="#10141F" />
+<rect x="11" y="39" width="1" height="1" fill="#10141F" />
+<rect x="12" y="39" width="1" height="1" fill="#10141F" />
+<rect x="13" y="39" width="1" height="1" fill="#10141F" />
+<rect x="14" y="39" width="1" height="1" fill="#32825E" />
+<rect x="15" y="39" width="1" height="1" fill="#32825E" />
+<rect x="16" y="39" width="1" height="1" fill="#32825E" />
+<rect x="17" y="39" width="1" height="1" fill="#32825E" />
+<rect x="18" y="39" width="1" height="1" fill="#32825E" />
+<rect x="19" y="39" width="1" height="1" fill="#32825E" />
+<rect x="20" y="39" width="1" height="1" fill="#255648" />
+<rect x="21" y="39" width="1" height="1" fill="#255648" />
+<rect x="22" y="39" width="1" height="1" fill="#255648" />
+<rect x="23" y="39" width="1" height="1" fill="#255648" />
+<rect x="24" y="39" width="1" height="1" fill="#255648" />
+<rect x="25" y="39" width="1" height="1" fill="#255648" />
+<rect x="26" y="39" width="1" height="1" fill="#255648" />
+<rect x="27" y="39" width="1" height="1" fill="#255648" />
+<rect x="28" y="39" width="1" height="1" fill="#255648" />
+<rect x="29" y="39" width="1" height="1" fill="#255648" />
+<rect x="30" y="39" width="1" height="1" fill="#255648" />
+<rect x="31" y="39" width="1" height="1" fill="#255648" />
+<rect x="32" y="39" width="1" height="1" fill="#255648" />
+<rect x="33" y="39" width="1" height="1" fill="#32825E" />
+<rect x="34" y="39" width="1" height="1" fill="#32825E" />
+<rect x="35" y="39" width="1" height="1" fill="#10141F" />
+<rect x="36" y="39" width="1" height="1" fill="#10141F" />
+<rect x="37" y="39" width="1" height="1" fill="#10141F" />
+<rect x="38" y="39" width="1" height="1" fill="#10141F" />
+<rect x="39" y="39" width="1" height="1" fill="#10141F" />
+<rect x="40" y="39" width="1" height="1" fill="#10141F" />
+<rect x="41" y="39" width="1" height="1" fill="#10141F" />
+<rect x="9" y="40" width="1" height="1" fill="#10141F" />
+<rect x="10" y="40" width="1" height="1" fill="#10141F" />
+<rect x="11" y="40" width="1" height="1" fill="#10141F" />
+<rect x="12" y="40" width="1" height="1" fill="#10141F" />
+<rect x="13" y="40" width="1" height="1" fill="#10141F" />
+<rect x="14" y="40" width="1" height="1" fill="#10141F" />
+<rect x="15" y="40" width="1" height="1" fill="#10141F" />
+<rect x="16" y="40" width="1" height="1" fill="#10141F" />
+<rect x="17" y="40" width="1" height="1" fill="#10141F" />
+<rect x="18" y="40" width="1" height="1" fill="#32825E" />
+<rect x="19" y="40" width="1" height="1" fill="#32825E" />
+<rect x="20" y="40" width="1" height="1" fill="#32825E" />
+<rect x="21" y="40" width="1" height="1" fill="#32825E" />
+<rect x="22" y="40" width="1" height="1" fill="#32825E" />
+<rect x="23" y="40" width="1" height="1" fill="#32825E" />
+<rect x="24" y="40" width="1" height="1" fill="#32825E" />
+<rect x="25" y="40" width="1" height="1" fill="#32825E" />
+<rect x="26" y="40" width="1" height="1" fill="#32825E" />
+<rect x="27" y="40" width="1" height="1" fill="#32825E" />
+<rect x="28" y="40" width="1" height="1" fill="#32825E" />
+<rect x="29" y="40" width="1" height="1" fill="#32825E" />
+<rect x="30" y="40" width="1" height="1" fill="#32825E" />
+<rect x="31" y="40" width="1" height="1" fill="#10141F" />
+<rect x="32" y="40" width="1" height="1" fill="#10141F" />
+<rect x="33" y="40" width="1" height="1" fill="#10141F" />
+<rect x="34" y="40" width="1" height="1" fill="#10141F" />
+<rect x="35" y="40" width="1" height="1" fill="#10141F" />
+<rect x="36" y="40" width="1" height="1" fill="#10141F" />
+<rect x="37" y="40" width="1" height="1" fill="#10141F" />
+<rect x="38" y="40" width="1" height="1" fill="#10141F" />
+<rect x="39" y="40" width="1" height="1" fill="#10141F" />
+<rect x="11" y="41" width="1" height="1" fill="#10141F" />
+<rect x="12" y="41" width="1" height="1" fill="#10141F" />
+<rect x="13" y="41" width="1" height="1" fill="#10141F" />
+<rect x="14" y="41" width="1" height="1" fill="#10141F" />
+<rect x="15" y="41" width="1" height="1" fill="#10141F" />
+<rect x="16" y="41" width="1" height="1" fill="#10141F" />
+<rect x="17" y="41" width="1" height="1" fill="#10141F" />
+<rect x="18" y="41" width="1" height="1" fill="#10141F" />
+<rect x="19" y="41" width="1" height="1" fill="#10141F" />
+<rect x="20" y="41" width="1" height="1" fill="#10141F" />
+<rect x="21" y="41" width="1" height="1" fill="#10141F" />
+<rect x="22" y="41" width="1" height="1" fill="#10141F" />
+<rect x="23" y="41" width="1" height="1" fill="#10141F" />
+<rect x="24" y="41" width="1" height="1" fill="#10141F" />
+<rect x="25" y="41" width="1" height="1" fill="#10141F" />
+<rect x="26" y="41" width="1" height="1" fill="#10141F" />
+<rect x="27" y="41" width="1" height="1" fill="#10141F" />
+<rect x="28" y="41" width="1" height="1" fill="#10141F" />
+<rect x="29" y="41" width="1" height="1" fill="#10141F" />
+<rect x="30" y="41" width="1" height="1" fill="#10141F" />
+<rect x="31" y="41" width="1" height="1" fill="#10141F" />
+<rect x="32" y="41" width="1" height="1" fill="#10141F" />
+<rect x="33" y="41" width="1" height="1" fill="#10141F" />
+<rect x="34" y="41" width="1" height="1" fill="#10141F" />
+<rect x="35" y="41" width="1" height="1" fill="#10141F" />
+<rect x="36" y="41" width="1" height="1" fill="#10141F" />
+<rect x="37" y="41" width="1" height="1" fill="#10141F" />
+<rect x="14" y="42" width="1" height="1" fill="#10141F" />
+<rect x="15" y="42" width="1" height="1" fill="#10141F" />
+<rect x="16" y="42" width="1" height="1" fill="#10141F" />
+<rect x="17" y="42" width="1" height="1" fill="#10141F" />
+<rect x="18" y="42" width="1" height="1" fill="#10141F" />
+<rect x="19" y="42" width="1" height="1" fill="#10141F" />
+<rect x="20" y="42" width="1" height="1" fill="#10141F" />
+<rect x="21" y="42" width="1" height="1" fill="#10141F" />
+<rect x="22" y="42" width="1" height="1" fill="#10141F" />
+<rect x="23" y="42" width="1" height="1" fill="#10141F" />
+<rect x="24" y="42" width="1" height="1" fill="#10141F" />
+<rect x="25" y="42" width="1" height="1" fill="#10141F" />
+<rect x="26" y="42" width="1" height="1" fill="#10141F" />
+<rect x="27" y="42" width="1" height="1" fill="#10141F" />
+<rect x="28" y="42" width="1" height="1" fill="#10141F" />
+<rect x="29" y="42" width="1" height="1" fill="#10141F" />
+<rect x="30" y="42" width="1" height="1" fill="#10141F" />
+<rect x="31" y="42" width="1" height="1" fill="#10141F" />
+<rect x="32" y="42" width="1" height="1" fill="#10141F" />
+<rect x="33" y="42" width="1" height="1" fill="#10141F" />
+<rect x="34" y="42" width="1" height="1" fill="#10141F" />
+<rect x="19" y="43" width="1" height="1" fill="#10141F" />
+<rect x="20" y="43" width="1" height="1" fill="#10141F" />
+<rect x="21" y="43" width="1" height="1" fill="#10141F" />
+<rect x="22" y="43" width="1" height="1" fill="#10141F" />
+<rect x="23" y="43" width="1" height="1" fill="#10141F" />
+<rect x="24" y="43" width="1" height="1" fill="#10141F" />
+<rect x="25" y="43" width="1" height="1" fill="#10141F" />
+<rect x="26" y="43" width="1" height="1" fill="#10141F" />
+<rect x="27" y="43" width="1" height="1" fill="#10141F" />
+<rect x="28" y="43" width="1" height="1" fill="#10141F" />
+<rect x="29" y="43" width="1" height="1" fill="#10141F" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/icons/slimes/Sunflower1.svg b/Edikoyo/.obsidian/icons/slimes/Sunflower1.svg
new file mode 100644
index 0000000..54ec677
--- /dev/null
+++ b/Edikoyo/.obsidian/icons/slimes/Sunflower1.svg
@@ -0,0 +1,1523 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<svg version="1.1" width="48" height="48" xmlns="http://www.w3.org/2000/svg" shape-rendering="crispEdges">
+<rect x="16" y="2" width="1" height="1" fill="#10141F" />
+<rect x="17" y="2" width="1" height="1" fill="#10141F" />
+<rect x="15" y="3" width="1" height="1" fill="#10141F" />
+<rect x="16" y="3" width="1" height="1" fill="#10141F" />
+<rect x="17" y="3" width="1" height="1" fill="#10141F" />
+<rect x="18" y="3" width="1" height="1" fill="#10141F" />
+<rect x="19" y="3" width="1" height="1" fill="#10141F" />
+<rect x="23" y="3" width="1" height="1" fill="#10141F" />
+<rect x="24" y="3" width="1" height="1" fill="#10141F" />
+<rect x="25" y="3" width="1" height="1" fill="#10141F" />
+<rect x="26" y="3" width="1" height="1" fill="#10141F" />
+<rect x="32" y="3" width="1" height="1" fill="#10141F" />
+<rect x="33" y="3" width="1" height="1" fill="#10141F" />
+<rect x="34" y="3" width="1" height="1" fill="#10141F" />
+<rect x="14" y="4" width="1" height="1" fill="#10141F" />
+<rect x="15" y="4" width="1" height="1" fill="#10141F" />
+<rect x="16" y="4" width="1" height="1" fill="#10141F" />
+<rect x="17" y="4" width="1" height="1" fill="#10141F" />
+<rect x="18" y="4" width="1" height="1" fill="#10141F" />
+<rect x="19" y="4" width="1" height="1" fill="#10141F" />
+<rect x="20" y="4" width="1" height="1" fill="#10141F" />
+<rect x="22" y="4" width="1" height="1" fill="#10141F" />
+<rect x="23" y="4" width="1" height="1" fill="#10141F" />
+<rect x="24" y="4" width="1" height="1" fill="#10141F" />
+<rect x="25" y="4" width="1" height="1" fill="#10141F" />
+<rect x="26" y="4" width="1" height="1" fill="#10141F" />
+<rect x="27" y="4" width="1" height="1" fill="#10141F" />
+<rect x="31" y="4" width="1" height="1" fill="#10141F" />
+<rect x="32" y="4" width="1" height="1" fill="#10141F" />
+<rect x="33" y="4" width="1" height="1" fill="#10141F" />
+<rect x="34" y="4" width="1" height="1" fill="#10141F" />
+<rect x="35" y="4" width="1" height="1" fill="#10141F" />
+<rect x="7" y="5" width="1" height="1" fill="#10141F" />
+<rect x="8" y="5" width="1" height="1" fill="#10141F" />
+<rect x="9" y="5" width="1" height="1" fill="#10141F" />
+<rect x="13" y="5" width="1" height="1" fill="#10141F" />
+<rect x="14" y="5" width="1" height="1" fill="#10141F" />
+<rect x="15" y="5" width="1" height="1" fill="#10141F" />
+<rect x="16" y="5" width="1" height="1" fill="#10141F" />
+<rect x="17" y="5" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="5" width="1" height="1" fill="#10141F" />
+<rect x="19" y="5" width="1" height="1" fill="#10141F" />
+<rect x="20" y="5" width="1" height="1" fill="#10141F" />
+<rect x="21" y="5" width="1" height="1" fill="#10141F" />
+<rect x="22" y="5" width="1" height="1" fill="#10141F" />
+<rect x="23" y="5" width="1" height="1" fill="#10141F" />
+<rect x="24" y="5" width="1" height="1" fill="#D2915F" />
+<rect x="25" y="5" width="1" height="1" fill="#10141F" />
+<rect x="26" y="5" width="1" height="1" fill="#10141F" />
+<rect x="27" y="5" width="1" height="1" fill="#10141F" />
+<rect x="28" y="5" width="1" height="1" fill="#10141F" />
+<rect x="30" y="5" width="1" height="1" fill="#10141F" />
+<rect x="31" y="5" width="1" height="1" fill="#10141F" />
+<rect x="32" y="5" width="1" height="1" fill="#10141F" />
+<rect x="33" y="5" width="1" height="1" fill="#10141F" />
+<rect x="34" y="5" width="1" height="1" fill="#10141F" />
+<rect x="35" y="5" width="1" height="1" fill="#10141F" />
+<rect x="36" y="5" width="1" height="1" fill="#10141F" />
+<rect x="6" y="6" width="1" height="1" fill="#10141F" />
+<rect x="7" y="6" width="1" height="1" fill="#10141F" />
+<rect x="8" y="6" width="1" height="1" fill="#10141F" />
+<rect x="9" y="6" width="1" height="1" fill="#10141F" />
+<rect x="10" y="6" width="1" height="1" fill="#10141F" />
+<rect x="11" y="6" width="1" height="1" fill="#10141F" />
+<rect x="13" y="6" width="1" height="1" fill="#10141F" />
+<rect x="14" y="6" width="1" height="1" fill="#10141F" />
+<rect x="15" y="6" width="1" height="1" fill="#10141F" />
+<rect x="16" y="6" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="6" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="6" width="1" height="1" fill="#F1C469" />
+<rect x="19" y="6" width="1" height="1" fill="#10141F" />
+<rect x="20" y="6" width="1" height="1" fill="#10141F" />
+<rect x="21" y="6" width="1" height="1" fill="#10141F" />
+<rect x="22" y="6" width="1" height="1" fill="#10141F" />
+<rect x="23" y="6" width="1" height="1" fill="#10141F" />
+<rect x="24" y="6" width="1" height="1" fill="#D2915F" />
+<rect x="25" y="6" width="1" height="1" fill="#F1C469" />
+<rect x="26" y="6" width="1" height="1" fill="#10141F" />
+<rect x="27" y="6" width="1" height="1" fill="#10141F" />
+<rect x="28" y="6" width="1" height="1" fill="#10141F" />
+<rect x="29" y="6" width="1" height="1" fill="#10141F" />
+<rect x="30" y="6" width="1" height="1" fill="#10141F" />
+<rect x="31" y="6" width="1" height="1" fill="#10141F" />
+<rect x="32" y="6" width="1" height="1" fill="#10141F" />
+<rect x="33" y="6" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="6" width="1" height="1" fill="#10141F" />
+<rect x="35" y="6" width="1" height="1" fill="#10141F" />
+<rect x="36" y="6" width="1" height="1" fill="#10141F" />
+<rect x="5" y="7" width="1" height="1" fill="#10141F" />
+<rect x="6" y="7" width="1" height="1" fill="#10141F" />
+<rect x="7" y="7" width="1" height="1" fill="#10141F" />
+<rect x="8" y="7" width="1" height="1" fill="#10141F" />
+<rect x="9" y="7" width="1" height="1" fill="#10141F" />
+<rect x="10" y="7" width="1" height="1" fill="#10141F" />
+<rect x="11" y="7" width="1" height="1" fill="#10141F" />
+<rect x="12" y="7" width="1" height="1" fill="#10141F" />
+<rect x="13" y="7" width="1" height="1" fill="#10141F" />
+<rect x="14" y="7" width="1" height="1" fill="#10141F" />
+<rect x="15" y="7" width="1" height="1" fill="#10141F" />
+<rect x="16" y="7" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="7" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="7" width="1" height="1" fill="#D2915F" />
+<rect x="19" y="7" width="1" height="1" fill="#F1C469" />
+<rect x="20" y="7" width="1" height="1" fill="#10141F" />
+<rect x="21" y="7" width="1" height="1" fill="#10141F" />
+<rect x="22" y="7" width="1" height="1" fill="#10141F" />
+<rect x="23" y="7" width="1" height="1" fill="#10141F" />
+<rect x="24" y="7" width="1" height="1" fill="#D2915F" />
+<rect x="25" y="7" width="1" height="1" fill="#F1C469" />
+<rect x="26" y="7" width="1" height="1" fill="#F1C469" />
+<rect x="27" y="7" width="1" height="1" fill="#10141F" />
+<rect x="28" y="7" width="1" height="1" fill="#10141F" />
+<rect x="29" y="7" width="1" height="1" fill="#10141F" />
+<rect x="30" y="7" width="1" height="1" fill="#10141F" />
+<rect x="31" y="7" width="1" height="1" fill="#10141F" />
+<rect x="32" y="7" width="1" height="1" fill="#F1C469" />
+<rect x="33" y="7" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="7" width="1" height="1" fill="#10141F" />
+<rect x="35" y="7" width="1" height="1" fill="#10141F" />
+<rect x="36" y="7" width="1" height="1" fill="#10141F" />
+<rect x="5" y="8" width="1" height="1" fill="#10141F" />
+<rect x="6" y="8" width="1" height="1" fill="#10141F" />
+<rect x="7" y="8" width="1" height="1" fill="#10141F" />
+<rect x="8" y="8" width="1" height="1" fill="#D2915F" />
+<rect x="9" y="8" width="1" height="1" fill="#D2915F" />
+<rect x="10" y="8" width="1" height="1" fill="#10141F" />
+<rect x="11" y="8" width="1" height="1" fill="#10141F" />
+<rect x="12" y="8" width="1" height="1" fill="#10141F" />
+<rect x="13" y="8" width="1" height="1" fill="#10141F" />
+<rect x="14" y="8" width="1" height="1" fill="#10141F" />
+<rect x="15" y="8" width="1" height="1" fill="#10141F" />
+<rect x="16" y="8" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="8" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="8" width="1" height="1" fill="#10141F" />
+<rect x="19" y="8" width="1" height="1" fill="#10141F" />
+<rect x="20" y="8" width="1" height="1" fill="#10141F" />
+<rect x="21" y="8" width="1" height="1" fill="#10141F" />
+<rect x="22" y="8" width="1" height="1" fill="#10141F" />
+<rect x="23" y="8" width="1" height="1" fill="#10141F" />
+<rect x="24" y="8" width="1" height="1" fill="#10141F" />
+<rect x="25" y="8" width="1" height="1" fill="#10141F" />
+<rect x="26" y="8" width="1" height="1" fill="#10141F" />
+<rect x="27" y="8" width="1" height="1" fill="#10141F" />
+<rect x="28" y="8" width="1" height="1" fill="#10141F" />
+<rect x="29" y="8" width="1" height="1" fill="#10141F" />
+<rect x="30" y="8" width="1" height="1" fill="#10141F" />
+<rect x="31" y="8" width="1" height="1" fill="#10141F" />
+<rect x="32" y="8" width="1" height="1" fill="#10141F" />
+<rect x="33" y="8" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="8" width="1" height="1" fill="#10141F" />
+<rect x="35" y="8" width="1" height="1" fill="#10141F" />
+<rect x="36" y="8" width="1" height="1" fill="#10141F" />
+<rect x="5" y="9" width="1" height="1" fill="#10141F" />
+<rect x="6" y="9" width="1" height="1" fill="#10141F" />
+<rect x="7" y="9" width="1" height="1" fill="#10141F" />
+<rect x="8" y="9" width="1" height="1" fill="#B57454" />
+<rect x="9" y="9" width="1" height="1" fill="#D2915F" />
+<rect x="10" y="9" width="1" height="1" fill="#D2915F" />
+<rect x="11" y="9" width="1" height="1" fill="#D2915F" />
+<rect x="12" y="9" width="1" height="1" fill="#10141F" />
+<rect x="13" y="9" width="1" height="1" fill="#10141F" />
+<rect x="14" y="9" width="1" height="1" fill="#10141F" />
+<rect x="15" y="9" width="1" height="1" fill="#10141F" />
+<rect x="16" y="9" width="1" height="1" fill="#10141F" />
+<rect x="17" y="9" width="1" height="1" fill="#10141F" />
+<rect x="18" y="9" width="1" height="1" fill="#10141F" />
+<rect x="19" y="9" width="1" height="1" fill="#3E292D" />
+<rect x="20" y="9" width="1" height="1" fill="#523634" />
+<rect x="21" y="9" width="1" height="1" fill="#10141F" />
+<rect x="22" y="9" width="1" height="1" fill="#523634" />
+<rect x="23" y="9" width="1" height="1" fill="#10141F" />
+<rect x="24" y="9" width="1" height="1" fill="#523634" />
+<rect x="25" y="9" width="1" height="1" fill="#523634" />
+<rect x="26" y="9" width="1" height="1" fill="#10141F" />
+<rect x="27" y="9" width="1" height="1" fill="#523634" />
+<rect x="28" y="9" width="1" height="1" fill="#523634" />
+<rect x="29" y="9" width="1" height="1" fill="#10141F" />
+<rect x="30" y="9" width="1" height="1" fill="#10141F" />
+<rect x="31" y="9" width="1" height="1" fill="#10141F" />
+<rect x="32" y="9" width="1" height="1" fill="#10141F" />
+<rect x="33" y="9" width="1" height="1" fill="#10141F" />
+<rect x="34" y="9" width="1" height="1" fill="#10141F" />
+<rect x="35" y="9" width="1" height="1" fill="#10141F" />
+<rect x="36" y="9" width="1" height="1" fill="#10141F" />
+<rect x="37" y="9" width="1" height="1" fill="#10141F" />
+<rect x="38" y="9" width="1" height="1" fill="#10141F" />
+<rect x="5" y="10" width="1" height="1" fill="#10141F" />
+<rect x="6" y="10" width="1" height="1" fill="#10141F" />
+<rect x="7" y="10" width="1" height="1" fill="#10141F" />
+<rect x="8" y="10" width="1" height="1" fill="#B57454" />
+<rect x="9" y="10" width="1" height="1" fill="#B57454" />
+<rect x="10" y="10" width="1" height="1" fill="#D2915F" />
+<rect x="11" y="10" width="1" height="1" fill="#D2915F" />
+<rect x="12" y="10" width="1" height="1" fill="#D2915F" />
+<rect x="13" y="10" width="1" height="1" fill="#10141F" />
+<rect x="14" y="10" width="1" height="1" fill="#10141F" />
+<rect x="15" y="10" width="1" height="1" fill="#10141F" />
+<rect x="16" y="10" width="1" height="1" fill="#3E292D" />
+<rect x="17" y="10" width="1" height="1" fill="#523634" />
+<rect x="18" y="10" width="1" height="1" fill="#3E292D" />
+<rect x="19" y="10" width="1" height="1" fill="#523634" />
+<rect x="20" y="10" width="1" height="1" fill="#523634" />
+<rect x="21" y="10" width="1" height="1" fill="#523634" />
+<rect x="22" y="10" width="1" height="1" fill="#523634" />
+<rect x="23" y="10" width="1" height="1" fill="#523634" />
+<rect x="24" y="10" width="1" height="1" fill="#523634" />
+<rect x="25" y="10" width="1" height="1" fill="#66463E" />
+<rect x="26" y="10" width="1" height="1" fill="#66463E" />
+<rect x="27" y="10" width="1" height="1" fill="#523634" />
+<rect x="28" y="10" width="1" height="1" fill="#66463E" />
+<rect x="29" y="10" width="1" height="1" fill="#66463E" />
+<rect x="30" y="10" width="1" height="1" fill="#523634" />
+<rect x="31" y="10" width="1" height="1" fill="#66463E" />
+<rect x="32" y="10" width="1" height="1" fill="#10141F" />
+<rect x="33" y="10" width="1" height="1" fill="#10141F" />
+<rect x="34" y="10" width="1" height="1" fill="#10141F" />
+<rect x="35" y="10" width="1" height="1" fill="#10141F" />
+<rect x="36" y="10" width="1" height="1" fill="#10141F" />
+<rect x="37" y="10" width="1" height="1" fill="#10141F" />
+<rect x="38" y="10" width="1" height="1" fill="#10141F" />
+<rect x="39" y="10" width="1" height="1" fill="#10141F" />
+<rect x="40" y="10" width="1" height="1" fill="#10141F" />
+<rect x="5" y="11" width="1" height="1" fill="#10141F" />
+<rect x="6" y="11" width="1" height="1" fill="#10141F" />
+<rect x="7" y="11" width="1" height="1" fill="#10141F" />
+<rect x="8" y="11" width="1" height="1" fill="#B57454" />
+<rect x="9" y="11" width="1" height="1" fill="#B57454" />
+<rect x="10" y="11" width="1" height="1" fill="#D2915F" />
+<rect x="11" y="11" width="1" height="1" fill="#D2915F" />
+<rect x="12" y="11" width="1" height="1" fill="#10141F" />
+<rect x="13" y="11" width="1" height="1" fill="#10141F" />
+<rect x="14" y="11" width="1" height="1" fill="#3E292D" />
+<rect x="15" y="11" width="1" height="1" fill="#523634" />
+<rect x="16" y="11" width="1" height="1" fill="#3E292D" />
+<rect x="17" y="11" width="1" height="1" fill="#523634" />
+<rect x="18" y="11" width="1" height="1" fill="#523634" />
+<rect x="19" y="11" width="1" height="1" fill="#523634" />
+<rect x="20" y="11" width="1" height="1" fill="#523634" />
+<rect x="21" y="11" width="1" height="1" fill="#A95F41" />
+<rect x="22" y="11" width="1" height="1" fill="#A95F41" />
+<rect x="23" y="11" width="1" height="1" fill="#A95F41" />
+<rect x="24" y="11" width="1" height="1" fill="#A95F41" />
+<rect x="25" y="11" width="1" height="1" fill="#D2915F" />
+<rect x="26" y="11" width="1" height="1" fill="#A95F41" />
+<rect x="27" y="11" width="1" height="1" fill="#A95F41" />
+<rect x="28" y="11" width="1" height="1" fill="#A95F41" />
+<rect x="29" y="11" width="1" height="1" fill="#66463E" />
+<rect x="30" y="11" width="1" height="1" fill="#87523F" />
+<rect x="31" y="11" width="1" height="1" fill="#66463E" />
+<rect x="32" y="11" width="1" height="1" fill="#10141F" />
+<rect x="33" y="11" width="1" height="1" fill="#10141F" />
+<rect x="34" y="11" width="1" height="1" fill="#10141F" />
+<rect x="35" y="11" width="1" height="1" fill="#10141F" />
+<rect x="36" y="11" width="1" height="1" fill="#10141F" />
+<rect x="37" y="11" width="1" height="1" fill="#10141F" />
+<rect x="38" y="11" width="1" height="1" fill="#10141F" />
+<rect x="39" y="11" width="1" height="1" fill="#10141F" />
+<rect x="40" y="11" width="1" height="1" fill="#10141F" />
+<rect x="41" y="11" width="1" height="1" fill="#10141F" />
+<rect x="6" y="12" width="1" height="1" fill="#10141F" />
+<rect x="7" y="12" width="1" height="1" fill="#10141F" />
+<rect x="8" y="12" width="1" height="1" fill="#10141F" />
+<rect x="9" y="12" width="1" height="1" fill="#B57454" />
+<rect x="10" y="12" width="1" height="1" fill="#B57454" />
+<rect x="11" y="12" width="1" height="1" fill="#10141F" />
+<rect x="12" y="12" width="1" height="1" fill="#10141F" />
+<rect x="13" y="12" width="1" height="1" fill="#3E292D" />
+<rect x="14" y="12" width="1" height="1" fill="#3E292D" />
+<rect x="15" y="12" width="1" height="1" fill="#523634" />
+<rect x="16" y="12" width="1" height="1" fill="#A95F41" />
+<rect x="17" y="12" width="1" height="1" fill="#A95F41" />
+<rect x="18" y="12" width="1" height="1" fill="#A95F41" />
+<rect x="19" y="12" width="1" height="1" fill="#A95F41" />
+<rect x="20" y="12" width="1" height="1" fill="#D2915F" />
+<rect x="21" y="12" width="1" height="1" fill="#A95F41" />
+<rect x="22" y="12" width="1" height="1" fill="#D2915F" />
+<rect x="23" y="12" width="1" height="1" fill="#A95F41" />
+<rect x="24" y="12" width="1" height="1" fill="#A95F41" />
+<rect x="25" y="12" width="1" height="1" fill="#D2915F" />
+<rect x="26" y="12" width="1" height="1" fill="#A95F41" />
+<rect x="27" y="12" width="1" height="1" fill="#D2915F" />
+<rect x="28" y="12" width="1" height="1" fill="#A95F41" />
+<rect x="29" y="12" width="1" height="1" fill="#D2915F" />
+<rect x="30" y="12" width="1" height="1" fill="#A95F41" />
+<rect x="31" y="12" width="1" height="1" fill="#87523F" />
+<rect x="32" y="12" width="1" height="1" fill="#66463E" />
+<rect x="33" y="12" width="1" height="1" fill="#10141F" />
+<rect x="34" y="12" width="1" height="1" fill="#10141F" />
+<rect x="35" y="12" width="1" height="1" fill="#10141F" />
+<rect x="36" y="12" width="1" height="1" fill="#F1C469" />
+<rect x="37" y="12" width="1" height="1" fill="#F1C469" />
+<rect x="38" y="12" width="1" height="1" fill="#F1C469" />
+<rect x="39" y="12" width="1" height="1" fill="#10141F" />
+<rect x="40" y="12" width="1" height="1" fill="#10141F" />
+<rect x="41" y="12" width="1" height="1" fill="#10141F" />
+<rect x="6" y="13" width="1" height="1" fill="#10141F" />
+<rect x="7" y="13" width="1" height="1" fill="#10141F" />
+<rect x="8" y="13" width="1" height="1" fill="#10141F" />
+<rect x="9" y="13" width="1" height="1" fill="#10141F" />
+<rect x="10" y="13" width="1" height="1" fill="#10141F" />
+<rect x="11" y="13" width="1" height="1" fill="#10141F" />
+<rect x="12" y="13" width="1" height="1" fill="#3E292D" />
+<rect x="13" y="13" width="1" height="1" fill="#291D21" />
+<rect x="14" y="13" width="1" height="1" fill="#A95F41" />
+<rect x="15" y="13" width="1" height="1" fill="#A95F41" />
+<rect x="16" y="13" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="13" width="1" height="1" fill="#A95F41" />
+<rect x="18" y="13" width="1" height="1" fill="#D2915F" />
+<rect x="19" y="13" width="1" height="1" fill="#A95F41" />
+<rect x="20" y="13" width="1" height="1" fill="#A95F41" />
+<rect x="21" y="13" width="1" height="1" fill="#66463E" />
+<rect x="22" y="13" width="1" height="1" fill="#66463E" />
+<rect x="23" y="13" width="1" height="1" fill="#66463E" />
+<rect x="24" y="13" width="1" height="1" fill="#66463E" />
+<rect x="25" y="13" width="1" height="1" fill="#523634" />
+<rect x="26" y="13" width="1" height="1" fill="#523634" />
+<rect x="27" y="13" width="1" height="1" fill="#D2915F" />
+<rect x="28" y="13" width="1" height="1" fill="#D2915F" />
+<rect x="29" y="13" width="1" height="1" fill="#A95F41" />
+<rect x="30" y="13" width="1" height="1" fill="#A95F41" />
+<rect x="31" y="13" width="1" height="1" fill="#87523F" />
+<rect x="32" y="13" width="1" height="1" fill="#66463E" />
+<rect x="33" y="13" width="1" height="1" fill="#10141F" />
+<rect x="34" y="13" width="1" height="1" fill="#10141F" />
+<rect x="35" y="13" width="1" height="1" fill="#10141F" />
+<rect x="36" y="13" width="1" height="1" fill="#F1C469" />
+<rect x="37" y="13" width="1" height="1" fill="#F1C469" />
+<rect x="38" y="13" width="1" height="1" fill="#F1C469" />
+<rect x="39" y="13" width="1" height="1" fill="#F1C469" />
+<rect x="40" y="13" width="1" height="1" fill="#10141F" />
+<rect x="41" y="13" width="1" height="1" fill="#10141F" />
+<rect x="42" y="13" width="1" height="1" fill="#10141F" />
+<rect x="43" y="13" width="1" height="1" fill="#10141F" />
+<rect x="44" y="13" width="1" height="1" fill="#10141F" />
+<rect x="45" y="13" width="1" height="1" fill="#10141F" />
+<rect x="7" y="14" width="1" height="1" fill="#10141F" />
+<rect x="8" y="14" width="1" height="1" fill="#10141F" />
+<rect x="9" y="14" width="1" height="1" fill="#10141F" />
+<rect x="10" y="14" width="1" height="1" fill="#10141F" />
+<rect x="11" y="14" width="1" height="1" fill="#10141F" />
+<rect x="12" y="14" width="1" height="1" fill="#3E292D" />
+<rect x="13" y="14" width="1" height="1" fill="#3E292D" />
+<rect x="14" y="14" width="1" height="1" fill="#A95F41" />
+<rect x="15" y="14" width="1" height="1" fill="#D2915F" />
+<rect x="16" y="14" width="1" height="1" fill="#A95F41" />
+<rect x="17" y="14" width="1" height="1" fill="#A95F41" />
+<rect x="18" y="14" width="1" height="1" fill="#A95F41" />
+<rect x="19" y="14" width="1" height="1" fill="#66463E" />
+<rect x="20" y="14" width="1" height="1" fill="#66463E" />
+<rect x="21" y="14" width="1" height="1" fill="#66463E" />
+<rect x="22" y="14" width="1" height="1" fill="#66463E" />
+<rect x="23" y="14" width="1" height="1" fill="#66463E" />
+<rect x="24" y="14" width="1" height="1" fill="#66463E" />
+<rect x="25" y="14" width="1" height="1" fill="#66463E" />
+<rect x="26" y="14" width="1" height="1" fill="#523634" />
+<rect x="27" y="14" width="1" height="1" fill="#A95F41" />
+<rect x="28" y="14" width="1" height="1" fill="#A95F41" />
+<rect x="29" y="14" width="1" height="1" fill="#A95F41" />
+<rect x="30" y="14" width="1" height="1" fill="#87523F" />
+<rect x="31" y="14" width="1" height="1" fill="#66463E" />
+<rect x="32" y="14" width="1" height="1" fill="#66463E" />
+<rect x="33" y="14" width="1" height="1" fill="#10141F" />
+<rect x="34" y="14" width="1" height="1" fill="#10141F" />
+<rect x="35" y="14" width="1" height="1" fill="#10141F" />
+<rect x="36" y="14" width="1" height="1" fill="#F1C469" />
+<rect x="37" y="14" width="1" height="1" fill="#F1C469" />
+<rect x="38" y="14" width="1" height="1" fill="#F1C469" />
+<rect x="39" y="14" width="1" height="1" fill="#F1C469" />
+<rect x="40" y="14" width="1" height="1" fill="#10141F" />
+<rect x="41" y="14" width="1" height="1" fill="#10141F" />
+<rect x="42" y="14" width="1" height="1" fill="#10141F" />
+<rect x="43" y="14" width="1" height="1" fill="#10141F" />
+<rect x="44" y="14" width="1" height="1" fill="#10141F" />
+<rect x="45" y="14" width="1" height="1" fill="#10141F" />
+<rect x="46" y="14" width="1" height="1" fill="#10141F" />
+<rect x="5" y="15" width="1" height="1" fill="#10141F" />
+<rect x="6" y="15" width="1" height="1" fill="#10141F" />
+<rect x="7" y="15" width="1" height="1" fill="#10141F" />
+<rect x="8" y="15" width="1" height="1" fill="#10141F" />
+<rect x="9" y="15" width="1" height="1" fill="#10141F" />
+<rect x="10" y="15" width="1" height="1" fill="#10141F" />
+<rect x="11" y="15" width="1" height="1" fill="#10141F" />
+<rect x="12" y="15" width="1" height="1" fill="#523634" />
+<rect x="13" y="15" width="1" height="1" fill="#A95F41" />
+<rect x="14" y="15" width="1" height="1" fill="#A95F41" />
+<rect x="15" y="15" width="1" height="1" fill="#A95F41" />
+<rect x="16" y="15" width="1" height="1" fill="#A95F41" />
+<rect x="17" y="15" width="1" height="1" fill="#A95F41" />
+<rect x="18" y="15" width="1" height="1" fill="#A95F41" />
+<rect x="19" y="15" width="1" height="1" fill="#66463E" />
+<rect x="20" y="15" width="1" height="1" fill="#66463E" />
+<rect x="21" y="15" width="1" height="1" fill="#66463E" />
+<rect x="22" y="15" width="1" height="1" fill="#66463E" />
+<rect x="23" y="15" width="1" height="1" fill="#66463E" />
+<rect x="24" y="15" width="1" height="1" fill="#66463E" />
+<rect x="25" y="15" width="1" height="1" fill="#523634" />
+<rect x="26" y="15" width="1" height="1" fill="#523634" />
+<rect x="27" y="15" width="1" height="1" fill="#87523F" />
+<rect x="28" y="15" width="1" height="1" fill="#A95F41" />
+<rect x="29" y="15" width="1" height="1" fill="#87523F" />
+<rect x="30" y="15" width="1" height="1" fill="#523634" />
+<rect x="31" y="15" width="1" height="1" fill="#66463E" />
+<rect x="32" y="15" width="1" height="1" fill="#10141F" />
+<rect x="33" y="15" width="1" height="1" fill="#10141F" />
+<rect x="34" y="15" width="1" height="1" fill="#10141F" />
+<rect x="35" y="15" width="1" height="1" fill="#D2915F" />
+<rect x="36" y="15" width="1" height="1" fill="#10141F" />
+<rect x="37" y="15" width="1" height="1" fill="#10141F" />
+<rect x="38" y="15" width="1" height="1" fill="#10141F" />
+<rect x="39" y="15" width="1" height="1" fill="#10141F" />
+<rect x="40" y="15" width="1" height="1" fill="#10141F" />
+<rect x="41" y="15" width="1" height="1" fill="#10141F" />
+<rect x="42" y="15" width="1" height="1" fill="#10141F" />
+<rect x="43" y="15" width="1" height="1" fill="#10141F" />
+<rect x="44" y="15" width="1" height="1" fill="#10141F" />
+<rect x="45" y="15" width="1" height="1" fill="#10141F" />
+<rect x="46" y="15" width="1" height="1" fill="#10141F" />
+<rect x="47" y="15" width="1" height="1" fill="#10141F" />
+<rect x="4" y="16" width="1" height="1" fill="#10141F" />
+<rect x="5" y="16" width="1" height="1" fill="#10141F" />
+<rect x="6" y="16" width="1" height="1" fill="#10141F" />
+<rect x="7" y="16" width="1" height="1" fill="#10141F" />
+<rect x="8" y="16" width="1" height="1" fill="#10141F" />
+<rect x="9" y="16" width="1" height="1" fill="#10141F" />
+<rect x="10" y="16" width="1" height="1" fill="#10141F" />
+<rect x="11" y="16" width="1" height="1" fill="#10141F" />
+<rect x="12" y="16" width="1" height="1" fill="#3E292D" />
+<rect x="13" y="16" width="1" height="1" fill="#A95F41" />
+<rect x="14" y="16" width="1" height="1" fill="#A95F41" />
+<rect x="15" y="16" width="1" height="1" fill="#A95F41" />
+<rect x="16" y="16" width="1" height="1" fill="#A95F41" />
+<rect x="17" y="16" width="1" height="1" fill="#A95F41" />
+<rect x="18" y="16" width="1" height="1" fill="#A95F41" />
+<rect x="19" y="16" width="1" height="1" fill="#66463E" />
+<rect x="20" y="16" width="1" height="1" fill="#66463E" />
+<rect x="21" y="16" width="1" height="1" fill="#66463E" />
+<rect x="22" y="16" width="1" height="1" fill="#66463E" />
+<rect x="23" y="16" width="1" height="1" fill="#523634" />
+<rect x="24" y="16" width="1" height="1" fill="#523634" />
+<rect x="25" y="16" width="1" height="1" fill="#A95F41" />
+<rect x="26" y="16" width="1" height="1" fill="#A95F41" />
+<rect x="27" y="16" width="1" height="1" fill="#87523F" />
+<rect x="28" y="16" width="1" height="1" fill="#66463E" />
+<rect x="29" y="16" width="1" height="1" fill="#523634" />
+<rect x="30" y="16" width="1" height="1" fill="#66463E" />
+<rect x="31" y="16" width="1" height="1" fill="#10141F" />
+<rect x="32" y="16" width="1" height="1" fill="#10141F" />
+<rect x="33" y="16" width="1" height="1" fill="#10141F" />
+<rect x="34" y="16" width="1" height="1" fill="#10141F" />
+<rect x="35" y="16" width="1" height="1" fill="#10141F" />
+<rect x="36" y="16" width="1" height="1" fill="#10141F" />
+<rect x="37" y="16" width="1" height="1" fill="#10141F" />
+<rect x="38" y="16" width="1" height="1" fill="#10141F" />
+<rect x="39" y="16" width="1" height="1" fill="#10141F" />
+<rect x="40" y="16" width="1" height="1" fill="#10141F" />
+<rect x="41" y="16" width="1" height="1" fill="#4B692F" />
+<rect x="42" y="16" width="1" height="1" fill="#4B692F" />
+<rect x="43" y="16" width="1" height="1" fill="#4B692F" />
+<rect x="44" y="16" width="1" height="1" fill="#4B692F" />
+<rect x="45" y="16" width="1" height="1" fill="#10141F" />
+<rect x="46" y="16" width="1" height="1" fill="#10141F" />
+<rect x="47" y="16" width="1" height="1" fill="#10141F" />
+<rect x="3" y="17" width="1" height="1" fill="#10141F" />
+<rect x="4" y="17" width="1" height="1" fill="#10141F" />
+<rect x="5" y="17" width="1" height="1" fill="#10141F" />
+<rect x="6" y="17" width="1" height="1" fill="#10141F" />
+<rect x="7" y="17" width="1" height="1" fill="#10141F" />
+<rect x="8" y="17" width="1" height="1" fill="#B57454" />
+<rect x="9" y="17" width="1" height="1" fill="#10141F" />
+<rect x="10" y="17" width="1" height="1" fill="#10141F" />
+<rect x="11" y="17" width="1" height="1" fill="#10141F" />
+<rect x="12" y="17" width="1" height="1" fill="#3E292D" />
+<rect x="13" y="17" width="1" height="1" fill="#A95F41" />
+<rect x="14" y="17" width="1" height="1" fill="#A95F41" />
+<rect x="15" y="17" width="1" height="1" fill="#A95F41" />
+<rect x="16" y="17" width="1" height="1" fill="#87523F" />
+<rect x="17" y="17" width="1" height="1" fill="#87523F" />
+<rect x="18" y="17" width="1" height="1" fill="#A95F41" />
+<rect x="19" y="17" width="1" height="1" fill="#523634" />
+<rect x="20" y="17" width="1" height="1" fill="#523634" />
+<rect x="21" y="17" width="1" height="1" fill="#523634" />
+<rect x="22" y="17" width="1" height="1" fill="#523634" />
+<rect x="23" y="17" width="1" height="1" fill="#523634" />
+<rect x="24" y="17" width="1" height="1" fill="#A95F41" />
+<rect x="25" y="17" width="1" height="1" fill="#87523F" />
+<rect x="26" y="17" width="1" height="1" fill="#A95F41" />
+<rect x="27" y="17" width="1" height="1" fill="#523634" />
+<rect x="28" y="17" width="1" height="1" fill="#66463E" />
+<rect x="29" y="17" width="1" height="1" fill="#66463E" />
+<rect x="30" y="17" width="1" height="1" fill="#10141F" />
+<rect x="31" y="17" width="1" height="1" fill="#10141F" />
+<rect x="32" y="17" width="1" height="1" fill="#10141F" />
+<rect x="33" y="17" width="1" height="1" fill="#10141F" />
+<rect x="34" y="17" width="1" height="1" fill="#10141F" />
+<rect x="35" y="17" width="1" height="1" fill="#10141F" />
+<rect x="36" y="17" width="1" height="1" fill="#10141F" />
+<rect x="37" y="17" width="1" height="1" fill="#10141F" />
+<rect x="38" y="17" width="1" height="1" fill="#10141F" />
+<rect x="39" y="17" width="1" height="1" fill="#10141F" />
+<rect x="40" y="17" width="1" height="1" fill="#10141F" />
+<rect x="41" y="17" width="1" height="1" fill="#395628" />
+<rect x="42" y="17" width="1" height="1" fill="#4B692F" />
+<rect x="43" y="17" width="1" height="1" fill="#4B692F" />
+<rect x="44" y="17" width="1" height="1" fill="#395628" />
+<rect x="45" y="17" width="1" height="1" fill="#10141F" />
+<rect x="46" y="17" width="1" height="1" fill="#10141F" />
+<rect x="47" y="17" width="1" height="1" fill="#10141F" />
+<rect x="3" y="18" width="1" height="1" fill="#10141F" />
+<rect x="4" y="18" width="1" height="1" fill="#10141F" />
+<rect x="5" y="18" width="1" height="1" fill="#10141F" />
+<rect x="6" y="18" width="1" height="1" fill="#B57454" />
+<rect x="7" y="18" width="1" height="1" fill="#B57454" />
+<rect x="8" y="18" width="1" height="1" fill="#B57454" />
+<rect x="9" y="18" width="1" height="1" fill="#10141F" />
+<rect x="10" y="18" width="1" height="1" fill="#10141F" />
+<rect x="11" y="18" width="1" height="1" fill="#10141F" />
+<rect x="12" y="18" width="1" height="1" fill="#523634" />
+<rect x="13" y="18" width="1" height="1" fill="#87523F" />
+<rect x="14" y="18" width="1" height="1" fill="#A95F41" />
+<rect x="15" y="18" width="1" height="1" fill="#523634" />
+<rect x="16" y="18" width="1" height="1" fill="#A95F41" />
+<rect x="17" y="18" width="1" height="1" fill="#87523F" />
+<rect x="18" y="18" width="1" height="1" fill="#A95F41" />
+<rect x="19" y="18" width="1" height="1" fill="#A95F41" />
+<rect x="20" y="18" width="1" height="1" fill="#A95F41" />
+<rect x="21" y="18" width="1" height="1" fill="#A95F41" />
+<rect x="22" y="18" width="1" height="1" fill="#A95F41" />
+<rect x="23" y="18" width="1" height="1" fill="#87523F" />
+<rect x="24" y="18" width="1" height="1" fill="#A95F41" />
+<rect x="25" y="18" width="1" height="1" fill="#87523F" />
+<rect x="26" y="18" width="1" height="1" fill="#87523F" />
+<rect x="27" y="18" width="1" height="1" fill="#66463E" />
+<rect x="28" y="18" width="1" height="1" fill="#66463E" />
+<rect x="29" y="18" width="1" height="1" fill="#10141F" />
+<rect x="30" y="18" width="1" height="1" fill="#10141F" />
+<rect x="31" y="18" width="1" height="1" fill="#10141F" />
+<rect x="32" y="18" width="1" height="1" fill="#10141F" />
+<rect x="33" y="18" width="1" height="1" fill="#10141F" />
+<rect x="34" y="18" width="1" height="1" fill="#10141F" />
+<rect x="35" y="18" width="1" height="1" fill="#10141F" />
+<rect x="36" y="18" width="1" height="1" fill="#10141F" />
+<rect x="37" y="18" width="1" height="1" fill="#10141F" />
+<rect x="38" y="18" width="1" height="1" fill="#10141F" />
+<rect x="39" y="18" width="1" height="1" fill="#10141F" />
+<rect x="40" y="18" width="1" height="1" fill="#10141F" />
+<rect x="41" y="18" width="1" height="1" fill="#10141F" />
+<rect x="42" y="18" width="1" height="1" fill="#10141F" />
+<rect x="43" y="18" width="1" height="1" fill="#10141F" />
+<rect x="44" y="18" width="1" height="1" fill="#10141F" />
+<rect x="45" y="18" width="1" height="1" fill="#10141F" />
+<rect x="46" y="18" width="1" height="1" fill="#10141F" />
+<rect x="47" y="18" width="1" height="1" fill="#10141F" />
+<rect x="2" y="19" width="1" height="1" fill="#10141F" />
+<rect x="3" y="19" width="1" height="1" fill="#10141F" />
+<rect x="4" y="19" width="1" height="1" fill="#10141F" />
+<rect x="5" y="19" width="1" height="1" fill="#D2915F" />
+<rect x="6" y="19" width="1" height="1" fill="#D2915F" />
+<rect x="7" y="19" width="1" height="1" fill="#D2915F" />
+<rect x="8" y="19" width="1" height="1" fill="#D2915F" />
+<rect x="9" y="19" width="1" height="1" fill="#10141F" />
+<rect x="10" y="19" width="1" height="1" fill="#10141F" />
+<rect x="11" y="19" width="1" height="1" fill="#10141F" />
+<rect x="12" y="19" width="1" height="1" fill="#10141F" />
+<rect x="13" y="19" width="1" height="1" fill="#523634" />
+<rect x="14" y="19" width="1" height="1" fill="#523634" />
+<rect x="15" y="19" width="1" height="1" fill="#523634" />
+<rect x="16" y="19" width="1" height="1" fill="#66463E" />
+<rect x="17" y="19" width="1" height="1" fill="#A95F41" />
+<rect x="18" y="19" width="1" height="1" fill="#A95F41" />
+<rect x="19" y="19" width="1" height="1" fill="#523634" />
+<rect x="20" y="19" width="1" height="1" fill="#523634" />
+<rect x="21" y="19" width="1" height="1" fill="#66463E" />
+<rect x="22" y="19" width="1" height="1" fill="#87523F" />
+<rect x="23" y="19" width="1" height="1" fill="#87523F" />
+<rect x="24" y="19" width="1" height="1" fill="#523634" />
+<rect x="25" y="19" width="1" height="1" fill="#66463E" />
+<rect x="26" y="19" width="1" height="1" fill="#66463E" />
+<rect x="27" y="19" width="1" height="1" fill="#66463E" />
+<rect x="28" y="19" width="1" height="1" fill="#10141F" />
+<rect x="29" y="19" width="1" height="1" fill="#10141F" />
+<rect x="30" y="19" width="1" height="1" fill="#10141F" />
+<rect x="31" y="19" width="1" height="1" fill="#10141F" />
+<rect x="32" y="19" width="1" height="1" fill="#F1C469" />
+<rect x="33" y="19" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="19" width="1" height="1" fill="#10141F" />
+<rect x="35" y="19" width="1" height="1" fill="#10141F" />
+<rect x="36" y="19" width="1" height="1" fill="#10141F" />
+<rect x="37" y="19" width="1" height="1" fill="#10141F" />
+<rect x="38" y="19" width="1" height="1" fill="#10141F" />
+<rect x="39" y="19" width="1" height="1" fill="#10141F" />
+<rect x="40" y="19" width="1" height="1" fill="#10141F" />
+<rect x="41" y="19" width="1" height="1" fill="#10141F" />
+<rect x="42" y="19" width="1" height="1" fill="#10141F" />
+<rect x="43" y="19" width="1" height="1" fill="#10141F" />
+<rect x="44" y="19" width="1" height="1" fill="#10141F" />
+<rect x="45" y="19" width="1" height="1" fill="#10141F" />
+<rect x="46" y="19" width="1" height="1" fill="#10141F" />
+<rect x="3" y="20" width="1" height="1" fill="#10141F" />
+<rect x="4" y="20" width="1" height="1" fill="#10141F" />
+<rect x="5" y="20" width="1" height="1" fill="#10141F" />
+<rect x="6" y="20" width="1" height="1" fill="#10141F" />
+<rect x="7" y="20" width="1" height="1" fill="#D2915F" />
+<rect x="8" y="20" width="1" height="1" fill="#D2915F" />
+<rect x="9" y="20" width="1" height="1" fill="#D2915F" />
+<rect x="10" y="20" width="1" height="1" fill="#10141F" />
+<rect x="11" y="20" width="1" height="1" fill="#10141F" />
+<rect x="12" y="20" width="1" height="1" fill="#10141F" />
+<rect x="13" y="20" width="1" height="1" fill="#10141F" />
+<rect x="14" y="20" width="1" height="1" fill="#523634" />
+<rect x="15" y="20" width="1" height="1" fill="#66463E" />
+<rect x="16" y="20" width="1" height="1" fill="#66463E" />
+<rect x="17" y="20" width="1" height="1" fill="#66463E" />
+<rect x="18" y="20" width="1" height="1" fill="#87523F" />
+<rect x="19" y="20" width="1" height="1" fill="#523634" />
+<rect x="20" y="20" width="1" height="1" fill="#523634" />
+<rect x="21" y="20" width="1" height="1" fill="#66463E" />
+<rect x="22" y="20" width="1" height="1" fill="#66463E" />
+<rect x="23" y="20" width="1" height="1" fill="#66463E" />
+<rect x="24" y="20" width="1" height="1" fill="#66463E" />
+<rect x="25" y="20" width="1" height="1" fill="#10141F" />
+<rect x="26" y="20" width="1" height="1" fill="#10141F" />
+<rect x="27" y="20" width="1" height="1" fill="#10141F" />
+<rect x="28" y="20" width="1" height="1" fill="#10141F" />
+<rect x="29" y="20" width="1" height="1" fill="#10141F" />
+<rect x="30" y="20" width="1" height="1" fill="#10141F" />
+<rect x="31" y="20" width="1" height="1" fill="#F1C469" />
+<rect x="32" y="20" width="1" height="1" fill="#F1C469" />
+<rect x="33" y="20" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="20" width="1" height="1" fill="#F1C469" />
+<rect x="35" y="20" width="1" height="1" fill="#10141F" />
+<rect x="36" y="20" width="1" height="1" fill="#10141F" />
+<rect x="37" y="20" width="1" height="1" fill="#10141F" />
+<rect x="38" y="20" width="1" height="1" fill="#10141F" />
+<rect x="39" y="20" width="1" height="1" fill="#10141F" />
+<rect x="40" y="20" width="1" height="1" fill="#10141F" />
+<rect x="41" y="20" width="1" height="1" fill="#10141F" />
+<rect x="42" y="20" width="1" height="1" fill="#10141F" />
+<rect x="43" y="20" width="1" height="1" fill="#10141F" />
+<rect x="44" y="20" width="1" height="1" fill="#10141F" />
+<rect x="3" y="21" width="1" height="1" fill="#10141F" />
+<rect x="4" y="21" width="1" height="1" fill="#10141F" />
+<rect x="5" y="21" width="1" height="1" fill="#10141F" />
+<rect x="6" y="21" width="1" height="1" fill="#10141F" />
+<rect x="7" y="21" width="1" height="1" fill="#10141F" />
+<rect x="8" y="21" width="1" height="1" fill="#10141F" />
+<rect x="9" y="21" width="1" height="1" fill="#10141F" />
+<rect x="10" y="21" width="1" height="1" fill="#10141F" />
+<rect x="11" y="21" width="1" height="1" fill="#10141F" />
+<rect x="12" y="21" width="1" height="1" fill="#10141F" />
+<rect x="13" y="21" width="1" height="1" fill="#10141F" />
+<rect x="14" y="21" width="1" height="1" fill="#10141F" />
+<rect x="15" y="21" width="1" height="1" fill="#10141F" />
+<rect x="16" y="21" width="1" height="1" fill="#10141F" />
+<rect x="17" y="21" width="1" height="1" fill="#10141F" />
+<rect x="18" y="21" width="1" height="1" fill="#10141F" />
+<rect x="19" y="21" width="1" height="1" fill="#10141F" />
+<rect x="20" y="21" width="1" height="1" fill="#10141F" />
+<rect x="21" y="21" width="1" height="1" fill="#10141F" />
+<rect x="22" y="21" width="1" height="1" fill="#10141F" />
+<rect x="23" y="21" width="1" height="1" fill="#10141F" />
+<rect x="24" y="21" width="1" height="1" fill="#10141F" />
+<rect x="25" y="21" width="1" height="1" fill="#10141F" />
+<rect x="26" y="21" width="1" height="1" fill="#10141F" />
+<rect x="27" y="21" width="1" height="1" fill="#10141F" />
+<rect x="28" y="21" width="1" height="1" fill="#10141F" />
+<rect x="29" y="21" width="1" height="1" fill="#10141F" />
+<rect x="30" y="21" width="1" height="1" fill="#F1C469" />
+<rect x="31" y="21" width="1" height="1" fill="#F1C469" />
+<rect x="32" y="21" width="1" height="1" fill="#F1C469" />
+<rect x="33" y="21" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="21" width="1" height="1" fill="#F1C469" />
+<rect x="35" y="21" width="1" height="1" fill="#10141F" />
+<rect x="36" y="21" width="1" height="1" fill="#10141F" />
+<rect x="37" y="21" width="1" height="1" fill="#10141F" />
+<rect x="38" y="21" width="1" height="1" fill="#10141F" />
+<rect x="39" y="21" width="1" height="1" fill="#10141F" />
+<rect x="40" y="21" width="1" height="1" fill="#4B692F" />
+<rect x="41" y="21" width="1" height="1" fill="#10141F" />
+<rect x="42" y="21" width="1" height="1" fill="#10141F" />
+<rect x="43" y="21" width="1" height="1" fill="#10141F" />
+<rect x="5" y="22" width="1" height="1" fill="#10141F" />
+<rect x="6" y="22" width="1" height="1" fill="#10141F" />
+<rect x="7" y="22" width="1" height="1" fill="#10141F" />
+<rect x="8" y="22" width="1" height="1" fill="#10141F" />
+<rect x="9" y="22" width="1" height="1" fill="#10141F" />
+<rect x="10" y="22" width="1" height="1" fill="#10141F" />
+<rect x="11" y="22" width="1" height="1" fill="#10141F" />
+<rect x="12" y="22" width="1" height="1" fill="#10141F" />
+<rect x="13" y="22" width="1" height="1" fill="#10141F" />
+<rect x="14" y="22" width="1" height="1" fill="#10141F" />
+<rect x="15" y="22" width="1" height="1" fill="#10141F" />
+<rect x="16" y="22" width="1" height="1" fill="#10141F" />
+<rect x="17" y="22" width="1" height="1" fill="#10141F" />
+<rect x="18" y="22" width="1" height="1" fill="#10141F" />
+<rect x="19" y="22" width="1" height="1" fill="#10141F" />
+<rect x="20" y="22" width="1" height="1" fill="#10141F" />
+<rect x="21" y="22" width="1" height="1" fill="#10141F" />
+<rect x="22" y="22" width="1" height="1" fill="#10141F" />
+<rect x="23" y="22" width="1" height="1" fill="#10141F" />
+<rect x="24" y="22" width="1" height="1" fill="#10141F" />
+<rect x="25" y="22" width="1" height="1" fill="#10141F" />
+<rect x="26" y="22" width="1" height="1" fill="#10141F" />
+<rect x="27" y="22" width="1" height="1" fill="#10141F" />
+<rect x="28" y="22" width="1" height="1" fill="#10141F" />
+<rect x="29" y="22" width="1" height="1" fill="#10141F" />
+<rect x="30" y="22" width="1" height="1" fill="#D2915F" />
+<rect x="31" y="22" width="1" height="1" fill="#D2915F" />
+<rect x="32" y="22" width="1" height="1" fill="#F1C469" />
+<rect x="33" y="22" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="22" width="1" height="1" fill="#10141F" />
+<rect x="35" y="22" width="1" height="1" fill="#10141F" />
+<rect x="36" y="22" width="1" height="1" fill="#10141F" />
+<rect x="37" y="22" width="1" height="1" fill="#10141F" />
+<rect x="38" y="22" width="1" height="1" fill="#10141F" />
+<rect x="39" y="22" width="1" height="1" fill="#10141F" />
+<rect x="40" y="22" width="1" height="1" fill="#4B692F" />
+<rect x="41" y="22" width="1" height="1" fill="#4B692F" />
+<rect x="42" y="22" width="1" height="1" fill="#10141F" />
+<rect x="43" y="22" width="1" height="1" fill="#10141F" />
+<rect x="44" y="22" width="1" height="1" fill="#10141F" />
+<rect x="3" y="23" width="1" height="1" fill="#10141F" />
+<rect x="4" y="23" width="1" height="1" fill="#10141F" />
+<rect x="5" y="23" width="1" height="1" fill="#10141F" />
+<rect x="6" y="23" width="1" height="1" fill="#10141F" />
+<rect x="7" y="23" width="1" height="1" fill="#10141F" />
+<rect x="8" y="23" width="1" height="1" fill="#10141F" />
+<rect x="9" y="23" width="1" height="1" fill="#10141F" />
+<rect x="10" y="23" width="1" height="1" fill="#10141F" />
+<rect x="11" y="23" width="1" height="1" fill="#10141F" />
+<rect x="12" y="23" width="1" height="1" fill="#10141F" />
+<rect x="13" y="23" width="1" height="1" fill="#D2915F" />
+<rect x="14" y="23" width="1" height="1" fill="#10141F" />
+<rect x="15" y="23" width="1" height="1" fill="#10141F" />
+<rect x="16" y="23" width="1" height="1" fill="#10141F" />
+<rect x="17" y="23" width="1" height="1" fill="#10141F" />
+<rect x="18" y="23" width="1" height="1" fill="#10141F" />
+<rect x="19" y="23" width="1" height="1" fill="#10141F" />
+<rect x="20" y="23" width="1" height="1" fill="#10141F" />
+<rect x="21" y="23" width="1" height="1" fill="#10141F" />
+<rect x="22" y="23" width="1" height="1" fill="#10141F" />
+<rect x="23" y="23" width="1" height="1" fill="#10141F" />
+<rect x="24" y="23" width="1" height="1" fill="#F1C469" />
+<rect x="25" y="23" width="1" height="1" fill="#F1C469" />
+<rect x="26" y="23" width="1" height="1" fill="#10141F" />
+<rect x="27" y="23" width="1" height="1" fill="#10141F" />
+<rect x="28" y="23" width="1" height="1" fill="#10141F" />
+<rect x="29" y="23" width="1" height="1" fill="#10141F" />
+<rect x="30" y="23" width="1" height="1" fill="#10141F" />
+<rect x="31" y="23" width="1" height="1" fill="#10141F" />
+<rect x="32" y="23" width="1" height="1" fill="#10141F" />
+<rect x="33" y="23" width="1" height="1" fill="#10141F" />
+<rect x="34" y="23" width="1" height="1" fill="#10141F" />
+<rect x="35" y="23" width="1" height="1" fill="#10141F" />
+<rect x="36" y="23" width="1" height="1" fill="#10141F" />
+<rect x="37" y="23" width="1" height="1" fill="#10141F" />
+<rect x="38" y="23" width="1" height="1" fill="#10141F" />
+<rect x="39" y="23" width="1" height="1" fill="#10141F" />
+<rect x="40" y="23" width="1" height="1" fill="#395628" />
+<rect x="41" y="23" width="1" height="1" fill="#395628" />
+<rect x="42" y="23" width="1" height="1" fill="#10141F" />
+<rect x="43" y="23" width="1" height="1" fill="#10141F" />
+<rect x="44" y="23" width="1" height="1" fill="#10141F" />
+<rect x="45" y="23" width="1" height="1" fill="#10141F" />
+<rect x="2" y="24" width="1" height="1" fill="#10141F" />
+<rect x="3" y="24" width="1" height="1" fill="#10141F" />
+<rect x="4" y="24" width="1" height="1" fill="#10141F" />
+<rect x="5" y="24" width="1" height="1" fill="#10141F" />
+<rect x="6" y="24" width="1" height="1" fill="#10141F" />
+<rect x="7" y="24" width="1" height="1" fill="#10141F" />
+<rect x="8" y="24" width="1" height="1" fill="#10141F" />
+<rect x="9" y="24" width="1" height="1" fill="#10141F" />
+<rect x="10" y="24" width="1" height="1" fill="#10141F" />
+<rect x="11" y="24" width="1" height="1" fill="#10141F" />
+<rect x="12" y="24" width="1" height="1" fill="#10141F" />
+<rect x="13" y="24" width="1" height="1" fill="#D2915F" />
+<rect x="14" y="24" width="1" height="1" fill="#D2915F" />
+<rect x="15" y="24" width="1" height="1" fill="#D2915F" />
+<rect x="16" y="24" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="24" width="1" height="1" fill="#F1C469" />
+<rect x="18" y="24" width="1" height="1" fill="#10141F" />
+<rect x="19" y="24" width="1" height="1" fill="#10141F" />
+<rect x="20" y="24" width="1" height="1" fill="#10141F" />
+<rect x="21" y="24" width="1" height="1" fill="#10141F" />
+<rect x="22" y="24" width="1" height="1" fill="#D2915F" />
+<rect x="23" y="24" width="1" height="1" fill="#D2915F" />
+<rect x="24" y="24" width="1" height="1" fill="#F1C469" />
+<rect x="25" y="24" width="1" height="1" fill="#F1C469" />
+<rect x="26" y="24" width="1" height="1" fill="#10141F" />
+<rect x="27" y="24" width="1" height="1" fill="#10141F" />
+<rect x="28" y="24" width="1" height="1" fill="#10141F" />
+<rect x="29" y="24" width="1" height="1" fill="#10141F" />
+<rect x="30" y="24" width="1" height="1" fill="#10141F" />
+<rect x="31" y="24" width="1" height="1" fill="#10141F" />
+<rect x="32" y="24" width="1" height="1" fill="#10141F" />
+<rect x="33" y="24" width="1" height="1" fill="#10141F" />
+<rect x="34" y="24" width="1" height="1" fill="#10141F" />
+<rect x="35" y="24" width="1" height="1" fill="#10141F" />
+<rect x="36" y="24" width="1" height="1" fill="#F1C469" />
+<rect x="37" y="24" width="1" height="1" fill="#F1C469" />
+<rect x="38" y="24" width="1" height="1" fill="#10141F" />
+<rect x="39" y="24" width="1" height="1" fill="#10141F" />
+<rect x="40" y="24" width="1" height="1" fill="#10141F" />
+<rect x="41" y="24" width="1" height="1" fill="#10141F" />
+<rect x="42" y="24" width="1" height="1" fill="#10141F" />
+<rect x="43" y="24" width="1" height="1" fill="#10141F" />
+<rect x="44" y="24" width="1" height="1" fill="#10141F" />
+<rect x="45" y="24" width="1" height="1" fill="#10141F" />
+<rect x="1" y="25" width="1" height="1" fill="#10141F" />
+<rect x="2" y="25" width="1" height="1" fill="#10141F" />
+<rect x="3" y="25" width="1" height="1" fill="#10141F" />
+<rect x="4" y="25" width="1" height="1" fill="#10141F" />
+<rect x="5" y="25" width="1" height="1" fill="#10141F" />
+<rect x="6" y="25" width="1" height="1" fill="#395628" />
+<rect x="7" y="25" width="1" height="1" fill="#4B692F" />
+<rect x="8" y="25" width="1" height="1" fill="#10141F" />
+<rect x="9" y="25" width="1" height="1" fill="#10141F" />
+<rect x="10" y="25" width="1" height="1" fill="#10141F" />
+<rect x="11" y="25" width="1" height="1" fill="#10141F" />
+<rect x="12" y="25" width="1" height="1" fill="#10141F" />
+<rect x="13" y="25" width="1" height="1" fill="#D2915F" />
+<rect x="14" y="25" width="1" height="1" fill="#D2915F" />
+<rect x="15" y="25" width="1" height="1" fill="#D2915F" />
+<rect x="16" y="25" width="1" height="1" fill="#F1C469" />
+<rect x="17" y="25" width="1" height="1" fill="#F1C469" />
+<rect x="18" y="25" width="1" height="1" fill="#10141F" />
+<rect x="19" y="25" width="1" height="1" fill="#10141F" />
+<rect x="20" y="25" width="1" height="1" fill="#10141F" />
+<rect x="21" y="25" width="1" height="1" fill="#10141F" />
+<rect x="22" y="25" width="1" height="1" fill="#D2915F" />
+<rect x="23" y="25" width="1" height="1" fill="#D2915F" />
+<rect x="24" y="25" width="1" height="1" fill="#F1C469" />
+<rect x="25" y="25" width="1" height="1" fill="#F1C469" />
+<rect x="26" y="25" width="1" height="1" fill="#10141F" />
+<rect x="27" y="25" width="1" height="1" fill="#10141F" />
+<rect x="28" y="25" width="1" height="1" fill="#10141F" />
+<rect x="29" y="25" width="1" height="1" fill="#F1C469" />
+<rect x="30" y="25" width="1" height="1" fill="#10141F" />
+<rect x="31" y="25" width="1" height="1" fill="#10141F" />
+<rect x="32" y="25" width="1" height="1" fill="#10141F" />
+<rect x="33" y="25" width="1" height="1" fill="#10141F" />
+<rect x="34" y="25" width="1" height="1" fill="#F1C469" />
+<rect x="35" y="25" width="1" height="1" fill="#F1C469" />
+<rect x="36" y="25" width="1" height="1" fill="#F1C469" />
+<rect x="37" y="25" width="1" height="1" fill="#F1C469" />
+<rect x="38" y="25" width="1" height="1" fill="#F1C469" />
+<rect x="39" y="25" width="1" height="1" fill="#10141F" />
+<rect x="40" y="25" width="1" height="1" fill="#10141F" />
+<rect x="41" y="25" width="1" height="1" fill="#10141F" />
+<rect x="42" y="25" width="1" height="1" fill="#10141F" />
+<rect x="43" y="25" width="1" height="1" fill="#10141F" />
+<rect x="44" y="25" width="1" height="1" fill="#10141F" />
+<rect x="45" y="25" width="1" height="1" fill="#10141F" />
+<rect x="0" y="26" width="1" height="1" fill="#10141F" />
+<rect x="1" y="26" width="1" height="1" fill="#10141F" />
+<rect x="2" y="26" width="1" height="1" fill="#10141F" />
+<rect x="3" y="26" width="1" height="1" fill="#10141F" />
+<rect x="4" y="26" width="1" height="1" fill="#10141F" />
+<rect x="5" y="26" width="1" height="1" fill="#10141F" />
+<rect x="6" y="26" width="1" height="1" fill="#395628" />
+<rect x="7" y="26" width="1" height="1" fill="#4B692F" />
+<rect x="8" y="26" width="1" height="1" fill="#10141F" />
+<rect x="9" y="26" width="1" height="1" fill="#10141F" />
+<rect x="10" y="26" width="1" height="1" fill="#10141F" />
+<rect x="11" y="26" width="1" height="1" fill="#10141F" />
+<rect x="12" y="26" width="1" height="1" fill="#10141F" />
+<rect x="13" y="26" width="1" height="1" fill="#D2915F" />
+<rect x="14" y="26" width="1" height="1" fill="#D2915F" />
+<rect x="15" y="26" width="1" height="1" fill="#D2915F" />
+<rect x="16" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="17" y="26" width="1" height="1" fill="#10141F" />
+<rect x="18" y="26" width="1" height="1" fill="#10141F" />
+<rect x="19" y="26" width="1" height="1" fill="#10141F" />
+<rect x="20" y="26" width="1" height="1" fill="#10141F" />
+<rect x="21" y="26" width="1" height="1" fill="#10141F" />
+<rect x="22" y="26" width="1" height="1" fill="#10141F" />
+<rect x="23" y="26" width="1" height="1" fill="#D2915F" />
+<rect x="24" y="26" width="1" height="1" fill="#D2915F" />
+<rect x="25" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="26" y="26" width="1" height="1" fill="#10141F" />
+<rect x="27" y="26" width="1" height="1" fill="#10141F" />
+<rect x="28" y="26" width="1" height="1" fill="#10141F" />
+<rect x="29" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="30" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="31" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="32" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="33" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="35" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="36" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="37" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="38" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="39" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="40" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="41" y="26" width="1" height="1" fill="#F1C469" />
+<rect x="42" y="26" width="1" height="1" fill="#10141F" />
+<rect x="43" y="26" width="1" height="1" fill="#10141F" />
+<rect x="44" y="26" width="1" height="1" fill="#10141F" />
+<rect x="1" y="27" width="1" height="1" fill="#10141F" />
+<rect x="2" y="27" width="1" height="1" fill="#10141F" />
+<rect x="3" y="27" width="1" height="1" fill="#10141F" />
+<rect x="4" y="27" width="1" height="1" fill="#10141F" />
+<rect x="5" y="27" width="1" height="1" fill="#10141F" />
+<rect x="6" y="27" width="1" height="1" fill="#10141F" />
+<rect x="7" y="27" width="1" height="1" fill="#10141F" />
+<rect x="8" y="27" width="1" height="1" fill="#10141F" />
+<rect x="9" y="27" width="1" height="1" fill="#10141F" />
+<rect x="10" y="27" width="1" height="1" fill="#10141F" />
+<rect x="11" y="27" width="1" height="1" fill="#10141F" />
+<rect x="12" y="27" width="1" height="1" fill="#10141F" />
+<rect x="13" y="27" width="1" height="1" fill="#10141F" />
+<rect x="14" y="27" width="1" height="1" fill="#10141F" />
+<rect x="15" y="27" width="1" height="1" fill="#10141F" />
+<rect x="16" y="27" width="1" height="1" fill="#10141F" />
+<rect x="17" y="27" width="1" height="1" fill="#10141F" />
+<rect x="18" y="27" width="1" height="1" fill="#10141F" />
+<rect x="19" y="27" width="1" height="1" fill="#10141F" />
+<rect x="20" y="27" width="1" height="1" fill="#10141F" />
+<rect x="21" y="27" width="1" height="1" fill="#10141F" />
+<rect x="22" y="27" width="1" height="1" fill="#10141F" />
+<rect x="23" y="27" width="1" height="1" fill="#10141F" />
+<rect x="24" y="27" width="1" height="1" fill="#10141F" />
+<rect x="25" y="27" width="1" height="1" fill="#10141F" />
+<rect x="26" y="27" width="1" height="1" fill="#10141F" />
+<rect x="27" y="27" width="1" height="1" fill="#10141F" />
+<rect x="28" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="29" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="30" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="31" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="32" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="33" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="35" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="36" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="37" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="38" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="39" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="40" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="41" y="27" width="1" height="1" fill="#F1C469" />
+<rect x="42" y="27" width="1" height="1" fill="#10141F" />
+<rect x="43" y="27" width="1" height="1" fill="#10141F" />
+<rect x="44" y="27" width="1" height="1" fill="#10141F" />
+<rect x="4" y="28" width="1" height="1" fill="#10141F" />
+<rect x="5" y="28" width="1" height="1" fill="#10141F" />
+<rect x="6" y="28" width="1" height="1" fill="#10141F" />
+<rect x="7" y="28" width="1" height="1" fill="#10141F" />
+<rect x="8" y="28" width="1" height="1" fill="#10141F" />
+<rect x="9" y="28" width="1" height="1" fill="#10141F" />
+<rect x="10" y="28" width="1" height="1" fill="#D2915F" />
+<rect x="11" y="28" width="1" height="1" fill="#10141F" />
+<rect x="12" y="28" width="1" height="1" fill="#10141F" />
+<rect x="13" y="28" width="1" height="1" fill="#10141F" />
+<rect x="14" y="28" width="1" height="1" fill="#10141F" />
+<rect x="15" y="28" width="1" height="1" fill="#10141F" />
+<rect x="16" y="28" width="1" height="1" fill="#10141F" />
+<rect x="17" y="28" width="1" height="1" fill="#10141F" />
+<rect x="18" y="28" width="1" height="1" fill="#10141F" />
+<rect x="19" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="20" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="21" y="28" width="1" height="1" fill="#10141F" />
+<rect x="22" y="28" width="1" height="1" fill="#10141F" />
+<rect x="23" y="28" width="1" height="1" fill="#10141F" />
+<rect x="24" y="28" width="1" height="1" fill="#10141F" />
+<rect x="25" y="28" width="1" height="1" fill="#10141F" />
+<rect x="26" y="28" width="1" height="1" fill="#10141F" />
+<rect x="27" y="28" width="1" height="1" fill="#10141F" />
+<rect x="28" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="29" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="30" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="31" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="32" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="33" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="35" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="36" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="37" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="38" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="39" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="40" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="41" y="28" width="1" height="1" fill="#F1C469" />
+<rect x="42" y="28" width="1" height="1" fill="#10141F" />
+<rect x="43" y="28" width="1" height="1" fill="#10141F" />
+<rect x="44" y="28" width="1" height="1" fill="#10141F" />
+<rect x="4" y="29" width="1" height="1" fill="#10141F" />
+<rect x="5" y="29" width="1" height="1" fill="#10141F" />
+<rect x="6" y="29" width="1" height="1" fill="#10141F" />
+<rect x="7" y="29" width="1" height="1" fill="#10141F" />
+<rect x="8" y="29" width="1" height="1" fill="#10141F" />
+<rect x="9" y="29" width="1" height="1" fill="#D2915F" />
+<rect x="10" y="29" width="1" height="1" fill="#D2915F" />
+<rect x="11" y="29" width="1" height="1" fill="#D2915F" />
+<rect x="12" y="29" width="1" height="1" fill="#10141F" />
+<rect x="13" y="29" width="1" height="1" fill="#10141F" />
+<rect x="14" y="29" width="1" height="1" fill="#10141F" />
+<rect x="15" y="29" width="1" height="1" fill="#10141F" />
+<rect x="16" y="29" width="1" height="1" fill="#10141F" />
+<rect x="17" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="18" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="19" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="20" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="21" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="22" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="23" y="29" width="1" height="1" fill="#10141F" />
+<rect x="24" y="29" width="1" height="1" fill="#10141F" />
+<rect x="25" y="29" width="1" height="1" fill="#10141F" />
+<rect x="26" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="27" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="28" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="29" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="30" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="31" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="32" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="33" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="35" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="36" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="37" y="29" width="1" height="1" fill="#10141F" />
+<rect x="38" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="39" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="40" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="41" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="42" y="29" width="1" height="1" fill="#F1C469" />
+<rect x="43" y="29" width="1" height="1" fill="#10141F" />
+<rect x="44" y="29" width="1" height="1" fill="#10141F" />
+<rect x="4" y="30" width="1" height="1" fill="#10141F" />
+<rect x="5" y="30" width="1" height="1" fill="#10141F" />
+<rect x="6" y="30" width="1" height="1" fill="#10141F" />
+<rect x="7" y="30" width="1" height="1" fill="#10141F" />
+<rect x="8" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="9" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="10" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="11" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="12" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="13" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="14" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="15" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="16" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="17" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="18" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="19" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="20" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="21" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="22" y="30" width="1" height="1" fill="#10141F" />
+<rect x="23" y="30" width="1" height="1" fill="#10141F" />
+<rect x="24" y="30" width="1" height="1" fill="#10141F" />
+<rect x="25" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="26" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="27" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="28" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="29" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="30" y="30" width="1" height="1" fill="#D2915F" />
+<rect x="31" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="32" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="33" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="35" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="36" y="30" width="1" height="1" fill="#10141F" />
+<rect x="37" y="30" width="1" height="1" fill="#10141F" />
+<rect x="38" y="30" width="1" height="1" fill="#10141F" />
+<rect x="39" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="40" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="41" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="42" y="30" width="1" height="1" fill="#F1C469" />
+<rect x="43" y="30" width="1" height="1" fill="#10141F" />
+<rect x="44" y="30" width="1" height="1" fill="#10141F" />
+<rect x="45" y="30" width="1" height="1" fill="#10141F" />
+<rect x="4" y="31" width="1" height="1" fill="#10141F" />
+<rect x="5" y="31" width="1" height="1" fill="#10141F" />
+<rect x="6" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="7" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="8" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="9" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="10" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="11" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="12" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="13" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="14" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="15" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="16" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="19" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="20" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="21" y="31" width="1" height="1" fill="#10141F" />
+<rect x="22" y="31" width="1" height="1" fill="#10141F" />
+<rect x="23" y="31" width="1" height="1" fill="#10141F" />
+<rect x="24" y="31" width="1" height="1" fill="#10141F" />
+<rect x="25" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="26" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="27" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="28" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="29" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="30" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="31" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="32" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="33" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="34" y="31" width="1" height="1" fill="#D2915F" />
+<rect x="35" y="31" width="1" height="1" fill="#10141F" />
+<rect x="36" y="31" width="1" height="1" fill="#10141F" />
+<rect x="37" y="31" width="1" height="1" fill="#10141F" />
+<rect x="38" y="31" width="1" height="1" fill="#10141F" />
+<rect x="39" y="31" width="1" height="1" fill="#F1C469" />
+<rect x="40" y="31" width="1" height="1" fill="#F1C469" />
+<rect x="41" y="31" width="1" height="1" fill="#F1C469" />
+<rect x="42" y="31" width="1" height="1" fill="#F1C469" />
+<rect x="43" y="31" width="1" height="1" fill="#10141F" />
+<rect x="44" y="31" width="1" height="1" fill="#10141F" />
+<rect x="45" y="31" width="1" height="1" fill="#10141F" />
+<rect x="4" y="32" width="1" height="1" fill="#10141F" />
+<rect x="5" y="32" width="1" height="1" fill="#10141F" />
+<rect x="6" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="7" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="8" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="9" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="10" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="11" y="32" width="1" height="1" fill="#B57454" />
+<rect x="12" y="32" width="1" height="1" fill="#B57454" />
+<rect x="13" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="14" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="15" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="16" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="19" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="20" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="21" y="32" width="1" height="1" fill="#10141F" />
+<rect x="22" y="32" width="1" height="1" fill="#10141F" />
+<rect x="23" y="32" width="1" height="1" fill="#10141F" />
+<rect x="24" y="32" width="1" height="1" fill="#10141F" />
+<rect x="25" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="26" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="27" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="28" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="29" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="30" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="31" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="32" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="33" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="34" y="32" width="1" height="1" fill="#D2915F" />
+<rect x="35" y="32" width="1" height="1" fill="#10141F" />
+<rect x="36" y="32" width="1" height="1" fill="#10141F" />
+<rect x="37" y="32" width="1" height="1" fill="#10141F" />
+<rect x="38" y="32" width="1" height="1" fill="#10141F" />
+<rect x="39" y="32" width="1" height="1" fill="#F1C469" />
+<rect x="40" y="32" width="1" height="1" fill="#F1C469" />
+<rect x="41" y="32" width="1" height="1" fill="#F1C469" />
+<rect x="42" y="32" width="1" height="1" fill="#F1C469" />
+<rect x="43" y="32" width="1" height="1" fill="#10141F" />
+<rect x="44" y="32" width="1" height="1" fill="#10141F" />
+<rect x="45" y="32" width="1" height="1" fill="#10141F" />
+<rect x="4" y="33" width="1" height="1" fill="#10141F" />
+<rect x="5" y="33" width="1" height="1" fill="#10141F" />
+<rect x="6" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="7" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="8" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="9" y="33" width="1" height="1" fill="#B57454" />
+<rect x="10" y="33" width="1" height="1" fill="#B57454" />
+<rect x="11" y="33" width="1" height="1" fill="#B57454" />
+<rect x="12" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="13" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="14" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="15" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="16" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="19" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="20" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="21" y="33" width="1" height="1" fill="#10141F" />
+<rect x="22" y="33" width="1" height="1" fill="#10141F" />
+<rect x="23" y="33" width="1" height="1" fill="#10141F" />
+<rect x="24" y="33" width="1" height="1" fill="#10141F" />
+<rect x="25" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="26" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="27" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="28" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="29" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="30" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="31" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="32" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="33" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="34" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="35" y="33" width="1" height="1" fill="#10141F" />
+<rect x="36" y="33" width="1" height="1" fill="#10141F" />
+<rect x="37" y="33" width="1" height="1" fill="#10141F" />
+<rect x="38" y="33" width="1" height="1" fill="#10141F" />
+<rect x="39" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="40" y="33" width="1" height="1" fill="#D2915F" />
+<rect x="41" y="33" width="1" height="1" fill="#F1C469" />
+<rect x="42" y="33" width="1" height="1" fill="#F1C469" />
+<rect x="43" y="33" width="1" height="1" fill="#10141F" />
+<rect x="44" y="33" width="1" height="1" fill="#10141F" />
+<rect x="45" y="33" width="1" height="1" fill="#10141F" />
+<rect x="4" y="34" width="1" height="1" fill="#10141F" />
+<rect x="5" y="34" width="1" height="1" fill="#10141F" />
+<rect x="6" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="7" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="8" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="9" y="34" width="1" height="1" fill="#B57454" />
+<rect x="10" y="34" width="1" height="1" fill="#B57454" />
+<rect x="11" y="34" width="1" height="1" fill="#B57454" />
+<rect x="12" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="13" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="14" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="15" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="16" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="19" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="20" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="21" y="34" width="1" height="1" fill="#10141F" />
+<rect x="22" y="34" width="1" height="1" fill="#10141F" />
+<rect x="23" y="34" width="1" height="1" fill="#10141F" />
+<rect x="24" y="34" width="1" height="1" fill="#10141F" />
+<rect x="25" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="26" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="27" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="28" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="29" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="30" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="31" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="32" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="33" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="34" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="35" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="36" y="34" width="1" height="1" fill="#10141F" />
+<rect x="37" y="34" width="1" height="1" fill="#10141F" />
+<rect x="38" y="34" width="1" height="1" fill="#10141F" />
+<rect x="39" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="40" y="34" width="1" height="1" fill="#D2915F" />
+<rect x="41" y="34" width="1" height="1" fill="#F1C469" />
+<rect x="42" y="34" width="1" height="1" fill="#F1C469" />
+<rect x="43" y="34" width="1" height="1" fill="#10141F" />
+<rect x="44" y="34" width="1" height="1" fill="#10141F" />
+<rect x="45" y="34" width="1" height="1" fill="#10141F" />
+<rect x="4" y="35" width="1" height="1" fill="#10141F" />
+<rect x="5" y="35" width="1" height="1" fill="#10141F" />
+<rect x="6" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="7" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="8" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="9" y="35" width="1" height="1" fill="#B57454" />
+<rect x="10" y="35" width="1" height="1" fill="#B57454" />
+<rect x="11" y="35" width="1" height="1" fill="#B57454" />
+<rect x="12" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="13" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="14" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="15" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="16" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="19" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="20" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="21" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="22" y="35" width="1" height="1" fill="#10141F" />
+<rect x="23" y="35" width="1" height="1" fill="#10141F" />
+<rect x="24" y="35" width="1" height="1" fill="#10141F" />
+<rect x="25" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="26" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="27" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="28" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="29" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="30" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="31" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="32" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="33" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="34" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="35" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="36" y="35" width="1" height="1" fill="#10141F" />
+<rect x="37" y="35" width="1" height="1" fill="#10141F" />
+<rect x="38" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="39" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="40" y="35" width="1" height="1" fill="#D2915F" />
+<rect x="41" y="35" width="1" height="1" fill="#F1C469" />
+<rect x="42" y="35" width="1" height="1" fill="#F1C469" />
+<rect x="43" y="35" width="1" height="1" fill="#10141F" />
+<rect x="44" y="35" width="1" height="1" fill="#10141F" />
+<rect x="45" y="35" width="1" height="1" fill="#10141F" />
+<rect x="4" y="36" width="1" height="1" fill="#10141F" />
+<rect x="5" y="36" width="1" height="1" fill="#10141F" />
+<rect x="6" y="36" width="1" height="1" fill="#10141F" />
+<rect x="7" y="36" width="1" height="1" fill="#10141F" />
+<rect x="8" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="9" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="10" y="36" width="1" height="1" fill="#B57454" />
+<rect x="11" y="36" width="1" height="1" fill="#B57454" />
+<rect x="12" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="13" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="14" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="15" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="16" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="19" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="20" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="21" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="22" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="23" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="24" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="25" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="26" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="27" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="28" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="29" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="30" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="31" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="32" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="33" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="34" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="35" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="36" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="37" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="38" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="39" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="40" y="36" width="1" height="1" fill="#D2915F" />
+<rect x="41" y="36" width="1" height="1" fill="#F1C469" />
+<rect x="42" y="36" width="1" height="1" fill="#10141F" />
+<rect x="43" y="36" width="1" height="1" fill="#10141F" />
+<rect x="44" y="36" width="1" height="1" fill="#10141F" />
+<rect x="45" y="36" width="1" height="1" fill="#10141F" />
+<rect x="5" y="37" width="1" height="1" fill="#10141F" />
+<rect x="6" y="37" width="1" height="1" fill="#10141F" />
+<rect x="7" y="37" width="1" height="1" fill="#10141F" />
+<rect x="8" y="37" width="1" height="1" fill="#10141F" />
+<rect x="9" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="10" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="11" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="12" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="13" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="14" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="15" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="16" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="19" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="20" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="21" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="22" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="23" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="24" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="25" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="26" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="27" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="28" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="29" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="30" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="31" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="32" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="33" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="34" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="35" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="36" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="37" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="38" y="37" width="1" height="1" fill="#D2915F" />
+<rect x="39" y="37" width="1" height="1" fill="#F1C469" />
+<rect x="40" y="37" width="1" height="1" fill="#F1C469" />
+<rect x="41" y="37" width="1" height="1" fill="#10141F" />
+<rect x="42" y="37" width="1" height="1" fill="#10141F" />
+<rect x="43" y="37" width="1" height="1" fill="#10141F" />
+<rect x="44" y="37" width="1" height="1" fill="#10141F" />
+<rect x="6" y="38" width="1" height="1" fill="#10141F" />
+<rect x="7" y="38" width="1" height="1" fill="#10141F" />
+<rect x="8" y="38" width="1" height="1" fill="#10141F" />
+<rect x="9" y="38" width="1" height="1" fill="#10141F" />
+<rect x="10" y="38" width="1" height="1" fill="#10141F" />
+<rect x="11" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="12" y="38" width="1" height="1" fill="#F1C469" />
+<rect x="13" y="38" width="1" height="1" fill="#F1C469" />
+<rect x="14" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="15" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="16" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="17" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="19" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="20" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="21" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="22" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="23" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="24" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="25" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="26" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="27" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="28" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="29" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="30" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="31" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="32" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="33" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="34" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="35" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="36" y="38" width="1" height="1" fill="#D2915F" />
+<rect x="37" y="38" width="1" height="1" fill="#F1C469" />
+<rect x="38" y="38" width="1" height="1" fill="#F1C469" />
+<rect x="39" y="38" width="1" height="1" fill="#10141F" />
+<rect x="40" y="38" width="1" height="1" fill="#10141F" />
+<rect x="41" y="38" width="1" height="1" fill="#10141F" />
+<rect x="42" y="38" width="1" height="1" fill="#10141F" />
+<rect x="43" y="38" width="1" height="1" fill="#10141F" />
+<rect x="7" y="39" width="1" height="1" fill="#10141F" />
+<rect x="8" y="39" width="1" height="1" fill="#10141F" />
+<rect x="9" y="39" width="1" height="1" fill="#10141F" />
+<rect x="10" y="39" width="1" height="1" fill="#10141F" />
+<rect x="11" y="39" width="1" height="1" fill="#10141F" />
+<rect x="12" y="39" width="1" height="1" fill="#10141F" />
+<rect x="13" y="39" width="1" height="1" fill="#F1C469" />
+<rect x="14" y="39" width="1" height="1" fill="#F1C469" />
+<rect x="15" y="39" width="1" height="1" fill="#F1C469" />
+<rect x="16" y="39" width="1" height="1" fill="#F1C469" />
+<rect x="17" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="18" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="19" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="20" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="21" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="22" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="23" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="24" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="25" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="26" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="27" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="28" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="29" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="30" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="31" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="32" y="39" width="1" height="1" fill="#D2915F" />
+<rect x="33" y="39" width="1" height="1" fill="#F1C469" />
+<rect x="34" y="39" width="1" height="1" fill="#F1C469" />
+<rect x="35" y="39" width="1" height="1" fill="#F1C469" />
+<rect x="36" y="39" width="1" height="1" fill="#10141F" />
+<rect x="37" y="39" width="1" height="1" fill="#10141F" />
+<rect x="38" y="39" width="1" height="1" fill="#10141F" />
+<rect x="39" y="39" width="1" height="1" fill="#10141F" />
+<rect x="40" y="39" width="1" height="1" fill="#10141F" />
+<rect x="41" y="39" width="1" height="1" fill="#10141F" />
+<rect x="42" y="39" width="1" height="1" fill="#10141F" />
+<rect x="9" y="40" width="1" height="1" fill="#10141F" />
+<rect x="10" y="40" width="1" height="1" fill="#10141F" />
+<rect x="11" y="40" width="1" height="1" fill="#10141F" />
+<rect x="12" y="40" width="1" height="1" fill="#10141F" />
+<rect x="13" y="40" width="1" height="1" fill="#10141F" />
+<rect x="14" y="40" width="1" height="1" fill="#10141F" />
+<rect x="15" y="40" width="1" height="1" fill="#10141F" />
+<rect x="16" y="40" width="1" height="1" fill="#10141F" />
+<rect x="17" y="40" width="1" height="1" fill="#10141F" />
+<rect x="18" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="19" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="20" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="21" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="22" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="23" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="24" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="25" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="26" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="27" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="28" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="29" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="30" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="31" y="40" width="1" height="1" fill="#F1C469" />
+<rect x="32" y="40" width="1" height="1" fill="#10141F" />
+<rect x="33" y="40" width="1" height="1" fill="#10141F" />
+<rect x="34" y="40" width="1" height="1" fill="#10141F" />
+<rect x="35" y="40" width="1" height="1" fill="#10141F" />
+<rect x="36" y="40" width="1" height="1" fill="#10141F" />
+<rect x="37" y="40" width="1" height="1" fill="#10141F" />
+<rect x="38" y="40" width="1" height="1" fill="#10141F" />
+<rect x="39" y="40" width="1" height="1" fill="#10141F" />
+<rect x="40" y="40" width="1" height="1" fill="#10141F" />
+<rect x="11" y="41" width="1" height="1" fill="#10141F" />
+<rect x="12" y="41" width="1" height="1" fill="#10141F" />
+<rect x="13" y="41" width="1" height="1" fill="#10141F" />
+<rect x="14" y="41" width="1" height="1" fill="#10141F" />
+<rect x="15" y="41" width="1" height="1" fill="#10141F" />
+<rect x="16" y="41" width="1" height="1" fill="#10141F" />
+<rect x="17" y="41" width="1" height="1" fill="#10141F" />
+<rect x="18" y="41" width="1" height="1" fill="#10141F" />
+<rect x="19" y="41" width="1" height="1" fill="#10141F" />
+<rect x="20" y="41" width="1" height="1" fill="#10141F" />
+<rect x="21" y="41" width="1" height="1" fill="#10141F" />
+<rect x="22" y="41" width="1" height="1" fill="#10141F" />
+<rect x="23" y="41" width="1" height="1" fill="#10141F" />
+<rect x="24" y="41" width="1" height="1" fill="#10141F" />
+<rect x="25" y="41" width="1" height="1" fill="#10141F" />
+<rect x="26" y="41" width="1" height="1" fill="#10141F" />
+<rect x="27" y="41" width="1" height="1" fill="#10141F" />
+<rect x="28" y="41" width="1" height="1" fill="#10141F" />
+<rect x="29" y="41" width="1" height="1" fill="#10141F" />
+<rect x="30" y="41" width="1" height="1" fill="#10141F" />
+<rect x="31" y="41" width="1" height="1" fill="#10141F" />
+<rect x="32" y="41" width="1" height="1" fill="#10141F" />
+<rect x="33" y="41" width="1" height="1" fill="#10141F" />
+<rect x="34" y="41" width="1" height="1" fill="#10141F" />
+<rect x="35" y="41" width="1" height="1" fill="#10141F" />
+<rect x="36" y="41" width="1" height="1" fill="#10141F" />
+<rect x="37" y="41" width="1" height="1" fill="#10141F" />
+<rect x="38" y="41" width="1" height="1" fill="#10141F" />
+<rect x="14" y="42" width="1" height="1" fill="#10141F" />
+<rect x="15" y="42" width="1" height="1" fill="#10141F" />
+<rect x="16" y="42" width="1" height="1" fill="#10141F" />
+<rect x="17" y="42" width="1" height="1" fill="#10141F" />
+<rect x="18" y="42" width="1" height="1" fill="#10141F" />
+<rect x="19" y="42" width="1" height="1" fill="#10141F" />
+<rect x="20" y="42" width="1" height="1" fill="#10141F" />
+<rect x="21" y="42" width="1" height="1" fill="#10141F" />
+<rect x="22" y="42" width="1" height="1" fill="#10141F" />
+<rect x="23" y="42" width="1" height="1" fill="#10141F" />
+<rect x="24" y="42" width="1" height="1" fill="#10141F" />
+<rect x="25" y="42" width="1" height="1" fill="#10141F" />
+<rect x="26" y="42" width="1" height="1" fill="#10141F" />
+<rect x="27" y="42" width="1" height="1" fill="#10141F" />
+<rect x="28" y="42" width="1" height="1" fill="#10141F" />
+<rect x="29" y="42" width="1" height="1" fill="#10141F" />
+<rect x="30" y="42" width="1" height="1" fill="#10141F" />
+<rect x="31" y="42" width="1" height="1" fill="#10141F" />
+<rect x="32" y="42" width="1" height="1" fill="#10141F" />
+<rect x="33" y="42" width="1" height="1" fill="#10141F" />
+<rect x="34" y="42" width="1" height="1" fill="#10141F" />
+<rect x="22" y="43" width="1" height="1" fill="#10141F" />
+<rect x="23" y="43" width="1" height="1" fill="#10141F" />
+<rect x="24" y="43" width="1" height="1" fill="#10141F" />
+<rect x="25" y="43" width="1" height="1" fill="#10141F" />
+<rect x="26" y="43" width="1" height="1" fill="#10141F" />
+<rect x="27" y="43" width="1" height="1" fill="#10141F" />
+<rect x="28" y="43" width="1" height="1" fill="#10141F" />
+<rect x="29" y="43" width="1" height="1" fill="#10141F" />
+</svg>
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/plugins/dataview-serializer/main.js b/Edikoyo/.obsidian/plugins/dataview-serializer/main.js
new file mode 100644
index 0000000..672085b
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/dataview-serializer/main.js
@@ -0,0 +1,30 @@
+/*
+THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
+if you want to view the source, please visit the github repository of this plugin
+*/
+"use strict";var Js=Object.create;var zt=Object.defineProperty;var Ks=Object.getOwnPropertyDescriptor;var Xs=Object.getOwnPropertyNames;var ei=Object.getPrototypeOf,ti=Object.prototype.hasOwnProperty;var ri=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ni=(t,e)=>{for(var r in e)zt(t,r,{get:e[r],enumerable:!0})},Mn=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let u of Xs(e))!ti.call(t,u)&&u!==r&&zt(t,u,{get:()=>e[u],enumerable:!(n=Ks(e,u))||n.enumerable});return t};var An=(t,e,r)=>(r=t!=null?Js(ei(t)):{},Mn(e||!t||!t.__esModule?zt(r,"default",{value:t,enumerable:!0}):r,t)),ui=t=>Mn(zt({},"__esModule",{value:!0}),t);var _s=ri(ye=>{"use strict";Object.defineProperty(ye,"__esModule",{value:!0});require("obsidian");var ve=class extends Error{},jr=class extends ve{constructor(e){super(`Invalid DateTime: ${e.toMessage()}`)}},Zr=class extends ve{constructor(e){super(`Invalid Interval: ${e.toMessage()}`)}},qr=class extends ve{constructor(e){super(`Invalid Duration: ${e.toMessage()}`)}},Ze=class extends ve{},ar=class extends ve{constructor(e){super(`Invalid unit ${e}`)}},H=class extends ve{},pe=class extends ve{constructor(){super("Zone is an abstract class")}},E="numeric",fe="short",ee="long",or={year:E,month:E,day:E},_u={year:E,month:fe,day:E},Ei={year:E,month:fe,day:E,weekday:fe},Mu={year:E,month:ee,day:E},Au={year:E,month:ee,day:E,weekday:ee},ku={hour:E,minute:E},Bu={hour:E,minute:E,second:E},Nu={hour:E,minute:E,second:E,timeZoneName:fe},Iu={hour:E,minute:E,second:E,timeZoneName:ee},Lu={hour:E,minute:E,hourCycle:"h23"},Pu={hour:E,minute:E,second:E,hourCycle:"h23"},Ru={hour:E,minute:E,second:E,hourCycle:"h23",timeZoneName:fe},Uu={hour:E,minute:E,second:E,hourCycle:"h23",timeZoneName:ee},zu={year:E,month:E,day:E,hour:E,minute:E},Vu={year:E,month:E,day:E,hour:E,minute:E,second:E},$u={year:E,month:fe,day:E,hour:E,minute:E},Wu={year:E,month:fe,day:E,hour:E,minute:E,second:E},Ci={year:E,month:fe,day:E,weekday:fe,hour:E,minute:E},ju={year:E,month:ee,day:E,hour:E,minute:E,timeZoneName:fe},Zu={year:E,month:ee,day:E,hour:E,minute:E,second:E,timeZoneName:fe},qu={year:E,month:ee,day:E,weekday:ee,hour:E,minute:E,timeZoneName:ee},Hu={year:E,month:ee,day:E,weekday:ee,hour:E,minute:E,second:E,timeZoneName:ee},Ye=class{get type(){throw new pe}get name(){throw new pe}get ianaName(){return this.name}get isUniversal(){throw new pe}offsetName(e,r){throw new pe}formatOffset(e,r){throw new pe}offset(e){throw new pe}equals(e){throw new pe}get isValid(){throw new pe}},Lr=null,lr=class t extends Ye{static get instance(){return Lr===null&&(Lr=new t),Lr}get type(){return"system"}get name(){return new Intl.DateTimeFormat().resolvedOptions().timeZone}get isUniversal(){return!1}offsetName(e,{format:r,locale:n}){return Gu(e,r,n)}formatOffset(e,r){return Tt(this.offset(e),r)}offset(e){return-new Date(e).getTimezoneOffset()}equals(e){return e.type==="system"}get isValid(){return!0}},sr={};function wi(t){return sr[t]||(sr[t]=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",era:"short"})),sr[t]}var bi={year:0,month:1,day:2,era:3,hour:4,minute:5,second:6};function vi(t,e){let r=t.format(e).replace(/\u200E/g,""),n=/(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(r),[,u,s,i,l,f,d,g]=n;return[i,u,s,l,f,d,g]}function Ti(t,e){let r=t.formatToParts(e),n=[];for(let u=0;u<r.length;u++){let{type:s,value:i}=r[u],l=bi[s];s==="era"?n[l]=i:A(l)||(n[l]=parseInt(i,10))}return n}var Xt={},ke=class t extends Ye{static create(e){return Xt[e]||(Xt[e]=new t(e)),Xt[e]}static resetCache(){Xt={},sr={}}static isValidSpecifier(e){return this.isValidZone(e)}static isValidZone(e){if(!e)return!1;try{return new Intl.DateTimeFormat("en-US",{timeZone:e}).format(),!0}catch{return!1}}constructor(e){super(),this.zoneName=e,this.valid=t.isValidZone(e)}get type(){return"iana"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(e,{format:r,locale:n}){return Gu(e,r,n,this.name)}formatOffset(e,r){return Tt(this.offset(e),r)}offset(e){let r=new Date(e);if(isNaN(r))return NaN;let n=wi(this.name),[u,s,i,l,f,d,g]=n.formatToParts?Ti(n,r):vi(n,r);l==="BC"&&(u=-Math.abs(u)+1);let b=yr({year:u,month:s,day:i,hour:f===24?0:f,minute:d,second:g,millisecond:0}),C=+r,x=C%1e3;return C-=x>=0?x:1e3+x,(b-C)/(60*1e3)}equals(e){return e.type==="iana"&&e.name===this.name}get isValid(){return this.valid}},Kn={};function Si(t,e={}){let r=JSON.stringify([t,e]),n=Kn[r];return n||(n=new Intl.ListFormat(t,e),Kn[r]=n),n}var Hr={};function Yr(t,e={}){let r=JSON.stringify([t,e]),n=Hr[r];return n||(n=new Intl.DateTimeFormat(t,e),Hr[r]=n),n}var Gr={};function Oi(t,e={}){let r=JSON.stringify([t,e]),n=Gr[r];return n||(n=new Intl.NumberFormat(t,e),Gr[r]=n),n}var Qr={};function xi(t,e={}){let{base:r,...n}=e,u=JSON.stringify([t,n]),s=Qr[u];return s||(s=new Intl.RelativeTimeFormat(t,e),Qr[u]=s),s}var bt=null;function _i(){return bt||(bt=new Intl.DateTimeFormat().resolvedOptions().locale,bt)}function Mi(t){let e=t.indexOf("-x-");e!==-1&&(t=t.substring(0,e));let r=t.indexOf("-u-");if(r===-1)return[t];{let n,u;try{n=Yr(t).resolvedOptions(),u=t}catch{let f=t.substring(0,r);n=Yr(f).resolvedOptions(),u=f}let{numberingSystem:s,calendar:i}=n;return[u,s,i]}}function Ai(t,e,r){return(r||e)&&(t.includes("-u-")||(t+="-u"),r&&(t+=`-ca-${r}`),e&&(t+=`-nu-${e}`)),t}function ki(t){let e=[];for(let r=1;r<=12;r++){let n=M.utc(2009,r,1);e.push(t(n))}return e}function Bi(t){let e=[];for(let r=1;r<=7;r++){let n=M.utc(2016,11,13+r);e.push(t(n))}return e}function er(t,e,r,n){let u=t.listingMode();return u==="error"?null:u==="en"?r(e):n(e)}function Ni(t){return t.numberingSystem&&t.numberingSystem!=="latn"?!1:t.numberingSystem==="latn"||!t.locale||t.locale.startsWith("en")||new Intl.DateTimeFormat(t.intl).resolvedOptions().numberingSystem==="latn"}var Jr=class{constructor(e,r,n){this.padTo=n.padTo||0,this.floor=n.floor||!1;let{padTo:u,floor:s,...i}=n;if(!r||Object.keys(i).length>0){let l={useGrouping:!1,...n};n.padTo>0&&(l.minimumIntegerDigits=n.padTo),this.inf=Oi(e,l)}}format(e){if(this.inf){let r=this.floor?Math.floor(e):e;return this.inf.format(r)}else{let r=this.floor?Math.floor(e):Dn(e,3);return V(r,this.padTo)}}},Kr=class{constructor(e,r,n){this.opts=n,this.originalZone=void 0;let u;if(this.opts.timeZone)this.dt=e;else if(e.zone.type==="fixed"){let i=-1*(e.offset/60),l=i>=0?`Etc/GMT+${i}`:`Etc/GMT${i}`;e.offset!==0&&ke.create(l).valid?(u=l,this.dt=e):(u="UTC",this.dt=e.offset===0?e:e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone)}else e.zone.type==="system"?this.dt=e:e.zone.type==="iana"?(this.dt=e,u=e.zone.name):(u="UTC",this.dt=e.setZone("UTC").plus({minutes:e.offset}),this.originalZone=e.zone);let s={...this.opts};s.timeZone=s.timeZone||u,this.dtf=Yr(r,s)}format(){return this.originalZone?this.formatToParts().map(({value:e})=>e).join(""):this.dtf.format(this.dt.toJSDate())}formatToParts(){let e=this.dtf.formatToParts(this.dt.toJSDate());return this.originalZone?e.map(r=>{if(r.type==="timeZoneName"){let n=this.originalZone.offsetName(this.dt.ts,{locale:this.dt.locale,format:this.opts.timeZoneName});return{...r,value:n}}else return r}):e}resolvedOptions(){return this.dtf.resolvedOptions()}},Xr=class{constructor(e,r,n){this.opts={style:"long",...n},!r&&Yu()&&(this.rtf=xi(e,n))}format(e,r){return this.rtf?this.rtf.format(e,r):Qi(r,e,this.opts.numeric,this.opts.style!=="long")}formatToParts(e,r){return this.rtf?this.rtf.formatToParts(e,r):[]}},P=class t{static fromOpts(e){return t.create(e.locale,e.numberingSystem,e.outputCalendar,e.defaultToEN)}static create(e,r,n,u=!1){let s=e||L.defaultLocale,i=s||(u?"en-US":_i()),l=r||L.defaultNumberingSystem,f=n||L.defaultOutputCalendar;return new t(i,l,f,s)}static resetCache(){bt=null,Hr={},Gr={},Qr={}}static fromObject({locale:e,numberingSystem:r,outputCalendar:n}={}){return t.create(e,r,n)}constructor(e,r,n,u){let[s,i,l]=Mi(e);this.locale=s,this.numberingSystem=r||i||null,this.outputCalendar=n||l||null,this.intl=Ai(this.locale,this.numberingSystem,this.outputCalendar),this.weekdaysCache={format:{},standalone:{}},this.monthsCache={format:{},standalone:{}},this.meridiemCache=null,this.eraCache={},this.specifiedLocale=u,this.fastNumbersCached=null}get fastNumbers(){return this.fastNumbersCached==null&&(this.fastNumbersCached=Ni(this)),this.fastNumbersCached}listingMode(){let e=this.isEnglish(),r=(this.numberingSystem===null||this.numberingSystem==="latn")&&(this.outputCalendar===null||this.outputCalendar==="gregory");return e&&r?"en":"intl"}clone(e){return!e||Object.getOwnPropertyNames(e).length===0?this:t.create(e.locale||this.specifiedLocale,e.numberingSystem||this.numberingSystem,e.outputCalendar||this.outputCalendar,e.defaultToEN||!1)}redefaultToEN(e={}){return this.clone({...e,defaultToEN:!0})}redefaultToSystem(e={}){return this.clone({...e,defaultToEN:!1})}months(e,r=!1){return er(this,e,Ku,()=>{let n=r?{month:e,day:"numeric"}:{month:e},u=r?"format":"standalone";return this.monthsCache[u][e]||(this.monthsCache[u][e]=ki(s=>this.extract(s,n,"month"))),this.monthsCache[u][e]})}weekdays(e,r=!1){return er(this,e,ts,()=>{let n=r?{weekday:e,year:"numeric",month:"long",day:"numeric"}:{weekday:e},u=r?"format":"standalone";return this.weekdaysCache[u][e]||(this.weekdaysCache[u][e]=Bi(s=>this.extract(s,n,"weekday"))),this.weekdaysCache[u][e]})}meridiems(){return er(this,void 0,()=>rs,()=>{if(!this.meridiemCache){let e={hour:"numeric",hourCycle:"h12"};this.meridiemCache=[M.utc(2016,11,13,9),M.utc(2016,11,13,19)].map(r=>this.extract(r,e,"dayperiod"))}return this.meridiemCache})}eras(e){return er(this,e,ns,()=>{let r={era:e};return this.eraCache[e]||(this.eraCache[e]=[M.utc(-40,1,1),M.utc(2017,1,1)].map(n=>this.extract(n,r,"era"))),this.eraCache[e]})}extract(e,r,n){let u=this.dtFormatter(e,r),s=u.formatToParts(),i=s.find(l=>l.type.toLowerCase()===n);return i?i.value:null}numberFormatter(e={}){return new Jr(this.intl,e.forceSimple||this.fastNumbers,e)}dtFormatter(e,r={}){return new Kr(e,this.intl,r)}relFormatter(e={}){return new Xr(this.intl,this.isEnglish(),e)}listFormatter(e={}){return Si(this.intl,e)}isEnglish(){return this.locale==="en"||this.locale.toLowerCase()==="en-us"||new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")}equals(e){return this.locale===e.locale&&this.numberingSystem===e.numberingSystem&&this.outputCalendar===e.outputCalendar}},Pr=null,ne=class t extends Ye{static get utcInstance(){return Pr===null&&(Pr=new t(0)),Pr}static instance(e){return e===0?t.utcInstance:new t(e)}static parseSpecifier(e){if(e){let r=e.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);if(r)return new t(gr(r[1],r[2]))}return null}constructor(e){super(),this.fixed=e}get type(){return"fixed"}get name(){return this.fixed===0?"UTC":`UTC${Tt(this.fixed,"narrow")}`}get ianaName(){return this.fixed===0?"Etc/UTC":`Etc/GMT${Tt(-this.fixed,"narrow")}`}offsetName(){return this.name}formatOffset(e,r){return Tt(this.fixed,r)}get isUniversal(){return!0}offset(){return this.fixed}equals(e){return e.type==="fixed"&&e.fixed===this.fixed}get isValid(){return!0}},en=class extends Ye{constructor(e){super(),this.zoneName=e}get type(){return"invalid"}get name(){return this.zoneName}get isUniversal(){return!1}offsetName(){return null}formatOffset(){return""}offset(){return NaN}equals(){return!1}get isValid(){return!1}};function Ae(t,e){if(A(t)||t===null)return e;if(t instanceof Ye)return t;if(Ii(t)){let r=t.toLowerCase();return r==="default"?e:r==="local"||r==="system"?lr.instance:r==="utc"||r==="gmt"?ne.utcInstance:ne.parseSpecifier(r)||ke.create(t)}else return He(t)?ne.instance(t):typeof t=="object"&&"offset"in t&&typeof t.offset=="function"?t:new en(t)}var Xn=()=>Date.now(),eu="system",tu=null,ru=null,nu=null,uu=60,su,L=class{static get now(){return Xn}static set now(e){Xn=e}static set defaultZone(e){eu=e}static get defaultZone(){return Ae(eu,lr.instance)}static get defaultLocale(){return tu}static set defaultLocale(e){tu=e}static get defaultNumberingSystem(){return ru}static set defaultNumberingSystem(e){ru=e}static get defaultOutputCalendar(){return nu}static set defaultOutputCalendar(e){nu=e}static get twoDigitCutoffYear(){return uu}static set twoDigitCutoffYear(e){uu=e%100}static get throwOnInvalid(){return su}static set throwOnInvalid(e){su=e}static resetCaches(){P.resetCache(),ke.resetCache()}};function A(t){return typeof t>"u"}function He(t){return typeof t=="number"}function Fr(t){return typeof t=="number"&&t%1===0}function Ii(t){return typeof t=="string"}function Li(t){return Object.prototype.toString.call(t)==="[object Date]"}function Yu(){try{return typeof Intl<"u"&&!!Intl.RelativeTimeFormat}catch{return!1}}function Pi(t){return Array.isArray(t)?t:[t]}function iu(t,e,r){if(t.length!==0)return t.reduce((n,u)=>{let s=[e(u),u];return n&&r(n[0],s[0])===n[0]?n:s},null)[1]}function Ri(t,e){return e.reduce((r,n)=>(r[n]=t[n],r),{})}function ot(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function be(t,e,r){return Fr(t)&&t>=e&&t<=r}function Ui(t,e){return t-e*Math.floor(t/e)}function V(t,e=2){let r=t<0,n;return r?n="-"+(""+-t).padStart(e,"0"):n=(""+t).padStart(e,"0"),n}function Me(t){if(!(A(t)||t===null||t===""))return parseInt(t,10)}function We(t){if(!(A(t)||t===null||t===""))return parseFloat(t)}function fn(t){if(!(A(t)||t===null||t==="")){let e=parseFloat("0."+t)*1e3;return Math.floor(e)}}function Dn(t,e,r=!1){let n=10**e;return(r?Math.trunc:Math.round)(t*n)/n}function xt(t){return t%4===0&&(t%100!==0||t%400===0)}function vt(t){return xt(t)?366:365}function cr(t,e){let r=Ui(e-1,12)+1,n=t+(e-r)/12;return r===2?xt(n)?29:28:[31,null,31,30,31,30,31,31,30,31,30,31][r-1]}function yr(t){let e=Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,t.second,t.millisecond);return t.year<100&&t.year>=0&&(e=new Date(e),e.setUTCFullYear(t.year,t.month-1,t.day)),+e}function fr(t){let e=(t+Math.floor(t/4)-Math.floor(t/100)+Math.floor(t/400))%7,r=t-1,n=(r+Math.floor(r/4)-Math.floor(r/100)+Math.floor(r/400))%7;return e===4||n===3?53:52}function tn(t){return t>99?t:t>L.twoDigitCutoffYear?1900+t:2e3+t}function Gu(t,e,r,n=null){let u=new Date(t),s={hourCycle:"h23",year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};n&&(s.timeZone=n);let i={timeZoneName:e,...s},l=new Intl.DateTimeFormat(r,i).formatToParts(u).find(f=>f.type.toLowerCase()==="timezonename");return l?l.value:null}function gr(t,e){let r=parseInt(t,10);Number.isNaN(r)&&(r=0);let n=parseInt(e,10)||0,u=r<0||Object.is(r,-0)?-n:n;return r*60+u}function Qu(t){let e=Number(t);if(typeof t=="boolean"||t===""||Number.isNaN(e))throw new H(`Invalid unit value ${t}`);return e}function Dr(t,e){let r={};for(let n in t)if(ot(t,n)){let u=t[n];if(u==null)continue;r[e(n)]=Qu(u)}return r}function Tt(t,e){let r=Math.trunc(Math.abs(t/60)),n=Math.trunc(Math.abs(t%60)),u=t>=0?"+":"-";switch(e){case"short":return`${u}${V(r,2)}:${V(n,2)}`;case"narrow":return`${u}${r}${n>0?`:${n}`:""}`;case"techie":return`${u}${V(r,2)}${V(n,2)}`;default:throw new RangeError(`Value format ${e} is out of range for property format`)}}function Er(t){return Ri(t,["hour","minute","second","millisecond"])}var zi=["January","February","March","April","May","June","July","August","September","October","November","December"],Ju=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Vi=["J","F","M","A","M","J","J","A","S","O","N","D"];function Ku(t){switch(t){case"narrow":return[...Vi];case"short":return[...Ju];case"long":return[...zi];case"numeric":return["1","2","3","4","5","6","7","8","9","10","11","12"];case"2-digit":return["01","02","03","04","05","06","07","08","09","10","11","12"];default:return null}}var Xu=["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],es=["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],$i=["M","T","W","T","F","S","S"];function ts(t){switch(t){case"narrow":return[...$i];case"short":return[...es];case"long":return[...Xu];case"numeric":return["1","2","3","4","5","6","7"];default:return null}}var rs=["AM","PM"],Wi=["Before Christ","Anno Domini"],ji=["BC","AD"],Zi=["B","A"];function ns(t){switch(t){case"narrow":return[...Zi];case"short":return[...ji];case"long":return[...Wi];default:return null}}function qi(t){return rs[t.hour<12?0:1]}function Hi(t,e){return ts(e)[t.weekday-1]}function Yi(t,e){return Ku(e)[t.month-1]}function Gi(t,e){return ns(e)[t.year<0?0:1]}function Qi(t,e,r="always",n=!1){let u={years:["year","yr."],quarters:["quarter","qtr."],months:["month","mo."],weeks:["week","wk."],days:["day","day","days"],hours:["hour","hr."],minutes:["minute","min."],seconds:["second","sec."]},s=["hours","minutes","seconds"].indexOf(t)===-1;if(r==="auto"&&s){let T=t==="days";switch(e){case 1:return T?"tomorrow":`next ${u[t][0]}`;case-1:return T?"yesterday":`last ${u[t][0]}`;case 0:return T?"today":`this ${u[t][0]}`}}let i=Object.is(e,-0)||e<0,l=Math.abs(e),f=l===1,d=u[t],g=n?f?d[1]:d[2]||d[1]:f?u[t][0]:t;return i?`${l} ${g} ago`:`in ${l} ${g}`}function au(t,e){let r="";for(let n of t)n.literal?r+=n.val:r+=e(n.val);return r}var Ji={D:or,DD:_u,DDD:Mu,DDDD:Au,t:ku,tt:Bu,ttt:Nu,tttt:Iu,T:Lu,TT:Pu,TTT:Ru,TTTT:Uu,f:zu,ff:$u,fff:ju,ffff:qu,F:Vu,FF:Wu,FFF:Zu,FFFF:Hu},K=class t{static create(e,r={}){return new t(e,r)}static parseFormat(e){let r=null,n="",u=!1,s=[];for(let i=0;i<e.length;i++){let l=e.charAt(i);l==="'"?(n.length>0&&s.push({literal:u||/^\s+$/.test(n),val:n}),r=null,n="",u=!u):u||l===r?n+=l:(n.length>0&&s.push({literal:/^\s+$/.test(n),val:n}),n=l,r=l)}return n.length>0&&s.push({literal:u||/^\s+$/.test(n),val:n}),s}static macroTokenToFormatOpts(e){return Ji[e]}constructor(e,r){this.opts=r,this.loc=e,this.systemLoc=null}formatWithSystemDefault(e,r){return this.systemLoc===null&&(this.systemLoc=this.loc.redefaultToSystem()),this.systemLoc.dtFormatter(e,{...this.opts,...r}).format()}dtFormatter(e,r={}){return this.loc.dtFormatter(e,{...this.opts,...r})}formatDateTime(e,r){return this.dtFormatter(e,r).format()}formatDateTimeParts(e,r){return this.dtFormatter(e,r).formatToParts()}formatInterval(e,r){return this.dtFormatter(e.start,r).dtf.formatRange(e.start.toJSDate(),e.end.toJSDate())}resolvedOptions(e,r){return this.dtFormatter(e,r).resolvedOptions()}num(e,r=0){if(this.opts.forceSimple)return V(e,r);let n={...this.opts};return r>0&&(n.padTo=r),this.loc.numberFormatter(n).format(e)}formatDateTimeFromString(e,r){let n=this.loc.listingMode()==="en",u=this.loc.outputCalendar&&this.loc.outputCalendar!=="gregory",s=(C,x)=>this.loc.extract(e,C,x),i=C=>e.isOffsetFixed&&e.offset===0&&C.allowZ?"Z":e.isValid?e.zone.formatOffset(e.ts,C.format):"",l=()=>n?qi(e):s({hour:"numeric",hourCycle:"h12"},"dayperiod"),f=(C,x)=>n?Yi(e,C):s(x?{month:C}:{month:C,day:"numeric"},"month"),d=(C,x)=>n?Hi(e,C):s(x?{weekday:C}:{weekday:C,month:"long",day:"numeric"},"weekday"),g=C=>{let x=t.macroTokenToFormatOpts(C);return x?this.formatWithSystemDefault(e,x):C},T=C=>n?Gi(e,C):s({era:C},"era"),b=C=>{switch(C){case"S":return this.num(e.millisecond);case"u":case"SSS":return this.num(e.millisecond,3);case"s":return this.num(e.second);case"ss":return this.num(e.second,2);case"uu":return this.num(Math.floor(e.millisecond/10),2);case"uuu":return this.num(Math.floor(e.millisecond/100));case"m":return this.num(e.minute);case"mm":return this.num(e.minute,2);case"h":return this.num(e.hour%12===0?12:e.hour%12);case"hh":return this.num(e.hour%12===0?12:e.hour%12,2);case"H":return this.num(e.hour);case"HH":return this.num(e.hour,2);case"Z":return i({format:"narrow",allowZ:this.opts.allowZ});case"ZZ":return i({format:"short",allowZ:this.opts.allowZ});case"ZZZ":return i({format:"techie",allowZ:this.opts.allowZ});case"ZZZZ":return e.zone.offsetName(e.ts,{format:"short",locale:this.loc.locale});case"ZZZZZ":return e.zone.offsetName(e.ts,{format:"long",locale:this.loc.locale});case"z":return e.zoneName;case"a":return l();case"d":return u?s({day:"numeric"},"day"):this.num(e.day);case"dd":return u?s({day:"2-digit"},"day"):this.num(e.day,2);case"c":return this.num(e.weekday);case"ccc":return d("short",!0);case"cccc":return d("long",!0);case"ccccc":return d("narrow",!0);case"E":return this.num(e.weekday);case"EEE":return d("short",!1);case"EEEE":return d("long",!1);case"EEEEE":return d("narrow",!1);case"L":return u?s({month:"numeric",day:"numeric"},"month"):this.num(e.month);case"LL":return u?s({month:"2-digit",day:"numeric"},"month"):this.num(e.month,2);case"LLL":return f("short",!0);case"LLLL":return f("long",!0);case"LLLLL":return f("narrow",!0);case"M":return u?s({month:"numeric"},"month"):this.num(e.month);case"MM":return u?s({month:"2-digit"},"month"):this.num(e.month,2);case"MMM":return f("short",!1);case"MMMM":return f("long",!1);case"MMMMM":return f("narrow",!1);case"y":return u?s({year:"numeric"},"year"):this.num(e.year);case"yy":return u?s({year:"2-digit"},"year"):this.num(e.year.toString().slice(-2),2);case"yyyy":return u?s({year:"numeric"},"year"):this.num(e.year,4);case"yyyyyy":return u?s({year:"numeric"},"year"):this.num(e.year,6);case"G":return T("short");case"GG":return T("long");case"GGGGG":return T("narrow");case"kk":return this.num(e.weekYear.toString().slice(-2),2);case"kkkk":return this.num(e.weekYear,4);case"W":return this.num(e.weekNumber);case"WW":return this.num(e.weekNumber,2);case"o":return this.num(e.ordinal);case"ooo":return this.num(e.ordinal,3);case"q":return this.num(e.quarter);case"qq":return this.num(e.quarter,2);case"X":return this.num(Math.floor(e.ts/1e3));case"x":return this.num(e.ts);default:return g(C)}};return au(t.parseFormat(r),b)}formatDurationFromString(e,r){let n=f=>{switch(f[0]){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":return"hour";case"d":return"day";case"w":return"week";case"M":return"month";case"y":return"year";default:return null}},u=f=>d=>{let g=n(d);return g?this.num(f.get(g),d.length):d},s=t.parseFormat(r),i=s.reduce((f,{literal:d,val:g})=>d?f:f.concat(g),[]),l=e.shiftTo(...i.map(n).filter(f=>f));return au(s,u(l))}},X=class{constructor(e,r){this.reason=e,this.explanation=r}toMessage(){return this.explanation?`${this.reason}: ${this.explanation}`:this.reason}},us=/[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;function lt(...t){let e=t.reduce((r,n)=>r+n.source,"");return RegExp(`^${e}$`)}function ct(...t){return e=>t.reduce(([r,n,u],s)=>{let[i,l,f]=s(e,u);return[{...r,...i},l||n,f]},[{},null,1]).slice(0,2)}function ft(t,...e){if(t==null)return[null,null];for(let[r,n]of e){let u=r.exec(t);if(u)return n(u)}return[null,null]}function ss(...t){return(e,r)=>{let n={},u;for(u=0;u<t.length;u++)n[t[u]]=Me(e[r+u]);return[n,null,r+u]}}var is=/(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/,Ki=`(?:${is.source}?(?:\\[(${us.source})\\])?)?`,dn=/(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/,as=RegExp(`${dn.source}${Ki}`),hn=RegExp(`(?:T${as.source})?`),Xi=/([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/,ea=/(\d{4})-?W(\d\d)(?:-?(\d))?/,ta=/(\d{4})-?(\d{3})/,ra=ss("weekYear","weekNumber","weekDay"),na=ss("year","ordinal"),ua=/(\d{4})-(\d\d)-(\d\d)/,os=RegExp(`${dn.source} ?(?:${is.source}|(${us.source}))?`),sa=RegExp(`(?: ${os.source})?`);function it(t,e,r){let n=t[e];return A(n)?r:Me(n)}function ia(t,e){return[{year:it(t,e),month:it(t,e+1,1),day:it(t,e+2,1)},null,e+3]}function Dt(t,e){return[{hours:it(t,e,0),minutes:it(t,e+1,0),seconds:it(t,e+2,0),milliseconds:fn(t[e+3])},null,e+4]}function _t(t,e){let r=!t[e]&&!t[e+1],n=gr(t[e+1],t[e+2]),u=r?null:ne.instance(n);return[{},u,e+3]}function Mt(t,e){let r=t[e]?ke.create(t[e]):null;return[{},r,e+1]}var aa=RegExp(`^T?${dn.source}$`),oa=/^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;function la(t){let[e,r,n,u,s,i,l,f,d]=t,g=e[0]==="-",T=f&&f[0]==="-",b=(C,x=!1)=>C!==void 0&&(x||C&&g)?-C:C;return[{years:b(We(r)),months:b(We(n)),weeks:b(We(u)),days:b(We(s)),hours:b(We(i)),minutes:b(We(l)),seconds:b(We(f),f==="-0"),milliseconds:b(fn(d),T)}]}var ca={GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function mn(t,e,r,n,u,s,i){let l={year:e.length===2?tn(Me(e)):Me(e),month:Ju.indexOf(r)+1,day:Me(n),hour:Me(u),minute:Me(s)};return i&&(l.second=Me(i)),t&&(l.weekday=t.length>3?Xu.indexOf(t)+1:es.indexOf(t)+1),l}var fa=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;function Da(t){let[,e,r,n,u,s,i,l,f,d,g,T]=t,b=mn(e,u,n,r,s,i,l),C;return f?C=ca[f]:d?C=0:C=gr(g,T),[b,new ne(C)]}function da(t){return t.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").trim()}var ha=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,ma=/^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,pa=/^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;function ou(t){let[,e,r,n,u,s,i,l]=t;return[mn(e,u,n,r,s,i,l),ne.utcInstance]}function Fa(t){let[,e,r,n,u,s,i,l]=t;return[mn(e,l,r,n,u,s,i),ne.utcInstance]}var ya=lt(Xi,hn),ga=lt(ea,hn),Ea=lt(ta,hn),Ca=lt(as),ls=ct(ia,Dt,_t,Mt),wa=ct(ra,Dt,_t,Mt),ba=ct(na,Dt,_t,Mt),va=ct(Dt,_t,Mt);function Ta(t){return ft(t,[ya,ls],[ga,wa],[Ea,ba],[Ca,va])}function Sa(t){return ft(da(t),[fa,Da])}function Oa(t){return ft(t,[ha,ou],[ma,ou],[pa,Fa])}function xa(t){return ft(t,[oa,la])}var _a=ct(Dt);function Ma(t){return ft(t,[aa,_a])}var Aa=lt(ua,sa),ka=lt(os),Ba=ct(Dt,_t,Mt);function Na(t){return ft(t,[Aa,ls],[ka,Ba])}var lu="Invalid Duration",cs={weeks:{days:7,hours:7*24,minutes:7*24*60,seconds:7*24*60*60,milliseconds:7*24*60*60*1e3},days:{hours:24,minutes:24*60,seconds:24*60*60,milliseconds:24*60*60*1e3},hours:{minutes:60,seconds:60*60,milliseconds:60*60*1e3},minutes:{seconds:60,milliseconds:60*1e3},seconds:{milliseconds:1e3}},Ia={years:{quarters:4,months:12,weeks:52,days:365,hours:365*24,minutes:365*24*60,seconds:365*24*60*60,milliseconds:365*24*60*60*1e3},quarters:{months:3,weeks:13,days:91,hours:91*24,minutes:91*24*60,seconds:91*24*60*60,milliseconds:91*24*60*60*1e3},months:{weeks:4,days:30,hours:30*24,minutes:30*24*60,seconds:30*24*60*60,milliseconds:30*24*60*60*1e3},...cs},te=146097/400,nt=146097/4800,La={years:{quarters:4,months:12,weeks:te/7,days:te,hours:te*24,minutes:te*24*60,seconds:te*24*60*60,milliseconds:te*24*60*60*1e3},quarters:{months:3,weeks:te/28,days:te/4,hours:te*24/4,minutes:te*24*60/4,seconds:te*24*60*60/4,milliseconds:te*24*60*60*1e3/4},months:{weeks:nt/7,days:nt,hours:nt*24,minutes:nt*24*60,seconds:nt*24*60*60,milliseconds:nt*24*60*60*1e3},...cs},qe=["years","quarters","months","weeks","days","hours","minutes","seconds","milliseconds"],Pa=qe.slice(0).reverse();function _e(t,e,r=!1){let n={values:r?e.values:{...t.values,...e.values||{}},loc:t.loc.clone(e.loc),conversionAccuracy:e.conversionAccuracy||t.conversionAccuracy,matrix:e.matrix||t.matrix};return new v(n)}function fs(t,e){let r=e.milliseconds??0;for(let n of Pa.slice(1))e[n]&&(r+=e[n]*t[n].milliseconds);return r}function cu(t,e){let r=fs(t,e)<0?-1:1;qe.reduceRight((n,u)=>{if(A(e[u]))return n;if(n){let s=e[n]*r,i=t[u][n],l=Math.floor(s/i);e[u]+=l*r,e[n]-=l*i*r}return u},null),qe.reduce((n,u)=>{if(A(e[u]))return n;if(n){let s=e[n]%1;e[n]-=s,e[u]+=s*t[n][u]}return u},null)}function Ra(t){let e={};for(let[r,n]of Object.entries(t))n!==0&&(e[r]=n);return e}var v=class t{constructor(e){let r=e.conversionAccuracy==="longterm"||!1,n=r?La:Ia;e.matrix&&(n=e.matrix),this.values=e.values,this.loc=e.loc||P.create(),this.conversionAccuracy=r?"longterm":"casual",this.invalid=e.invalid||null,this.matrix=n,this.isLuxonDuration=!0}static fromMillis(e,r){return t.fromObject({milliseconds:e},r)}static fromObject(e,r={}){if(e==null||typeof e!="object")throw new H(`Duration.fromObject: argument expected to be an object, got ${e===null?"null":typeof e}`);return new t({values:Dr(e,t.normalizeUnit),loc:P.fromObject(r),conversionAccuracy:r.conversionAccuracy,matrix:r.matrix})}static fromDurationLike(e){if(He(e))return t.fromMillis(e);if(t.isDuration(e))return e;if(typeof e=="object")return t.fromObject(e);throw new H(`Unknown duration argument ${e} of type ${typeof e}`)}static fromISO(e,r){let[n]=xa(e);return n?t.fromObject(n,r):t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static fromISOTime(e,r){let[n]=Ma(e);return n?t.fromObject(n,r):t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static invalid(e,r=null){if(!e)throw new H("need to specify a reason the Duration is invalid");let n=e instanceof X?e:new X(e,r);if(L.throwOnInvalid)throw new qr(n);return new t({invalid:n})}static normalizeUnit(e){let r={year:"years",years:"years",quarter:"quarters",quarters:"quarters",month:"months",months:"months",week:"weeks",weeks:"weeks",day:"days",days:"days",hour:"hours",hours:"hours",minute:"minutes",minutes:"minutes",second:"seconds",seconds:"seconds",millisecond:"milliseconds",milliseconds:"milliseconds"}[e&&e.toLowerCase()];if(!r)throw new ar(e);return r}static isDuration(e){return e&&e.isLuxonDuration||!1}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}toFormat(e,r={}){let n={...r,floor:r.round!==!1&&r.floor!==!1};return this.isValid?K.create(this.loc,n).formatDurationFromString(this,e):lu}toHuman(e={}){if(!this.isValid)return lu;let r=qe.map(n=>{let u=this.values[n];return A(u)?null:this.loc.numberFormatter({style:"unit",unitDisplay:"long",...e,unit:n.slice(0,-1)}).format(u)}).filter(n=>n);return this.loc.listFormatter({type:"conjunction",style:e.listStyle||"narrow",...e}).format(r)}toObject(){return this.isValid?{...this.values}:{}}toISO(){if(!this.isValid)return null;let e="P";return this.years!==0&&(e+=this.years+"Y"),(this.months!==0||this.quarters!==0)&&(e+=this.months+this.quarters*3+"M"),this.weeks!==0&&(e+=this.weeks+"W"),this.days!==0&&(e+=this.days+"D"),(this.hours!==0||this.minutes!==0||this.seconds!==0||this.milliseconds!==0)&&(e+="T"),this.hours!==0&&(e+=this.hours+"H"),this.minutes!==0&&(e+=this.minutes+"M"),(this.seconds!==0||this.milliseconds!==0)&&(e+=Dn(this.seconds+this.milliseconds/1e3,3)+"S"),e==="P"&&(e+="T0S"),e}toISOTime(e={}){if(!this.isValid)return null;let r=this.toMillis();return r<0||r>=864e5?null:(e={suppressMilliseconds:!1,suppressSeconds:!1,includePrefix:!1,format:"extended",...e,includeOffset:!1},M.fromMillis(r,{zone:"UTC"}).toISOTime(e))}toJSON(){return this.toISO()}toString(){return this.toISO()}toMillis(){return this.isValid?fs(this.matrix,this.values):NaN}valueOf(){return this.toMillis()}plus(e){if(!this.isValid)return this;let r=t.fromDurationLike(e),n={};for(let u of qe)(ot(r.values,u)||ot(this.values,u))&&(n[u]=r.get(u)+this.get(u));return _e(this,{values:n},!0)}minus(e){if(!this.isValid)return this;let r=t.fromDurationLike(e);return this.plus(r.negate())}mapUnits(e){if(!this.isValid)return this;let r={};for(let n of Object.keys(this.values))r[n]=Qu(e(this.values[n],n));return _e(this,{values:r},!0)}get(e){return this[t.normalizeUnit(e)]}set(e){if(!this.isValid)return this;let r={...this.values,...Dr(e,t.normalizeUnit)};return _e(this,{values:r})}reconfigure({locale:e,numberingSystem:r,conversionAccuracy:n,matrix:u}={}){let i={loc:this.loc.clone({locale:e,numberingSystem:r}),matrix:u,conversionAccuracy:n};return _e(this,i)}as(e){return this.isValid?this.shiftTo(e).get(e):NaN}normalize(){if(!this.isValid)return this;let e=this.toObject();return cu(this.matrix,e),_e(this,{values:e},!0)}rescale(){if(!this.isValid)return this;let e=Ra(this.normalize().shiftToAll().toObject());return _e(this,{values:e},!0)}shiftTo(...e){if(!this.isValid)return this;if(e.length===0)return this;e=e.map(i=>t.normalizeUnit(i));let r={},n={},u=this.toObject(),s;for(let i of qe)if(e.indexOf(i)>=0){s=i;let l=0;for(let d in n)l+=this.matrix[d][i]*n[d],n[d]=0;He(u[i])&&(l+=u[i]);let f=Math.trunc(l);r[i]=f,n[i]=(l*1e3-f*1e3)/1e3}else He(u[i])&&(n[i]=u[i]);for(let i in n)n[i]!==0&&(r[s]+=i===s?n[i]:n[i]/this.matrix[s][i]);return cu(this.matrix,r),_e(this,{values:r},!0)}shiftToAll(){return this.isValid?this.shiftTo("years","months","weeks","days","hours","minutes","seconds","milliseconds"):this}negate(){if(!this.isValid)return this;let e={};for(let r of Object.keys(this.values))e[r]=this.values[r]===0?0:-this.values[r];return _e(this,{values:e},!0)}get years(){return this.isValid?this.values.years||0:NaN}get quarters(){return this.isValid?this.values.quarters||0:NaN}get months(){return this.isValid?this.values.months||0:NaN}get weeks(){return this.isValid?this.values.weeks||0:NaN}get days(){return this.isValid?this.values.days||0:NaN}get hours(){return this.isValid?this.values.hours||0:NaN}get minutes(){return this.isValid?this.values.minutes||0:NaN}get seconds(){return this.isValid?this.values.seconds||0:NaN}get milliseconds(){return this.isValid?this.values.milliseconds||0:NaN}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}equals(e){if(!this.isValid||!e.isValid||!this.loc.equals(e.loc))return!1;function r(n,u){return n===void 0||n===0?u===void 0||u===0:n===u}for(let n of qe)if(!r(this.values[n],e.values[n]))return!1;return!0}},ut="Invalid Interval";function Ua(t,e){return!t||!t.isValid?at.invalid("missing or invalid start"):!e||!e.isValid?at.invalid("missing or invalid end"):e<t?at.invalid("end before start",`The end of an interval must be after its start, but you had start=${t.toISO()} and end=${e.toISO()}`):null}var at=class t{constructor(e){this.s=e.start,this.e=e.end,this.invalid=e.invalid||null,this.isLuxonInterval=!0}static invalid(e,r=null){if(!e)throw new H("need to specify a reason the Interval is invalid");let n=e instanceof X?e:new X(e,r);if(L.throwOnInvalid)throw new Zr(n);return new t({invalid:n})}static fromDateTimes(e,r){let n=Ct(e),u=Ct(r),s=Ua(n,u);return s??new t({start:n,end:u})}static after(e,r){let n=v.fromDurationLike(r),u=Ct(e);return t.fromDateTimes(u,u.plus(n))}static before(e,r){let n=v.fromDurationLike(r),u=Ct(e);return t.fromDateTimes(u.minus(n),u)}static fromISO(e,r){let[n,u]=(e||"").split("/",2);if(n&&u){let s,i;try{s=M.fromISO(n,r),i=s.isValid}catch{i=!1}let l,f;try{l=M.fromISO(u,r),f=l.isValid}catch{f=!1}if(i&&f)return t.fromDateTimes(s,l);if(i){let d=v.fromISO(u,r);if(d.isValid)return t.after(s,d)}else if(f){let d=v.fromISO(n,r);if(d.isValid)return t.before(l,d)}}return t.invalid("unparsable",`the input "${e}" can't be parsed as ISO 8601`)}static isInterval(e){return e&&e.isLuxonInterval||!1}get start(){return this.isValid?this.s:null}get end(){return this.isValid?this.e:null}get isValid(){return this.invalidReason===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}length(e="milliseconds"){return this.isValid?this.toDuration(e).get(e):NaN}count(e="milliseconds"){if(!this.isValid)return NaN;let r=this.start.startOf(e),n=this.end.startOf(e);return Math.floor(n.diff(r,e).get(e))+(n.valueOf()!==this.end.valueOf())}hasSame(e){return this.isValid?this.isEmpty()||this.e.minus(1).hasSame(this.s,e):!1}isEmpty(){return this.s.valueOf()===this.e.valueOf()}isAfter(e){return this.isValid?this.s>e:!1}isBefore(e){return this.isValid?this.e<=e:!1}contains(e){return this.isValid?this.s<=e&&this.e>e:!1}set({start:e,end:r}={}){return this.isValid?t.fromDateTimes(e||this.s,r||this.e):this}splitAt(...e){if(!this.isValid)return[];let r=e.map(Ct).filter(i=>this.contains(i)).sort(),n=[],{s:u}=this,s=0;for(;u<this.e;){let i=r[s]||this.e,l=+i>+this.e?this.e:i;n.push(t.fromDateTimes(u,l)),u=l,s+=1}return n}splitBy(e){let r=v.fromDurationLike(e);if(!this.isValid||!r.isValid||r.as("milliseconds")===0)return[];let{s:n}=this,u=1,s,i=[];for(;n<this.e;){let l=this.start.plus(r.mapUnits(f=>f*u));s=+l>+this.e?this.e:l,i.push(t.fromDateTimes(n,s)),n=s,u+=1}return i}divideEqually(e){return this.isValid?this.splitBy(this.length()/e).slice(0,e):[]}overlaps(e){return this.e>e.s&&this.s<e.e}abutsStart(e){return this.isValid?+this.e==+e.s:!1}abutsEnd(e){return this.isValid?+e.e==+this.s:!1}engulfs(e){return this.isValid?this.s<=e.s&&this.e>=e.e:!1}equals(e){return!this.isValid||!e.isValid?!1:this.s.equals(e.s)&&this.e.equals(e.e)}intersection(e){if(!this.isValid)return this;let r=this.s>e.s?this.s:e.s,n=this.e<e.e?this.e:e.e;return r>=n?null:t.fromDateTimes(r,n)}union(e){if(!this.isValid)return this;let r=this.s<e.s?this.s:e.s,n=this.e>e.e?this.e:e.e;return t.fromDateTimes(r,n)}static merge(e){let[r,n]=e.sort((u,s)=>u.s-s.s).reduce(([u,s],i)=>s?s.overlaps(i)||s.abutsStart(i)?[u,s.union(i)]:[u.concat([s]),i]:[u,i],[[],null]);return n&&r.push(n),r}static xor(e){let r=null,n=0,u=[],s=e.map(f=>[{time:f.s,type:"s"},{time:f.e,type:"e"}]),i=Array.prototype.concat(...s),l=i.sort((f,d)=>f.time-d.time);for(let f of l)n+=f.type==="s"?1:-1,n===1?r=f.time:(r&&+r!=+f.time&&u.push(t.fromDateTimes(r,f.time)),r=null);return t.merge(u)}difference(...e){return t.xor([this].concat(e)).map(r=>this.intersection(r)).filter(r=>r&&!r.isEmpty())}toString(){return this.isValid?`[${this.s.toISO()} \u2013 ${this.e.toISO()})`:ut}toLocaleString(e=or,r={}){return this.isValid?K.create(this.s.loc.clone(r),e).formatInterval(this):ut}toISO(e){return this.isValid?`${this.s.toISO(e)}/${this.e.toISO(e)}`:ut}toISODate(){return this.isValid?`${this.s.toISODate()}/${this.e.toISODate()}`:ut}toISOTime(e){return this.isValid?`${this.s.toISOTime(e)}/${this.e.toISOTime(e)}`:ut}toFormat(e,{separator:r=" \u2013 "}={}){return this.isValid?`${this.s.toFormat(e)}${r}${this.e.toFormat(e)}`:ut}toDuration(e,r){return this.isValid?this.e.diff(this.s,e,r):v.invalid(this.invalidReason)}mapEndpoints(e){return t.fromDateTimes(e(this.s),e(this.e))}},st=class{static hasDST(e=L.defaultZone){let r=M.now().setZone(e).set({month:12});return!e.isUniversal&&r.offset!==r.set({month:6}).offset}static isValidIANAZone(e){return ke.isValidZone(e)}static normalizeZone(e){return Ae(e,L.defaultZone)}static months(e="long",{locale:r=null,numberingSystem:n=null,locObj:u=null,outputCalendar:s="gregory"}={}){return(u||P.create(r,n,s)).months(e)}static monthsFormat(e="long",{locale:r=null,numberingSystem:n=null,locObj:u=null,outputCalendar:s="gregory"}={}){return(u||P.create(r,n,s)).months(e,!0)}static weekdays(e="long",{locale:r=null,numberingSystem:n=null,locObj:u=null}={}){return(u||P.create(r,n,null)).weekdays(e)}static weekdaysFormat(e="long",{locale:r=null,numberingSystem:n=null,locObj:u=null}={}){return(u||P.create(r,n,null)).weekdays(e,!0)}static meridiems({locale:e=null}={}){return P.create(e).meridiems()}static eras(e="short",{locale:r=null}={}){return P.create(r,null,"gregory").eras(e)}static features(){return{relative:Yu()}}};function fu(t,e){let r=u=>u.toUTC(0,{keepLocalTime:!0}).startOf("day").valueOf(),n=r(e)-r(t);return Math.floor(v.fromMillis(n).as("days"))}function za(t,e,r){let n=[["years",(f,d)=>d.year-f.year],["quarters",(f,d)=>d.quarter-f.quarter+(d.year-f.year)*4],["months",(f,d)=>d.month-f.month+(d.year-f.year)*12],["weeks",(f,d)=>{let g=fu(f,d);return(g-g%7)/7}],["days",fu]],u={},s=t,i,l;for(let[f,d]of n)r.indexOf(f)>=0&&(i=f,u[f]=d(t,e),l=s.plus(u),l>e?(u[f]--,t=s.plus(u),t>e&&(l=t,u[f]--,t=s.plus(u))):t=l);return[t,u,l,i]}function Va(t,e,r,n){let[u,s,i,l]=za(t,e,r),f=e-u,d=r.filter(T=>["hours","minutes","seconds","milliseconds"].indexOf(T)>=0);d.length===0&&(i<e&&(i=u.plus({[l]:1})),i!==u&&(s[l]=(s[l]||0)+f/(i-u)));let g=v.fromObject(s,n);return d.length>0?v.fromMillis(f,n).shiftTo(...d).plus(g):g}var pn={arab:"[\u0660-\u0669]",arabext:"[\u06F0-\u06F9]",bali:"[\u1B50-\u1B59]",beng:"[\u09E6-\u09EF]",deva:"[\u0966-\u096F]",fullwide:"[\uFF10-\uFF19]",gujr:"[\u0AE6-\u0AEF]",hanidec:"[\u3007|\u4E00|\u4E8C|\u4E09|\u56DB|\u4E94|\u516D|\u4E03|\u516B|\u4E5D]",khmr:"[\u17E0-\u17E9]",knda:"[\u0CE6-\u0CEF]",laoo:"[\u0ED0-\u0ED9]",limb:"[\u1946-\u194F]",mlym:"[\u0D66-\u0D6F]",mong:"[\u1810-\u1819]",mymr:"[\u1040-\u1049]",orya:"[\u0B66-\u0B6F]",tamldec:"[\u0BE6-\u0BEF]",telu:"[\u0C66-\u0C6F]",thai:"[\u0E50-\u0E59]",tibt:"[\u0F20-\u0F29]",latn:"\\d"},Du={arab:[1632,1641],arabext:[1776,1785],bali:[6992,7001],beng:[2534,2543],deva:[2406,2415],fullwide:[65296,65303],gujr:[2790,2799],khmr:[6112,6121],knda:[3302,3311],laoo:[3792,3801],limb:[6470,6479],mlym:[3430,3439],mong:[6160,6169],mymr:[4160,4169],orya:[2918,2927],tamldec:[3046,3055],telu:[3174,3183],thai:[3664,3673],tibt:[3872,3881]},$a=pn.hanidec.replace(/[\[|\]]/g,"").split("");function Wa(t){let e=parseInt(t,10);if(isNaN(e)){e="";for(let r=0;r<t.length;r++){let n=t.charCodeAt(r);if(t[r].search(pn.hanidec)!==-1)e+=$a.indexOf(t[r]);else for(let u in Du){let[s,i]=Du[u];n>=s&&n<=i&&(e+=n-s)}}return parseInt(e,10)}else return e}function oe({numberingSystem:t},e=""){return new RegExp(`${pn[t||"latn"]}${e}`)}var ja="missing Intl.DateTimeFormat.formatToParts support";function k(t,e=r=>r){return{regex:t,deser:([r])=>e(Wa(r))}}var Za="\xA0",Ds=`[ ${Za}]`,ds=new RegExp(Ds,"g");function qa(t){return t.replace(/\./g,"\\.?").replace(ds,Ds)}function du(t){return t.replace(/\./g,"").replace(ds," ").toLowerCase()}function le(t,e){return t===null?null:{regex:RegExp(t.map(qa).join("|")),deser:([r])=>t.findIndex(n=>du(r)===du(n))+e}}function hu(t,e){return{regex:t,deser:([,r,n])=>gr(r,n),groups:e}}function tr(t){return{regex:t,deser:([e])=>e}}function Ha(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}function Ya(t,e){let r=oe(e),n=oe(e,"{2}"),u=oe(e,"{3}"),s=oe(e,"{4}"),i=oe(e,"{6}"),l=oe(e,"{1,2}"),f=oe(e,"{1,3}"),d=oe(e,"{1,6}"),g=oe(e,"{1,9}"),T=oe(e,"{2,4}"),b=oe(e,"{4,6}"),C=U=>({regex:RegExp(Ha(U.val)),deser:([Y])=>Y,literal:!0}),R=(U=>{if(t.literal)return C(U);switch(U.val){case"G":return le(e.eras("short"),0);case"GG":return le(e.eras("long"),0);case"y":return k(d);case"yy":return k(T,tn);case"yyyy":return k(s);case"yyyyy":return k(b);case"yyyyyy":return k(i);case"M":return k(l);case"MM":return k(n);case"MMM":return le(e.months("short",!0),1);case"MMMM":return le(e.months("long",!0),1);case"L":return k(l);case"LL":return k(n);case"LLL":return le(e.months("short",!1),1);case"LLLL":return le(e.months("long",!1),1);case"d":return k(l);case"dd":return k(n);case"o":return k(f);case"ooo":return k(u);case"HH":return k(n);case"H":return k(l);case"hh":return k(n);case"h":return k(l);case"mm":return k(n);case"m":return k(l);case"q":return k(l);case"qq":return k(n);case"s":return k(l);case"ss":return k(n);case"S":return k(f);case"SSS":return k(u);case"u":return tr(g);case"uu":return tr(l);case"uuu":return k(r);case"a":return le(e.meridiems(),0);case"kkkk":return k(s);case"kk":return k(T,tn);case"W":return k(l);case"WW":return k(n);case"E":case"c":return k(r);case"EEE":return le(e.weekdays("short",!1),1);case"EEEE":return le(e.weekdays("long",!1),1);case"ccc":return le(e.weekdays("short",!0),1);case"cccc":return le(e.weekdays("long",!0),1);case"Z":case"ZZ":return hu(new RegExp(`([+-]${l.source})(?::(${n.source}))?`),2);case"ZZZ":return hu(new RegExp(`([+-]${l.source})(${n.source})?`),2);case"z":return tr(/[a-z_+-/]{1,256}?/i);case" ":return tr(/[^\S\n\r]/);default:return C(U)}})(t)||{invalidReason:ja};return R.token=t,R}var Ga={year:{"2-digit":"yy",numeric:"yyyyy"},month:{numeric:"M","2-digit":"MM",short:"MMM",long:"MMMM"},day:{numeric:"d","2-digit":"dd"},weekday:{short:"EEE",long:"EEEE"},dayperiod:"a",dayPeriod:"a",hour12:{numeric:"h","2-digit":"hh"},hour24:{numeric:"H","2-digit":"HH"},minute:{numeric:"m","2-digit":"mm"},second:{numeric:"s","2-digit":"ss"},timeZoneName:{long:"ZZZZZ",short:"ZZZ"}};function Qa(t,e,r){let{type:n,value:u}=t;if(n==="literal"){let f=/^\s+$/.test(u);return{literal:!f,val:f?" ":u}}let s=e[n],i=n;n==="hour"&&(e.hour12!=null?i=e.hour12?"hour12":"hour24":e.hourCycle!=null?e.hourCycle==="h11"||e.hourCycle==="h12"?i="hour12":i="hour24":i=r.hour12?"hour12":"hour24");let l=Ga[i];if(typeof l=="object"&&(l=l[s]),l)return{literal:!1,val:l}}function Ja(t){return[`^${t.map(r=>r.regex).reduce((r,n)=>`${r}(${n.source})`,"")}$`,t]}function Ka(t,e,r){let n=t.match(e);if(n){let u={},s=1;for(let i in r)if(ot(r,i)){let l=r[i],f=l.groups?l.groups+1:1;!l.literal&&l.token&&(u[l.token.val[0]]=l.deser(n.slice(s,s+f))),s+=f}return[n,u]}else return[n,{}]}function Xa(t){let e=s=>{switch(s){case"S":return"millisecond";case"s":return"second";case"m":return"minute";case"h":case"H":return"hour";case"d":return"day";case"o":return"ordinal";case"L":case"M":return"month";case"y":return"year";case"E":case"c":return"weekday";case"W":return"weekNumber";case"k":return"weekYear";case"q":return"quarter";default:return null}},r=null,n;return A(t.z)||(r=ke.create(t.z)),A(t.Z)||(r||(r=new ne(t.Z)),n=t.Z),A(t.q)||(t.M=(t.q-1)*3+1),A(t.h)||(t.h<12&&t.a===1?t.h+=12:t.h===12&&t.a===0&&(t.h=0)),t.G===0&&t.y&&(t.y=-t.y),A(t.u)||(t.S=fn(t.u)),[Object.keys(t).reduce((s,i)=>{let l=e(i);return l&&(s[l]=t[i]),s},{}),r,n]}var Rr=null;function eo(){return Rr||(Rr=M.fromMillis(1555555555555)),Rr}function to(t,e){if(t.literal)return t;let r=K.macroTokenToFormatOpts(t.val),n=ps(r,e);return n==null||n.includes(void 0)?t:n}function hs(t,e){return Array.prototype.concat(...t.map(r=>to(r,e)))}function ms(t,e,r){let n=hs(K.parseFormat(r),t),u=n.map(i=>Ya(i,t)),s=u.find(i=>i.invalidReason);if(s)return{input:e,tokens:n,invalidReason:s.invalidReason};{let[i,l]=Ja(u),f=RegExp(i,"i"),[d,g]=Ka(e,f,l),[T,b,C]=g?Xa(g):[null,null,void 0];if(ot(g,"a")&&ot(g,"H"))throw new Ze("Can't include meridiem when specifying 24-hour format");return{input:e,tokens:n,regex:f,rawMatches:d,matches:g,result:T,zone:b,specificOffset:C}}}function ro(t,e,r){let{result:n,zone:u,specificOffset:s,invalidReason:i}=ms(t,e,r);return[n,u,s,i]}function ps(t,e){if(!t)return null;let n=K.create(e,t).dtFormatter(eo()),u=n.formatToParts(),s=n.resolvedOptions();return u.map(i=>Qa(i,t,s))}var Fs=[0,31,59,90,120,151,181,212,243,273,304,334],ys=[0,31,60,91,121,152,182,213,244,274,305,335];function re(t,e){return new X("unit out of range",`you specified ${e} (of type ${typeof e}) as a ${t}, which is invalid`)}function gs(t,e,r){let n=new Date(Date.UTC(t,e-1,r));t<100&&t>=0&&n.setUTCFullYear(n.getUTCFullYear()-1900);let u=n.getUTCDay();return u===0?7:u}function Es(t,e,r){return r+(xt(t)?ys:Fs)[e-1]}function Cs(t,e){let r=xt(t)?ys:Fs,n=r.findIndex(s=>s<e),u=e-r[n];return{month:n+1,day:u}}function rn(t){let{year:e,month:r,day:n}=t,u=Es(e,r,n),s=gs(e,r,n),i=Math.floor((u-s+10)/7),l;return i<1?(l=e-1,i=fr(l)):i>fr(e)?(l=e+1,i=1):l=e,{weekYear:l,weekNumber:i,weekday:s,...Er(t)}}function mu(t){let{weekYear:e,weekNumber:r,weekday:n}=t,u=gs(e,1,4),s=vt(e),i=r*7+n-u-3,l;i<1?(l=e-1,i+=vt(l)):i>s?(l=e+1,i-=vt(e)):l=e;let{month:f,day:d}=Cs(l,i);return{year:l,month:f,day:d,...Er(t)}}function Ur(t){let{year:e,month:r,day:n}=t,u=Es(e,r,n);return{year:e,ordinal:u,...Er(t)}}function pu(t){let{year:e,ordinal:r}=t,{month:n,day:u}=Cs(e,r);return{year:e,month:n,day:u,...Er(t)}}function no(t){let e=Fr(t.weekYear),r=be(t.weekNumber,1,fr(t.weekYear)),n=be(t.weekday,1,7);return e?r?n?!1:re("weekday",t.weekday):re("week",t.week):re("weekYear",t.weekYear)}function uo(t){let e=Fr(t.year),r=be(t.ordinal,1,vt(t.year));return e?r?!1:re("ordinal",t.ordinal):re("year",t.year)}function ws(t){let e=Fr(t.year),r=be(t.month,1,12),n=be(t.day,1,cr(t.year,t.month));return e?r?n?!1:re("day",t.day):re("month",t.month):re("year",t.year)}function bs(t){let{hour:e,minute:r,second:n,millisecond:u}=t,s=be(e,0,23)||e===24&&r===0&&n===0&&u===0,i=be(r,0,59),l=be(n,0,59),f=be(u,0,999);return s?i?l?f?!1:re("millisecond",u):re("second",n):re("minute",r):re("hour",e)}var zr="Invalid DateTime",Fu=864e13;function rr(t){return new X("unsupported zone",`the zone "${t.name}" is not supported`)}function Vr(t){return t.weekData===null&&(t.weekData=rn(t.c)),t.weekData}function je(t,e){let r={ts:t.ts,zone:t.zone,c:t.c,o:t.o,loc:t.loc,invalid:t.invalid};return new M({...r,...e,old:r})}function vs(t,e,r){let n=t-e*60*1e3,u=r.offset(n);if(e===u)return[n,e];n-=(u-e)*60*1e3;let s=r.offset(n);return u===s?[n,u]:[t-Math.min(u,s)*60*1e3,Math.max(u,s)]}function nr(t,e){t+=e*60*1e3;let r=new Date(t);return{year:r.getUTCFullYear(),month:r.getUTCMonth()+1,day:r.getUTCDate(),hour:r.getUTCHours(),minute:r.getUTCMinutes(),second:r.getUTCSeconds(),millisecond:r.getUTCMilliseconds()}}function ir(t,e,r){return vs(yr(t),e,r)}function yu(t,e){let r=t.o,n=t.c.year+Math.trunc(e.years),u=t.c.month+Math.trunc(e.months)+Math.trunc(e.quarters)*3,s={...t.c,year:n,month:u,day:Math.min(t.c.day,cr(n,u))+Math.trunc(e.days)+Math.trunc(e.weeks)*7},i=v.fromObject({years:e.years-Math.trunc(e.years),quarters:e.quarters-Math.trunc(e.quarters),months:e.months-Math.trunc(e.months),weeks:e.weeks-Math.trunc(e.weeks),days:e.days-Math.trunc(e.days),hours:e.hours,minutes:e.minutes,seconds:e.seconds,milliseconds:e.milliseconds}).as("milliseconds"),l=yr(s),[f,d]=vs(l,r,t.zone);return i!==0&&(f+=i,d=t.zone.offset(f)),{ts:f,o:d}}function Et(t,e,r,n,u,s){let{setZone:i,zone:l}=r;if(t&&Object.keys(t).length!==0||e){let f=e||l,d=M.fromObject(t,{...r,zone:f,specificOffset:s});return i?d:d.setZone(l)}else return M.invalid(new X("unparsable",`the input "${u}" can't be parsed as ${n}`))}function ur(t,e,r=!0){return t.isValid?K.create(P.create("en-US"),{allowZ:r,forceSimple:!0}).formatDateTimeFromString(t,e):null}function $r(t,e){let r=t.c.year>9999||t.c.year<0,n="";return r&&t.c.year>=0&&(n+="+"),n+=V(t.c.year,r?6:4),e?(n+="-",n+=V(t.c.month),n+="-",n+=V(t.c.day)):(n+=V(t.c.month),n+=V(t.c.day)),n}function gu(t,e,r,n,u,s){let i=V(t.c.hour);return e?(i+=":",i+=V(t.c.minute),(t.c.millisecond!==0||t.c.second!==0||!r)&&(i+=":")):i+=V(t.c.minute),(t.c.millisecond!==0||t.c.second!==0||!r)&&(i+=V(t.c.second),(t.c.millisecond!==0||!n)&&(i+=".",i+=V(t.c.millisecond,3))),u&&(t.isOffsetFixed&&t.offset===0&&!s?i+="Z":t.o<0?(i+="-",i+=V(Math.trunc(-t.o/60)),i+=":",i+=V(Math.trunc(-t.o%60))):(i+="+",i+=V(Math.trunc(t.o/60)),i+=":",i+=V(Math.trunc(t.o%60)))),s&&(i+="["+t.zone.ianaName+"]"),i}var Ts={month:1,day:1,hour:0,minute:0,second:0,millisecond:0},so={weekNumber:1,weekday:1,hour:0,minute:0,second:0,millisecond:0},io={ordinal:1,hour:0,minute:0,second:0,millisecond:0},Ss=["year","month","day","hour","minute","second","millisecond"],ao=["weekYear","weekNumber","weekday","hour","minute","second","millisecond"],oo=["year","ordinal","hour","minute","second","millisecond"];function Eu(t){let e={year:"year",years:"year",month:"month",months:"month",day:"day",days:"day",hour:"hour",hours:"hour",minute:"minute",minutes:"minute",quarter:"quarter",quarters:"quarter",second:"second",seconds:"second",millisecond:"millisecond",milliseconds:"millisecond",weekday:"weekday",weekdays:"weekday",weeknumber:"weekNumber",weeksnumber:"weekNumber",weeknumbers:"weekNumber",weekyear:"weekYear",weekyears:"weekYear",ordinal:"ordinal"}[t.toLowerCase()];if(!e)throw new ar(t);return e}function Cu(t,e){let r=Ae(e.zone,L.defaultZone),n=P.fromObject(e),u=L.now(),s,i;if(A(t.year))s=u;else{for(let d of Ss)A(t[d])&&(t[d]=Ts[d]);let l=ws(t)||bs(t);if(l)return M.invalid(l);let f=r.offset(u);[s,i]=ir(t,f,r)}return new M({ts:s,zone:r,loc:n,o:i})}function wu(t,e,r){let n=A(r.round)?!0:r.round,u=(i,l)=>(i=Dn(i,n||r.calendary?0:2,!0),e.loc.clone(r).relFormatter(r).format(i,l)),s=i=>r.calendary?e.hasSame(t,i)?0:e.startOf(i).diff(t.startOf(i),i).get(i):e.diff(t,i).get(i);if(r.unit)return u(s(r.unit),r.unit);for(let i of r.units){let l=s(i);if(Math.abs(l)>=1)return u(l,i)}return u(t>e?-0:0,r.units[r.units.length-1])}function bu(t){let e={},r;return t.length>0&&typeof t[t.length-1]=="object"?(e=t[t.length-1],r=Array.from(t).slice(0,t.length-1)):r=Array.from(t),[e,r]}var M=class t{constructor(e){let r=e.zone||L.defaultZone,n=e.invalid||(Number.isNaN(e.ts)?new X("invalid input"):null)||(r.isValid?null:rr(r));this.ts=A(e.ts)?L.now():e.ts;let u=null,s=null;if(!n)if(e.old&&e.old.ts===this.ts&&e.old.zone.equals(r))[u,s]=[e.old.c,e.old.o];else{let l=r.offset(this.ts);u=nr(this.ts,l),n=Number.isNaN(u.year)?new X("invalid input"):null,u=n?null:u,s=n?null:l}this._zone=r,this.loc=e.loc||P.create(),this.invalid=n,this.weekData=null,this.c=u,this.o=s,this.isLuxonDateTime=!0}static now(){return new t({})}static local(){let[e,r]=bu(arguments),[n,u,s,i,l,f,d]=r;return Cu({year:n,month:u,day:s,hour:i,minute:l,second:f,millisecond:d},e)}static utc(){let[e,r]=bu(arguments),[n,u,s,i,l,f,d]=r;return e.zone=ne.utcInstance,Cu({year:n,month:u,day:s,hour:i,minute:l,second:f,millisecond:d},e)}static fromJSDate(e,r={}){let n=Li(e)?e.valueOf():NaN;if(Number.isNaN(n))return t.invalid("invalid input");let u=Ae(r.zone,L.defaultZone);return u.isValid?new t({ts:n,zone:u,loc:P.fromObject(r)}):t.invalid(rr(u))}static fromMillis(e,r={}){if(He(e))return e<-Fu||e>Fu?t.invalid("Timestamp out of range"):new t({ts:e,zone:Ae(r.zone,L.defaultZone),loc:P.fromObject(r)});throw new H(`fromMillis requires a numerical input, but received a ${typeof e} with value ${e}`)}static fromSeconds(e,r={}){if(He(e))return new t({ts:e*1e3,zone:Ae(r.zone,L.defaultZone),loc:P.fromObject(r)});throw new H("fromSeconds requires a numerical input")}static fromObject(e,r={}){e=e||{};let n=Ae(r.zone,L.defaultZone);if(!n.isValid)return t.invalid(rr(n));let u=L.now(),s=A(r.specificOffset)?n.offset(u):r.specificOffset,i=Dr(e,Eu),l=!A(i.ordinal),f=!A(i.year),d=!A(i.month)||!A(i.day),g=f||d,T=i.weekYear||i.weekNumber,b=P.fromObject(r);if((g||l)&&T)throw new Ze("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(d&&l)throw new Ze("Can't mix ordinal dates with month/day");let C=T||i.weekday&&!g,x,R,U=nr(u,s);C?(x=ao,R=so,U=rn(U)):l?(x=oo,R=io,U=Ur(U)):(x=Ss,R=Ts);let Y=!1;for(let O of x){let B=i[O];A(B)?Y?i[O]=R[O]:i[O]=U[O]:Y=!0}let De=C?no(i):l?uo(i):ws(i),de=De||bs(i);if(de)return t.invalid(de);let m=C?mu(i):l?pu(i):i,[_,z]=ir(m,s,n),w=new t({ts:_,zone:n,o:z,loc:b});return i.weekday&&g&&e.weekday!==w.weekday?t.invalid("mismatched weekday",`you can't specify both a weekday of ${i.weekday} and a date of ${w.toISO()}`):w}static fromISO(e,r={}){let[n,u]=Ta(e);return Et(n,u,r,"ISO 8601",e)}static fromRFC2822(e,r={}){let[n,u]=Sa(e);return Et(n,u,r,"RFC 2822",e)}static fromHTTP(e,r={}){let[n,u]=Oa(e);return Et(n,u,r,"HTTP",r)}static fromFormat(e,r,n={}){if(A(e)||A(r))throw new H("fromFormat requires an input string and a format");let{locale:u=null,numberingSystem:s=null}=n,i=P.fromOpts({locale:u,numberingSystem:s,defaultToEN:!0}),[l,f,d,g]=ro(i,e,r);return g?t.invalid(g):Et(l,f,n,`format ${r}`,e,d)}static fromString(e,r,n={}){return t.fromFormat(e,r,n)}static fromSQL(e,r={}){let[n,u]=Na(e);return Et(n,u,r,"SQL",e)}static invalid(e,r=null){if(!e)throw new H("need to specify a reason the DateTime is invalid");let n=e instanceof X?e:new X(e,r);if(L.throwOnInvalid)throw new jr(n);return new t({invalid:n})}static isDateTime(e){return e&&e.isLuxonDateTime||!1}static parseFormatForOpts(e,r={}){let n=ps(e,P.fromObject(r));return n?n.map(u=>u?u.val:null).join(""):null}static expandFormat(e,r={}){return hs(K.parseFormat(e),P.fromObject(r)).map(u=>u.val).join("")}get(e){return this[e]}get isValid(){return this.invalid===null}get invalidReason(){return this.invalid?this.invalid.reason:null}get invalidExplanation(){return this.invalid?this.invalid.explanation:null}get locale(){return this.isValid?this.loc.locale:null}get numberingSystem(){return this.isValid?this.loc.numberingSystem:null}get outputCalendar(){return this.isValid?this.loc.outputCalendar:null}get zone(){return this._zone}get zoneName(){return this.isValid?this.zone.name:null}get year(){return this.isValid?this.c.year:NaN}get quarter(){return this.isValid?Math.ceil(this.c.month/3):NaN}get month(){return this.isValid?this.c.month:NaN}get day(){return this.isValid?this.c.day:NaN}get hour(){return this.isValid?this.c.hour:NaN}get minute(){return this.isValid?this.c.minute:NaN}get second(){return this.isValid?this.c.second:NaN}get millisecond(){return this.isValid?this.c.millisecond:NaN}get weekYear(){return this.isValid?Vr(this).weekYear:NaN}get weekNumber(){return this.isValid?Vr(this).weekNumber:NaN}get weekday(){return this.isValid?Vr(this).weekday:NaN}get ordinal(){return this.isValid?Ur(this.c).ordinal:NaN}get monthShort(){return this.isValid?st.months("short",{locObj:this.loc})[this.month-1]:null}get monthLong(){return this.isValid?st.months("long",{locObj:this.loc})[this.month-1]:null}get weekdayShort(){return this.isValid?st.weekdays("short",{locObj:this.loc})[this.weekday-1]:null}get weekdayLong(){return this.isValid?st.weekdays("long",{locObj:this.loc})[this.weekday-1]:null}get offset(){return this.isValid?+this.o:NaN}get offsetNameShort(){return this.isValid?this.zone.offsetName(this.ts,{format:"short",locale:this.locale}):null}get offsetNameLong(){return this.isValid?this.zone.offsetName(this.ts,{format:"long",locale:this.locale}):null}get isOffsetFixed(){return this.isValid?this.zone.isUniversal:null}get isInDST(){return this.isOffsetFixed?!1:this.offset>this.set({month:1,day:1}).offset||this.offset>this.set({month:5}).offset}getPossibleOffsets(){if(!this.isValid||this.isOffsetFixed)return[this];let e=864e5,r=6e4,n=yr(this.c),u=this.zone.offset(n-e),s=this.zone.offset(n+e),i=this.zone.offset(n-u*r),l=this.zone.offset(n-s*r);if(i===l)return[this];let f=n-i*r,d=n-l*r,g=nr(f,i),T=nr(d,l);return g.hour===T.hour&&g.minute===T.minute&&g.second===T.second&&g.millisecond===T.millisecond?[je(this,{ts:f}),je(this,{ts:d})]:[this]}get isInLeapYear(){return xt(this.year)}get daysInMonth(){return cr(this.year,this.month)}get daysInYear(){return this.isValid?vt(this.year):NaN}get weeksInWeekYear(){return this.isValid?fr(this.weekYear):NaN}resolvedLocaleOptions(e={}){let{locale:r,numberingSystem:n,calendar:u}=K.create(this.loc.clone(e),e).resolvedOptions(this);return{locale:r,numberingSystem:n,outputCalendar:u}}toUTC(e=0,r={}){return this.setZone(ne.instance(e),r)}toLocal(){return this.setZone(L.defaultZone)}setZone(e,{keepLocalTime:r=!1,keepCalendarTime:n=!1}={}){if(e=Ae(e,L.defaultZone),e.equals(this.zone))return this;if(e.isValid){let u=this.ts;if(r||n){let s=e.offset(this.ts),i=this.toObject();[u]=ir(i,s,e)}return je(this,{ts:u,zone:e})}else return t.invalid(rr(e))}reconfigure({locale:e,numberingSystem:r,outputCalendar:n}={}){let u=this.loc.clone({locale:e,numberingSystem:r,outputCalendar:n});return je(this,{loc:u})}setLocale(e){return this.reconfigure({locale:e})}set(e){if(!this.isValid)return this;let r=Dr(e,Eu),n=!A(r.weekYear)||!A(r.weekNumber)||!A(r.weekday),u=!A(r.ordinal),s=!A(r.year),i=!A(r.month)||!A(r.day),l=s||i,f=r.weekYear||r.weekNumber;if((l||u)&&f)throw new Ze("Can't mix weekYear/weekNumber units with year/month/day or ordinals");if(i&&u)throw new Ze("Can't mix ordinal dates with month/day");let d;n?d=mu({...rn(this.c),...r}):A(r.ordinal)?(d={...this.toObject(),...r},A(r.day)&&(d.day=Math.min(cr(d.year,d.month),d.day))):d=pu({...Ur(this.c),...r});let[g,T]=ir(d,this.o,this.zone);return je(this,{ts:g,o:T})}plus(e){if(!this.isValid)return this;let r=v.fromDurationLike(e);return je(this,yu(this,r))}minus(e){if(!this.isValid)return this;let r=v.fromDurationLike(e).negate();return je(this,yu(this,r))}startOf(e){if(!this.isValid)return this;let r={},n=v.normalizeUnit(e);switch(n){case"years":r.month=1;case"quarters":case"months":r.day=1;case"weeks":case"days":r.hour=0;case"hours":r.minute=0;case"minutes":r.second=0;case"seconds":r.millisecond=0;break}if(n==="weeks"&&(r.weekday=1),n==="quarters"){let u=Math.ceil(this.month/3);r.month=(u-1)*3+1}return this.set(r)}endOf(e){return this.isValid?this.plus({[e]:1}).startOf(e).minus(1):this}toFormat(e,r={}){return this.isValid?K.create(this.loc.redefaultToEN(r)).formatDateTimeFromString(this,e):zr}toLocaleString(e=or,r={}){return this.isValid?K.create(this.loc.clone(r),e).formatDateTime(this):zr}toLocaleParts(e={}){return this.isValid?K.create(this.loc.clone(e),e).formatDateTimeParts(this):[]}toISO({format:e="extended",suppressSeconds:r=!1,suppressMilliseconds:n=!1,includeOffset:u=!0,extendedZone:s=!1}={}){if(!this.isValid)return null;let i=e==="extended",l=$r(this,i);return l+="T",l+=gu(this,i,r,n,u,s),l}toISODate({format:e="extended"}={}){return this.isValid?$r(this,e==="extended"):null}toISOWeekDate(){return ur(this,"kkkk-'W'WW-c")}toISOTime({suppressMilliseconds:e=!1,suppressSeconds:r=!1,includeOffset:n=!0,includePrefix:u=!1,extendedZone:s=!1,format:i="extended"}={}){return this.isValid?(u?"T":"")+gu(this,i==="extended",r,e,n,s):null}toRFC2822(){return ur(this,"EEE, dd LLL yyyy HH:mm:ss ZZZ",!1)}toHTTP(){return ur(this.toUTC(),"EEE, dd LLL yyyy HH:mm:ss 'GMT'")}toSQLDate(){return this.isValid?$r(this,!0):null}toSQLTime({includeOffset:e=!0,includeZone:r=!1,includeOffsetSpace:n=!0}={}){let u="HH:mm:ss.SSS";return(r||e)&&(n&&(u+=" "),r?u+="z":e&&(u+="ZZ")),ur(this,u,!0)}toSQL(e={}){return this.isValid?`${this.toSQLDate()} ${this.toSQLTime(e)}`:null}toString(){return this.isValid?this.toISO():zr}valueOf(){return this.toMillis()}toMillis(){return this.isValid?this.ts:NaN}toSeconds(){return this.isValid?this.ts/1e3:NaN}toUnixInteger(){return this.isValid?Math.floor(this.ts/1e3):NaN}toJSON(){return this.toISO()}toBSON(){return this.toJSDate()}toObject(e={}){if(!this.isValid)return{};let r={...this.c};return e.includeConfig&&(r.outputCalendar=this.outputCalendar,r.numberingSystem=this.loc.numberingSystem,r.locale=this.loc.locale),r}toJSDate(){return new Date(this.isValid?this.ts:NaN)}diff(e,r="milliseconds",n={}){if(!this.isValid||!e.isValid)return v.invalid("created by diffing an invalid DateTime");let u={locale:this.locale,numberingSystem:this.numberingSystem,...n},s=Pi(r).map(v.normalizeUnit),i=e.valueOf()>this.valueOf(),l=i?this:e,f=i?e:this,d=Va(l,f,s,u);return i?d.negate():d}diffNow(e="milliseconds",r={}){return this.diff(t.now(),e,r)}until(e){return this.isValid?at.fromDateTimes(this,e):this}hasSame(e,r){if(!this.isValid)return!1;let n=e.valueOf(),u=this.setZone(e.zone,{keepLocalTime:!0});return u.startOf(r)<=n&&n<=u.endOf(r)}equals(e){return this.isValid&&e.isValid&&this.valueOf()===e.valueOf()&&this.zone.equals(e.zone)&&this.loc.equals(e.loc)}toRelative(e={}){if(!this.isValid)return null;let r=e.base||t.fromObject({},{zone:this.zone}),n=e.padding?this<r?-e.padding:e.padding:0,u=["years","months","days","hours","minutes","seconds"],s=e.unit;return Array.isArray(e.unit)&&(u=e.unit,s=void 0),wu(r,this.plus(n),{...e,numeric:"always",units:u,unit:s})}toRelativeCalendar(e={}){return this.isValid?wu(e.base||t.fromObject({},{zone:this.zone}),this,{...e,numeric:"auto",units:["years","months","days"],calendary:!0}):null}static min(...e){if(!e.every(t.isDateTime))throw new H("min requires all arguments be DateTimes");return iu(e,r=>r.valueOf(),Math.min)}static max(...e){if(!e.every(t.isDateTime))throw new H("max requires all arguments be DateTimes");return iu(e,r=>r.valueOf(),Math.max)}static fromFormatExplain(e,r,n={}){let{locale:u=null,numberingSystem:s=null}=n,i=P.fromOpts({locale:u,numberingSystem:s,defaultToEN:!0});return ms(i,e,r)}static fromStringExplain(e,r,n={}){return t.fromFormatExplain(e,r,n)}static get DATE_SHORT(){return or}static get DATE_MED(){return _u}static get DATE_MED_WITH_WEEKDAY(){return Ei}static get DATE_FULL(){return Mu}static get DATE_HUGE(){return Au}static get TIME_SIMPLE(){return ku}static get TIME_WITH_SECONDS(){return Bu}static get TIME_WITH_SHORT_OFFSET(){return Nu}static get TIME_WITH_LONG_OFFSET(){return Iu}static get TIME_24_SIMPLE(){return Lu}static get TIME_24_WITH_SECONDS(){return Pu}static get TIME_24_WITH_SHORT_OFFSET(){return Ru}static get TIME_24_WITH_LONG_OFFSET(){return Uu}static get DATETIME_SHORT(){return zu}static get DATETIME_SHORT_WITH_SECONDS(){return Vu}static get DATETIME_MED(){return $u}static get DATETIME_MED_WITH_SECONDS(){return Wu}static get DATETIME_MED_WITH_WEEKDAY(){return Ci}static get DATETIME_FULL(){return ju}static get DATETIME_FULL_WITH_SECONDS(){return Zu}static get DATETIME_HUGE(){return qu}static get DATETIME_HUGE_WITH_SECONDS(){return Hu}};function Ct(t){if(M.isDateTime(t))return t;if(t&&t.valueOf&&He(t.valueOf()))return M.fromJSDate(t);if(t&&typeof t=="object")return M.fromObject(t);throw new H(`Unknown datetime argument: ${t}, of type ${typeof t}`)}var Fn={renderNullAs:"\\-",taskCompletionTracking:!1,taskCompletionUseEmojiShorthand:!1,taskCompletionText:"completion",taskCompletionDateFormat:"yyyy-MM-dd",recursiveSubTaskCompletion:!1,warnOnEmptyResult:!0,refreshEnabled:!0,refreshInterval:2500,defaultDateFormat:"MMMM dd, yyyy",defaultDateTimeFormat:"h:mm a - MMMM dd, yyyy",maxRecursiveRenderDepth:4,tableIdColumnName:"File",tableGroupColumnName:"Group",showResultCount:!0},lo={allowHtml:!0};({...Fn,...lo});var nn=class t{value;successful;constructor(e){this.value=e,this.successful=!0}map(e){return new t(e(this.value))}flatMap(e){return e(this.value)}mapErr(e){return this}bimap(e,r){return this.map(e)}orElse(e){return this.value}cast(){return this}orElseThrow(e){return this.value}},un=class t{error;successful;constructor(e){this.error=e,this.successful=!1}map(e){return this}flatMap(e){return this}mapErr(e){return new t(e(this.error))}bimap(e,r){return this.mapErr(r)}orElse(e){return e}cast(){return this}orElseThrow(e){throw e?new Error(e(this.error)):new Error(""+this.error)}},dr;(function(t){function e(s){return new nn(s)}t.success=e;function r(s){return new un(s)}t.failure=r;function n(s,i,l){return s.successful?i.successful?l(s.value,i.value):r(i.error):r(s.error)}t.flatMap2=n;function u(s,i,l){return n(s,i,(f,d)=>e(l(f,d)))}t.map2=u})(dr||(dr={}));var co=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},hr={exports:{}};hr.exports;(function(t,e){(function(r,n){t.exports=n()})(typeof self<"u"?self:co,function(){return function(r){var n={};function u(s){if(n[s])return n[s].exports;var i=n[s]={i:s,l:!1,exports:{}};return r[s].call(i.exports,i,i.exports,u),i.l=!0,i.exports}return u.m=r,u.c=n,u.d=function(s,i,l){u.o(s,i)||Object.defineProperty(s,i,{configurable:!1,enumerable:!0,get:l})},u.r=function(s){Object.defineProperty(s,"__esModule",{value:!0})},u.n=function(s){var i=s&&s.__esModule?function(){return s.default}:function(){return s};return u.d(i,"a",i),i},u.o=function(s,i){return Object.prototype.hasOwnProperty.call(s,i)},u.p="",u(u.s=0)}([function(r,n,u){function s(a){if(!(this instanceof s))return new s(a);this._=a}var i=s.prototype;function l(a,c){for(var D=0;D<a;D++)c(D)}function f(a,c,D){return function(h,p){l(p.length,function(F){h(p[F],F,p)})}(function(h,p,F){c=a(c,h,p,F)},D),c}function d(a,c){return f(function(D,h,p,F){return D.concat([a(h,p,F)])},[],c)}function g(a,c){var D={v:0,buf:c};return l(a,function(){var h;D={v:D.v<<1|(h=D.buf,h[0]>>7),buf:function(p){var F=f(function(y,S,N,Z){return y.concat(N===Z.length-1?Buffer.from([S,0]).readUInt16BE(0):Z.readUInt16BE(N))},[],p);return Buffer.from(d(function(y){return(y<<1&65535)>>8},F))}(D.buf)}}),D}function T(){return typeof Buffer<"u"}function b(){if(!T())throw new Error("Buffer global does not exist; please use webpack if you need to parse Buffers in the browser.")}function C(a){b();var c=f(function(F,y){return F+y},0,a);if(c%8!=0)throw new Error("The bits ["+a.join(", ")+"] add up to "+c+" which is not an even number of bytes; the total should be divisible by 8");var D,h=c/8,p=(D=function(F){return F>48},f(function(F,y){return F||(D(y)?y:F)},null,a));if(p)throw new Error(p+" bit range requested exceeds 48 bit (6 byte) Number max.");return new s(function(F,y){var S=h+y;return S>F.length?O(y,h.toString()+" bytes"):w(S,f(function(N,Z){var W=g(Z,N.buf);return{coll:N.coll.concat(W.v),buf:W.buf}},{coll:[],buf:F.slice(y,S)},a).coll)})}function x(a,c){return new s(function(D,h){return b(),h+c>D.length?O(h,c+" bytes for "+a):w(h+c,D.slice(h,h+c))})}function R(a,c){if(typeof(D=c)!="number"||Math.floor(D)!==D||c<0||c>6)throw new Error(a+" requires integer length in range [0, 6].");var D}function U(a){return R("uintBE",a),x("uintBE("+a+")",a).map(function(c){return c.readUIntBE(0,a)})}function Y(a){return R("uintLE",a),x("uintLE("+a+")",a).map(function(c){return c.readUIntLE(0,a)})}function De(a){return R("intBE",a),x("intBE("+a+")",a).map(function(c){return c.readIntBE(0,a)})}function de(a){return R("intLE",a),x("intLE("+a+")",a).map(function(c){return c.readIntLE(0,a)})}function m(a){return a instanceof s}function _(a){return{}.toString.call(a)==="[object Array]"}function z(a){return T()&&Buffer.isBuffer(a)}function w(a,c){return{status:!0,index:a,value:c,furthest:-1,expected:[]}}function O(a,c){return _(c)||(c=[c]),{status:!1,index:-1,value:null,furthest:a,expected:c}}function B(a,c){if(!c||a.furthest>c.furthest)return a;var D=a.furthest===c.furthest?function(h,p){if(function(){if(s._supportsSet!==void 0)return s._supportsSet;var we=typeof Set<"u";return s._supportsSet=we,we}()&&Array.from){for(var F=new Set(h),y=0;y<p.length;y++)F.add(p[y]);var S=Array.from(F);return S.sort(),S}for(var N={},Z=0;Z<h.length;Z++)N[h[Z]]=!0;for(var W=0;W<p.length;W++)N[p[W]]=!0;var Ce=[];for(var G in N)({}).hasOwnProperty.call(N,G)&&Ce.push(G);return Ce.sort(),Ce}(a.expected,c.expected):c.expected;return{status:a.status,index:a.index,value:a.value,furthest:c.furthest,expected:D}}var ue={};function dt(a,c){if(z(a))return{offset:c,line:-1,column:-1};a in ue||(ue[a]={});for(var D=ue[a],h=0,p=0,F=0,y=c;y>=0;){if(y in D){h=D[y].line,F===0&&(F=D[y].lineStart);break}(a.charAt(y)===`
+`||a.charAt(y)==="\r"&&a.charAt(y+1)!==`
+`)&&(p++,F===0&&(F=y+1)),y--}var S=h+p,N=c-F;return D[c]={line:S,lineStart:F},{offset:c,line:S+1,column:N+1}}function ge(a){if(!m(a))throw new Error("not a parser: "+a)}function Ne(a,c){return typeof a=="string"?a.charAt(c):a[c]}function he(a){if(typeof a!="number")throw new Error("not a number: "+a)}function se(a){if(typeof a!="function")throw new Error("not a function: "+a)}function Se(a){if(typeof a!="string")throw new Error("not a string: "+a)}var At=2,ht=3,ie=8,kt=5*ie,ae=4*ie,Oe="  ";function Bt(a,c){return new Array(c+1).join(a)}function Nt(a,c,D){var h=c-a.length;return h<=0?a:Bt(D,h)+a}function En(a,c,D,h){return{from:a-c>0?a-c:0,to:a+D>h?h:a+D}}function zs(a,c){var D,h,p,F,y,S=c.index,N=S.offset,Z=1;if(N===a.length)return"Got the end of the input";if(z(a)){var W=N-N%ie,Ce=N-W,G=En(W,kt,ae+ie,a.length),we=d(function($){return d(function(Je){return Nt(Je.toString(16),2,"0")},$)},function($,Je){var Ke=$.length,Pe=[],Xe=0;if(Ke<=Je)return[$.slice()];for(var et=0;et<Ke;et++)Pe[Xe]||Pe.push([]),Pe[Xe].push($[et]),(et+1)%Je==0&&Xe++;return Pe}(a.slice(G.from,G.to).toJSON().data,ie));F=function($){return $.from===0&&$.to===1?{from:$.from,to:$.to}:{from:$.from/ie,to:Math.floor($.to/ie)}}(G),h=W/ie,D=3*Ce,Ce>=4&&(D+=1),Z=2,p=d(function($){return $.length<=4?$.join(" "):$.slice(0,4).join(" ")+"  "+$.slice(4).join(" ")},we),(y=(8*(F.to>0?F.to-1:F.to)).toString(16).length)<2&&(y=2)}else{var Qe=a.split(/\r\n|[\n\r\u2028\u2029]/);D=S.column-1,h=S.line-1,F=En(h,At,ht,Qe.length),p=Qe.slice(F.from,F.to),y=F.to.toString().length}var Qs=h-F.from;return z(a)&&(y=(8*(F.to>0?F.to-1:F.to)).toString(16).length)<2&&(y=2),f(function($,Je,Ke){var Pe,Xe=Ke===Qs,et=Xe?"> ":Oe;return Pe=z(a)?Nt((8*(F.from+Ke)).toString(16),y,"0"):Nt((F.from+Ke+1).toString(),y," "),[].concat($,[et+Pe+" | "+Je],Xe?[Oe+Bt(" ",y)+" | "+Nt("",D," ")+Bt("^",Z)]:[])},[],p).join(`
+`)}function Cn(a,c){return[`
+`,"-- PARSING FAILED "+Bt("-",50),`
+
+`,zs(a,c),`
+
+`,(D=c.expected,D.length===1?`Expected:
+
+`+D[0]:`Expected one of the following: 
+
+`+D.join(", ")),`
+`].join("");var D}function wn(a){return a.flags!==void 0?a.flags:[a.global?"g":"",a.ignoreCase?"i":"",a.multiline?"m":"",a.unicode?"u":"",a.sticky?"y":""].join("")}function It(){for(var a=[].slice.call(arguments),c=a.length,D=0;D<c;D+=1)ge(a[D]);return s(function(h,p){for(var F,y=new Array(c),S=0;S<c;S+=1){if(!(F=B(a[S]._(h,p),F)).status)return F;y[S]=F.value,p=F.index}return B(w(p,y),F)})}function Ie(){var a=[].slice.call(arguments);if(a.length===0)throw new Error("seqMap needs at least one argument");var c=a.pop();return se(c),It.apply(null,a).map(function(D){return c.apply(null,D)})}function Lt(){var a=[].slice.call(arguments),c=a.length;if(c===0)return Pt("zero alternates");for(var D=0;D<c;D+=1)ge(a[D]);return s(function(h,p){for(var F,y=0;y<a.length;y+=1)if((F=B(a[y]._(h,p),F)).status)return F;return F})}function bn(a,c){return wr(a,c).or(Le([]))}function wr(a,c){return ge(a),ge(c),Ie(a,c.then(a).many(),function(D,h){return[D].concat(h)})}function mt(a){Se(a);var c="'"+a+"'";return s(function(D,h){var p=h+a.length,F=D.slice(h,p);return F===a?w(p,F):O(h,c)})}function Ee(a,c){(function(p){if(!(p instanceof RegExp))throw new Error("not a regexp: "+p);for(var F=wn(p),y=0;y<F.length;y++){var S=F.charAt(y);if(S!=="i"&&S!=="m"&&S!=="u"&&S!=="s")throw new Error('unsupported regexp flag "'+S+'": '+p)}})(a),arguments.length>=2?he(c):c=0;var D=function(p){return RegExp("^(?:"+p.source+")",wn(p))}(a),h=""+a;return s(function(p,F){var y=D.exec(p.slice(F));if(y){if(0<=c&&c<=y.length){var S=y[0],N=y[c];return w(F+S.length,N)}return O(F,"valid match group (0 to "+y.length+") in "+h)}return O(F,h)})}function Le(a){return s(function(c,D){return w(D,a)})}function Pt(a){return s(function(c,D){return O(D,a)})}function Rt(a){if(m(a))return s(function(c,D){var h=a._(c,D);return h.index=D,h.value="",h});if(typeof a=="string")return Rt(mt(a));if(a instanceof RegExp)return Rt(Ee(a));throw new Error("not a string, regexp, or parser: "+a)}function vn(a){return ge(a),s(function(c,D){var h=a._(c,D),p=c.slice(D,h.index);return h.status?O(D,'not "'+p+'"'):w(D,null)})}function Ut(a){return se(a),s(function(c,D){var h=Ne(c,D);return D<c.length&&a(h)?w(D+1,h):O(D,"a character/byte matching "+a)})}function Tn(a,c){arguments.length<2&&(c=a,a=void 0);var D=s(function(h,p){return D._=c()._,D._(h,p)});return a?D.desc(a):D}function br(){return Pt("fantasy-land/empty")}i.parse=function(a){if(typeof a!="string"&&!z(a))throw new Error(".parse must be called with a string or Buffer as its argument");var c,D=this.skip(vr)._(a,0);return c=D.status?{status:!0,value:D.value}:{status:!1,index:dt(a,D.furthest),expected:D.expected},delete ue[a],c},i.tryParse=function(a){var c=this.parse(a);if(c.status)return c.value;var D=Cn(a,c),h=new Error(D);throw h.type="ParsimmonError",h.result=c,h},i.assert=function(a,c){return this.chain(function(D){return a(D)?Le(D):Pt(c)})},i.or=function(a){return Lt(this,a)},i.trim=function(a){return this.wrap(a,a)},i.wrap=function(a,c){return Ie(a,this,c,function(D,h){return h})},i.thru=function(a){return a(this)},i.then=function(a){return ge(a),It(this,a).map(function(c){return c[1]})},i.many=function(){var a=this;return s(function(c,D){for(var h=[],p=void 0;;){if(!(p=B(a._(c,D),p)).status)return B(w(D,h),p);if(D===p.index)throw new Error("infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause");D=p.index,h.push(p.value)}})},i.tieWith=function(a){return Se(a),this.map(function(c){if(function(p){if(!_(p))throw new Error("not an array: "+p)}(c),c.length){Se(c[0]);for(var D=c[0],h=1;h<c.length;h++)Se(c[h]),D+=a+c[h];return D}return""})},i.tie=function(){return this.tieWith("")},i.times=function(a,c){var D=this;return arguments.length<2&&(c=a),he(a),he(c),s(function(h,p){for(var F=[],y=void 0,S=void 0,N=0;N<a;N+=1){if(S=B(y=D._(h,p),S),!y.status)return S;p=y.index,F.push(y.value)}for(;N<c&&(S=B(y=D._(h,p),S),y.status);N+=1)p=y.index,F.push(y.value);return B(w(p,F),S)})},i.result=function(a){return this.map(function(){return a})},i.atMost=function(a){return this.times(0,a)},i.atLeast=function(a){return Ie(this.times(a),this.many(),function(c,D){return c.concat(D)})},i.map=function(a){se(a);var c=this;return s(function(D,h){var p=c._(D,h);return p.status?B(w(p.index,a(p.value)),p):p})},i.contramap=function(a){se(a);var c=this;return s(function(D,h){var p=c.parse(a(D.slice(h)));return p.status?w(h+D.length,p.value):p})},i.promap=function(a,c){return se(a),se(c),this.contramap(a).map(c)},i.skip=function(a){return It(this,a).map(function(c){return c[0]})},i.mark=function(){return Ie(pt,this,pt,function(a,c,D){return{start:a,value:c,end:D}})},i.node=function(a){return Ie(pt,this,pt,function(c,D,h){return{name:a,value:D,start:c,end:h}})},i.sepBy=function(a){return bn(this,a)},i.sepBy1=function(a){return wr(this,a)},i.lookahead=function(a){return this.skip(Rt(a))},i.notFollowedBy=function(a){return this.skip(vn(a))},i.desc=function(a){_(a)||(a=[a]);var c=this;return s(function(D,h){var p=c._(D,h);return p.status||(p.expected=a),p})},i.fallback=function(a){return this.or(Le(a))},i.ap=function(a){return Ie(a,this,function(c,D){return c(D)})},i.chain=function(a){var c=this;return s(function(D,h){var p=c._(D,h);return p.status?B(a(p.value)._(D,p.index),p):p})},i.concat=i.or,i.empty=br,i.of=Le,i["fantasy-land/ap"]=i.ap,i["fantasy-land/chain"]=i.chain,i["fantasy-land/concat"]=i.concat,i["fantasy-land/empty"]=i.empty,i["fantasy-land/of"]=i.of,i["fantasy-land/map"]=i.map;var pt=s(function(a,c){return w(c,dt(a,c))}),Vs=s(function(a,c){return c>=a.length?O(c,"any character/byte"):w(c+1,Ne(a,c))}),$s=s(function(a,c){return w(a.length,a.slice(c))}),vr=s(function(a,c){return c<a.length?O(c,"EOF"):w(c,null)}),Ws=Ee(/[0-9]/).desc("a digit"),js=Ee(/[0-9]*/).desc("optional digits"),Zs=Ee(/[a-z]/i).desc("a letter"),qs=Ee(/[a-z]*/i).desc("optional letters"),Hs=Ee(/\s*/).desc("optional whitespace"),Ys=Ee(/\s+/).desc("whitespace"),Sn=mt("\r"),On=mt(`
+`),xn=mt(`\r
+`),_n=Lt(xn,On,Sn).desc("newline"),Gs=Lt(_n,vr);s.all=$s,s.alt=Lt,s.any=Vs,s.cr=Sn,s.createLanguage=function(a){var c={};for(var D in a)({}).hasOwnProperty.call(a,D)&&function(h){c[h]=Tn(function(){return a[h](c)})}(D);return c},s.crlf=xn,s.custom=function(a){return s(a(w,O))},s.digit=Ws,s.digits=js,s.empty=br,s.end=Gs,s.eof=vr,s.fail=Pt,s.formatError=Cn,s.index=pt,s.isParser=m,s.lazy=Tn,s.letter=Zs,s.letters=qs,s.lf=On,s.lookahead=Rt,s.makeFailure=O,s.makeSuccess=w,s.newline=_n,s.noneOf=function(a){return Ut(function(c){return a.indexOf(c)<0}).desc("none of '"+a+"'")},s.notFollowedBy=vn,s.of=Le,s.oneOf=function(a){for(var c=a.split(""),D=0;D<c.length;D++)c[D]="'"+c[D]+"'";return Ut(function(h){return a.indexOf(h)>=0}).desc(c)},s.optWhitespace=Hs,s.Parser=s,s.range=function(a,c){return Ut(function(D){return a<=D&&D<=c}).desc(a+"-"+c)},s.regex=Ee,s.regexp=Ee,s.sepBy=bn,s.sepBy1=wr,s.seq=It,s.seqMap=Ie,s.seqObj=function(){for(var a,c={},D=0,h=(a=arguments,Array.prototype.slice.call(a)),p=h.length,F=0;F<p;F+=1){var y=h[F];if(!m(y)){if(_(y)&&y.length===2&&typeof y[0]=="string"&&m(y[1])){var S=y[0];if(Object.prototype.hasOwnProperty.call(c,S))throw new Error("seqObj: duplicate key "+S);c[S]=!0,D++;continue}throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.")}}if(D===0)throw new Error("seqObj expects at least one named parser, found zero");return s(function(N,Z){for(var W,Ce={},G=0;G<p;G+=1){var we,Qe;if(_(h[G])?(we=h[G][0],Qe=h[G][1]):(we=null,Qe=h[G]),!(W=B(Qe._(N,Z),W)).status)return W;we&&(Ce[we]=W.value),Z=W.index}return B(w(Z,Ce),W)})},s.string=mt,s.succeed=Le,s.takeWhile=function(a){return se(a),s(function(c,D){for(var h=D;h<c.length&&a(Ne(c,h));)h++;return w(h,c.slice(D,h))})},s.test=Ut,s.whitespace=Ys,s["fantasy-land/empty"]=br,s["fantasy-land/of"]=Le,s.Binary={bitSeq:C,bitSeqObj:function(a){b();var c={},D=0,h=d(function(F){if(_(F)){var y=F;if(y.length!==2)throw new Error("["+y.join(", ")+"] should be length 2, got length "+y.length);if(Se(y[0]),he(y[1]),Object.prototype.hasOwnProperty.call(c,y[0]))throw new Error("duplicate key in bitSeqObj: "+y[0]);return c[y[0]]=!0,D++,y}return he(F),[null,F]},a);if(D<1)throw new Error("bitSeqObj expects at least one named pair, got ["+a.join(", ")+"]");var p=d(function(F){return F[0]},h);return C(d(function(F){return F[1]},h)).map(function(F){return f(function(y,S){return S[0]!==null&&(y[S[0]]=S[1]),y},{},d(function(y,S){return[y,F[S]]},p))})},byte:function(a){if(b(),he(a),a>255)throw new Error("Value specified to byte constructor ("+a+"=0x"+a.toString(16)+") is larger in value than a single byte.");var c=(a>15?"0x":"0x0")+a.toString(16);return s(function(D,h){var p=Ne(D,h);return p===a?w(h+1,p):O(h,c)})},buffer:function(a){return x("buffer",a).map(function(c){return Buffer.from(c)})},encodedString:function(a,c){return x("string",c).map(function(D){return D.toString(a)})},uintBE:U,uint8BE:U(1),uint16BE:U(2),uint32BE:U(4),uintLE:Y,uint8LE:Y(1),uint16LE:Y(2),uint32LE:Y(4),intBE:De,int8BE:De(1),int16BE:De(2),int32BE:De(4),intLE:de,int8LE:de(1),int16LE:de(2),int32LE:de(4),floatBE:x("floatBE",4).map(function(a){return a.readFloatBE(0)}),floatLE:x("floatLE",4).map(function(a){return a.readFloatLE(0)}),doubleBE:x("doubleBE",8).map(function(a){return a.readDoubleBE(0)}),doubleLE:x("doubleLE",8).map(function(a){return a.readDoubleLE(0)})},r.exports=s}])})})(hr,hr.exports);var o=hr.exports,yn=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC3\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC08\uDC26](?:\u200D\u2B1B)?|[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;function Os(t){return t==null?t:t.shiftToAll().normalize()}function vu(t){return t.includes("/")&&(t=t.substring(t.lastIndexOf("/")+1)),t.endsWith(".md")&&(t=t.substring(0,t.length-3)),t}o.alt(o.regex(new RegExp(yn(),"")),o.regex(/[0-9\p{Letter}_-]+/u).map(t=>t.toLocaleLowerCase()),o.whitespace.map(t=>"-"),o.any.map(t=>"")).many().map(t=>t.join(""));var fo=o.alt(o.regex(new RegExp(yn(),"")),o.regex(/[0-9\p{Letter}_-]+/u),o.whitespace.map(t=>" "),o.any.map(t=>" ")).many().map(t=>t.join("").split(/\s+/).join(" ").trim());function Do(t){return fo.tryParse(t)}function ho(t){return t=Os(t),t=v.fromObject(Object.fromEntries(Object.entries(t.toObject()).filter(([,e])=>e!=0))),t.toHuman()}var St;(function(t){function e(m,_=Fn,z=!1){let w=r(m);if(!w)return _.renderNullAs;switch(w.type){case"null":return _.renderNullAs;case"string":return w.value;case"number":case"boolean":return""+w.value;case"html":return w.value.outerHTML;case"widget":return w.value.markdown();case"link":return w.value.markdown();case"function":return"<function>";case"array":let O="";return z&&(O+="["),O+=w.value.map(B=>e(B,_,!0)).join(", "),z&&(O+="]"),O;case"object":return"{ "+Object.entries(w.value).map(B=>B[0]+": "+e(B[1],_,!0)).join(", ")+" }";case"date":return w.value.second==0&&w.value.hour==0&&w.value.minute==0?w.value.toFormat(_.defaultDateFormat):w.value.toFormat(_.defaultDateTimeFormat);case"duration":return ho(w.value)}}t.toString=e;function r(m){return b(m)?{type:"null",value:m}:d(m)?{type:"number",value:m}:f(m)?{type:"string",value:m}:x(m)?{type:"boolean",value:m}:T(m)?{type:"duration",value:m}:g(m)?{type:"date",value:m}:U(m)?{type:"widget",value:m}:C(m)?{type:"array",value:m}:R(m)?{type:"link",value:m}:de(m)?{type:"function",value:m}:Y(m)?{type:"html",value:m}:De(m)?{type:"object",value:m}:void 0}t.wrapValue=r;function n(m,_){if(De(m)){let z={};for(let[w,O]of Object.entries(m))z[w]=n(O,_);return z}else if(C(m)){let z=[];for(let w of m)z.push(n(w,_));return z}else return _(m)}t.mapLeaves=n;function u(m,_,z){if(m===void 0&&(m=null),_===void 0&&(_=null),m===null&&_===null)return 0;if(m===null)return-1;if(_===null)return 1;let w=r(m),O=r(_);if(w===void 0&&O===void 0)return 0;if(w===void 0)return-1;if(O===void 0)return 1;if(w.type!=O.type)return w.type.localeCompare(O.type);if(w.value===O.value)return 0;switch(w.type){case"string":return w.value.localeCompare(O.value);case"number":return w.value<O.value?-1:w.value==O.value?0:1;case"null":return 0;case"boolean":return w.value==O.value?0:w.value?1:-1;case"link":let B=w.value,ue=O.value,dt=z??(ae=>ae),ge=dt(B.path).localeCompare(dt(ue.path));if(ge!=0)return ge;let Ne=B.type.localeCompare(ue.type);return Ne!=0?Ne:B.subpath&&!ue.subpath?1:!B.subpath&&ue.subpath?-1:!B.subpath&&!ue.subpath?0:(B.subpath??"").localeCompare(ue.subpath??"");case"date":return w.value<O.value?-1:w.value.equals(O.value)?0:1;case"duration":return w.value<O.value?-1:w.value.equals(O.value)?0:1;case"array":let he=w.value,se=O.value;for(let ae=0;ae<Math.min(he.length,se.length);ae++){let Oe=u(he[ae],se[ae]);if(Oe!=0)return Oe}return he.length-se.length;case"object":let Se=w.value,At=O.value,ht=Array.from(Object.keys(Se)),ie=Array.from(Object.keys(At));ht.sort(),ie.sort();let kt=u(ht,ie);if(kt!=0)return kt;for(let ae of ht){let Oe=u(Se[ae],At[ae]);if(Oe!=0)return Oe}return 0;case"widget":case"html":case"function":return 0}}t.compareValue=u;function s(m){return r(m)?.type}t.typeOf=s;function i(m){let _=r(m);if(!_)return!1;switch(_.type){case"number":return _.value!=0;case"string":return _.value.length>0;case"boolean":return _.value;case"link":return!!_.value.path;case"date":return _.value.toMillis()!=0;case"duration":return _.value.as("seconds")!=0;case"object":return Object.keys(_.value).length>0;case"array":return _.value.length>0;case"null":return!1;case"html":case"widget":case"function":return!0}}t.isTruthy=i;function l(m){if(m==null)return m;if(t.isArray(m))return[].concat(m.map(_=>l(_)));if(t.isObject(m)){let _={};for(let[z,w]of Object.entries(m))_[z]=l(w);return _}else return m}t.deepCopy=l;function f(m){return typeof m=="string"}t.isString=f;function d(m){return typeof m=="number"}t.isNumber=d;function g(m){return m instanceof M}t.isDate=g;function T(m){return m instanceof v}t.isDuration=T;function b(m){return m==null}t.isNull=b;function C(m){return Array.isArray(m)}t.isArray=C;function x(m){return typeof m=="boolean"}t.isBoolean=x;function R(m){return m instanceof mr}t.isLink=R;function U(m){return m instanceof Ot}t.isWidget=U;function Y(m){return typeof HTMLElement<"u"?m instanceof HTMLElement:!1}t.isHtml=Y;function De(m){return typeof m=="object"&&!Y(m)&&!U(m)&&!C(m)&&!T(m)&&!g(m)&&!R(m)&&m!==void 0&&!b(m)}t.isObject=De;function de(m){return typeof m=="function"}t.isFunction=de})(St||(St={}));var Tu;(function(t){function e(u){return St.isObject(u)&&Object.keys(u).length==2&&"key"in u&&"rows"in u}t.isElementGroup=e;function r(u){for(let s of u)if(!e(s))return!1;return!0}t.isGrouping=r;function n(u){if(r(u)){let s=0;for(let i of u)s+=n(i.rows);return s}else return u.length}t.count=n})(Tu||(Tu={}));var mr=class t{path;display;subpath;embed;type;static file(e,r=!1,n){return new t({path:e,embed:r,display:n,subpath:void 0,type:"file"})}static infer(e,r=!1,n){if(e.includes("#^")){let u=e.split("#^");return t.block(u[0],u[1],r,n)}else if(e.includes("#")){let u=e.split("#");return t.header(u[0],u[1],r,n)}else return t.file(e,r,n)}static header(e,r,n,u){return new t({path:e,embed:n,display:u,subpath:Do(r),type:"header"})}static block(e,r,n,u){return new t({path:e,embed:n,display:u,subpath:r,type:"block"})}static fromObject(e){return new t(e)}constructor(e){Object.assign(this,e)}equals(e){return e==null||e==null?!1:this.path==e.path&&this.type==e.type&&this.subpath==e.subpath}toString(){return this.markdown()}toObject(){return{path:this.path,type:this.type,subpath:this.subpath,display:this.display,embed:this.embed}}withPath(e){return new t(Object.assign({},this,{path:e}))}withDisplay(e){return new t(Object.assign({},this,{display:e}))}withHeader(e){return t.header(this.path,e,this.embed,this.display)}toFile(){return t.file(this.path,this.embed,this.display)}toEmbed(){if(this.embed)return this;{let e=new t(this);return e.embed=!0,e}}fromEmbed(){if(this.embed){let e=new t(this);return e.embed=!1,e}else return this}markdown(){let e=(this.embed?"!":"")+"[["+this.obsidianLink();return this.display?e+="|"+this.display:(e+="|"+vu(this.path),(this.type=="header"||this.type=="block")&&(e+=" > "+this.subpath)),e+="]]",e}obsidianLink(){let e=this.path.replaceAll("|","\\|");return this.type=="header"?e+"#"+this.subpath?.replaceAll("|","\\|"):this.type=="block"?e+"#^"+this.subpath?.replaceAll("|","\\|"):e}fileName(){return vu(this.path).replace(".md","")}},Ot=class{$widget;constructor(e){this.$widget=e}},sn=class extends Ot{key;value;constructor(e,r){super("dataview:list-pair"),this.key=e,this.value=r}markdown(){return`${St.toString(this.key)}: ${St.toString(this.value)}`}},an=class extends Ot{url;display;constructor(e,r){super("dataview:external-link"),this.url=e,this.display=r}markdown(){return`[${this.display??this.url}](${this.url})`}},Su;(function(t){function e(i,l){return new sn(i,l)}t.listPair=e;function r(i,l){return new an(i,l)}t.externalLink=r;function n(i){return i.$widget==="dataview:list-pair"}t.isListPair=n;function u(i){return i.$widget==="dataview:external-link"}t.isExternalLink=u;function s(i){return n(i)||u(i)}t.isBuiltin=s})(Su||(Su={}));var I;(function(t){function e(b){return{type:"variable",name:b}}t.variable=e;function r(b){return{type:"literal",value:b}}t.literal=r;function n(b,C,x){return{type:"binaryop",left:b,op:C,right:x}}t.binaryOp=n;function u(b,C){return{type:"index",object:b,index:C}}t.index=u;function s(b){let C=b.split("."),x=t.variable(C[0]);for(let R=1;R<C.length;R++)x=t.index(x,t.literal(C[R]));return x}t.indexVariable=s;function i(b,C){return{type:"lambda",arguments:b,value:C}}t.lambda=i;function l(b,C){return{type:"function",func:b,arguments:C}}t.func=l;function f(b){return{type:"list",values:b}}t.list=f;function d(b){return{type:"object",values:b}}t.object=d;function g(b){return{type:"negated",child:b}}t.negate=g;function T(b){return b=="<="||b=="<"||b==">"||b==">="||b=="!="||b=="="}t.isCompareOp=T,t.NULL=t.literal(null)})(I||(I={}));var Fe;(function(t){function e(g){return{type:"tag",tag:g}}t.tag=e;function r(g){return{type:"csv",path:g}}t.csv=r;function n(g){return{type:"folder",folder:g}}t.folder=n;function u(g,T){return{type:"link",file:g,direction:T?"incoming":"outgoing"}}t.link=u;function s(g,T,b){return{type:"binaryop",left:g,op:T,right:b}}t.binaryOp=s;function i(g,T){return{type:"binaryop",left:g,op:"&",right:T}}t.and=i;function l(g,T){return{type:"binaryop",left:g,op:"|",right:T}}t.or=l;function f(g){return{type:"negate",child:g}}t.negate=f;function d(){return{type:"empty"}}t.empty=d})(Fe||(Fe={}));var Ou=new RegExp(yn(),""),on={year:v.fromObject({years:1}),years:v.fromObject({years:1}),yr:v.fromObject({years:1}),yrs:v.fromObject({years:1}),month:v.fromObject({months:1}),months:v.fromObject({months:1}),mo:v.fromObject({months:1}),mos:v.fromObject({months:1}),week:v.fromObject({weeks:1}),weeks:v.fromObject({weeks:1}),wk:v.fromObject({weeks:1}),wks:v.fromObject({weeks:1}),w:v.fromObject({weeks:1}),day:v.fromObject({days:1}),days:v.fromObject({days:1}),d:v.fromObject({days:1}),hour:v.fromObject({hours:1}),hours:v.fromObject({hours:1}),hr:v.fromObject({hours:1}),hrs:v.fromObject({hours:1}),h:v.fromObject({hours:1}),minute:v.fromObject({minutes:1}),minutes:v.fromObject({minutes:1}),min:v.fromObject({minutes:1}),mins:v.fromObject({minutes:1}),m:v.fromObject({minutes:1}),second:v.fromObject({seconds:1}),seconds:v.fromObject({seconds:1}),sec:v.fromObject({seconds:1}),secs:v.fromObject({seconds:1}),s:v.fromObject({seconds:1})},ln={now:()=>M.local(),today:()=>M.local().startOf("day"),yesterday:()=>M.local().startOf("day").minus(v.fromObject({days:1})),tomorrow:()=>M.local().startOf("day").plus(v.fromObject({days:1})),sow:()=>M.local().startOf("week"),"start-of-week":()=>M.local().startOf("week"),eow:()=>M.local().endOf("week"),"end-of-week":()=>M.local().endOf("week"),soy:()=>M.local().startOf("year"),"start-of-year":()=>M.local().startOf("year"),eoy:()=>M.local().endOf("year"),"end-of-year":()=>M.local().endOf("year"),som:()=>M.local().startOf("month"),"start-of-month":()=>M.local().startOf("month"),eom:()=>M.local().endOf("month"),"end-of-month":()=>M.local().endOf("month")},cn=["FROM","WHERE","LIMIT","GROUP","FLATTEN"];function mo(t){let e=-1;for(;(e=t.indexOf("|",e+1))>=0;)if(!(e>0&&t[e-1]=="\\"))return[t.substring(0,e).replace(/\\\|/g,"|"),t.substring(e+1)];return[t.replace(/\\\|/g,"|"),void 0]}function po(t){let[e,r]=mo(t);return mr.infer(e,!1,r)}function wt(t,e,r){return o.seqMap(t,o.seq(o.optWhitespace,e,o.optWhitespace,t).many(),(n,u)=>{if(u.length==0)return n;let s=r(n,u[0][1],u[0][3]);for(let i=1;i<u.length;i++)s=r(s,u[i][1],u[i][3]);return s})}function Fo(t,...e){return o.custom((r,n)=>(u,s)=>{let i=t._(u,s);if(!i.status)return i;for(let l of e){let f=l(i.value)._(u,i.index);if(!f.status)return i;i=f}return i})}var ce=o.createLanguage({number:t=>o.regexp(/-?[0-9]+(\.[0-9]+)?/).map(e=>Number.parseFloat(e)).desc("number"),string:t=>o.string('"').then(o.alt(t.escapeCharacter,o.noneOf('"\\')).atLeast(0).map(e=>e.join(""))).skip(o.string('"')).desc("string"),escapeCharacter:t=>o.string("\\").then(o.any).map(e=>e==='"'?'"':e==="\\"?"\\":"\\"+e),bool:t=>o.regexp(/true|false|True|False/).map(e=>e.toLowerCase()=="true").desc("boolean ('true' or 'false')"),tag:t=>o.seqMap(o.string("#"),o.alt(o.regexp(/[^\u2000-\u206F\u2E00-\u2E7F'!"#$%&()*+,.:;<=>?@^`{|}~\[\]\\\s]/).desc("text")).many(),(e,r)=>e+r.join("")).desc("tag ('#hello/stuff')"),identifier:t=>o.seqMap(o.alt(o.regexp(/\p{Letter}/u),o.regexp(Ou).desc("text")),o.alt(o.regexp(/[0-9\p{Letter}_-]/u),o.regexp(Ou).desc("text")).many(),(e,r)=>e+r.join("")).desc("variable identifier"),link:t=>o.regexp(/\[\[([^\[\]]*?)\]\]/u,1).map(e=>po(e)).desc("file link"),embedLink:t=>o.seqMap(o.string("!").atMost(1),t.link,(e,r)=>(e.length>0&&(r.embed=!0),r)).desc("file link"),binaryPlusMinus:t=>o.regexp(/\+|-/).map(e=>e).desc("'+' or '-'"),binaryMulDiv:t=>o.regexp(/\*|\/|%/).map(e=>e).desc("'*' or '/' or '%'"),binaryCompareOp:t=>o.regexp(/>=|<=|!=|>|<|=/).map(e=>e).desc("'>=' or '<=' or '!=' or '=' or '>' or '<'"),binaryBooleanOp:t=>o.regexp(/and|or|&|\|/i).map(e=>e.toLowerCase()=="and"?"&":e.toLowerCase()=="or"?"|":e).desc("'and' or 'or'"),rootDate:t=>o.seqMap(o.regexp(/\d{4}/),o.string("-"),o.regexp(/\d{2}/),(e,r,n)=>M.fromObject({year:Number.parseInt(e),month:Number.parseInt(n)})).desc("date in format YYYY-MM[-DDTHH-MM-SS.MS]"),dateShorthand:t=>o.alt(...Object.keys(ln).sort((e,r)=>r.length-e.length).map(o.string)),date:t=>Fo(t.rootDate,e=>o.seqMap(o.string("-"),o.regexp(/\d{2}/),(r,n)=>e.set({day:Number.parseInt(n)})),e=>o.seqMap(o.string("T"),o.regexp(/\d{2}/),(r,n)=>e.set({hour:Number.parseInt(n)})),e=>o.seqMap(o.string(":"),o.regexp(/\d{2}/),(r,n)=>e.set({minute:Number.parseInt(n)})),e=>o.seqMap(o.string(":"),o.regexp(/\d{2}/),(r,n)=>e.set({second:Number.parseInt(n)})),e=>o.alt(o.seqMap(o.string("."),o.regexp(/\d{3}/),(r,n)=>e.set({millisecond:Number.parseInt(n)})),o.succeed(e)),e=>o.alt(o.seqMap(o.string("+").or(o.string("-")),o.regexp(/\d{1,2}(:\d{2})?/),(r,n)=>e.setZone("UTC"+r+n,{keepLocalTime:!0})),o.seqMap(o.string("Z"),()=>e.setZone("utc",{keepLocalTime:!0})),o.seqMap(o.string("["),o.regexp(/[0-9A-Za-z+-\/]+/u),o.string("]"),(r,n,u)=>e.setZone(n,{keepLocalTime:!0})))).assert(e=>e.isValid,"valid date").desc("date in format YYYY-MM[-DDTHH-MM-SS.MS]"),datePlus:t=>o.alt(t.dateShorthand.map(e=>ln[e]()),t.date).desc("date in format YYYY-MM[-DDTHH-MM-SS.MS] or in shorthand"),durationType:t=>o.alt(...Object.keys(on).sort((e,r)=>r.length-e.length).map(o.string)),duration:t=>o.seqMap(t.number,o.optWhitespace,t.durationType,(e,r,n)=>on[n].mapUnits(u=>u*e)).sepBy1(o.string(",").trim(o.optWhitespace).or(o.optWhitespace)).map(e=>e.reduce((r,n)=>r.plus(n))).desc("duration like 4hr2min"),rawNull:t=>o.string("null"),tagSource:t=>t.tag.map(e=>Fe.tag(e)),csvSource:t=>o.seqMap(o.string("csv(").skip(o.optWhitespace),t.string,o.string(")"),(e,r,n)=>Fe.csv(r)),linkIncomingSource:t=>t.link.map(e=>Fe.link(e.path,!0)),linkOutgoingSource:t=>o.seqMap(o.string("outgoing(").skip(o.optWhitespace),t.link,o.string(")"),(e,r,n)=>Fe.link(r.path,!1)),folderSource:t=>t.string.map(e=>Fe.folder(e)),parensSource:t=>o.seqMap(o.string("("),o.optWhitespace,t.source,o.optWhitespace,o.string(")"),(e,r,n,u,s)=>n),negateSource:t=>o.seqMap(o.alt(o.string("-"),o.string("!")),t.atomSource,(e,r)=>Fe.negate(r)),atomSource:t=>o.alt(t.parensSource,t.negateSource,t.linkOutgoingSource,t.linkIncomingSource,t.folderSource,t.tagSource,t.csvSource),binaryOpSource:t=>wt(t.atomSource,t.binaryBooleanOp.map(e=>e),Fe.binaryOp),source:t=>t.binaryOpSource,variableField:t=>t.identifier.chain(e=>cn.includes(e.toUpperCase())?o.fail("Variable fields cannot be a keyword ("+cn.join(" or ")+")"):o.succeed(I.variable(e))).desc("variable"),numberField:t=>t.number.map(e=>I.literal(e)).desc("number"),stringField:t=>t.string.map(e=>I.literal(e)).desc("string"),boolField:t=>t.bool.map(e=>I.literal(e)).desc("boolean"),dateField:t=>o.seqMap(o.string("date("),o.optWhitespace,t.datePlus,o.optWhitespace,o.string(")"),(e,r,n,u,s)=>I.literal(n)).desc("date"),durationField:t=>o.seqMap(o.string("dur("),o.optWhitespace,t.duration,o.optWhitespace,o.string(")"),(e,r,n,u,s)=>I.literal(n)).desc("duration"),nullField:t=>t.rawNull.map(e=>I.NULL),linkField:t=>t.link.map(e=>I.literal(e)),listField:t=>t.field.sepBy(o.string(",").trim(o.optWhitespace)).wrap(o.string("[").skip(o.optWhitespace),o.optWhitespace.then(o.string("]"))).map(e=>I.list(e)).desc("list ('[1, 2, 3]')"),objectField:t=>o.seqMap(t.identifier.or(t.string),o.string(":").trim(o.optWhitespace),t.field,(e,r,n)=>({name:e,value:n})).sepBy(o.string(",").trim(o.optWhitespace)).wrap(o.string("{").skip(o.optWhitespace),o.optWhitespace.then(o.string("}"))).map(e=>{let r={};for(let n of e)r[n.name]=n.value;return I.object(r)}).desc("object ('{ a: 1, b: 2 }')"),atomInlineField:t=>o.alt(t.date,t.duration.map(e=>Os(e)),t.string,t.tag,t.embedLink,t.bool,t.number,t.rawNull),inlineFieldList:t=>t.atomInlineField.sepBy(o.string(",").trim(o.optWhitespace).lookahead(t.atomInlineField)),inlineField:t=>o.alt(o.seqMap(t.atomInlineField,o.string(",").trim(o.optWhitespace),t.inlineFieldList,(e,r,n)=>[e].concat(n)),t.atomInlineField),atomField:t=>o.alt(t.embedLink.map(e=>I.literal(e)),t.negatedField,t.linkField,t.listField,t.objectField,t.lambdaField,t.parensField,t.boolField,t.numberField,t.stringField,t.dateField,t.durationField,t.nullField,t.variableField),indexField:t=>o.seqMap(t.atomField,o.alt(t.dotPostfix,t.indexPostfix,t.functionPostfix).many(),(e,r)=>{let n=e;for(let u of r)switch(u.type){case"dot":n=I.index(n,I.literal(u.field));break;case"index":n=I.index(n,u.field);break;case"function":n=I.func(n,u.fields);break}return n}),negatedField:t=>o.seqMap(o.string("!"),t.indexField,(e,r)=>I.negate(r)).desc("negated field"),parensField:t=>o.seqMap(o.string("("),o.optWhitespace,t.field,o.optWhitespace,o.string(")"),(e,r,n,u,s)=>n),lambdaField:t=>o.seqMap(t.identifier.sepBy(o.string(",").trim(o.optWhitespace)).wrap(o.string("(").trim(o.optWhitespace),o.string(")").trim(o.optWhitespace)),o.string("=>").trim(o.optWhitespace),t.field,(e,r,n)=>({type:"lambda",arguments:e,value:n})),dotPostfix:t=>o.seqMap(o.string("."),t.identifier,(e,r)=>({type:"dot",field:r})),indexPostfix:t=>o.seqMap(o.string("["),o.optWhitespace,t.field,o.optWhitespace,o.string("]"),(e,r,n,u,s)=>({type:"index",field:n})),functionPostfix:t=>o.seqMap(o.string("("),o.optWhitespace,t.field.sepBy(o.string(",").trim(o.optWhitespace)),o.optWhitespace,o.string(")"),(e,r,n,u,s)=>({type:"function",fields:n})),binaryMulDivField:t=>wt(t.indexField,t.binaryMulDiv,I.binaryOp),binaryPlusMinusField:t=>wt(t.binaryMulDivField,t.binaryPlusMinus,I.binaryOp),binaryCompareField:t=>wt(t.binaryPlusMinusField,t.binaryCompareOp,I.binaryOp),binaryBooleanField:t=>wt(t.binaryCompareField,t.binaryBooleanOp,I.binaryOp),binaryOpField:t=>t.binaryBooleanField,field:t=>t.binaryOpField});function yo(t){try{return dr.success(ce.field.tryParse(t))}catch(e){return dr.failure(""+e)}}var pr;(function(t){function e(n,u){return{name:n,field:u}}t.named=e;function r(n,u){return{field:n,direction:u}}t.sortBy=r})(pr||(pr={}));function go(t){return o.custom((e,r)=>(n,u)=>{let s=t._(n,u);return s.status?Object.assign({},s,{value:[s.value,n.substring(u,s.index)]}):s})}function Eo(t){return t.split(/[\r\n]+/).map(e=>e.trim()).join("")}function xu(t,e){return o.eof.map(t).or(o.whitespace.then(e))}var xs=o.createLanguage({queryType:t=>o.alt(o.regexp(/TABLE|LIST|TASK|CALENDAR/i)).map(e=>e.toLowerCase()).desc("query type ('TABLE', 'LIST', 'TASK', or 'CALENDAR')"),explicitNamedField:t=>o.seqMap(ce.field.skip(o.whitespace),o.regexp(/AS/i).skip(o.whitespace),ce.identifier.or(ce.string),(e,r,n)=>pr.named(n,e)),comment:()=>o.Parser((t,e)=>{let r=t.substring(e);if(!r.startsWith("//"))return o.makeFailure(e,"Not a comment");r=r.split(`
+`)[0];let n=r.substring(2).trim();return o.makeSuccess(e+r.length,n)}),namedField:t=>o.alt(t.explicitNamedField,go(ce.field).map(([e,r])=>pr.named(Eo(r),e))),sortField:t=>o.seqMap(ce.field.skip(o.optWhitespace),o.regexp(/ASCENDING|DESCENDING|ASC|DESC/i).atMost(1),(e,r)=>{let n=r.length==0?"ascending":r[0].toLowerCase();return n=="desc"&&(n="descending"),n=="asc"&&(n="ascending"),{field:e,direction:n}}),headerClause:t=>t.queryType.chain(e=>{switch(e){case"table":return xu(()=>({type:e,fields:[],showId:!0}),o.seqMap(o.regexp(/WITHOUT\s+ID/i).skip(o.optWhitespace).atMost(1),o.sepBy(t.namedField,o.string(",").trim(o.optWhitespace)),(r,n)=>({type:e,fields:n,showId:r.length==0})));case"list":return xu(()=>({type:e,format:void 0,showId:!0}),o.seqMap(o.regexp(/WITHOUT\s+ID/i).skip(o.optWhitespace).atMost(1),ce.field.atMost(1),(r,n)=>({type:e,format:n.length==1?n[0]:void 0,showId:r.length==0})));case"task":return o.succeed({type:e});case"calendar":return o.whitespace.then(o.seqMap(t.namedField,r=>({type:e,showId:!0,field:r})));default:return o.fail(`Unrecognized query type '${e}'`)}}).desc("TABLE or LIST or TASK or CALENDAR"),fromClause:t=>o.seqMap(o.regexp(/FROM/i),o.whitespace,ce.source,(e,r,n)=>n),whereClause:t=>o.seqMap(o.regexp(/WHERE/i),o.whitespace,ce.field,(e,r,n)=>({type:"where",clause:n})).desc("WHERE <expression>"),sortByClause:t=>o.seqMap(o.regexp(/SORT/i),o.whitespace,t.sortField.sepBy1(o.string(",").trim(o.optWhitespace)),(e,r,n)=>({type:"sort",fields:n})).desc("SORT field [ASC/DESC]"),limitClause:t=>o.seqMap(o.regexp(/LIMIT/i),o.whitespace,ce.field,(e,r,n)=>({type:"limit",amount:n})).desc("LIMIT <value>"),flattenClause:t=>o.seqMap(o.regexp(/FLATTEN/i).skip(o.whitespace),t.namedField,(e,r)=>({type:"flatten",field:r})).desc("FLATTEN <value> [AS <name>]"),groupByClause:t=>o.seqMap(o.regexp(/GROUP BY/i).skip(o.whitespace),t.namedField,(e,r)=>({type:"group",field:r})).desc("GROUP BY <value> [AS <name>]"),clause:t=>o.alt(t.fromClause,t.whereClause,t.sortByClause,t.limitClause,t.groupByClause,t.flattenClause),query:t=>o.seqMap(t.headerClause.trim(Wr),t.fromClause.trim(Wr).atMost(1),t.clause.trim(Wr).many(),(e,r,n)=>({header:e,source:r.length==0?Fe.folder(""):r[0],operations:n,settings:Fn}))}),Wr=o.alt(o.whitespace,xs.comment).many().map(t=>t.join("")),Co=t=>t?t.plugins.plugins.dataview?.api:window.DataviewAPI,wo=t=>t.plugins.enabledPlugins.has("dataview");ye.DATE_SHORTHANDS=ln;ye.DURATION_TYPES=on;ye.EXPRESSION=ce;ye.KEYWORDS=cn;ye.QUERY_LANGUAGE=xs;ye.getAPI=Co;ye.isPluginEnabled=wo;ye.parseField=yo});var To={};ni(To,{default:()=>vo});module.exports=ui(To);var Be=require("obsidian");var Ft={foldersToScan:[],ignoredFolders:[]};var xe=require("obsidian");var Pn=Symbol.for("immer-nothing"),kn=Symbol.for("immer-draftable"),Q=Symbol.for("immer-state"),si=process.env.NODE_ENV!=="production"?[function(t){return`The plugin for '${t}' has not been loaded into Immer. To enable the plugin, import and call \`enable${t}()\` when initializing your application.`},function(t){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${t}'`},"This object has been frozen and should not be mutated",function(t){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+t},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(t){return`'current' expects a draft, got: ${t}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(t){return`'original' expects a draft, got: ${t}`}]:[];function q(t,...e){if(process.env.NODE_ENV!=="production"){let r=si[t],n=typeof r=="function"?r.apply(null,e):r;throw new Error(`[Immer] ${n}`)}throw new Error(`[Immer] minified error nr: ${t}. Full error at: https://bit.ly/3cXEKWf`)}var tt=Object.getPrototypeOf;function rt(t){return!!t&&!!t[Q]}function Ue(t){return t?Rn(t)||Array.isArray(t)||!!t[kn]||!!t.constructor?.[kn]||Zt(t)||qt(t):!1}var ii=Object.prototype.constructor.toString();function Rn(t){if(!t||typeof t!="object")return!1;let e=tt(t);if(e===null)return!0;let r=Object.hasOwnProperty.call(e,"constructor")&&e.constructor;return r===Object?!0:typeof r=="function"&&Function.toString.call(r)===ii}function Vt(t,e){jt(t)===0?Reflect.ownKeys(t).forEach(r=>{e(r,t[r],t)}):t.forEach((r,n)=>e(n,r,t))}function jt(t){let e=t[Q];return e?e.type_:Array.isArray(t)?1:Zt(t)?2:qt(t)?3:0}function Or(t,e){return jt(t)===2?t.has(e):Object.prototype.hasOwnProperty.call(t,e)}function Un(t,e,r){let n=jt(t);n===2?t.set(e,r):n===3?t.add(r):t[e]=r}function ai(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}function Zt(t){return t instanceof Map}function qt(t){return t instanceof Set}function Re(t){return t.copy_||t.base_}function xr(t,e){if(Zt(t))return new Map(t);if(qt(t))return new Set(t);if(Array.isArray(t))return Array.prototype.slice.call(t);if(!e&&Rn(t))return tt(t)?{...t}:Object.assign(Object.create(null),t);let r=Object.getOwnPropertyDescriptors(t);delete r[Q];let n=Reflect.ownKeys(r);for(let u=0;u<n.length;u++){let s=n[u],i=r[s];i.writable===!1&&(i.writable=!0,i.configurable=!0),(i.get||i.set)&&(r[s]={configurable:!0,writable:!0,enumerable:i.enumerable,value:t[s]})}return Object.create(tt(t),r)}function Br(t,e=!1){return Ht(t)||rt(t)||!Ue(t)||(jt(t)>1&&(t.set=t.add=t.clear=t.delete=oi),Object.freeze(t),e&&Object.entries(t).forEach(([r,n])=>Br(n,!0))),t}function oi(){q(2)}function Ht(t){return Object.isFrozen(t)}var li={};function ze(t){let e=li[t];return e||q(0,t),e}var yt;function zn(){return yt}function ci(t,e){return{drafts_:[],parent_:t,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0}}function Bn(t,e){e&&(ze("Patches"),t.patches_=[],t.inversePatches_=[],t.patchListener_=e)}function _r(t){Mr(t),t.drafts_.forEach(fi),t.drafts_=null}function Mr(t){t===yt&&(yt=t.parent_)}function Nn(t){return yt=ci(yt,t)}function fi(t){let e=t[Q];e.type_===0||e.type_===1?e.revoke_():e.revoked_=!0}function In(t,e){e.unfinalizedDrafts_=e.drafts_.length;let r=e.drafts_[0];return t!==void 0&&t!==r?(r[Q].modified_&&(_r(e),q(4)),Ue(t)&&(t=$t(e,t),e.parent_||Wt(e,t)),e.patches_&&ze("Patches").generateReplacementPatches_(r[Q].base_,t,e.patches_,e.inversePatches_)):t=$t(e,r,[]),_r(e),e.patches_&&e.patchListener_(e.patches_,e.inversePatches_),t!==Pn?t:void 0}function $t(t,e,r){if(Ht(e))return e;let n=e[Q];if(!n)return Vt(e,(u,s)=>Ln(t,n,e,u,s,r)),e;if(n.scope_!==t)return e;if(!n.modified_)return Wt(t,n.base_,!0),n.base_;if(!n.finalized_){n.finalized_=!0,n.scope_.unfinalizedDrafts_--;let u=n.copy_,s=u,i=!1;n.type_===3&&(s=new Set(u),u.clear(),i=!0),Vt(s,(l,f)=>Ln(t,n,u,l,f,r,i)),Wt(t,u,!1),r&&t.patches_&&ze("Patches").generatePatches_(n,r,t.patches_,t.inversePatches_)}return n.copy_}function Ln(t,e,r,n,u,s,i){if(process.env.NODE_ENV!=="production"&&u===r&&q(5),rt(u)){let l=s&&e&&e.type_!==3&&!Or(e.assigned_,n)?s.concat(n):void 0,f=$t(t,u,l);if(Un(r,n,f),rt(f))t.canAutoFreeze_=!1;else return}else i&&r.add(u);if(Ue(u)&&!Ht(u)){if(!t.immer_.autoFreeze_&&t.unfinalizedDrafts_<1)return;$t(t,u),(!e||!e.scope_.parent_)&&typeof n!="symbol"&&Object.prototype.propertyIsEnumerable.call(r,n)&&Wt(t,u)}}function Wt(t,e,r=!1){!t.parent_&&t.immer_.autoFreeze_&&t.canAutoFreeze_&&Br(e,r)}function Di(t,e){let r=Array.isArray(t),n={type_:r?1:0,scope_:e?e.scope_:zn(),modified_:!1,finalized_:!1,assigned_:{},parent_:e,base_:t,draft_:null,copy_:null,revoke_:null,isManual_:!1},u=n,s=Nr;r&&(u=[n],s=gt);let{revoke:i,proxy:l}=Proxy.revocable(u,s);return n.draft_=l,n.revoke_=i,l}var Nr={get(t,e){if(e===Q)return t;let r=Re(t);if(!Or(r,e))return di(t,r,e);let n=r[e];return t.finalized_||!Ue(n)?n:n===Tr(t.base_,e)?(Sr(t),t.copy_[e]=kr(n,t)):n},has(t,e){return e in Re(t)},ownKeys(t){return Reflect.ownKeys(Re(t))},set(t,e,r){let n=Vn(Re(t),e);if(n?.set)return n.set.call(t.draft_,r),!0;if(!t.modified_){let u=Tr(Re(t),e),s=u?.[Q];if(s&&s.base_===r)return t.copy_[e]=r,t.assigned_[e]=!1,!0;if(ai(r,u)&&(r!==void 0||Or(t.base_,e)))return!0;Sr(t),Ar(t)}return t.copy_[e]===r&&(r!==void 0||e in t.copy_)||Number.isNaN(r)&&Number.isNaN(t.copy_[e])||(t.copy_[e]=r,t.assigned_[e]=!0),!0},deleteProperty(t,e){return Tr(t.base_,e)!==void 0||e in t.base_?(t.assigned_[e]=!1,Sr(t),Ar(t)):delete t.assigned_[e],t.copy_&&delete t.copy_[e],!0},getOwnPropertyDescriptor(t,e){let r=Re(t),n=Reflect.getOwnPropertyDescriptor(r,e);return n&&{writable:!0,configurable:t.type_!==1||e!=="length",enumerable:n.enumerable,value:r[e]}},defineProperty(){q(11)},getPrototypeOf(t){return tt(t.base_)},setPrototypeOf(){q(12)}},gt={};Vt(Nr,(t,e)=>{gt[t]=function(){return arguments[0]=arguments[0][0],e.apply(this,arguments)}});gt.deleteProperty=function(t,e){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(e))&&q(13),gt.set.call(this,t,e,void 0)};gt.set=function(t,e,r){return process.env.NODE_ENV!=="production"&&e!=="length"&&isNaN(parseInt(e))&&q(14),Nr.set.call(this,t[0],e,r,t[0])};function Tr(t,e){let r=t[Q];return(r?Re(r):t)[e]}function di(t,e,r){let n=Vn(e,r);return n?"value"in n?n.value:n.get?.call(t.draft_):void 0}function Vn(t,e){if(!(e in t))return;let r=tt(t);for(;r;){let n=Object.getOwnPropertyDescriptor(r,e);if(n)return n;r=tt(r)}}function Ar(t){t.modified_||(t.modified_=!0,t.parent_&&Ar(t.parent_))}function Sr(t){t.copy_||(t.copy_=xr(t.base_,t.scope_.immer_.useStrictShallowCopy_))}var hi=class{constructor(t){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.produce=(e,r,n)=>{if(typeof e=="function"&&typeof r!="function"){let s=r;r=e;let i=this;return function(f=s,...d){return i.produce(f,g=>r.call(this,g,...d))}}typeof r!="function"&&q(6),n!==void 0&&typeof n!="function"&&q(7);let u;if(Ue(e)){let s=Nn(this),i=kr(e,void 0),l=!0;try{u=r(i),l=!1}finally{l?_r(s):Mr(s)}return Bn(s,n),In(u,s)}else if(!e||typeof e!="object"){if(u=r(e),u===void 0&&(u=e),u===Pn&&(u=void 0),this.autoFreeze_&&Br(u,!0),n){let s=[],i=[];ze("Patches").generateReplacementPatches_(e,u,s,i),n(s,i)}return u}else q(1,e)},this.produceWithPatches=(e,r)=>{if(typeof e=="function")return(i,...l)=>this.produceWithPatches(i,f=>e(f,...l));let n,u;return[this.produce(e,r,(i,l)=>{n=i,u=l}),n,u]},typeof t?.autoFreeze=="boolean"&&this.setAutoFreeze(t.autoFreeze),typeof t?.useStrictShallowCopy=="boolean"&&this.setUseStrictShallowCopy(t.useStrictShallowCopy)}createDraft(t){Ue(t)||q(8),rt(t)&&(t=mi(t));let e=Nn(this),r=kr(t,void 0);return r[Q].isManual_=!0,Mr(e),r}finishDraft(t,e){let r=t&&t[Q];(!r||!r.isManual_)&&q(9);let{scope_:n}=r;return Bn(n,e),In(void 0,n)}setAutoFreeze(t){this.autoFreeze_=t}setUseStrictShallowCopy(t){this.useStrictShallowCopy_=t}applyPatches(t,e){let r;for(r=e.length-1;r>=0;r--){let u=e[r];if(u.path.length===0&&u.op==="replace"){t=u.value;break}}r>-1&&(e=e.slice(r+1));let n=ze("Patches").applyPatches_;return rt(t)?n(t,e):this.produce(t,u=>n(u,e))}};function kr(t,e){let r=Zt(t)?ze("MapSet").proxyMap_(t,e):qt(t)?ze("MapSet").proxySet_(t,e):Di(t,e);return(e?e.scope_:zn()).drafts_.push(r),r}function mi(t){return rt(t)||q(10,t),$n(t)}function $n(t){if(!Ue(t)||Ht(t))return t;let e=t[Q],r;if(e){if(!e.modified_)return e.base_;e.finalized_=!0,r=xr(t,e.scope_.immer_.useStrictShallowCopy_)}else r=xr(t,!0);return Vt(r,(n,u)=>{Un(r,n,$n(u))}),e&&(e.finalized_=!1),r}var J=new hi,Ve=J.produce,xo=J.produceWithPatches.bind(J),_o=J.setAutoFreeze.bind(J),Mo=J.setUseStrictShallowCopy.bind(J),Ao=J.applyPatches.bind(J),ko=J.createDraft.bind(J),Bo=J.finishDraft.bind(J);var Wn=(t,e,r)=>r.indexOf(t)===e;var Gt=require("obsidian"),Yt=class extends Gt.AbstractInputSuggest{constructor(r,n){super(n,r);this.inputEl=r}getSuggestions(r){let n=this.app.vault.getAllLoadedFiles(),u=[],s=r.toLowerCase();return n.forEach(i=>{i instanceof Gt.TFolder&&i.path.toLowerCase().contains(s)&&u.push(i)}),u}renderSuggestion(r,n){n.setText(r.path)}selectSuggestion(r){this.inputEl.value=r.path,this.close()}};var Qt=class extends xe.PluginSettingTab{constructor(e,r){super(e,r),this.plugin=r}display(){let{containerEl:e}=this;e.empty(),this.renderFoldersToScan(),this.renderFoldersToIgnore(),this.renderFollowButton(e),this.renderSupportHeader(e)}renderFollowButton(e){new xe.Setting(e).setName("Follow me on X").setDesc("@dSebastien").addButton(r=>{r.setCta(),r.setButtonText("Follow me on X").onClick(()=>{window.open("https://x.com/dSebastien")})})}renderSupportHeader(e){new xe.Setting(e).setName("Support").setHeading();let r=new DocumentFragment;r.createDiv({text:"Buy me a coffee to support the development of this plugin \u2764\uFE0F"}),new xe.Setting(e).setDesc(r),this.renderBuyMeACoffeeBadge(e),e.createDiv().classList.add("support-header-margin")}renderFoldersToScan(){this.doSearchAndRemoveList({currentList:this.plugin.settings.foldersToScan,setValue:async e=>{this.plugin.settings=Ve(this.plugin.settings,r=>{r.foldersToScan=e})},name:"Folders to scan",description:"Folders to scan when looking for queries to serialize."})}renderFoldersToIgnore(){this.doSearchAndRemoveList({currentList:this.plugin.settings.ignoredFolders,setValue:async e=>{this.plugin.settings=Ve(this.plugin.settings,r=>{r.ignoredFolders=e})},name:"Folders to ignore",description:"Folders to ignore when processing added/modified files."})}doSearchAndRemoveList({currentList:e,setValue:r,description:n,name:u}){let s;new xe.Setting(this.containerEl).setName(u).setDesc(n).addSearch(i=>{s=i,new Yt(i.inputEl,this.app),i.setPlaceholder("Example: folder1/folder2")}).addButton(i=>{i.setIcon("plus"),i.setTooltip("Add folder"),i.onClick(async()=>{if(!s)return;let l=s.getValue();await r([...e,l].filter(Wn)),await this.plugin.saveSettings(),s.setValue(""),this.display()})}),e.forEach(i=>new xe.Setting(this.containerEl).setName(i).addButton(l=>l.setButtonText("Remove").onClick(async()=>{await r(e.filter(f=>f!==i)),await this.plugin.saveSettings(),this.display()})))}renderBuyMeACoffeeBadge(e,r=175){let u=e.createEl("a",{href:"https://www.buymeacoffee.com/dsebastien"}).createEl("img");u.src="https://github.com/dsebastien/obsidian-plugin-template/raw/main/apps/plugin/src/assets/buy-me-a-coffee.png",u.alt="Buy me a coffee",u.width=r}};var jn="Dataview Serializer";var yi=`${jn}:`,j=(t,e,...r)=>{let n=`${yi} ${t}`;switch(e){case"debug":console.debug(n,r);break;case"info":console.info(n,r);break;case"warn":console.warn(n,r);break;case"error":console.error(n,r);break;default:console.log(n,r)}};var Zn=t=>{let e=typeof ExcalidrawAutomate>"u"?void 0:ExcalidrawAutomate;return e?e.isExcalidrawFile(t):!1};var qn="Canvas.md",Hn="md",$e="<!-- QueryToSerialize: ",me=" -->",Jt="<!-- SerializedQuery: ",Kt="<!-- SerializedQuery END -->",Yn=new RegExp(`${Jt}[^\\n]*${me}\\n([\\s\\S]*?)${Kt}\\n`,"g"),Gn=5,Qn=500,gi="list",Ir="table",Jn=[gi,Ir];var Us=An(_s());function Te(t){let e=Object.prototype.toString.call(t);return t instanceof Date||typeof t=="object"&&e==="[object Date]"?new t.constructor(+t):typeof t=="number"||e==="[object Number]"||typeof t=="string"||e==="[object String]"?new Date(t):new Date(NaN)}function Ge(t,e){return t instanceof Date?new t.constructor(e):new Date(e)}function Ms(t,e){let r=Te(t);return isNaN(e)?Ge(t,NaN):(e&&r.setDate(r.getDate()+e),r)}function As(t,e){let r=Te(t);if(isNaN(e))return Ge(t,NaN);if(!e)return r;let n=r.getDate(),u=Ge(t,r.getTime());u.setMonth(r.getMonth()+e+1,0);let s=u.getDate();return n>=s?u:(r.setFullYear(u.getFullYear(),u.getMonth(),n),r)}function ks(t,e){let{years:r=0,months:n=0,weeks:u=0,days:s=0,hours:i=0,minutes:l=0,seconds:f=0}=e,d=Te(t),g=n||r?As(d,n+r*12):d,T=s||u?Ms(g,s+u*7):g,b=l+i*60,x=(f+b*60)*1e3;return Ge(t,T.getTime()+x)}function Bs(t,e){let r=Te(t),n=Te(e);return+r<+n}var gn=An(require("path")),Ns=async t=>{let e=app.vault.getFiles();function r(u){return e.filter(i=>i.name==u).length<=1}let n="";try{if(n=await t.dataviewApi.tryQueryMarkdown(t.query,t.originFile),t.query.toLocaleLowerCase().contains("table")){n=n.replaceAll("\\\\","\\").replaceAll(`
+<`,"<");let u=new RegExp(/\[\[(.+?)\\\|.+?\]\]/g),s=[...n.matchAll(u)];for(let i of s)r(gn.default.basename(i[1]))&&(n=n.replace(i[1]+"\\|",""))}else{let u=new RegExp(/\[\[(.+?)\|.+?\]\]/g),s=[...n.matchAll(u)];for(let i of s)r(gn.default.basename(i[1]))&&(n=n.replace(i[1]+"|",""))}}catch(u){j("Failed to serialize query","warn",u)}return n};var Is=t=>{let e=!1,r=t.toLowerCase();for(let n of Jn)r.startsWith(n)&&(e=!0);return e};var Ls=t=>{let e=[],r=t.split(`
+`);for(let n of r){let u=n.trim();if(u.startsWith($e)&&u.endsWith(me)){let s=u.replace($e,"");s=s.replace(me,""),s=s.trim(),!e.includes(s)&&Is(s)&&e.push(s)}}return e};function Ps(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}var Rs=t=>{let e=!1;return t.toLowerCase().startsWith(Ir)&&(e=!0),e};var Cr=class extends Be.Plugin{constructor(){super(...arguments);this.settings=Ve(Ft,()=>Ft);this.nextPossibleUpdates=new Map;this.recentlyUpdatedFiles=new Set;this.scheduleUpdate=(0,Be.debounce)(this.processRecentlyUpdatedFiles.bind(this),Qn,!0)}async processRecentlyUpdatedFiles(){this.recentlyUpdatedFiles.forEach(r=>{this.processFile(r)}),this.recentlyUpdatedFiles.clear()}async onload(){if(j("Initializing","debug"),this.dataviewApi=(0,Us.getAPI)(),!this.dataviewApi){let r="The Dataview plugin is not installed or enabled. Please make sure it is installed and enabled, then restart Obsidian";j(r,"error"),new Be.Notice(r,5e3);return}await this.loadSettings(),this.setupEventHandlers(),this.addSettingTab(new Qt(this.app,this)),this.addCommand({id:"serialize-all-dataview-queries",name:"Scan and serialize all Dataview queries",callback:async()=>{j("Scanning and serializing all Dataview queries","debug");let r=this.app.vault.getMarkdownFiles();for(let n of r)await this.processFile(n)}})}onunload(){}async loadSettings(){j("Loading settings","debug");let r=await this.loadData();r||(j("Using default settings","debug"),r=Ve(Ft,()=>Ft));let n=!1;this.settings=Ve(this.settings,u=>{r.foldersToScan!==void 0&&r.foldersToScan!==null&&Array.isArray(r.foldersToScan)?u.foldersToScan=r.foldersToScan:(j("The loaded settings miss the [foldersToScan] property","debug"),n=!0),r.ignoredFolders!==void 0&&r.ignoredFolders!==null&&Array.isArray(r.ignoredFolders)?u.ignoredFolders=r.ignoredFolders:(j("The loaded settings miss the [ignoredFolders] property","debug"),n=!0)}),j("Settings loaded","debug",r),n&&this.saveSettings()}async saveSettings(){j("Saving settings","debug"),await this.saveData(this.settings),j("Settings saved","debug",this.settings)}setupEventHandlers(){this.app.workspace.onLayoutReady(async()=>{this.registerEvent(this.app.vault.on("create",r=>{this.recentlyUpdatedFiles.add(r),this.scheduleUpdate()})),this.registerEvent(this.app.vault.on("rename",r=>{this.recentlyUpdatedFiles.add(r),this.scheduleUpdate()})),this.registerEvent(this.app.vault.on("modify",r=>{this.recentlyUpdatedFiles.add(r),this.scheduleUpdate()}))})}async processFile(r){if(!(r instanceof Be.TFile))return;let n=r;if(!await this.shouldFileBeIgnored(n))try{let s=await this.app.vault.cachedRead(n),i=Ls(s);if(i.length===0)return;let l=`${s}`;l=l.replace(Yn,"");for(let d of i){let g=await Ns({query:d,originFile:n.path,dataviewApi:this.dataviewApi,app:this.app});if(g!==""){let T=Ps(d),b=new RegExp(`${$e}${T}.*${me}\\n`,"gm"),C="";Rs(d)?C=`${$e}${d}${me}
+${Jt}${d}${me}
+
+${g}${Kt}
+`:C=`${$e}${d}${me}
+${Jt}${d}${me}
+${g}${Kt}
+`,l=l.replace(b,C)}}let f=ks(new Date(n.stat.mtime),{seconds:Gn});this.nextPossibleUpdates.set(n.path,f),l!==s&&await this.app.vault.modify(n,l)}catch(s){j("Failed to process the file","warn",s)}}async shouldFileBeIgnored(r){if(!r.path||Hn!==r.extension||qn===r.name||(await this.app.vault.read(r)).trim().length===0||Zn(r))return!0;if(this.nextPossibleUpdates.has(r.path)){let u=this.nextPossibleUpdates.get(r.path);if(Bs(r.stat.mtime,u))return j("File has been updated recently. Ignoring","debug",r.path),!0;j("File has not been updated recently. Processing","debug",r.path)}return this.settings.ignoredFolders.some(u=>!!r.path.startsWith(u))}};var vo=Cr;
diff --git a/Edikoyo/.obsidian/plugins/dataview-serializer/manifest.json b/Edikoyo/.obsidian/plugins/dataview-serializer/manifest.json
new file mode 100644
index 0000000..ea037a7
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/dataview-serializer/manifest.json
@@ -0,0 +1,11 @@
+{
+  "id": "dataview-serializer",
+  "name": "Dataview Serializer",
+  "description": "Serialize Dataview queries to Markdown, and keep the Markdown representation up to date.",
+  "version": "1.3.0",
+  "minAppVersion": "0.15.0",
+  "isDesktopOnly": false,
+  "author": "Sébastien Dubois",
+  "authorUrl": "https://dsebastien.net",
+  "fundingUrl": "https://www.buymeacoffee.com/dsebastien"
+}
diff --git a/Edikoyo/.obsidian/plugins/dataview-serializer/styles.css b/Edikoyo/.obsidian/plugins/dataview-serializer/styles.css
new file mode 100644
index 0000000..0221f0c
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/dataview-serializer/styles.css
@@ -0,0 +1,4 @@
+/* Plugin Styles */
+.support-header-margin {
+  margin-top: 0.75rem;
+}
diff --git a/Edikoyo/.obsidian/plugins/dataview/main.js b/Edikoyo/.obsidian/plugins/dataview/main.js
new file mode 100644
index 0000000..c437cf0
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/dataview/main.js
@@ -0,0 +1,20723 @@
+'use strict';
+
+var obsidian = require('obsidian');
+var state = require('@codemirror/state');
+var view = require('@codemirror/view');
+var language = require('@codemirror/language');
+
+// these aren't really private, but nor are they really useful to document
+
+/**
+ * @private
+ */
+class LuxonError extends Error {}
+
+/**
+ * @private
+ */
+class InvalidDateTimeError extends LuxonError {
+  constructor(reason) {
+    super(`Invalid DateTime: ${reason.toMessage()}`);
+  }
+}
+
+/**
+ * @private
+ */
+class InvalidIntervalError extends LuxonError {
+  constructor(reason) {
+    super(`Invalid Interval: ${reason.toMessage()}`);
+  }
+}
+
+/**
+ * @private
+ */
+class InvalidDurationError extends LuxonError {
+  constructor(reason) {
+    super(`Invalid Duration: ${reason.toMessage()}`);
+  }
+}
+
+/**
+ * @private
+ */
+class ConflictingSpecificationError extends LuxonError {}
+
+/**
+ * @private
+ */
+class InvalidUnitError extends LuxonError {
+  constructor(unit) {
+    super(`Invalid unit ${unit}`);
+  }
+}
+
+/**
+ * @private
+ */
+class InvalidArgumentError extends LuxonError {}
+
+/**
+ * @private
+ */
+class ZoneIsAbstractError extends LuxonError {
+  constructor() {
+    super("Zone is an abstract class");
+  }
+}
+
+/**
+ * @private
+ */
+
+const n$1 = "numeric",
+  s$2 = "short",
+  l$2 = "long";
+
+const DATE_SHORT = {
+  year: n$1,
+  month: n$1,
+  day: n$1,
+};
+
+const DATE_MED = {
+  year: n$1,
+  month: s$2,
+  day: n$1,
+};
+
+const DATE_MED_WITH_WEEKDAY = {
+  year: n$1,
+  month: s$2,
+  day: n$1,
+  weekday: s$2,
+};
+
+const DATE_FULL = {
+  year: n$1,
+  month: l$2,
+  day: n$1,
+};
+
+const DATE_HUGE = {
+  year: n$1,
+  month: l$2,
+  day: n$1,
+  weekday: l$2,
+};
+
+const TIME_SIMPLE = {
+  hour: n$1,
+  minute: n$1,
+};
+
+const TIME_WITH_SECONDS = {
+  hour: n$1,
+  minute: n$1,
+  second: n$1,
+};
+
+const TIME_WITH_SHORT_OFFSET = {
+  hour: n$1,
+  minute: n$1,
+  second: n$1,
+  timeZoneName: s$2,
+};
+
+const TIME_WITH_LONG_OFFSET = {
+  hour: n$1,
+  minute: n$1,
+  second: n$1,
+  timeZoneName: l$2,
+};
+
+const TIME_24_SIMPLE = {
+  hour: n$1,
+  minute: n$1,
+  hourCycle: "h23",
+};
+
+const TIME_24_WITH_SECONDS = {
+  hour: n$1,
+  minute: n$1,
+  second: n$1,
+  hourCycle: "h23",
+};
+
+const TIME_24_WITH_SHORT_OFFSET = {
+  hour: n$1,
+  minute: n$1,
+  second: n$1,
+  hourCycle: "h23",
+  timeZoneName: s$2,
+};
+
+const TIME_24_WITH_LONG_OFFSET = {
+  hour: n$1,
+  minute: n$1,
+  second: n$1,
+  hourCycle: "h23",
+  timeZoneName: l$2,
+};
+
+const DATETIME_SHORT = {
+  year: n$1,
+  month: n$1,
+  day: n$1,
+  hour: n$1,
+  minute: n$1,
+};
+
+const DATETIME_SHORT_WITH_SECONDS = {
+  year: n$1,
+  month: n$1,
+  day: n$1,
+  hour: n$1,
+  minute: n$1,
+  second: n$1,
+};
+
+const DATETIME_MED = {
+  year: n$1,
+  month: s$2,
+  day: n$1,
+  hour: n$1,
+  minute: n$1,
+};
+
+const DATETIME_MED_WITH_SECONDS = {
+  year: n$1,
+  month: s$2,
+  day: n$1,
+  hour: n$1,
+  minute: n$1,
+  second: n$1,
+};
+
+const DATETIME_MED_WITH_WEEKDAY = {
+  year: n$1,
+  month: s$2,
+  day: n$1,
+  weekday: s$2,
+  hour: n$1,
+  minute: n$1,
+};
+
+const DATETIME_FULL = {
+  year: n$1,
+  month: l$2,
+  day: n$1,
+  hour: n$1,
+  minute: n$1,
+  timeZoneName: s$2,
+};
+
+const DATETIME_FULL_WITH_SECONDS = {
+  year: n$1,
+  month: l$2,
+  day: n$1,
+  hour: n$1,
+  minute: n$1,
+  second: n$1,
+  timeZoneName: s$2,
+};
+
+const DATETIME_HUGE = {
+  year: n$1,
+  month: l$2,
+  day: n$1,
+  weekday: l$2,
+  hour: n$1,
+  minute: n$1,
+  timeZoneName: l$2,
+};
+
+const DATETIME_HUGE_WITH_SECONDS = {
+  year: n$1,
+  month: l$2,
+  day: n$1,
+  weekday: l$2,
+  hour: n$1,
+  minute: n$1,
+  second: n$1,
+  timeZoneName: l$2,
+};
+
+/**
+ * @interface
+ */
+class Zone {
+  /**
+   * The type of zone
+   * @abstract
+   * @type {string}
+   */
+  get type() {
+    throw new ZoneIsAbstractError();
+  }
+
+  /**
+   * The name of this zone.
+   * @abstract
+   * @type {string}
+   */
+  get name() {
+    throw new ZoneIsAbstractError();
+  }
+
+  get ianaName() {
+    return this.name;
+  }
+
+  /**
+   * Returns whether the offset is known to be fixed for the whole year.
+   * @abstract
+   * @type {boolean}
+   */
+  get isUniversal() {
+    throw new ZoneIsAbstractError();
+  }
+
+  /**
+   * Returns the offset's common name (such as EST) at the specified timestamp
+   * @abstract
+   * @param {number} ts - Epoch milliseconds for which to get the name
+   * @param {Object} opts - Options to affect the format
+   * @param {string} opts.format - What style of offset to return. Accepts 'long' or 'short'.
+   * @param {string} opts.locale - What locale to return the offset name in.
+   * @return {string}
+   */
+  offsetName(ts, opts) {
+    throw new ZoneIsAbstractError();
+  }
+
+  /**
+   * Returns the offset's value as a string
+   * @abstract
+   * @param {number} ts - Epoch milliseconds for which to get the offset
+   * @param {string} format - What style of offset to return.
+   *                          Accepts 'narrow', 'short', or 'techie'. Returning '+6', '+06:00', or '+0600' respectively
+   * @return {string}
+   */
+  formatOffset(ts, format) {
+    throw new ZoneIsAbstractError();
+  }
+
+  /**
+   * Return the offset in minutes for this zone at the specified timestamp.
+   * @abstract
+   * @param {number} ts - Epoch milliseconds for which to compute the offset
+   * @return {number}
+   */
+  offset(ts) {
+    throw new ZoneIsAbstractError();
+  }
+
+  /**
+   * Return whether this Zone is equal to another zone
+   * @abstract
+   * @param {Zone} otherZone - the zone to compare
+   * @return {boolean}
+   */
+  equals(otherZone) {
+    throw new ZoneIsAbstractError();
+  }
+
+  /**
+   * Return whether this Zone is valid.
+   * @abstract
+   * @type {boolean}
+   */
+  get isValid() {
+    throw new ZoneIsAbstractError();
+  }
+}
+
+let singleton$1 = null;
+
+/**
+ * Represents the local zone for this JavaScript environment.
+ * @implements {Zone}
+ */
+class SystemZone extends Zone {
+  /**
+   * Get a singleton instance of the local zone
+   * @return {SystemZone}
+   */
+  static get instance() {
+    if (singleton$1 === null) {
+      singleton$1 = new SystemZone();
+    }
+    return singleton$1;
+  }
+
+  /** @override **/
+  get type() {
+    return "system";
+  }
+
+  /** @override **/
+  get name() {
+    return new Intl.DateTimeFormat().resolvedOptions().timeZone;
+  }
+
+  /** @override **/
+  get isUniversal() {
+    return false;
+  }
+
+  /** @override **/
+  offsetName(ts, { format, locale }) {
+    return parseZoneInfo(ts, format, locale);
+  }
+
+  /** @override **/
+  formatOffset(ts, format) {
+    return formatOffset(this.offset(ts), format);
+  }
+
+  /** @override **/
+  offset(ts) {
+    return -new Date(ts).getTimezoneOffset();
+  }
+
+  /** @override **/
+  equals(otherZone) {
+    return otherZone.type === "system";
+  }
+
+  /** @override **/
+  get isValid() {
+    return true;
+  }
+}
+
+let dtfCache = {};
+function makeDTF(zone) {
+  if (!dtfCache[zone]) {
+    dtfCache[zone] = new Intl.DateTimeFormat("en-US", {
+      hour12: false,
+      timeZone: zone,
+      year: "numeric",
+      month: "2-digit",
+      day: "2-digit",
+      hour: "2-digit",
+      minute: "2-digit",
+      second: "2-digit",
+      era: "short",
+    });
+  }
+  return dtfCache[zone];
+}
+
+const typeToPos = {
+  year: 0,
+  month: 1,
+  day: 2,
+  era: 3,
+  hour: 4,
+  minute: 5,
+  second: 6,
+};
+
+function hackyOffset(dtf, date) {
+  const formatted = dtf.format(date).replace(/\u200E/g, ""),
+    parsed = /(\d+)\/(\d+)\/(\d+) (AD|BC),? (\d+):(\d+):(\d+)/.exec(formatted),
+    [, fMonth, fDay, fYear, fadOrBc, fHour, fMinute, fSecond] = parsed;
+  return [fYear, fMonth, fDay, fadOrBc, fHour, fMinute, fSecond];
+}
+
+function partsOffset(dtf, date) {
+  const formatted = dtf.formatToParts(date);
+  const filled = [];
+  for (let i = 0; i < formatted.length; i++) {
+    const { type, value } = formatted[i];
+    const pos = typeToPos[type];
+
+    if (type === "era") {
+      filled[pos] = value;
+    } else if (!isUndefined(pos)) {
+      filled[pos] = parseInt(value, 10);
+    }
+  }
+  return filled;
+}
+
+let ianaZoneCache = {};
+/**
+ * A zone identified by an IANA identifier, like America/New_York
+ * @implements {Zone}
+ */
+class IANAZone extends Zone {
+  /**
+   * @param {string} name - Zone name
+   * @return {IANAZone}
+   */
+  static create(name) {
+    if (!ianaZoneCache[name]) {
+      ianaZoneCache[name] = new IANAZone(name);
+    }
+    return ianaZoneCache[name];
+  }
+
+  /**
+   * Reset local caches. Should only be necessary in testing scenarios.
+   * @return {void}
+   */
+  static resetCache() {
+    ianaZoneCache = {};
+    dtfCache = {};
+  }
+
+  /**
+   * Returns whether the provided string is a valid specifier. This only checks the string's format, not that the specifier identifies a known zone; see isValidZone for that.
+   * @param {string} s - The string to check validity on
+   * @example IANAZone.isValidSpecifier("America/New_York") //=> true
+   * @example IANAZone.isValidSpecifier("Sport~~blorp") //=> false
+   * @deprecated This method returns false for some valid IANA names. Use isValidZone instead.
+   * @return {boolean}
+   */
+  static isValidSpecifier(s) {
+    return this.isValidZone(s);
+  }
+
+  /**
+   * Returns whether the provided string identifies a real zone
+   * @param {string} zone - The string to check
+   * @example IANAZone.isValidZone("America/New_York") //=> true
+   * @example IANAZone.isValidZone("Fantasia/Castle") //=> false
+   * @example IANAZone.isValidZone("Sport~~blorp") //=> false
+   * @return {boolean}
+   */
+  static isValidZone(zone) {
+    if (!zone) {
+      return false;
+    }
+    try {
+      new Intl.DateTimeFormat("en-US", { timeZone: zone }).format();
+      return true;
+    } catch (e) {
+      return false;
+    }
+  }
+
+  constructor(name) {
+    super();
+    /** @private **/
+    this.zoneName = name;
+    /** @private **/
+    this.valid = IANAZone.isValidZone(name);
+  }
+
+  /** @override **/
+  get type() {
+    return "iana";
+  }
+
+  /** @override **/
+  get name() {
+    return this.zoneName;
+  }
+
+  /** @override **/
+  get isUniversal() {
+    return false;
+  }
+
+  /** @override **/
+  offsetName(ts, { format, locale }) {
+    return parseZoneInfo(ts, format, locale, this.name);
+  }
+
+  /** @override **/
+  formatOffset(ts, format) {
+    return formatOffset(this.offset(ts), format);
+  }
+
+  /** @override **/
+  offset(ts) {
+    const date = new Date(ts);
+
+    if (isNaN(date)) return NaN;
+
+    const dtf = makeDTF(this.name);
+    let [year, month, day, adOrBc, hour, minute, second] = dtf.formatToParts
+      ? partsOffset(dtf, date)
+      : hackyOffset(dtf, date);
+
+    if (adOrBc === "BC") {
+      year = -Math.abs(year) + 1;
+    }
+
+    // because we're using hour12 and https://bugs.chromium.org/p/chromium/issues/detail?id=1025564&can=2&q=%2224%3A00%22%20datetimeformat
+    const adjustedHour = hour === 24 ? 0 : hour;
+
+    const asUTC = objToLocalTS({
+      year,
+      month,
+      day,
+      hour: adjustedHour,
+      minute,
+      second,
+      millisecond: 0,
+    });
+
+    let asTS = +date;
+    const over = asTS % 1000;
+    asTS -= over >= 0 ? over : 1000 + over;
+    return (asUTC - asTS) / (60 * 1000);
+  }
+
+  /** @override **/
+  equals(otherZone) {
+    return otherZone.type === "iana" && otherZone.name === this.name;
+  }
+
+  /** @override **/
+  get isValid() {
+    return this.valid;
+  }
+}
+
+// todo - remap caching
+
+let intlLFCache = {};
+function getCachedLF(locString, opts = {}) {
+  const key = JSON.stringify([locString, opts]);
+  let dtf = intlLFCache[key];
+  if (!dtf) {
+    dtf = new Intl.ListFormat(locString, opts);
+    intlLFCache[key] = dtf;
+  }
+  return dtf;
+}
+
+let intlDTCache = {};
+function getCachedDTF(locString, opts = {}) {
+  const key = JSON.stringify([locString, opts]);
+  let dtf = intlDTCache[key];
+  if (!dtf) {
+    dtf = new Intl.DateTimeFormat(locString, opts);
+    intlDTCache[key] = dtf;
+  }
+  return dtf;
+}
+
+let intlNumCache = {};
+function getCachedINF(locString, opts = {}) {
+  const key = JSON.stringify([locString, opts]);
+  let inf = intlNumCache[key];
+  if (!inf) {
+    inf = new Intl.NumberFormat(locString, opts);
+    intlNumCache[key] = inf;
+  }
+  return inf;
+}
+
+let intlRelCache = {};
+function getCachedRTF(locString, opts = {}) {
+  const { base, ...cacheKeyOpts } = opts; // exclude `base` from the options
+  const key = JSON.stringify([locString, cacheKeyOpts]);
+  let inf = intlRelCache[key];
+  if (!inf) {
+    inf = new Intl.RelativeTimeFormat(locString, opts);
+    intlRelCache[key] = inf;
+  }
+  return inf;
+}
+
+let sysLocaleCache = null;
+function systemLocale() {
+  if (sysLocaleCache) {
+    return sysLocaleCache;
+  } else {
+    sysLocaleCache = new Intl.DateTimeFormat().resolvedOptions().locale;
+    return sysLocaleCache;
+  }
+}
+
+function parseLocaleString(localeStr) {
+  // I really want to avoid writing a BCP 47 parser
+  // see, e.g. https://github.com/wooorm/bcp-47
+  // Instead, we'll do this:
+
+  // a) if the string has no -u extensions, just leave it alone
+  // b) if it does, use Intl to resolve everything
+  // c) if Intl fails, try again without the -u
+
+  // private subtags and unicode subtags have ordering requirements,
+  // and we're not properly parsing this, so just strip out the
+  // private ones if they exist.
+  const xIndex = localeStr.indexOf("-x-");
+  if (xIndex !== -1) {
+    localeStr = localeStr.substring(0, xIndex);
+  }
+
+  const uIndex = localeStr.indexOf("-u-");
+  if (uIndex === -1) {
+    return [localeStr];
+  } else {
+    let options;
+    let selectedStr;
+    try {
+      options = getCachedDTF(localeStr).resolvedOptions();
+      selectedStr = localeStr;
+    } catch (e) {
+      const smaller = localeStr.substring(0, uIndex);
+      options = getCachedDTF(smaller).resolvedOptions();
+      selectedStr = smaller;
+    }
+
+    const { numberingSystem, calendar } = options;
+    return [selectedStr, numberingSystem, calendar];
+  }
+}
+
+function intlConfigString(localeStr, numberingSystem, outputCalendar) {
+  if (outputCalendar || numberingSystem) {
+    if (!localeStr.includes("-u-")) {
+      localeStr += "-u";
+    }
+
+    if (outputCalendar) {
+      localeStr += `-ca-${outputCalendar}`;
+    }
+
+    if (numberingSystem) {
+      localeStr += `-nu-${numberingSystem}`;
+    }
+    return localeStr;
+  } else {
+    return localeStr;
+  }
+}
+
+function mapMonths(f) {
+  const ms = [];
+  for (let i = 1; i <= 12; i++) {
+    const dt = DateTime.utc(2009, i, 1);
+    ms.push(f(dt));
+  }
+  return ms;
+}
+
+function mapWeekdays(f) {
+  const ms = [];
+  for (let i = 1; i <= 7; i++) {
+    const dt = DateTime.utc(2016, 11, 13 + i);
+    ms.push(f(dt));
+  }
+  return ms;
+}
+
+function listStuff(loc, length, englishFn, intlFn) {
+  const mode = loc.listingMode();
+
+  if (mode === "error") {
+    return null;
+  } else if (mode === "en") {
+    return englishFn(length);
+  } else {
+    return intlFn(length);
+  }
+}
+
+function supportsFastNumbers(loc) {
+  if (loc.numberingSystem && loc.numberingSystem !== "latn") {
+    return false;
+  } else {
+    return (
+      loc.numberingSystem === "latn" ||
+      !loc.locale ||
+      loc.locale.startsWith("en") ||
+      new Intl.DateTimeFormat(loc.intl).resolvedOptions().numberingSystem === "latn"
+    );
+  }
+}
+
+/**
+ * @private
+ */
+
+class PolyNumberFormatter {
+  constructor(intl, forceSimple, opts) {
+    this.padTo = opts.padTo || 0;
+    this.floor = opts.floor || false;
+
+    const { padTo, floor, ...otherOpts } = opts;
+
+    if (!forceSimple || Object.keys(otherOpts).length > 0) {
+      const intlOpts = { useGrouping: false, ...opts };
+      if (opts.padTo > 0) intlOpts.minimumIntegerDigits = opts.padTo;
+      this.inf = getCachedINF(intl, intlOpts);
+    }
+  }
+
+  format(i) {
+    if (this.inf) {
+      const fixed = this.floor ? Math.floor(i) : i;
+      return this.inf.format(fixed);
+    } else {
+      // to match the browser's numberformatter defaults
+      const fixed = this.floor ? Math.floor(i) : roundTo(i, 3);
+      return padStart(fixed, this.padTo);
+    }
+  }
+}
+
+/**
+ * @private
+ */
+
+class PolyDateFormatter {
+  constructor(dt, intl, opts) {
+    this.opts = opts;
+    this.originalZone = undefined;
+
+    let z = undefined;
+    if (this.opts.timeZone) {
+      // Don't apply any workarounds if a timeZone is explicitly provided in opts
+      this.dt = dt;
+    } else if (dt.zone.type === "fixed") {
+      // UTC-8 or Etc/UTC-8 are not part of tzdata, only Etc/GMT+8 and the like.
+      // That is why fixed-offset TZ is set to that unless it is:
+      // 1. Representing offset 0 when UTC is used to maintain previous behavior and does not become GMT.
+      // 2. Unsupported by the browser:
+      //    - some do not support Etc/
+      //    - < Etc/GMT-14, > Etc/GMT+12, and 30-minute or 45-minute offsets are not part of tzdata
+      const gmtOffset = -1 * (dt.offset / 60);
+      const offsetZ = gmtOffset >= 0 ? `Etc/GMT+${gmtOffset}` : `Etc/GMT${gmtOffset}`;
+      if (dt.offset !== 0 && IANAZone.create(offsetZ).valid) {
+        z = offsetZ;
+        this.dt = dt;
+      } else {
+        // Not all fixed-offset zones like Etc/+4:30 are present in tzdata so
+        // we manually apply the offset and substitute the zone as needed.
+        z = "UTC";
+        this.dt = dt.offset === 0 ? dt : dt.setZone("UTC").plus({ minutes: dt.offset });
+        this.originalZone = dt.zone;
+      }
+    } else if (dt.zone.type === "system") {
+      this.dt = dt;
+    } else if (dt.zone.type === "iana") {
+      this.dt = dt;
+      z = dt.zone.name;
+    } else {
+      // Custom zones can have any offset / offsetName so we just manually
+      // apply the offset and substitute the zone as needed.
+      z = "UTC";
+      this.dt = dt.setZone("UTC").plus({ minutes: dt.offset });
+      this.originalZone = dt.zone;
+    }
+
+    const intlOpts = { ...this.opts };
+    intlOpts.timeZone = intlOpts.timeZone || z;
+    this.dtf = getCachedDTF(intl, intlOpts);
+  }
+
+  format() {
+    if (this.originalZone) {
+      // If we have to substitute in the actual zone name, we have to use
+      // formatToParts so that the timezone can be replaced.
+      return this.formatToParts()
+        .map(({ value }) => value)
+        .join("");
+    }
+    return this.dtf.format(this.dt.toJSDate());
+  }
+
+  formatToParts() {
+    const parts = this.dtf.formatToParts(this.dt.toJSDate());
+    if (this.originalZone) {
+      return parts.map((part) => {
+        if (part.type === "timeZoneName") {
+          const offsetName = this.originalZone.offsetName(this.dt.ts, {
+            locale: this.dt.locale,
+            format: this.opts.timeZoneName,
+          });
+          return {
+            ...part,
+            value: offsetName,
+          };
+        } else {
+          return part;
+        }
+      });
+    }
+    return parts;
+  }
+
+  resolvedOptions() {
+    return this.dtf.resolvedOptions();
+  }
+}
+
+/**
+ * @private
+ */
+class PolyRelFormatter {
+  constructor(intl, isEnglish, opts) {
+    this.opts = { style: "long", ...opts };
+    if (!isEnglish && hasRelative()) {
+      this.rtf = getCachedRTF(intl, opts);
+    }
+  }
+
+  format(count, unit) {
+    if (this.rtf) {
+      return this.rtf.format(count, unit);
+    } else {
+      return formatRelativeTime(unit, count, this.opts.numeric, this.opts.style !== "long");
+    }
+  }
+
+  formatToParts(count, unit) {
+    if (this.rtf) {
+      return this.rtf.formatToParts(count, unit);
+    } else {
+      return [];
+    }
+  }
+}
+
+/**
+ * @private
+ */
+
+class Locale {
+  static fromOpts(opts) {
+    return Locale.create(opts.locale, opts.numberingSystem, opts.outputCalendar, opts.defaultToEN);
+  }
+
+  static create(locale, numberingSystem, outputCalendar, defaultToEN = false) {
+    const specifiedLocale = locale || Settings.defaultLocale;
+    // the system locale is useful for human readable strings but annoying for parsing/formatting known formats
+    const localeR = specifiedLocale || (defaultToEN ? "en-US" : systemLocale());
+    const numberingSystemR = numberingSystem || Settings.defaultNumberingSystem;
+    const outputCalendarR = outputCalendar || Settings.defaultOutputCalendar;
+    return new Locale(localeR, numberingSystemR, outputCalendarR, specifiedLocale);
+  }
+
+  static resetCache() {
+    sysLocaleCache = null;
+    intlDTCache = {};
+    intlNumCache = {};
+    intlRelCache = {};
+  }
+
+  static fromObject({ locale, numberingSystem, outputCalendar } = {}) {
+    return Locale.create(locale, numberingSystem, outputCalendar);
+  }
+
+  constructor(locale, numbering, outputCalendar, specifiedLocale) {
+    const [parsedLocale, parsedNumberingSystem, parsedOutputCalendar] = parseLocaleString(locale);
+
+    this.locale = parsedLocale;
+    this.numberingSystem = numbering || parsedNumberingSystem || null;
+    this.outputCalendar = outputCalendar || parsedOutputCalendar || null;
+    this.intl = intlConfigString(this.locale, this.numberingSystem, this.outputCalendar);
+
+    this.weekdaysCache = { format: {}, standalone: {} };
+    this.monthsCache = { format: {}, standalone: {} };
+    this.meridiemCache = null;
+    this.eraCache = {};
+
+    this.specifiedLocale = specifiedLocale;
+    this.fastNumbersCached = null;
+  }
+
+  get fastNumbers() {
+    if (this.fastNumbersCached == null) {
+      this.fastNumbersCached = supportsFastNumbers(this);
+    }
+
+    return this.fastNumbersCached;
+  }
+
+  listingMode() {
+    const isActuallyEn = this.isEnglish();
+    const hasNoWeirdness =
+      (this.numberingSystem === null || this.numberingSystem === "latn") &&
+      (this.outputCalendar === null || this.outputCalendar === "gregory");
+    return isActuallyEn && hasNoWeirdness ? "en" : "intl";
+  }
+
+  clone(alts) {
+    if (!alts || Object.getOwnPropertyNames(alts).length === 0) {
+      return this;
+    } else {
+      return Locale.create(
+        alts.locale || this.specifiedLocale,
+        alts.numberingSystem || this.numberingSystem,
+        alts.outputCalendar || this.outputCalendar,
+        alts.defaultToEN || false
+      );
+    }
+  }
+
+  redefaultToEN(alts = {}) {
+    return this.clone({ ...alts, defaultToEN: true });
+  }
+
+  redefaultToSystem(alts = {}) {
+    return this.clone({ ...alts, defaultToEN: false });
+  }
+
+  months(length, format = false) {
+    return listStuff(this, length, months, () => {
+      const intl = format ? { month: length, day: "numeric" } : { month: length },
+        formatStr = format ? "format" : "standalone";
+      if (!this.monthsCache[formatStr][length]) {
+        this.monthsCache[formatStr][length] = mapMonths((dt) => this.extract(dt, intl, "month"));
+      }
+      return this.monthsCache[formatStr][length];
+    });
+  }
+
+  weekdays(length, format = false) {
+    return listStuff(this, length, weekdays, () => {
+      const intl = format
+          ? { weekday: length, year: "numeric", month: "long", day: "numeric" }
+          : { weekday: length },
+        formatStr = format ? "format" : "standalone";
+      if (!this.weekdaysCache[formatStr][length]) {
+        this.weekdaysCache[formatStr][length] = mapWeekdays((dt) =>
+          this.extract(dt, intl, "weekday")
+        );
+      }
+      return this.weekdaysCache[formatStr][length];
+    });
+  }
+
+  meridiems() {
+    return listStuff(
+      this,
+      undefined,
+      () => meridiems,
+      () => {
+        // In theory there could be aribitrary day periods. We're gonna assume there are exactly two
+        // for AM and PM. This is probably wrong, but it's makes parsing way easier.
+        if (!this.meridiemCache) {
+          const intl = { hour: "numeric", hourCycle: "h12" };
+          this.meridiemCache = [DateTime.utc(2016, 11, 13, 9), DateTime.utc(2016, 11, 13, 19)].map(
+            (dt) => this.extract(dt, intl, "dayperiod")
+          );
+        }
+
+        return this.meridiemCache;
+      }
+    );
+  }
+
+  eras(length) {
+    return listStuff(this, length, eras, () => {
+      const intl = { era: length };
+
+      // This is problematic. Different calendars are going to define eras totally differently. What I need is the minimum set of dates
+      // to definitely enumerate them.
+      if (!this.eraCache[length]) {
+        this.eraCache[length] = [DateTime.utc(-40, 1, 1), DateTime.utc(2017, 1, 1)].map((dt) =>
+          this.extract(dt, intl, "era")
+        );
+      }
+
+      return this.eraCache[length];
+    });
+  }
+
+  extract(dt, intlOpts, field) {
+    const df = this.dtFormatter(dt, intlOpts),
+      results = df.formatToParts(),
+      matching = results.find((m) => m.type.toLowerCase() === field);
+    return matching ? matching.value : null;
+  }
+
+  numberFormatter(opts = {}) {
+    // this forcesimple option is never used (the only caller short-circuits on it, but it seems safer to leave)
+    // (in contrast, the rest of the condition is used heavily)
+    return new PolyNumberFormatter(this.intl, opts.forceSimple || this.fastNumbers, opts);
+  }
+
+  dtFormatter(dt, intlOpts = {}) {
+    return new PolyDateFormatter(dt, this.intl, intlOpts);
+  }
+
+  relFormatter(opts = {}) {
+    return new PolyRelFormatter(this.intl, this.isEnglish(), opts);
+  }
+
+  listFormatter(opts = {}) {
+    return getCachedLF(this.intl, opts);
+  }
+
+  isEnglish() {
+    return (
+      this.locale === "en" ||
+      this.locale.toLowerCase() === "en-us" ||
+      new Intl.DateTimeFormat(this.intl).resolvedOptions().locale.startsWith("en-us")
+    );
+  }
+
+  equals(other) {
+    return (
+      this.locale === other.locale &&
+      this.numberingSystem === other.numberingSystem &&
+      this.outputCalendar === other.outputCalendar
+    );
+  }
+}
+
+let singleton = null;
+
+/**
+ * A zone with a fixed offset (meaning no DST)
+ * @implements {Zone}
+ */
+class FixedOffsetZone extends Zone {
+  /**
+   * Get a singleton instance of UTC
+   * @return {FixedOffsetZone}
+   */
+  static get utcInstance() {
+    if (singleton === null) {
+      singleton = new FixedOffsetZone(0);
+    }
+    return singleton;
+  }
+
+  /**
+   * Get an instance with a specified offset
+   * @param {number} offset - The offset in minutes
+   * @return {FixedOffsetZone}
+   */
+  static instance(offset) {
+    return offset === 0 ? FixedOffsetZone.utcInstance : new FixedOffsetZone(offset);
+  }
+
+  /**
+   * Get an instance of FixedOffsetZone from a UTC offset string, like "UTC+6"
+   * @param {string} s - The offset string to parse
+   * @example FixedOffsetZone.parseSpecifier("UTC+6")
+   * @example FixedOffsetZone.parseSpecifier("UTC+06")
+   * @example FixedOffsetZone.parseSpecifier("UTC-6:00")
+   * @return {FixedOffsetZone}
+   */
+  static parseSpecifier(s) {
+    if (s) {
+      const r = s.match(/^utc(?:([+-]\d{1,2})(?::(\d{2}))?)?$/i);
+      if (r) {
+        return new FixedOffsetZone(signedOffset(r[1], r[2]));
+      }
+    }
+    return null;
+  }
+
+  constructor(offset) {
+    super();
+    /** @private **/
+    this.fixed = offset;
+  }
+
+  /** @override **/
+  get type() {
+    return "fixed";
+  }
+
+  /** @override **/
+  get name() {
+    return this.fixed === 0 ? "UTC" : `UTC${formatOffset(this.fixed, "narrow")}`;
+  }
+
+  get ianaName() {
+    if (this.fixed === 0) {
+      return "Etc/UTC";
+    } else {
+      return `Etc/GMT${formatOffset(-this.fixed, "narrow")}`;
+    }
+  }
+
+  /** @override **/
+  offsetName() {
+    return this.name;
+  }
+
+  /** @override **/
+  formatOffset(ts, format) {
+    return formatOffset(this.fixed, format);
+  }
+
+  /** @override **/
+  get isUniversal() {
+    return true;
+  }
+
+  /** @override **/
+  offset() {
+    return this.fixed;
+  }
+
+  /** @override **/
+  equals(otherZone) {
+    return otherZone.type === "fixed" && otherZone.fixed === this.fixed;
+  }
+
+  /** @override **/
+  get isValid() {
+    return true;
+  }
+}
+
+/**
+ * A zone that failed to parse. You should never need to instantiate this.
+ * @implements {Zone}
+ */
+class InvalidZone extends Zone {
+  constructor(zoneName) {
+    super();
+    /**  @private */
+    this.zoneName = zoneName;
+  }
+
+  /** @override **/
+  get type() {
+    return "invalid";
+  }
+
+  /** @override **/
+  get name() {
+    return this.zoneName;
+  }
+
+  /** @override **/
+  get isUniversal() {
+    return false;
+  }
+
+  /** @override **/
+  offsetName() {
+    return null;
+  }
+
+  /** @override **/
+  formatOffset() {
+    return "";
+  }
+
+  /** @override **/
+  offset() {
+    return NaN;
+  }
+
+  /** @override **/
+  equals() {
+    return false;
+  }
+
+  /** @override **/
+  get isValid() {
+    return false;
+  }
+}
+
+/**
+ * @private
+ */
+
+function normalizeZone(input, defaultZone) {
+  if (isUndefined(input) || input === null) {
+    return defaultZone;
+  } else if (input instanceof Zone) {
+    return input;
+  } else if (isString(input)) {
+    const lowered = input.toLowerCase();
+    if (lowered === "default") return defaultZone;
+    else if (lowered === "local" || lowered === "system") return SystemZone.instance;
+    else if (lowered === "utc" || lowered === "gmt") return FixedOffsetZone.utcInstance;
+    else return FixedOffsetZone.parseSpecifier(lowered) || IANAZone.create(input);
+  } else if (isNumber(input)) {
+    return FixedOffsetZone.instance(input);
+  } else if (typeof input === "object" && "offset" in input && typeof input.offset === "function") {
+    // This is dumb, but the instanceof check above doesn't seem to really work
+    // so we're duck checking it
+    return input;
+  } else {
+    return new InvalidZone(input);
+  }
+}
+
+let now = () => Date.now(),
+  defaultZone = "system",
+  defaultLocale = null,
+  defaultNumberingSystem = null,
+  defaultOutputCalendar = null,
+  twoDigitCutoffYear = 60,
+  throwOnInvalid;
+
+/**
+ * Settings contains static getters and setters that control Luxon's overall behavior. Luxon is a simple library with few options, but the ones it does have live here.
+ */
+class Settings {
+  /**
+   * Get the callback for returning the current timestamp.
+   * @type {function}
+   */
+  static get now() {
+    return now;
+  }
+
+  /**
+   * Set the callback for returning the current timestamp.
+   * The function should return a number, which will be interpreted as an Epoch millisecond count
+   * @type {function}
+   * @example Settings.now = () => Date.now() + 3000 // pretend it is 3 seconds in the future
+   * @example Settings.now = () => 0 // always pretend it's Jan 1, 1970 at midnight in UTC time
+   */
+  static set now(n) {
+    now = n;
+  }
+
+  /**
+   * Set the default time zone to create DateTimes in. Does not affect existing instances.
+   * Use the value "system" to reset this value to the system's time zone.
+   * @type {string}
+   */
+  static set defaultZone(zone) {
+    defaultZone = zone;
+  }
+
+  /**
+   * Get the default time zone object currently used to create DateTimes. Does not affect existing instances.
+   * The default value is the system's time zone (the one set on the machine that runs this code).
+   * @type {Zone}
+   */
+  static get defaultZone() {
+    return normalizeZone(defaultZone, SystemZone.instance);
+  }
+
+  /**
+   * Get the default locale to create DateTimes with. Does not affect existing instances.
+   * @type {string}
+   */
+  static get defaultLocale() {
+    return defaultLocale;
+  }
+
+  /**
+   * Set the default locale to create DateTimes with. Does not affect existing instances.
+   * @type {string}
+   */
+  static set defaultLocale(locale) {
+    defaultLocale = locale;
+  }
+
+  /**
+   * Get the default numbering system to create DateTimes with. Does not affect existing instances.
+   * @type {string}
+   */
+  static get defaultNumberingSystem() {
+    return defaultNumberingSystem;
+  }
+
+  /**
+   * Set the default numbering system to create DateTimes with. Does not affect existing instances.
+   * @type {string}
+   */
+  static set defaultNumberingSystem(numberingSystem) {
+    defaultNumberingSystem = numberingSystem;
+  }
+
+  /**
+   * Get the default output calendar to create DateTimes with. Does not affect existing instances.
+   * @type {string}
+   */
+  static get defaultOutputCalendar() {
+    return defaultOutputCalendar;
+  }
+
+  /**
+   * Set the default output calendar to create DateTimes with. Does not affect existing instances.
+   * @type {string}
+   */
+  static set defaultOutputCalendar(outputCalendar) {
+    defaultOutputCalendar = outputCalendar;
+  }
+
+  /**
+   * Get the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.
+   * @type {number}
+   */
+  static get twoDigitCutoffYear() {
+    return twoDigitCutoffYear;
+  }
+
+  /**
+   * Set the cutoff year after which a string encoding a year as two digits is interpreted to occur in the current century.
+   * @type {number}
+   * @example Settings.twoDigitCutoffYear = 0 // cut-off year is 0, so all 'yy' are interpreted as current century
+   * @example Settings.twoDigitCutoffYear = 50 // '49' -> 1949; '50' -> 2050
+   * @example Settings.twoDigitCutoffYear = 1950 // interpreted as 50
+   * @example Settings.twoDigitCutoffYear = 2050 // ALSO interpreted as 50
+   */
+  static set twoDigitCutoffYear(cutoffYear) {
+    twoDigitCutoffYear = cutoffYear % 100;
+  }
+
+  /**
+   * Get whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals
+   * @type {boolean}
+   */
+  static get throwOnInvalid() {
+    return throwOnInvalid;
+  }
+
+  /**
+   * Set whether Luxon will throw when it encounters invalid DateTimes, Durations, or Intervals
+   * @type {boolean}
+   */
+  static set throwOnInvalid(t) {
+    throwOnInvalid = t;
+  }
+
+  /**
+   * Reset Luxon's global caches. Should only be necessary in testing scenarios.
+   * @return {void}
+   */
+  static resetCaches() {
+    Locale.resetCache();
+    IANAZone.resetCache();
+  }
+}
+
+/*
+  This is just a junk drawer, containing anything used across multiple classes.
+  Because Luxon is small(ish), this should stay small and we won't worry about splitting
+  it up into, say, parsingUtil.js and basicUtil.js and so on. But they are divided up by feature area.
+*/
+
+/**
+ * @private
+ */
+
+// TYPES
+
+function isUndefined(o) {
+  return typeof o === "undefined";
+}
+
+function isNumber(o) {
+  return typeof o === "number";
+}
+
+function isInteger(o) {
+  return typeof o === "number" && o % 1 === 0;
+}
+
+function isString(o) {
+  return typeof o === "string";
+}
+
+function isDate(o) {
+  return Object.prototype.toString.call(o) === "[object Date]";
+}
+
+// CAPABILITIES
+
+function hasRelative() {
+  try {
+    return typeof Intl !== "undefined" && !!Intl.RelativeTimeFormat;
+  } catch (e) {
+    return false;
+  }
+}
+
+// OBJECTS AND ARRAYS
+
+function maybeArray(thing) {
+  return Array.isArray(thing) ? thing : [thing];
+}
+
+function bestBy(arr, by, compare) {
+  if (arr.length === 0) {
+    return undefined;
+  }
+  return arr.reduce((best, next) => {
+    const pair = [by(next), next];
+    if (!best) {
+      return pair;
+    } else if (compare(best[0], pair[0]) === best[0]) {
+      return best;
+    } else {
+      return pair;
+    }
+  }, null)[1];
+}
+
+function pick(obj, keys) {
+  return keys.reduce((a, k) => {
+    a[k] = obj[k];
+    return a;
+  }, {});
+}
+
+function hasOwnProperty(obj, prop) {
+  return Object.prototype.hasOwnProperty.call(obj, prop);
+}
+
+// NUMBERS AND STRINGS
+
+function integerBetween(thing, bottom, top) {
+  return isInteger(thing) && thing >= bottom && thing <= top;
+}
+
+// x % n but takes the sign of n instead of x
+function floorMod(x, n) {
+  return x - n * Math.floor(x / n);
+}
+
+function padStart(input, n = 2) {
+  const isNeg = input < 0;
+  let padded;
+  if (isNeg) {
+    padded = "-" + ("" + -input).padStart(n, "0");
+  } else {
+    padded = ("" + input).padStart(n, "0");
+  }
+  return padded;
+}
+
+function parseInteger(string) {
+  if (isUndefined(string) || string === null || string === "") {
+    return undefined;
+  } else {
+    return parseInt(string, 10);
+  }
+}
+
+function parseFloating(string) {
+  if (isUndefined(string) || string === null || string === "") {
+    return undefined;
+  } else {
+    return parseFloat(string);
+  }
+}
+
+function parseMillis(fraction) {
+  // Return undefined (instead of 0) in these cases, where fraction is not set
+  if (isUndefined(fraction) || fraction === null || fraction === "") {
+    return undefined;
+  } else {
+    const f = parseFloat("0." + fraction) * 1000;
+    return Math.floor(f);
+  }
+}
+
+function roundTo(number, digits, towardZero = false) {
+  const factor = 10 ** digits,
+    rounder = towardZero ? Math.trunc : Math.round;
+  return rounder(number * factor) / factor;
+}
+
+// DATE BASICS
+
+function isLeapYear(year) {
+  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
+}
+
+function daysInYear(year) {
+  return isLeapYear(year) ? 366 : 365;
+}
+
+function daysInMonth(year, month) {
+  const modMonth = floorMod(month - 1, 12) + 1,
+    modYear = year + (month - modMonth) / 12;
+
+  if (modMonth === 2) {
+    return isLeapYear(modYear) ? 29 : 28;
+  } else {
+    return [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][modMonth - 1];
+  }
+}
+
+// convert a calendar object to a local timestamp (epoch, but with the offset baked in)
+function objToLocalTS(obj) {
+  let d = Date.UTC(
+    obj.year,
+    obj.month - 1,
+    obj.day,
+    obj.hour,
+    obj.minute,
+    obj.second,
+    obj.millisecond
+  );
+
+  // for legacy reasons, years between 0 and 99 are interpreted as 19XX; revert that
+  if (obj.year < 100 && obj.year >= 0) {
+    d = new Date(d);
+    // set the month and day again, this is necessary because year 2000 is a leap year, but year 100 is not
+    // so if obj.year is in 99, but obj.day makes it roll over into year 100,
+    // the calculations done by Date.UTC are using year 2000 - which is incorrect
+    d.setUTCFullYear(obj.year, obj.month - 1, obj.day);
+  }
+  return +d;
+}
+
+function weeksInWeekYear(weekYear) {
+  const p1 =
+      (weekYear +
+        Math.floor(weekYear / 4) -
+        Math.floor(weekYear / 100) +
+        Math.floor(weekYear / 400)) %
+      7,
+    last = weekYear - 1,
+    p2 = (last + Math.floor(last / 4) - Math.floor(last / 100) + Math.floor(last / 400)) % 7;
+  return p1 === 4 || p2 === 3 ? 53 : 52;
+}
+
+function untruncateYear(year) {
+  if (year > 99) {
+    return year;
+  } else return year > Settings.twoDigitCutoffYear ? 1900 + year : 2000 + year;
+}
+
+// PARSING
+
+function parseZoneInfo(ts, offsetFormat, locale, timeZone = null) {
+  const date = new Date(ts),
+    intlOpts = {
+      hourCycle: "h23",
+      year: "numeric",
+      month: "2-digit",
+      day: "2-digit",
+      hour: "2-digit",
+      minute: "2-digit",
+    };
+
+  if (timeZone) {
+    intlOpts.timeZone = timeZone;
+  }
+
+  const modified = { timeZoneName: offsetFormat, ...intlOpts };
+
+  const parsed = new Intl.DateTimeFormat(locale, modified)
+    .formatToParts(date)
+    .find((m) => m.type.toLowerCase() === "timezonename");
+  return parsed ? parsed.value : null;
+}
+
+// signedOffset('-5', '30') -> -330
+function signedOffset(offHourStr, offMinuteStr) {
+  let offHour = parseInt(offHourStr, 10);
+
+  // don't || this because we want to preserve -0
+  if (Number.isNaN(offHour)) {
+    offHour = 0;
+  }
+
+  const offMin = parseInt(offMinuteStr, 10) || 0,
+    offMinSigned = offHour < 0 || Object.is(offHour, -0) ? -offMin : offMin;
+  return offHour * 60 + offMinSigned;
+}
+
+// COERCION
+
+function asNumber(value) {
+  const numericValue = Number(value);
+  if (typeof value === "boolean" || value === "" || Number.isNaN(numericValue))
+    throw new InvalidArgumentError(`Invalid unit value ${value}`);
+  return numericValue;
+}
+
+function normalizeObject(obj, normalizer) {
+  const normalized = {};
+  for (const u in obj) {
+    if (hasOwnProperty(obj, u)) {
+      const v = obj[u];
+      if (v === undefined || v === null) continue;
+      normalized[normalizer(u)] = asNumber(v);
+    }
+  }
+  return normalized;
+}
+
+function formatOffset(offset, format) {
+  const hours = Math.trunc(Math.abs(offset / 60)),
+    minutes = Math.trunc(Math.abs(offset % 60)),
+    sign = offset >= 0 ? "+" : "-";
+
+  switch (format) {
+    case "short":
+      return `${sign}${padStart(hours, 2)}:${padStart(minutes, 2)}`;
+    case "narrow":
+      return `${sign}${hours}${minutes > 0 ? `:${minutes}` : ""}`;
+    case "techie":
+      return `${sign}${padStart(hours, 2)}${padStart(minutes, 2)}`;
+    default:
+      throw new RangeError(`Value format ${format} is out of range for property format`);
+  }
+}
+
+function timeObject(obj) {
+  return pick(obj, ["hour", "minute", "second", "millisecond"]);
+}
+
+/**
+ * @private
+ */
+
+const monthsLong = [
+  "January",
+  "February",
+  "March",
+  "April",
+  "May",
+  "June",
+  "July",
+  "August",
+  "September",
+  "October",
+  "November",
+  "December",
+];
+
+const monthsShort = [
+  "Jan",
+  "Feb",
+  "Mar",
+  "Apr",
+  "May",
+  "Jun",
+  "Jul",
+  "Aug",
+  "Sep",
+  "Oct",
+  "Nov",
+  "Dec",
+];
+
+const monthsNarrow = ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"];
+
+function months(length) {
+  switch (length) {
+    case "narrow":
+      return [...monthsNarrow];
+    case "short":
+      return [...monthsShort];
+    case "long":
+      return [...monthsLong];
+    case "numeric":
+      return ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
+    case "2-digit":
+      return ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"];
+    default:
+      return null;
+  }
+}
+
+const weekdaysLong = [
+  "Monday",
+  "Tuesday",
+  "Wednesday",
+  "Thursday",
+  "Friday",
+  "Saturday",
+  "Sunday",
+];
+
+const weekdaysShort = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"];
+
+const weekdaysNarrow = ["M", "T", "W", "T", "F", "S", "S"];
+
+function weekdays(length) {
+  switch (length) {
+    case "narrow":
+      return [...weekdaysNarrow];
+    case "short":
+      return [...weekdaysShort];
+    case "long":
+      return [...weekdaysLong];
+    case "numeric":
+      return ["1", "2", "3", "4", "5", "6", "7"];
+    default:
+      return null;
+  }
+}
+
+const meridiems = ["AM", "PM"];
+
+const erasLong = ["Before Christ", "Anno Domini"];
+
+const erasShort = ["BC", "AD"];
+
+const erasNarrow = ["B", "A"];
+
+function eras(length) {
+  switch (length) {
+    case "narrow":
+      return [...erasNarrow];
+    case "short":
+      return [...erasShort];
+    case "long":
+      return [...erasLong];
+    default:
+      return null;
+  }
+}
+
+function meridiemForDateTime(dt) {
+  return meridiems[dt.hour < 12 ? 0 : 1];
+}
+
+function weekdayForDateTime(dt, length) {
+  return weekdays(length)[dt.weekday - 1];
+}
+
+function monthForDateTime(dt, length) {
+  return months(length)[dt.month - 1];
+}
+
+function eraForDateTime(dt, length) {
+  return eras(length)[dt.year < 0 ? 0 : 1];
+}
+
+function formatRelativeTime(unit, count, numeric = "always", narrow = false) {
+  const units = {
+    years: ["year", "yr."],
+    quarters: ["quarter", "qtr."],
+    months: ["month", "mo."],
+    weeks: ["week", "wk."],
+    days: ["day", "day", "days"],
+    hours: ["hour", "hr."],
+    minutes: ["minute", "min."],
+    seconds: ["second", "sec."],
+  };
+
+  const lastable = ["hours", "minutes", "seconds"].indexOf(unit) === -1;
+
+  if (numeric === "auto" && lastable) {
+    const isDay = unit === "days";
+    switch (count) {
+      case 1:
+        return isDay ? "tomorrow" : `next ${units[unit][0]}`;
+      case -1:
+        return isDay ? "yesterday" : `last ${units[unit][0]}`;
+      case 0:
+        return isDay ? "today" : `this ${units[unit][0]}`;
+    }
+  }
+
+  const isInPast = Object.is(count, -0) || count < 0,
+    fmtValue = Math.abs(count),
+    singular = fmtValue === 1,
+    lilUnits = units[unit],
+    fmtUnit = narrow
+      ? singular
+        ? lilUnits[1]
+        : lilUnits[2] || lilUnits[1]
+      : singular
+      ? units[unit][0]
+      : unit;
+  return isInPast ? `${fmtValue} ${fmtUnit} ago` : `in ${fmtValue} ${fmtUnit}`;
+}
+
+function stringifyTokens(splits, tokenToString) {
+  let s = "";
+  for (const token of splits) {
+    if (token.literal) {
+      s += token.val;
+    } else {
+      s += tokenToString(token.val);
+    }
+  }
+  return s;
+}
+
+const macroTokenToFormatOpts = {
+  D: DATE_SHORT,
+  DD: DATE_MED,
+  DDD: DATE_FULL,
+  DDDD: DATE_HUGE,
+  t: TIME_SIMPLE,
+  tt: TIME_WITH_SECONDS,
+  ttt: TIME_WITH_SHORT_OFFSET,
+  tttt: TIME_WITH_LONG_OFFSET,
+  T: TIME_24_SIMPLE,
+  TT: TIME_24_WITH_SECONDS,
+  TTT: TIME_24_WITH_SHORT_OFFSET,
+  TTTT: TIME_24_WITH_LONG_OFFSET,
+  f: DATETIME_SHORT,
+  ff: DATETIME_MED,
+  fff: DATETIME_FULL,
+  ffff: DATETIME_HUGE,
+  F: DATETIME_SHORT_WITH_SECONDS,
+  FF: DATETIME_MED_WITH_SECONDS,
+  FFF: DATETIME_FULL_WITH_SECONDS,
+  FFFF: DATETIME_HUGE_WITH_SECONDS,
+};
+
+/**
+ * @private
+ */
+
+class Formatter {
+  static create(locale, opts = {}) {
+    return new Formatter(locale, opts);
+  }
+
+  static parseFormat(fmt) {
+    // white-space is always considered a literal in user-provided formats
+    // the " " token has a special meaning (see unitForToken)
+
+    let current = null,
+      currentFull = "",
+      bracketed = false;
+    const splits = [];
+    for (let i = 0; i < fmt.length; i++) {
+      const c = fmt.charAt(i);
+      if (c === "'") {
+        if (currentFull.length > 0) {
+          splits.push({ literal: bracketed || /^\s+$/.test(currentFull), val: currentFull });
+        }
+        current = null;
+        currentFull = "";
+        bracketed = !bracketed;
+      } else if (bracketed) {
+        currentFull += c;
+      } else if (c === current) {
+        currentFull += c;
+      } else {
+        if (currentFull.length > 0) {
+          splits.push({ literal: /^\s+$/.test(currentFull), val: currentFull });
+        }
+        currentFull = c;
+        current = c;
+      }
+    }
+
+    if (currentFull.length > 0) {
+      splits.push({ literal: bracketed || /^\s+$/.test(currentFull), val: currentFull });
+    }
+
+    return splits;
+  }
+
+  static macroTokenToFormatOpts(token) {
+    return macroTokenToFormatOpts[token];
+  }
+
+  constructor(locale, formatOpts) {
+    this.opts = formatOpts;
+    this.loc = locale;
+    this.systemLoc = null;
+  }
+
+  formatWithSystemDefault(dt, opts) {
+    if (this.systemLoc === null) {
+      this.systemLoc = this.loc.redefaultToSystem();
+    }
+    const df = this.systemLoc.dtFormatter(dt, { ...this.opts, ...opts });
+    return df.format();
+  }
+
+  dtFormatter(dt, opts = {}) {
+    return this.loc.dtFormatter(dt, { ...this.opts, ...opts });
+  }
+
+  formatDateTime(dt, opts) {
+    return this.dtFormatter(dt, opts).format();
+  }
+
+  formatDateTimeParts(dt, opts) {
+    return this.dtFormatter(dt, opts).formatToParts();
+  }
+
+  formatInterval(interval, opts) {
+    const df = this.dtFormatter(interval.start, opts);
+    return df.dtf.formatRange(interval.start.toJSDate(), interval.end.toJSDate());
+  }
+
+  resolvedOptions(dt, opts) {
+    return this.dtFormatter(dt, opts).resolvedOptions();
+  }
+
+  num(n, p = 0) {
+    // we get some perf out of doing this here, annoyingly
+    if (this.opts.forceSimple) {
+      return padStart(n, p);
+    }
+
+    const opts = { ...this.opts };
+
+    if (p > 0) {
+      opts.padTo = p;
+    }
+
+    return this.loc.numberFormatter(opts).format(n);
+  }
+
+  formatDateTimeFromString(dt, fmt) {
+    const knownEnglish = this.loc.listingMode() === "en",
+      useDateTimeFormatter = this.loc.outputCalendar && this.loc.outputCalendar !== "gregory",
+      string = (opts, extract) => this.loc.extract(dt, opts, extract),
+      formatOffset = (opts) => {
+        if (dt.isOffsetFixed && dt.offset === 0 && opts.allowZ) {
+          return "Z";
+        }
+
+        return dt.isValid ? dt.zone.formatOffset(dt.ts, opts.format) : "";
+      },
+      meridiem = () =>
+        knownEnglish
+          ? meridiemForDateTime(dt)
+          : string({ hour: "numeric", hourCycle: "h12" }, "dayperiod"),
+      month = (length, standalone) =>
+        knownEnglish
+          ? monthForDateTime(dt, length)
+          : string(standalone ? { month: length } : { month: length, day: "numeric" }, "month"),
+      weekday = (length, standalone) =>
+        knownEnglish
+          ? weekdayForDateTime(dt, length)
+          : string(
+              standalone ? { weekday: length } : { weekday: length, month: "long", day: "numeric" },
+              "weekday"
+            ),
+      maybeMacro = (token) => {
+        const formatOpts = Formatter.macroTokenToFormatOpts(token);
+        if (formatOpts) {
+          return this.formatWithSystemDefault(dt, formatOpts);
+        } else {
+          return token;
+        }
+      },
+      era = (length) =>
+        knownEnglish ? eraForDateTime(dt, length) : string({ era: length }, "era"),
+      tokenToString = (token) => {
+        // Where possible: https://cldr.unicode.org/translation/date-time/date-time-symbols
+        switch (token) {
+          // ms
+          case "S":
+            return this.num(dt.millisecond);
+          case "u":
+          // falls through
+          case "SSS":
+            return this.num(dt.millisecond, 3);
+          // seconds
+          case "s":
+            return this.num(dt.second);
+          case "ss":
+            return this.num(dt.second, 2);
+          // fractional seconds
+          case "uu":
+            return this.num(Math.floor(dt.millisecond / 10), 2);
+          case "uuu":
+            return this.num(Math.floor(dt.millisecond / 100));
+          // minutes
+          case "m":
+            return this.num(dt.minute);
+          case "mm":
+            return this.num(dt.minute, 2);
+          // hours
+          case "h":
+            return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12);
+          case "hh":
+            return this.num(dt.hour % 12 === 0 ? 12 : dt.hour % 12, 2);
+          case "H":
+            return this.num(dt.hour);
+          case "HH":
+            return this.num(dt.hour, 2);
+          // offset
+          case "Z":
+            // like +6
+            return formatOffset({ format: "narrow", allowZ: this.opts.allowZ });
+          case "ZZ":
+            // like +06:00
+            return formatOffset({ format: "short", allowZ: this.opts.allowZ });
+          case "ZZZ":
+            // like +0600
+            return formatOffset({ format: "techie", allowZ: this.opts.allowZ });
+          case "ZZZZ":
+            // like EST
+            return dt.zone.offsetName(dt.ts, { format: "short", locale: this.loc.locale });
+          case "ZZZZZ":
+            // like Eastern Standard Time
+            return dt.zone.offsetName(dt.ts, { format: "long", locale: this.loc.locale });
+          // zone
+          case "z":
+            // like America/New_York
+            return dt.zoneName;
+          // meridiems
+          case "a":
+            return meridiem();
+          // dates
+          case "d":
+            return useDateTimeFormatter ? string({ day: "numeric" }, "day") : this.num(dt.day);
+          case "dd":
+            return useDateTimeFormatter ? string({ day: "2-digit" }, "day") : this.num(dt.day, 2);
+          // weekdays - standalone
+          case "c":
+            // like 1
+            return this.num(dt.weekday);
+          case "ccc":
+            // like 'Tues'
+            return weekday("short", true);
+          case "cccc":
+            // like 'Tuesday'
+            return weekday("long", true);
+          case "ccccc":
+            // like 'T'
+            return weekday("narrow", true);
+          // weekdays - format
+          case "E":
+            // like 1
+            return this.num(dt.weekday);
+          case "EEE":
+            // like 'Tues'
+            return weekday("short", false);
+          case "EEEE":
+            // like 'Tuesday'
+            return weekday("long", false);
+          case "EEEEE":
+            // like 'T'
+            return weekday("narrow", false);
+          // months - standalone
+          case "L":
+            // like 1
+            return useDateTimeFormatter
+              ? string({ month: "numeric", day: "numeric" }, "month")
+              : this.num(dt.month);
+          case "LL":
+            // like 01, doesn't seem to work
+            return useDateTimeFormatter
+              ? string({ month: "2-digit", day: "numeric" }, "month")
+              : this.num(dt.month, 2);
+          case "LLL":
+            // like Jan
+            return month("short", true);
+          case "LLLL":
+            // like January
+            return month("long", true);
+          case "LLLLL":
+            // like J
+            return month("narrow", true);
+          // months - format
+          case "M":
+            // like 1
+            return useDateTimeFormatter
+              ? string({ month: "numeric" }, "month")
+              : this.num(dt.month);
+          case "MM":
+            // like 01
+            return useDateTimeFormatter
+              ? string({ month: "2-digit" }, "month")
+              : this.num(dt.month, 2);
+          case "MMM":
+            // like Jan
+            return month("short", false);
+          case "MMMM":
+            // like January
+            return month("long", false);
+          case "MMMMM":
+            // like J
+            return month("narrow", false);
+          // years
+          case "y":
+            // like 2014
+            return useDateTimeFormatter ? string({ year: "numeric" }, "year") : this.num(dt.year);
+          case "yy":
+            // like 14
+            return useDateTimeFormatter
+              ? string({ year: "2-digit" }, "year")
+              : this.num(dt.year.toString().slice(-2), 2);
+          case "yyyy":
+            // like 0012
+            return useDateTimeFormatter
+              ? string({ year: "numeric" }, "year")
+              : this.num(dt.year, 4);
+          case "yyyyyy":
+            // like 000012
+            return useDateTimeFormatter
+              ? string({ year: "numeric" }, "year")
+              : this.num(dt.year, 6);
+          // eras
+          case "G":
+            // like AD
+            return era("short");
+          case "GG":
+            // like Anno Domini
+            return era("long");
+          case "GGGGG":
+            return era("narrow");
+          case "kk":
+            return this.num(dt.weekYear.toString().slice(-2), 2);
+          case "kkkk":
+            return this.num(dt.weekYear, 4);
+          case "W":
+            return this.num(dt.weekNumber);
+          case "WW":
+            return this.num(dt.weekNumber, 2);
+          case "o":
+            return this.num(dt.ordinal);
+          case "ooo":
+            return this.num(dt.ordinal, 3);
+          case "q":
+            // like 1
+            return this.num(dt.quarter);
+          case "qq":
+            // like 01
+            return this.num(dt.quarter, 2);
+          case "X":
+            return this.num(Math.floor(dt.ts / 1000));
+          case "x":
+            return this.num(dt.ts);
+          default:
+            return maybeMacro(token);
+        }
+      };
+
+    return stringifyTokens(Formatter.parseFormat(fmt), tokenToString);
+  }
+
+  formatDurationFromString(dur, fmt) {
+    const tokenToField = (token) => {
+        switch (token[0]) {
+          case "S":
+            return "millisecond";
+          case "s":
+            return "second";
+          case "m":
+            return "minute";
+          case "h":
+            return "hour";
+          case "d":
+            return "day";
+          case "w":
+            return "week";
+          case "M":
+            return "month";
+          case "y":
+            return "year";
+          default:
+            return null;
+        }
+      },
+      tokenToString = (lildur) => (token) => {
+        const mapped = tokenToField(token);
+        if (mapped) {
+          return this.num(lildur.get(mapped), token.length);
+        } else {
+          return token;
+        }
+      },
+      tokens = Formatter.parseFormat(fmt),
+      realTokens = tokens.reduce(
+        (found, { literal, val }) => (literal ? found : found.concat(val)),
+        []
+      ),
+      collapsed = dur.shiftTo(...realTokens.map(tokenToField).filter((t) => t));
+    return stringifyTokens(tokens, tokenToString(collapsed));
+  }
+}
+
+class Invalid {
+  constructor(reason, explanation) {
+    this.reason = reason;
+    this.explanation = explanation;
+  }
+
+  toMessage() {
+    if (this.explanation) {
+      return `${this.reason}: ${this.explanation}`;
+    } else {
+      return this.reason;
+    }
+  }
+}
+
+/*
+ * This file handles parsing for well-specified formats. Here's how it works:
+ * Two things go into parsing: a regex to match with and an extractor to take apart the groups in the match.
+ * An extractor is just a function that takes a regex match array and returns a { year: ..., month: ... } object
+ * parse() does the work of executing the regex and applying the extractor. It takes multiple regex/extractor pairs to try in sequence.
+ * Extractors can take a "cursor" representing the offset in the match to look at. This makes it easy to combine extractors.
+ * combineExtractors() does the work of combining them, keeping track of the cursor through multiple extractions.
+ * Some extractions are super dumb and simpleParse and fromStrings help DRY them.
+ */
+
+const ianaRegex = /[A-Za-z_+-]{1,256}(?::?\/[A-Za-z0-9_+-]{1,256}(?:\/[A-Za-z0-9_+-]{1,256})?)?/;
+
+function combineRegexes(...regexes) {
+  const full = regexes.reduce((f, r) => f + r.source, "");
+  return RegExp(`^${full}$`);
+}
+
+function combineExtractors(...extractors) {
+  return (m) =>
+    extractors
+      .reduce(
+        ([mergedVals, mergedZone, cursor], ex) => {
+          const [val, zone, next] = ex(m, cursor);
+          return [{ ...mergedVals, ...val }, zone || mergedZone, next];
+        },
+        [{}, null, 1]
+      )
+      .slice(0, 2);
+}
+
+function parse(s, ...patterns) {
+  if (s == null) {
+    return [null, null];
+  }
+
+  for (const [regex, extractor] of patterns) {
+    const m = regex.exec(s);
+    if (m) {
+      return extractor(m);
+    }
+  }
+  return [null, null];
+}
+
+function simpleParse(...keys) {
+  return (match, cursor) => {
+    const ret = {};
+    let i;
+
+    for (i = 0; i < keys.length; i++) {
+      ret[keys[i]] = parseInteger(match[cursor + i]);
+    }
+    return [ret, null, cursor + i];
+  };
+}
+
+// ISO and SQL parsing
+const offsetRegex = /(?:(Z)|([+-]\d\d)(?::?(\d\d))?)/;
+const isoExtendedZone = `(?:${offsetRegex.source}?(?:\\[(${ianaRegex.source})\\])?)?`;
+const isoTimeBaseRegex = /(\d\d)(?::?(\d\d)(?::?(\d\d)(?:[.,](\d{1,30}))?)?)?/;
+const isoTimeRegex = RegExp(`${isoTimeBaseRegex.source}${isoExtendedZone}`);
+const isoTimeExtensionRegex = RegExp(`(?:T${isoTimeRegex.source})?`);
+const isoYmdRegex = /([+-]\d{6}|\d{4})(?:-?(\d\d)(?:-?(\d\d))?)?/;
+const isoWeekRegex = /(\d{4})-?W(\d\d)(?:-?(\d))?/;
+const isoOrdinalRegex = /(\d{4})-?(\d{3})/;
+const extractISOWeekData = simpleParse("weekYear", "weekNumber", "weekDay");
+const extractISOOrdinalData = simpleParse("year", "ordinal");
+const sqlYmdRegex = /(\d{4})-(\d\d)-(\d\d)/; // dumbed-down version of the ISO one
+const sqlTimeRegex = RegExp(
+  `${isoTimeBaseRegex.source} ?(?:${offsetRegex.source}|(${ianaRegex.source}))?`
+);
+const sqlTimeExtensionRegex = RegExp(`(?: ${sqlTimeRegex.source})?`);
+
+function int(match, pos, fallback) {
+  const m = match[pos];
+  return isUndefined(m) ? fallback : parseInteger(m);
+}
+
+function extractISOYmd(match, cursor) {
+  const item = {
+    year: int(match, cursor),
+    month: int(match, cursor + 1, 1),
+    day: int(match, cursor + 2, 1),
+  };
+
+  return [item, null, cursor + 3];
+}
+
+function extractISOTime(match, cursor) {
+  const item = {
+    hours: int(match, cursor, 0),
+    minutes: int(match, cursor + 1, 0),
+    seconds: int(match, cursor + 2, 0),
+    milliseconds: parseMillis(match[cursor + 3]),
+  };
+
+  return [item, null, cursor + 4];
+}
+
+function extractISOOffset(match, cursor) {
+  const local = !match[cursor] && !match[cursor + 1],
+    fullOffset = signedOffset(match[cursor + 1], match[cursor + 2]),
+    zone = local ? null : FixedOffsetZone.instance(fullOffset);
+  return [{}, zone, cursor + 3];
+}
+
+function extractIANAZone(match, cursor) {
+  const zone = match[cursor] ? IANAZone.create(match[cursor]) : null;
+  return [{}, zone, cursor + 1];
+}
+
+// ISO time parsing
+
+const isoTimeOnly = RegExp(`^T?${isoTimeBaseRegex.source}$`);
+
+// ISO duration parsing
+
+const isoDuration =
+  /^-?P(?:(?:(-?\d{1,20}(?:\.\d{1,20})?)Y)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20}(?:\.\d{1,20})?)W)?(?:(-?\d{1,20}(?:\.\d{1,20})?)D)?(?:T(?:(-?\d{1,20}(?:\.\d{1,20})?)H)?(?:(-?\d{1,20}(?:\.\d{1,20})?)M)?(?:(-?\d{1,20})(?:[.,](-?\d{1,20}))?S)?)?)$/;
+
+function extractISODuration(match) {
+  const [s, yearStr, monthStr, weekStr, dayStr, hourStr, minuteStr, secondStr, millisecondsStr] =
+    match;
+
+  const hasNegativePrefix = s[0] === "-";
+  const negativeSeconds = secondStr && secondStr[0] === "-";
+
+  const maybeNegate = (num, force = false) =>
+    num !== undefined && (force || (num && hasNegativePrefix)) ? -num : num;
+
+  return [
+    {
+      years: maybeNegate(parseFloating(yearStr)),
+      months: maybeNegate(parseFloating(monthStr)),
+      weeks: maybeNegate(parseFloating(weekStr)),
+      days: maybeNegate(parseFloating(dayStr)),
+      hours: maybeNegate(parseFloating(hourStr)),
+      minutes: maybeNegate(parseFloating(minuteStr)),
+      seconds: maybeNegate(parseFloating(secondStr), secondStr === "-0"),
+      milliseconds: maybeNegate(parseMillis(millisecondsStr), negativeSeconds),
+    },
+  ];
+}
+
+// These are a little braindead. EDT *should* tell us that we're in, say, America/New_York
+// and not just that we're in -240 *right now*. But since I don't think these are used that often
+// I'm just going to ignore that
+const obsOffsets = {
+  GMT: 0,
+  EDT: -4 * 60,
+  EST: -5 * 60,
+  CDT: -5 * 60,
+  CST: -6 * 60,
+  MDT: -6 * 60,
+  MST: -7 * 60,
+  PDT: -7 * 60,
+  PST: -8 * 60,
+};
+
+function fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
+  const result = {
+    year: yearStr.length === 2 ? untruncateYear(parseInteger(yearStr)) : parseInteger(yearStr),
+    month: monthsShort.indexOf(monthStr) + 1,
+    day: parseInteger(dayStr),
+    hour: parseInteger(hourStr),
+    minute: parseInteger(minuteStr),
+  };
+
+  if (secondStr) result.second = parseInteger(secondStr);
+  if (weekdayStr) {
+    result.weekday =
+      weekdayStr.length > 3
+        ? weekdaysLong.indexOf(weekdayStr) + 1
+        : weekdaysShort.indexOf(weekdayStr) + 1;
+  }
+
+  return result;
+}
+
+// RFC 2822/5322
+const rfc2822 =
+  /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|(?:([+-]\d\d)(\d\d)))$/;
+
+function extractRFC2822(match) {
+  const [
+      ,
+      weekdayStr,
+      dayStr,
+      monthStr,
+      yearStr,
+      hourStr,
+      minuteStr,
+      secondStr,
+      obsOffset,
+      milOffset,
+      offHourStr,
+      offMinuteStr,
+    ] = match,
+    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);
+
+  let offset;
+  if (obsOffset) {
+    offset = obsOffsets[obsOffset];
+  } else if (milOffset) {
+    offset = 0;
+  } else {
+    offset = signedOffset(offHourStr, offMinuteStr);
+  }
+
+  return [result, new FixedOffsetZone(offset)];
+}
+
+function preprocessRFC2822(s) {
+  // Remove comments and folding whitespace and replace multiple-spaces with a single space
+  return s
+    .replace(/\([^()]*\)|[\n\t]/g, " ")
+    .replace(/(\s\s+)/g, " ")
+    .trim();
+}
+
+// http date
+
+const rfc1123 =
+    /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), (\d\d) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{4}) (\d\d):(\d\d):(\d\d) GMT$/,
+  rfc850 =
+    /^(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday), (\d\d)-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-(\d\d) (\d\d):(\d\d):(\d\d) GMT$/,
+  ascii =
+    /^(Mon|Tue|Wed|Thu|Fri|Sat|Sun) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ( \d|\d\d) (\d\d):(\d\d):(\d\d) (\d{4})$/;
+
+function extractRFC1123Or850(match) {
+  const [, weekdayStr, dayStr, monthStr, yearStr, hourStr, minuteStr, secondStr] = match,
+    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);
+  return [result, FixedOffsetZone.utcInstance];
+}
+
+function extractASCII(match) {
+  const [, weekdayStr, monthStr, dayStr, hourStr, minuteStr, secondStr, yearStr] = match,
+    result = fromStrings(weekdayStr, yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr);
+  return [result, FixedOffsetZone.utcInstance];
+}
+
+const isoYmdWithTimeExtensionRegex = combineRegexes(isoYmdRegex, isoTimeExtensionRegex);
+const isoWeekWithTimeExtensionRegex = combineRegexes(isoWeekRegex, isoTimeExtensionRegex);
+const isoOrdinalWithTimeExtensionRegex = combineRegexes(isoOrdinalRegex, isoTimeExtensionRegex);
+const isoTimeCombinedRegex = combineRegexes(isoTimeRegex);
+
+const extractISOYmdTimeAndOffset = combineExtractors(
+  extractISOYmd,
+  extractISOTime,
+  extractISOOffset,
+  extractIANAZone
+);
+const extractISOWeekTimeAndOffset = combineExtractors(
+  extractISOWeekData,
+  extractISOTime,
+  extractISOOffset,
+  extractIANAZone
+);
+const extractISOOrdinalDateAndTime = combineExtractors(
+  extractISOOrdinalData,
+  extractISOTime,
+  extractISOOffset,
+  extractIANAZone
+);
+const extractISOTimeAndOffset = combineExtractors(
+  extractISOTime,
+  extractISOOffset,
+  extractIANAZone
+);
+
+/*
+ * @private
+ */
+
+function parseISODate(s) {
+  return parse(
+    s,
+    [isoYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],
+    [isoWeekWithTimeExtensionRegex, extractISOWeekTimeAndOffset],
+    [isoOrdinalWithTimeExtensionRegex, extractISOOrdinalDateAndTime],
+    [isoTimeCombinedRegex, extractISOTimeAndOffset]
+  );
+}
+
+function parseRFC2822Date(s) {
+  return parse(preprocessRFC2822(s), [rfc2822, extractRFC2822]);
+}
+
+function parseHTTPDate(s) {
+  return parse(
+    s,
+    [rfc1123, extractRFC1123Or850],
+    [rfc850, extractRFC1123Or850],
+    [ascii, extractASCII]
+  );
+}
+
+function parseISODuration(s) {
+  return parse(s, [isoDuration, extractISODuration]);
+}
+
+const extractISOTimeOnly = combineExtractors(extractISOTime);
+
+function parseISOTimeOnly(s) {
+  return parse(s, [isoTimeOnly, extractISOTimeOnly]);
+}
+
+const sqlYmdWithTimeExtensionRegex = combineRegexes(sqlYmdRegex, sqlTimeExtensionRegex);
+const sqlTimeCombinedRegex = combineRegexes(sqlTimeRegex);
+
+const extractISOTimeOffsetAndIANAZone = combineExtractors(
+  extractISOTime,
+  extractISOOffset,
+  extractIANAZone
+);
+
+function parseSQL(s) {
+  return parse(
+    s,
+    [sqlYmdWithTimeExtensionRegex, extractISOYmdTimeAndOffset],
+    [sqlTimeCombinedRegex, extractISOTimeOffsetAndIANAZone]
+  );
+}
+
+const INVALID$2 = "Invalid Duration";
+
+// unit conversion constants
+const lowOrderMatrix = {
+    weeks: {
+      days: 7,
+      hours: 7 * 24,
+      minutes: 7 * 24 * 60,
+      seconds: 7 * 24 * 60 * 60,
+      milliseconds: 7 * 24 * 60 * 60 * 1000,
+    },
+    days: {
+      hours: 24,
+      minutes: 24 * 60,
+      seconds: 24 * 60 * 60,
+      milliseconds: 24 * 60 * 60 * 1000,
+    },
+    hours: { minutes: 60, seconds: 60 * 60, milliseconds: 60 * 60 * 1000 },
+    minutes: { seconds: 60, milliseconds: 60 * 1000 },
+    seconds: { milliseconds: 1000 },
+  },
+  casualMatrix = {
+    years: {
+      quarters: 4,
+      months: 12,
+      weeks: 52,
+      days: 365,
+      hours: 365 * 24,
+      minutes: 365 * 24 * 60,
+      seconds: 365 * 24 * 60 * 60,
+      milliseconds: 365 * 24 * 60 * 60 * 1000,
+    },
+    quarters: {
+      months: 3,
+      weeks: 13,
+      days: 91,
+      hours: 91 * 24,
+      minutes: 91 * 24 * 60,
+      seconds: 91 * 24 * 60 * 60,
+      milliseconds: 91 * 24 * 60 * 60 * 1000,
+    },
+    months: {
+      weeks: 4,
+      days: 30,
+      hours: 30 * 24,
+      minutes: 30 * 24 * 60,
+      seconds: 30 * 24 * 60 * 60,
+      milliseconds: 30 * 24 * 60 * 60 * 1000,
+    },
+
+    ...lowOrderMatrix,
+  },
+  daysInYearAccurate = 146097.0 / 400,
+  daysInMonthAccurate = 146097.0 / 4800,
+  accurateMatrix = {
+    years: {
+      quarters: 4,
+      months: 12,
+      weeks: daysInYearAccurate / 7,
+      days: daysInYearAccurate,
+      hours: daysInYearAccurate * 24,
+      minutes: daysInYearAccurate * 24 * 60,
+      seconds: daysInYearAccurate * 24 * 60 * 60,
+      milliseconds: daysInYearAccurate * 24 * 60 * 60 * 1000,
+    },
+    quarters: {
+      months: 3,
+      weeks: daysInYearAccurate / 28,
+      days: daysInYearAccurate / 4,
+      hours: (daysInYearAccurate * 24) / 4,
+      minutes: (daysInYearAccurate * 24 * 60) / 4,
+      seconds: (daysInYearAccurate * 24 * 60 * 60) / 4,
+      milliseconds: (daysInYearAccurate * 24 * 60 * 60 * 1000) / 4,
+    },
+    months: {
+      weeks: daysInMonthAccurate / 7,
+      days: daysInMonthAccurate,
+      hours: daysInMonthAccurate * 24,
+      minutes: daysInMonthAccurate * 24 * 60,
+      seconds: daysInMonthAccurate * 24 * 60 * 60,
+      milliseconds: daysInMonthAccurate * 24 * 60 * 60 * 1000,
+    },
+    ...lowOrderMatrix,
+  };
+
+// units ordered by size
+const orderedUnits$1 = [
+  "years",
+  "quarters",
+  "months",
+  "weeks",
+  "days",
+  "hours",
+  "minutes",
+  "seconds",
+  "milliseconds",
+];
+
+const reverseUnits = orderedUnits$1.slice(0).reverse();
+
+// clone really means "create another instance just like this one, but with these changes"
+function clone$1(dur, alts, clear = false) {
+  // deep merge for vals
+  const conf = {
+    values: clear ? alts.values : { ...dur.values, ...(alts.values || {}) },
+    loc: dur.loc.clone(alts.loc),
+    conversionAccuracy: alts.conversionAccuracy || dur.conversionAccuracy,
+    matrix: alts.matrix || dur.matrix,
+  };
+  return new Duration(conf);
+}
+
+function durationToMillis(matrix, vals) {
+  let sum = vals.milliseconds ?? 0;
+  for (const unit of reverseUnits.slice(1)) {
+    if (vals[unit]) {
+      sum += vals[unit] * matrix[unit]["milliseconds"];
+    }
+  }
+  return sum;
+}
+
+// NB: mutates parameters
+function normalizeValues(matrix, vals) {
+  // the logic below assumes the overall value of the duration is positive
+  // if this is not the case, factor is used to make it so
+  const factor = durationToMillis(matrix, vals) < 0 ? -1 : 1;
+
+  orderedUnits$1.reduceRight((previous, current) => {
+    if (!isUndefined(vals[current])) {
+      if (previous) {
+        const previousVal = vals[previous] * factor;
+        const conv = matrix[current][previous];
+
+        // if (previousVal < 0):
+        // lower order unit is negative (e.g. { years: 2, days: -2 })
+        // normalize this by reducing the higher order unit by the appropriate amount
+        // and increasing the lower order unit
+        // this can never make the higher order unit negative, because this function only operates
+        // on positive durations, so the amount of time represented by the lower order unit cannot
+        // be larger than the higher order unit
+        // else:
+        // lower order unit is positive (e.g. { years: 2, days: 450 } or { years: -2, days: 450 })
+        // in this case we attempt to convert as much as possible from the lower order unit into
+        // the higher order one
+        //
+        // Math.floor takes care of both of these cases, rounding away from 0
+        // if previousVal < 0 it makes the absolute value larger
+        // if previousVal >= it makes the absolute value smaller
+        const rollUp = Math.floor(previousVal / conv);
+        vals[current] += rollUp * factor;
+        vals[previous] -= rollUp * conv * factor;
+      }
+      return current;
+    } else {
+      return previous;
+    }
+  }, null);
+
+  // try to convert any decimals into smaller units if possible
+  // for example for { years: 2.5, days: 0, seconds: 0 } we want to get { years: 2, days: 182, hours: 12 }
+  orderedUnits$1.reduce((previous, current) => {
+    if (!isUndefined(vals[current])) {
+      if (previous) {
+        const fraction = vals[previous] % 1;
+        vals[previous] -= fraction;
+        vals[current] += fraction * matrix[previous][current];
+      }
+      return current;
+    } else {
+      return previous;
+    }
+  }, null);
+}
+
+// Remove all properties with a value of 0 from an object
+function removeZeroes(vals) {
+  const newVals = {};
+  for (const [key, value] of Object.entries(vals)) {
+    if (value !== 0) {
+      newVals[key] = value;
+    }
+  }
+  return newVals;
+}
+
+/**
+ * A Duration object represents a period of time, like "2 months" or "1 day, 1 hour". Conceptually, it's just a map of units to their quantities, accompanied by some additional configuration and methods for creating, parsing, interrogating, transforming, and formatting them. They can be used on their own or in conjunction with other Luxon types; for example, you can use {@link DateTime#plus} to add a Duration object to a DateTime, producing another DateTime.
+ *
+ * Here is a brief overview of commonly used methods and getters in Duration:
+ *
+ * * **Creation** To create a Duration, use {@link Duration.fromMillis}, {@link Duration.fromObject}, or {@link Duration.fromISO}.
+ * * **Unit values** See the {@link Duration#years}, {@link Duration#months}, {@link Duration#weeks}, {@link Duration#days}, {@link Duration#hours}, {@link Duration#minutes}, {@link Duration#seconds}, {@link Duration#milliseconds} accessors.
+ * * **Configuration** See  {@link Duration#locale} and {@link Duration#numberingSystem} accessors.
+ * * **Transformation** To create new Durations out of old ones use {@link Duration#plus}, {@link Duration#minus}, {@link Duration#normalize}, {@link Duration#set}, {@link Duration#reconfigure}, {@link Duration#shiftTo}, and {@link Duration#negate}.
+ * * **Output** To convert the Duration into other representations, see {@link Duration#as}, {@link Duration#toISO}, {@link Duration#toFormat}, and {@link Duration#toJSON}
+ *
+ * There's are more methods documented below. In addition, for more information on subtler topics like internationalization and validity, see the external documentation.
+ */
+class Duration {
+  /**
+   * @private
+   */
+  constructor(config) {
+    const accurate = config.conversionAccuracy === "longterm" || false;
+    let matrix = accurate ? accurateMatrix : casualMatrix;
+
+    if (config.matrix) {
+      matrix = config.matrix;
+    }
+
+    /**
+     * @access private
+     */
+    this.values = config.values;
+    /**
+     * @access private
+     */
+    this.loc = config.loc || Locale.create();
+    /**
+     * @access private
+     */
+    this.conversionAccuracy = accurate ? "longterm" : "casual";
+    /**
+     * @access private
+     */
+    this.invalid = config.invalid || null;
+    /**
+     * @access private
+     */
+    this.matrix = matrix;
+    /**
+     * @access private
+     */
+    this.isLuxonDuration = true;
+  }
+
+  /**
+   * Create Duration from a number of milliseconds.
+   * @param {number} count of milliseconds
+   * @param {Object} opts - options for parsing
+   * @param {string} [opts.locale='en-US'] - the locale to use
+   * @param {string} opts.numberingSystem - the numbering system to use
+   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use
+   * @return {Duration}
+   */
+  static fromMillis(count, opts) {
+    return Duration.fromObject({ milliseconds: count }, opts);
+  }
+
+  /**
+   * Create a Duration from a JavaScript object with keys like 'years' and 'hours'.
+   * If this object is empty then a zero milliseconds duration is returned.
+   * @param {Object} obj - the object to create the DateTime from
+   * @param {number} obj.years
+   * @param {number} obj.quarters
+   * @param {number} obj.months
+   * @param {number} obj.weeks
+   * @param {number} obj.days
+   * @param {number} obj.hours
+   * @param {number} obj.minutes
+   * @param {number} obj.seconds
+   * @param {number} obj.milliseconds
+   * @param {Object} [opts=[]] - options for creating this Duration
+   * @param {string} [opts.locale='en-US'] - the locale to use
+   * @param {string} opts.numberingSystem - the numbering system to use
+   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use
+   * @param {string} [opts.matrix=Object] - the custom conversion system to use
+   * @return {Duration}
+   */
+  static fromObject(obj, opts = {}) {
+    if (obj == null || typeof obj !== "object") {
+      throw new InvalidArgumentError(
+        `Duration.fromObject: argument expected to be an object, got ${
+          obj === null ? "null" : typeof obj
+        }`
+      );
+    }
+
+    return new Duration({
+      values: normalizeObject(obj, Duration.normalizeUnit),
+      loc: Locale.fromObject(opts),
+      conversionAccuracy: opts.conversionAccuracy,
+      matrix: opts.matrix,
+    });
+  }
+
+  /**
+   * Create a Duration from DurationLike.
+   *
+   * @param {Object | number | Duration} durationLike
+   * One of:
+   * - object with keys like 'years' and 'hours'.
+   * - number representing milliseconds
+   * - Duration instance
+   * @return {Duration}
+   */
+  static fromDurationLike(durationLike) {
+    if (isNumber(durationLike)) {
+      return Duration.fromMillis(durationLike);
+    } else if (Duration.isDuration(durationLike)) {
+      return durationLike;
+    } else if (typeof durationLike === "object") {
+      return Duration.fromObject(durationLike);
+    } else {
+      throw new InvalidArgumentError(
+        `Unknown duration argument ${durationLike} of type ${typeof durationLike}`
+      );
+    }
+  }
+
+  /**
+   * Create a Duration from an ISO 8601 duration string.
+   * @param {string} text - text to parse
+   * @param {Object} opts - options for parsing
+   * @param {string} [opts.locale='en-US'] - the locale to use
+   * @param {string} opts.numberingSystem - the numbering system to use
+   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use
+   * @param {string} [opts.matrix=Object] - the preset conversion system to use
+   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations
+   * @example Duration.fromISO('P3Y6M1W4DT12H30M5S').toObject() //=> { years: 3, months: 6, weeks: 1, days: 4, hours: 12, minutes: 30, seconds: 5 }
+   * @example Duration.fromISO('PT23H').toObject() //=> { hours: 23 }
+   * @example Duration.fromISO('P5Y3M').toObject() //=> { years: 5, months: 3 }
+   * @return {Duration}
+   */
+  static fromISO(text, opts) {
+    const [parsed] = parseISODuration(text);
+    if (parsed) {
+      return Duration.fromObject(parsed, opts);
+    } else {
+      return Duration.invalid("unparsable", `the input "${text}" can't be parsed as ISO 8601`);
+    }
+  }
+
+  /**
+   * Create a Duration from an ISO 8601 time string.
+   * @param {string} text - text to parse
+   * @param {Object} opts - options for parsing
+   * @param {string} [opts.locale='en-US'] - the locale to use
+   * @param {string} opts.numberingSystem - the numbering system to use
+   * @param {string} [opts.conversionAccuracy='casual'] - the preset conversion system to use
+   * @param {string} [opts.matrix=Object] - the conversion system to use
+   * @see https://en.wikipedia.org/wiki/ISO_8601#Times
+   * @example Duration.fromISOTime('11:22:33.444').toObject() //=> { hours: 11, minutes: 22, seconds: 33, milliseconds: 444 }
+   * @example Duration.fromISOTime('11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }
+   * @example Duration.fromISOTime('T11:00').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }
+   * @example Duration.fromISOTime('1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }
+   * @example Duration.fromISOTime('T1100').toObject() //=> { hours: 11, minutes: 0, seconds: 0 }
+   * @return {Duration}
+   */
+  static fromISOTime(text, opts) {
+    const [parsed] = parseISOTimeOnly(text);
+    if (parsed) {
+      return Duration.fromObject(parsed, opts);
+    } else {
+      return Duration.invalid("unparsable", `the input "${text}" can't be parsed as ISO 8601`);
+    }
+  }
+
+  /**
+   * Create an invalid Duration.
+   * @param {string} reason - simple string of why this datetime is invalid. Should not contain parameters or anything else data-dependent
+   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information
+   * @return {Duration}
+   */
+  static invalid(reason, explanation = null) {
+    if (!reason) {
+      throw new InvalidArgumentError("need to specify a reason the Duration is invalid");
+    }
+
+    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);
+
+    if (Settings.throwOnInvalid) {
+      throw new InvalidDurationError(invalid);
+    } else {
+      return new Duration({ invalid });
+    }
+  }
+
+  /**
+   * @private
+   */
+  static normalizeUnit(unit) {
+    const normalized = {
+      year: "years",
+      years: "years",
+      quarter: "quarters",
+      quarters: "quarters",
+      month: "months",
+      months: "months",
+      week: "weeks",
+      weeks: "weeks",
+      day: "days",
+      days: "days",
+      hour: "hours",
+      hours: "hours",
+      minute: "minutes",
+      minutes: "minutes",
+      second: "seconds",
+      seconds: "seconds",
+      millisecond: "milliseconds",
+      milliseconds: "milliseconds",
+    }[unit ? unit.toLowerCase() : unit];
+
+    if (!normalized) throw new InvalidUnitError(unit);
+
+    return normalized;
+  }
+
+  /**
+   * Check if an object is a Duration. Works across context boundaries
+   * @param {object} o
+   * @return {boolean}
+   */
+  static isDuration(o) {
+    return (o && o.isLuxonDuration) || false;
+  }
+
+  /**
+   * Get  the locale of a Duration, such 'en-GB'
+   * @type {string}
+   */
+  get locale() {
+    return this.isValid ? this.loc.locale : null;
+  }
+
+  /**
+   * Get the numbering system of a Duration, such 'beng'. The numbering system is used when formatting the Duration
+   *
+   * @type {string}
+   */
+  get numberingSystem() {
+    return this.isValid ? this.loc.numberingSystem : null;
+  }
+
+  /**
+   * Returns a string representation of this Duration formatted according to the specified format string. You may use these tokens:
+   * * `S` for milliseconds
+   * * `s` for seconds
+   * * `m` for minutes
+   * * `h` for hours
+   * * `d` for days
+   * * `w` for weeks
+   * * `M` for months
+   * * `y` for years
+   * Notes:
+   * * Add padding by repeating the token, e.g. "yy" pads the years to two digits, "hhhh" pads the hours out to four digits
+   * * Tokens can be escaped by wrapping with single quotes.
+   * * The duration will be converted to the set of units in the format string using {@link Duration#shiftTo} and the Durations's conversion accuracy setting.
+   * @param {string} fmt - the format string
+   * @param {Object} opts - options
+   * @param {boolean} [opts.floor=true] - floor numerical values
+   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("y d s") //=> "1 6 2"
+   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("yy dd sss") //=> "01 06 002"
+   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toFormat("M S") //=> "12 518402000"
+   * @return {string}
+   */
+  toFormat(fmt, opts = {}) {
+    // reverse-compat since 1.2; we always round down now, never up, and we do it by default
+    const fmtOpts = {
+      ...opts,
+      floor: opts.round !== false && opts.floor !== false,
+    };
+    return this.isValid
+      ? Formatter.create(this.loc, fmtOpts).formatDurationFromString(this, fmt)
+      : INVALID$2;
+  }
+
+  /**
+   * Returns a string representation of a Duration with all units included.
+   * To modify its behavior use the `listStyle` and any Intl.NumberFormat option, though `unitDisplay` is especially relevant.
+   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat
+   * @param opts - On option object to override the formatting. Accepts the same keys as the options parameter of the native `Int.NumberFormat` constructor, as well as `listStyle`.
+   * @example
+   * ```js
+   * var dur = Duration.fromObject({ days: 1, hours: 5, minutes: 6 })
+   * dur.toHuman() //=> '1 day, 5 hours, 6 minutes'
+   * dur.toHuman({ listStyle: "long" }) //=> '1 day, 5 hours, and 6 minutes'
+   * dur.toHuman({ unitDisplay: "short" }) //=> '1 day, 5 hr, 6 min'
+   * ```
+   */
+  toHuman(opts = {}) {
+    if (!this.isValid) return INVALID$2;
+
+    const l = orderedUnits$1
+      .map((unit) => {
+        const val = this.values[unit];
+        if (isUndefined(val)) {
+          return null;
+        }
+        return this.loc
+          .numberFormatter({ style: "unit", unitDisplay: "long", ...opts, unit: unit.slice(0, -1) })
+          .format(val);
+      })
+      .filter((n) => n);
+
+    return this.loc
+      .listFormatter({ type: "conjunction", style: opts.listStyle || "narrow", ...opts })
+      .format(l);
+  }
+
+  /**
+   * Returns a JavaScript object with this Duration's values.
+   * @example Duration.fromObject({ years: 1, days: 6, seconds: 2 }).toObject() //=> { years: 1, days: 6, seconds: 2 }
+   * @return {Object}
+   */
+  toObject() {
+    if (!this.isValid) return {};
+    return { ...this.values };
+  }
+
+  /**
+   * Returns an ISO 8601-compliant string representation of this Duration.
+   * @see https://en.wikipedia.org/wiki/ISO_8601#Durations
+   * @example Duration.fromObject({ years: 3, seconds: 45 }).toISO() //=> 'P3YT45S'
+   * @example Duration.fromObject({ months: 4, seconds: 45 }).toISO() //=> 'P4MT45S'
+   * @example Duration.fromObject({ months: 5 }).toISO() //=> 'P5M'
+   * @example Duration.fromObject({ minutes: 5 }).toISO() //=> 'PT5M'
+   * @example Duration.fromObject({ milliseconds: 6 }).toISO() //=> 'PT0.006S'
+   * @return {string}
+   */
+  toISO() {
+    // we could use the formatter, but this is an easier way to get the minimum string
+    if (!this.isValid) return null;
+
+    let s = "P";
+    if (this.years !== 0) s += this.years + "Y";
+    if (this.months !== 0 || this.quarters !== 0) s += this.months + this.quarters * 3 + "M";
+    if (this.weeks !== 0) s += this.weeks + "W";
+    if (this.days !== 0) s += this.days + "D";
+    if (this.hours !== 0 || this.minutes !== 0 || this.seconds !== 0 || this.milliseconds !== 0)
+      s += "T";
+    if (this.hours !== 0) s += this.hours + "H";
+    if (this.minutes !== 0) s += this.minutes + "M";
+    if (this.seconds !== 0 || this.milliseconds !== 0)
+      // this will handle "floating point madness" by removing extra decimal places
+      // https://stackoverflow.com/questions/588004/is-floating-point-math-broken
+      s += roundTo(this.seconds + this.milliseconds / 1000, 3) + "S";
+    if (s === "P") s += "T0S";
+    return s;
+  }
+
+  /**
+   * Returns an ISO 8601-compliant string representation of this Duration, formatted as a time of day.
+   * Note that this will return null if the duration is invalid, negative, or equal to or greater than 24 hours.
+   * @see https://en.wikipedia.org/wiki/ISO_8601#Times
+   * @param {Object} opts - options
+   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0
+   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0
+   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix
+   * @param {string} [opts.format='extended'] - choose between the basic and extended format
+   * @example Duration.fromObject({ hours: 11 }).toISOTime() //=> '11:00:00.000'
+   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressMilliseconds: true }) //=> '11:00:00'
+   * @example Duration.fromObject({ hours: 11 }).toISOTime({ suppressSeconds: true }) //=> '11:00'
+   * @example Duration.fromObject({ hours: 11 }).toISOTime({ includePrefix: true }) //=> 'T11:00:00.000'
+   * @example Duration.fromObject({ hours: 11 }).toISOTime({ format: 'basic' }) //=> '110000.000'
+   * @return {string}
+   */
+  toISOTime(opts = {}) {
+    if (!this.isValid) return null;
+
+    const millis = this.toMillis();
+    if (millis < 0 || millis >= 86400000) return null;
+
+    opts = {
+      suppressMilliseconds: false,
+      suppressSeconds: false,
+      includePrefix: false,
+      format: "extended",
+      ...opts,
+      includeOffset: false,
+    };
+
+    const dateTime = DateTime.fromMillis(millis, { zone: "UTC" });
+    return dateTime.toISOTime(opts);
+  }
+
+  /**
+   * Returns an ISO 8601 representation of this Duration appropriate for use in JSON.
+   * @return {string}
+   */
+  toJSON() {
+    return this.toISO();
+  }
+
+  /**
+   * Returns an ISO 8601 representation of this Duration appropriate for use in debugging.
+   * @return {string}
+   */
+  toString() {
+    return this.toISO();
+  }
+
+  /**
+   * Returns an milliseconds value of this Duration.
+   * @return {number}
+   */
+  toMillis() {
+    if (!this.isValid) return NaN;
+
+    return durationToMillis(this.matrix, this.values);
+  }
+
+  /**
+   * Returns an milliseconds value of this Duration. Alias of {@link toMillis}
+   * @return {number}
+   */
+  valueOf() {
+    return this.toMillis();
+  }
+
+  /**
+   * Make this Duration longer by the specified amount. Return a newly-constructed Duration.
+   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()
+   * @return {Duration}
+   */
+  plus(duration) {
+    if (!this.isValid) return this;
+
+    const dur = Duration.fromDurationLike(duration),
+      result = {};
+
+    for (const k of orderedUnits$1) {
+      if (hasOwnProperty(dur.values, k) || hasOwnProperty(this.values, k)) {
+        result[k] = dur.get(k) + this.get(k);
+      }
+    }
+
+    return clone$1(this, { values: result }, true);
+  }
+
+  /**
+   * Make this Duration shorter by the specified amount. Return a newly-constructed Duration.
+   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()
+   * @return {Duration}
+   */
+  minus(duration) {
+    if (!this.isValid) return this;
+
+    const dur = Duration.fromDurationLike(duration);
+    return this.plus(dur.negate());
+  }
+
+  /**
+   * Scale this Duration by the specified amount. Return a newly-constructed Duration.
+   * @param {function} fn - The function to apply to each unit. Arity is 1 or 2: the value of the unit and, optionally, the unit name. Must return a number.
+   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits(x => x * 2) //=> { hours: 2, minutes: 60 }
+   * @example Duration.fromObject({ hours: 1, minutes: 30 }).mapUnits((x, u) => u === "hours" ? x * 2 : x) //=> { hours: 2, minutes: 30 }
+   * @return {Duration}
+   */
+  mapUnits(fn) {
+    if (!this.isValid) return this;
+    const result = {};
+    for (const k of Object.keys(this.values)) {
+      result[k] = asNumber(fn(this.values[k], k));
+    }
+    return clone$1(this, { values: result }, true);
+  }
+
+  /**
+   * Get the value of unit.
+   * @param {string} unit - a unit such as 'minute' or 'day'
+   * @example Duration.fromObject({years: 2, days: 3}).get('years') //=> 2
+   * @example Duration.fromObject({years: 2, days: 3}).get('months') //=> 0
+   * @example Duration.fromObject({years: 2, days: 3}).get('days') //=> 3
+   * @return {number}
+   */
+  get(unit) {
+    return this[Duration.normalizeUnit(unit)];
+  }
+
+  /**
+   * "Set" the values of specified units. Return a newly-constructed Duration.
+   * @param {Object} values - a mapping of units to numbers
+   * @example dur.set({ years: 2017 })
+   * @example dur.set({ hours: 8, minutes: 30 })
+   * @return {Duration}
+   */
+  set(values) {
+    if (!this.isValid) return this;
+
+    const mixed = { ...this.values, ...normalizeObject(values, Duration.normalizeUnit) };
+    return clone$1(this, { values: mixed });
+  }
+
+  /**
+   * "Set" the locale and/or numberingSystem.  Returns a newly-constructed Duration.
+   * @example dur.reconfigure({ locale: 'en-GB' })
+   * @return {Duration}
+   */
+  reconfigure({ locale, numberingSystem, conversionAccuracy, matrix } = {}) {
+    const loc = this.loc.clone({ locale, numberingSystem });
+    const opts = { loc, matrix, conversionAccuracy };
+    return clone$1(this, opts);
+  }
+
+  /**
+   * Return the length of the duration in the specified unit.
+   * @param {string} unit - a unit such as 'minutes' or 'days'
+   * @example Duration.fromObject({years: 1}).as('days') //=> 365
+   * @example Duration.fromObject({years: 1}).as('months') //=> 12
+   * @example Duration.fromObject({hours: 60}).as('days') //=> 2.5
+   * @return {number}
+   */
+  as(unit) {
+    return this.isValid ? this.shiftTo(unit).get(unit) : NaN;
+  }
+
+  /**
+   * Reduce this Duration to its canonical representation in its current units.
+   * Assuming the overall value of the Duration is positive, this means:
+   * - excessive values for lower-order units are converted to higher-order units (if possible, see first and second example)
+   * - negative lower-order units are converted to higher order units (there must be such a higher order unit, otherwise
+   *   the overall value would be negative, see second example)
+   * - fractional values for higher-order units are converted to lower-order units (if possible, see fourth example)
+   *
+   * If the overall value is negative, the result of this method is equivalent to `this.negate().normalize().negate()`.
+   * @example Duration.fromObject({ years: 2, days: 5000 }).normalize().toObject() //=> { years: 15, days: 255 }
+   * @example Duration.fromObject({ days: 5000 }).normalize().toObject() //=> { days: 5000 }
+   * @example Duration.fromObject({ hours: 12, minutes: -45 }).normalize().toObject() //=> { hours: 11, minutes: 15 }
+   * @example Duration.fromObject({ years: 2.5, days: 0, hours: 0 }).normalize().toObject() //=> { years: 2, days: 182, hours: 12 }
+   * @return {Duration}
+   */
+  normalize() {
+    if (!this.isValid) return this;
+    const vals = this.toObject();
+    normalizeValues(this.matrix, vals);
+    return clone$1(this, { values: vals }, true);
+  }
+
+  /**
+   * Rescale units to its largest representation
+   * @example Duration.fromObject({ milliseconds: 90000 }).rescale().toObject() //=> { minutes: 1, seconds: 30 }
+   * @return {Duration}
+   */
+  rescale() {
+    if (!this.isValid) return this;
+    const vals = removeZeroes(this.normalize().shiftToAll().toObject());
+    return clone$1(this, { values: vals }, true);
+  }
+
+  /**
+   * Convert this Duration into its representation in a different set of units.
+   * @example Duration.fromObject({ hours: 1, seconds: 30 }).shiftTo('minutes', 'milliseconds').toObject() //=> { minutes: 60, milliseconds: 30000 }
+   * @return {Duration}
+   */
+  shiftTo(...units) {
+    if (!this.isValid) return this;
+
+    if (units.length === 0) {
+      return this;
+    }
+
+    units = units.map((u) => Duration.normalizeUnit(u));
+
+    const built = {},
+      accumulated = {},
+      vals = this.toObject();
+    let lastUnit;
+
+    for (const k of orderedUnits$1) {
+      if (units.indexOf(k) >= 0) {
+        lastUnit = k;
+
+        let own = 0;
+
+        // anything we haven't boiled down yet should get boiled to this unit
+        for (const ak in accumulated) {
+          own += this.matrix[ak][k] * accumulated[ak];
+          accumulated[ak] = 0;
+        }
+
+        // plus anything that's already in this unit
+        if (isNumber(vals[k])) {
+          own += vals[k];
+        }
+
+        // only keep the integer part for now in the hopes of putting any decimal part
+        // into a smaller unit later
+        const i = Math.trunc(own);
+        built[k] = i;
+        accumulated[k] = (own * 1000 - i * 1000) / 1000;
+
+        // otherwise, keep it in the wings to boil it later
+      } else if (isNumber(vals[k])) {
+        accumulated[k] = vals[k];
+      }
+    }
+
+    // anything leftover becomes the decimal for the last unit
+    // lastUnit must be defined since units is not empty
+    for (const key in accumulated) {
+      if (accumulated[key] !== 0) {
+        built[lastUnit] +=
+          key === lastUnit ? accumulated[key] : accumulated[key] / this.matrix[lastUnit][key];
+      }
+    }
+
+    normalizeValues(this.matrix, built);
+    return clone$1(this, { values: built }, true);
+  }
+
+  /**
+   * Shift this Duration to all available units.
+   * Same as shiftTo("years", "months", "weeks", "days", "hours", "minutes", "seconds", "milliseconds")
+   * @return {Duration}
+   */
+  shiftToAll() {
+    if (!this.isValid) return this;
+    return this.shiftTo(
+      "years",
+      "months",
+      "weeks",
+      "days",
+      "hours",
+      "minutes",
+      "seconds",
+      "milliseconds"
+    );
+  }
+
+  /**
+   * Return the negative of this Duration.
+   * @example Duration.fromObject({ hours: 1, seconds: 30 }).negate().toObject() //=> { hours: -1, seconds: -30 }
+   * @return {Duration}
+   */
+  negate() {
+    if (!this.isValid) return this;
+    const negated = {};
+    for (const k of Object.keys(this.values)) {
+      negated[k] = this.values[k] === 0 ? 0 : -this.values[k];
+    }
+    return clone$1(this, { values: negated }, true);
+  }
+
+  /**
+   * Get the years.
+   * @type {number}
+   */
+  get years() {
+    return this.isValid ? this.values.years || 0 : NaN;
+  }
+
+  /**
+   * Get the quarters.
+   * @type {number}
+   */
+  get quarters() {
+    return this.isValid ? this.values.quarters || 0 : NaN;
+  }
+
+  /**
+   * Get the months.
+   * @type {number}
+   */
+  get months() {
+    return this.isValid ? this.values.months || 0 : NaN;
+  }
+
+  /**
+   * Get the weeks
+   * @type {number}
+   */
+  get weeks() {
+    return this.isValid ? this.values.weeks || 0 : NaN;
+  }
+
+  /**
+   * Get the days.
+   * @type {number}
+   */
+  get days() {
+    return this.isValid ? this.values.days || 0 : NaN;
+  }
+
+  /**
+   * Get the hours.
+   * @type {number}
+   */
+  get hours() {
+    return this.isValid ? this.values.hours || 0 : NaN;
+  }
+
+  /**
+   * Get the minutes.
+   * @type {number}
+   */
+  get minutes() {
+    return this.isValid ? this.values.minutes || 0 : NaN;
+  }
+
+  /**
+   * Get the seconds.
+   * @return {number}
+   */
+  get seconds() {
+    return this.isValid ? this.values.seconds || 0 : NaN;
+  }
+
+  /**
+   * Get the milliseconds.
+   * @return {number}
+   */
+  get milliseconds() {
+    return this.isValid ? this.values.milliseconds || 0 : NaN;
+  }
+
+  /**
+   * Returns whether the Duration is invalid. Invalid durations are returned by diff operations
+   * on invalid DateTimes or Intervals.
+   * @return {boolean}
+   */
+  get isValid() {
+    return this.invalid === null;
+  }
+
+  /**
+   * Returns an error code if this Duration became invalid, or null if the Duration is valid
+   * @return {string}
+   */
+  get invalidReason() {
+    return this.invalid ? this.invalid.reason : null;
+  }
+
+  /**
+   * Returns an explanation of why this Duration became invalid, or null if the Duration is valid
+   * @type {string}
+   */
+  get invalidExplanation() {
+    return this.invalid ? this.invalid.explanation : null;
+  }
+
+  /**
+   * Equality check
+   * Two Durations are equal iff they have the same units and the same values for each unit.
+   * @param {Duration} other
+   * @return {boolean}
+   */
+  equals(other) {
+    if (!this.isValid || !other.isValid) {
+      return false;
+    }
+
+    if (!this.loc.equals(other.loc)) {
+      return false;
+    }
+
+    function eq(v1, v2) {
+      // Consider 0 and undefined as equal
+      if (v1 === undefined || v1 === 0) return v2 === undefined || v2 === 0;
+      return v1 === v2;
+    }
+
+    for (const u of orderedUnits$1) {
+      if (!eq(this.values[u], other.values[u])) {
+        return false;
+      }
+    }
+    return true;
+  }
+}
+
+const INVALID$1 = "Invalid Interval";
+
+// checks if the start is equal to or before the end
+function validateStartEnd(start, end) {
+  if (!start || !start.isValid) {
+    return Interval.invalid("missing or invalid start");
+  } else if (!end || !end.isValid) {
+    return Interval.invalid("missing or invalid end");
+  } else if (end < start) {
+    return Interval.invalid(
+      "end before start",
+      `The end of an interval must be after its start, but you had start=${start.toISO()} and end=${end.toISO()}`
+    );
+  } else {
+    return null;
+  }
+}
+
+/**
+ * An Interval object represents a half-open interval of time, where each endpoint is a {@link DateTime}. Conceptually, it's a container for those two endpoints, accompanied by methods for creating, parsing, interrogating, comparing, transforming, and formatting them.
+ *
+ * Here is a brief overview of the most commonly used methods and getters in Interval:
+ *
+ * * **Creation** To create an Interval, use {@link Interval.fromDateTimes}, {@link Interval.after}, {@link Interval.before}, or {@link Interval.fromISO}.
+ * * **Accessors** Use {@link Interval#start} and {@link Interval#end} to get the start and end.
+ * * **Interrogation** To analyze the Interval, use {@link Interval#count}, {@link Interval#length}, {@link Interval#hasSame}, {@link Interval#contains}, {@link Interval#isAfter}, or {@link Interval#isBefore}.
+ * * **Transformation** To create other Intervals out of this one, use {@link Interval#set}, {@link Interval#splitAt}, {@link Interval#splitBy}, {@link Interval#divideEqually}, {@link Interval.merge}, {@link Interval.xor}, {@link Interval#union}, {@link Interval#intersection}, or {@link Interval#difference}.
+ * * **Comparison** To compare this Interval to another one, use {@link Interval#equals}, {@link Interval#overlaps}, {@link Interval#abutsStart}, {@link Interval#abutsEnd}, {@link Interval#engulfs}
+ * * **Output** To convert the Interval into other representations, see {@link Interval#toString}, {@link Interval#toLocaleString}, {@link Interval#toISO}, {@link Interval#toISODate}, {@link Interval#toISOTime}, {@link Interval#toFormat}, and {@link Interval#toDuration}.
+ */
+class Interval {
+  /**
+   * @private
+   */
+  constructor(config) {
+    /**
+     * @access private
+     */
+    this.s = config.start;
+    /**
+     * @access private
+     */
+    this.e = config.end;
+    /**
+     * @access private
+     */
+    this.invalid = config.invalid || null;
+    /**
+     * @access private
+     */
+    this.isLuxonInterval = true;
+  }
+
+  /**
+   * Create an invalid Interval.
+   * @param {string} reason - simple string of why this Interval is invalid. Should not contain parameters or anything else data-dependent
+   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information
+   * @return {Interval}
+   */
+  static invalid(reason, explanation = null) {
+    if (!reason) {
+      throw new InvalidArgumentError("need to specify a reason the Interval is invalid");
+    }
+
+    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);
+
+    if (Settings.throwOnInvalid) {
+      throw new InvalidIntervalError(invalid);
+    } else {
+      return new Interval({ invalid });
+    }
+  }
+
+  /**
+   * Create an Interval from a start DateTime and an end DateTime. Inclusive of the start but not the end.
+   * @param {DateTime|Date|Object} start
+   * @param {DateTime|Date|Object} end
+   * @return {Interval}
+   */
+  static fromDateTimes(start, end) {
+    const builtStart = friendlyDateTime(start),
+      builtEnd = friendlyDateTime(end);
+
+    const validateError = validateStartEnd(builtStart, builtEnd);
+
+    if (validateError == null) {
+      return new Interval({
+        start: builtStart,
+        end: builtEnd,
+      });
+    } else {
+      return validateError;
+    }
+  }
+
+  /**
+   * Create an Interval from a start DateTime and a Duration to extend to.
+   * @param {DateTime|Date|Object} start
+   * @param {Duration|Object|number} duration - the length of the Interval.
+   * @return {Interval}
+   */
+  static after(start, duration) {
+    const dur = Duration.fromDurationLike(duration),
+      dt = friendlyDateTime(start);
+    return Interval.fromDateTimes(dt, dt.plus(dur));
+  }
+
+  /**
+   * Create an Interval from an end DateTime and a Duration to extend backwards to.
+   * @param {DateTime|Date|Object} end
+   * @param {Duration|Object|number} duration - the length of the Interval.
+   * @return {Interval}
+   */
+  static before(end, duration) {
+    const dur = Duration.fromDurationLike(duration),
+      dt = friendlyDateTime(end);
+    return Interval.fromDateTimes(dt.minus(dur), dt);
+  }
+
+  /**
+   * Create an Interval from an ISO 8601 string.
+   * Accepts `<start>/<end>`, `<start>/<duration>`, and `<duration>/<end>` formats.
+   * @param {string} text - the ISO string to parse
+   * @param {Object} [opts] - options to pass {@link DateTime#fromISO} and optionally {@link Duration#fromISO}
+   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals
+   * @return {Interval}
+   */
+  static fromISO(text, opts) {
+    const [s, e] = (text || "").split("/", 2);
+    if (s && e) {
+      let start, startIsValid;
+      try {
+        start = DateTime.fromISO(s, opts);
+        startIsValid = start.isValid;
+      } catch (e) {
+        startIsValid = false;
+      }
+
+      let end, endIsValid;
+      try {
+        end = DateTime.fromISO(e, opts);
+        endIsValid = end.isValid;
+      } catch (e) {
+        endIsValid = false;
+      }
+
+      if (startIsValid && endIsValid) {
+        return Interval.fromDateTimes(start, end);
+      }
+
+      if (startIsValid) {
+        const dur = Duration.fromISO(e, opts);
+        if (dur.isValid) {
+          return Interval.after(start, dur);
+        }
+      } else if (endIsValid) {
+        const dur = Duration.fromISO(s, opts);
+        if (dur.isValid) {
+          return Interval.before(end, dur);
+        }
+      }
+    }
+    return Interval.invalid("unparsable", `the input "${text}" can't be parsed as ISO 8601`);
+  }
+
+  /**
+   * Check if an object is an Interval. Works across context boundaries
+   * @param {object} o
+   * @return {boolean}
+   */
+  static isInterval(o) {
+    return (o && o.isLuxonInterval) || false;
+  }
+
+  /**
+   * Returns the start of the Interval
+   * @type {DateTime}
+   */
+  get start() {
+    return this.isValid ? this.s : null;
+  }
+
+  /**
+   * Returns the end of the Interval
+   * @type {DateTime}
+   */
+  get end() {
+    return this.isValid ? this.e : null;
+  }
+
+  /**
+   * Returns whether this Interval's end is at least its start, meaning that the Interval isn't 'backwards'.
+   * @type {boolean}
+   */
+  get isValid() {
+    return this.invalidReason === null;
+  }
+
+  /**
+   * Returns an error code if this Interval is invalid, or null if the Interval is valid
+   * @type {string}
+   */
+  get invalidReason() {
+    return this.invalid ? this.invalid.reason : null;
+  }
+
+  /**
+   * Returns an explanation of why this Interval became invalid, or null if the Interval is valid
+   * @type {string}
+   */
+  get invalidExplanation() {
+    return this.invalid ? this.invalid.explanation : null;
+  }
+
+  /**
+   * Returns the length of the Interval in the specified unit.
+   * @param {string} unit - the unit (such as 'hours' or 'days') to return the length in.
+   * @return {number}
+   */
+  length(unit = "milliseconds") {
+    return this.isValid ? this.toDuration(...[unit]).get(unit) : NaN;
+  }
+
+  /**
+   * Returns the count of minutes, hours, days, months, or years included in the Interval, even in part.
+   * Unlike {@link Interval#length} this counts sections of the calendar, not periods of time, e.g. specifying 'day'
+   * asks 'what dates are included in this interval?', not 'how many days long is this interval?'
+   * @param {string} [unit='milliseconds'] - the unit of time to count.
+   * @return {number}
+   */
+  count(unit = "milliseconds") {
+    if (!this.isValid) return NaN;
+    const start = this.start.startOf(unit),
+      end = this.end.startOf(unit);
+    return Math.floor(end.diff(start, unit).get(unit)) + (end.valueOf() !== this.end.valueOf());
+  }
+
+  /**
+   * Returns whether this Interval's start and end are both in the same unit of time
+   * @param {string} unit - the unit of time to check sameness on
+   * @return {boolean}
+   */
+  hasSame(unit) {
+    return this.isValid ? this.isEmpty() || this.e.minus(1).hasSame(this.s, unit) : false;
+  }
+
+  /**
+   * Return whether this Interval has the same start and end DateTimes.
+   * @return {boolean}
+   */
+  isEmpty() {
+    return this.s.valueOf() === this.e.valueOf();
+  }
+
+  /**
+   * Return whether this Interval's start is after the specified DateTime.
+   * @param {DateTime} dateTime
+   * @return {boolean}
+   */
+  isAfter(dateTime) {
+    if (!this.isValid) return false;
+    return this.s > dateTime;
+  }
+
+  /**
+   * Return whether this Interval's end is before the specified DateTime.
+   * @param {DateTime} dateTime
+   * @return {boolean}
+   */
+  isBefore(dateTime) {
+    if (!this.isValid) return false;
+    return this.e <= dateTime;
+  }
+
+  /**
+   * Return whether this Interval contains the specified DateTime.
+   * @param {DateTime} dateTime
+   * @return {boolean}
+   */
+  contains(dateTime) {
+    if (!this.isValid) return false;
+    return this.s <= dateTime && this.e > dateTime;
+  }
+
+  /**
+   * "Sets" the start and/or end dates. Returns a newly-constructed Interval.
+   * @param {Object} values - the values to set
+   * @param {DateTime} values.start - the starting DateTime
+   * @param {DateTime} values.end - the ending DateTime
+   * @return {Interval}
+   */
+  set({ start, end } = {}) {
+    if (!this.isValid) return this;
+    return Interval.fromDateTimes(start || this.s, end || this.e);
+  }
+
+  /**
+   * Split this Interval at each of the specified DateTimes
+   * @param {...DateTime} dateTimes - the unit of time to count.
+   * @return {Array}
+   */
+  splitAt(...dateTimes) {
+    if (!this.isValid) return [];
+    const sorted = dateTimes
+        .map(friendlyDateTime)
+        .filter((d) => this.contains(d))
+        .sort(),
+      results = [];
+    let { s } = this,
+      i = 0;
+
+    while (s < this.e) {
+      const added = sorted[i] || this.e,
+        next = +added > +this.e ? this.e : added;
+      results.push(Interval.fromDateTimes(s, next));
+      s = next;
+      i += 1;
+    }
+
+    return results;
+  }
+
+  /**
+   * Split this Interval into smaller Intervals, each of the specified length.
+   * Left over time is grouped into a smaller interval
+   * @param {Duration|Object|number} duration - The length of each resulting interval.
+   * @return {Array}
+   */
+  splitBy(duration) {
+    const dur = Duration.fromDurationLike(duration);
+
+    if (!this.isValid || !dur.isValid || dur.as("milliseconds") === 0) {
+      return [];
+    }
+
+    let { s } = this,
+      idx = 1,
+      next;
+
+    const results = [];
+    while (s < this.e) {
+      const added = this.start.plus(dur.mapUnits((x) => x * idx));
+      next = +added > +this.e ? this.e : added;
+      results.push(Interval.fromDateTimes(s, next));
+      s = next;
+      idx += 1;
+    }
+
+    return results;
+  }
+
+  /**
+   * Split this Interval into the specified number of smaller intervals.
+   * @param {number} numberOfParts - The number of Intervals to divide the Interval into.
+   * @return {Array}
+   */
+  divideEqually(numberOfParts) {
+    if (!this.isValid) return [];
+    return this.splitBy(this.length() / numberOfParts).slice(0, numberOfParts);
+  }
+
+  /**
+   * Return whether this Interval overlaps with the specified Interval
+   * @param {Interval} other
+   * @return {boolean}
+   */
+  overlaps(other) {
+    return this.e > other.s && this.s < other.e;
+  }
+
+  /**
+   * Return whether this Interval's end is adjacent to the specified Interval's start.
+   * @param {Interval} other
+   * @return {boolean}
+   */
+  abutsStart(other) {
+    if (!this.isValid) return false;
+    return +this.e === +other.s;
+  }
+
+  /**
+   * Return whether this Interval's start is adjacent to the specified Interval's end.
+   * @param {Interval} other
+   * @return {boolean}
+   */
+  abutsEnd(other) {
+    if (!this.isValid) return false;
+    return +other.e === +this.s;
+  }
+
+  /**
+   * Return whether this Interval engulfs the start and end of the specified Interval.
+   * @param {Interval} other
+   * @return {boolean}
+   */
+  engulfs(other) {
+    if (!this.isValid) return false;
+    return this.s <= other.s && this.e >= other.e;
+  }
+
+  /**
+   * Return whether this Interval has the same start and end as the specified Interval.
+   * @param {Interval} other
+   * @return {boolean}
+   */
+  equals(other) {
+    if (!this.isValid || !other.isValid) {
+      return false;
+    }
+
+    return this.s.equals(other.s) && this.e.equals(other.e);
+  }
+
+  /**
+   * Return an Interval representing the intersection of this Interval and the specified Interval.
+   * Specifically, the resulting Interval has the maximum start time and the minimum end time of the two Intervals.
+   * Returns null if the intersection is empty, meaning, the intervals don't intersect.
+   * @param {Interval} other
+   * @return {Interval}
+   */
+  intersection(other) {
+    if (!this.isValid) return this;
+    const s = this.s > other.s ? this.s : other.s,
+      e = this.e < other.e ? this.e : other.e;
+
+    if (s >= e) {
+      return null;
+    } else {
+      return Interval.fromDateTimes(s, e);
+    }
+  }
+
+  /**
+   * Return an Interval representing the union of this Interval and the specified Interval.
+   * Specifically, the resulting Interval has the minimum start time and the maximum end time of the two Intervals.
+   * @param {Interval} other
+   * @return {Interval}
+   */
+  union(other) {
+    if (!this.isValid) return this;
+    const s = this.s < other.s ? this.s : other.s,
+      e = this.e > other.e ? this.e : other.e;
+    return Interval.fromDateTimes(s, e);
+  }
+
+  /**
+   * Merge an array of Intervals into a equivalent minimal set of Intervals.
+   * Combines overlapping and adjacent Intervals.
+   * @param {Array} intervals
+   * @return {Array}
+   */
+  static merge(intervals) {
+    const [found, final] = intervals
+      .sort((a, b) => a.s - b.s)
+      .reduce(
+        ([sofar, current], item) => {
+          if (!current) {
+            return [sofar, item];
+          } else if (current.overlaps(item) || current.abutsStart(item)) {
+            return [sofar, current.union(item)];
+          } else {
+            return [sofar.concat([current]), item];
+          }
+        },
+        [[], null]
+      );
+    if (final) {
+      found.push(final);
+    }
+    return found;
+  }
+
+  /**
+   * Return an array of Intervals representing the spans of time that only appear in one of the specified Intervals.
+   * @param {Array} intervals
+   * @return {Array}
+   */
+  static xor(intervals) {
+    let start = null,
+      currentCount = 0;
+    const results = [],
+      ends = intervals.map((i) => [
+        { time: i.s, type: "s" },
+        { time: i.e, type: "e" },
+      ]),
+      flattened = Array.prototype.concat(...ends),
+      arr = flattened.sort((a, b) => a.time - b.time);
+
+    for (const i of arr) {
+      currentCount += i.type === "s" ? 1 : -1;
+
+      if (currentCount === 1) {
+        start = i.time;
+      } else {
+        if (start && +start !== +i.time) {
+          results.push(Interval.fromDateTimes(start, i.time));
+        }
+
+        start = null;
+      }
+    }
+
+    return Interval.merge(results);
+  }
+
+  /**
+   * Return an Interval representing the span of time in this Interval that doesn't overlap with any of the specified Intervals.
+   * @param {...Interval} intervals
+   * @return {Array}
+   */
+  difference(...intervals) {
+    return Interval.xor([this].concat(intervals))
+      .map((i) => this.intersection(i))
+      .filter((i) => i && !i.isEmpty());
+  }
+
+  /**
+   * Returns a string representation of this Interval appropriate for debugging.
+   * @return {string}
+   */
+  toString() {
+    if (!this.isValid) return INVALID$1;
+    return `[${this.s.toISO()} – ${this.e.toISO()})`;
+  }
+
+  /**
+   * Returns a localized string representing this Interval. Accepts the same options as the
+   * Intl.DateTimeFormat constructor and any presets defined by Luxon, such as
+   * {@link DateTime.DATE_FULL} or {@link DateTime.TIME_SIMPLE}. The exact behavior of this method
+   * is browser-specific, but in general it will return an appropriate representation of the
+   * Interval in the assigned locale. Defaults to the system's locale if no locale has been
+   * specified.
+   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat
+   * @param {Object} [formatOpts=DateTime.DATE_SHORT] - Either a DateTime preset or
+   * Intl.DateTimeFormat constructor options.
+   * @param {Object} opts - Options to override the configuration of the start DateTime.
+   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(); //=> 11/7/2022 – 11/8/2022
+   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL); //=> November 7 – 8, 2022
+   * @example Interval.fromISO('2022-11-07T09:00Z/2022-11-08T09:00Z').toLocaleString(DateTime.DATE_FULL, { locale: 'fr-FR' }); //=> 7–8 novembre 2022
+   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString(DateTime.TIME_SIMPLE); //=> 6:00 – 8:00 PM
+   * @example Interval.fromISO('2022-11-07T17:00Z/2022-11-07T19:00Z').toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> Mon, Nov 07, 6:00 – 8:00 p
+   * @return {string}
+   */
+  toLocaleString(formatOpts = DATE_SHORT, opts = {}) {
+    return this.isValid
+      ? Formatter.create(this.s.loc.clone(opts), formatOpts).formatInterval(this)
+      : INVALID$1;
+  }
+
+  /**
+   * Returns an ISO 8601-compliant string representation of this Interval.
+   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals
+   * @param {Object} opts - The same options as {@link DateTime#toISO}
+   * @return {string}
+   */
+  toISO(opts) {
+    if (!this.isValid) return INVALID$1;
+    return `${this.s.toISO(opts)}/${this.e.toISO(opts)}`;
+  }
+
+  /**
+   * Returns an ISO 8601-compliant string representation of date of this Interval.
+   * The time components are ignored.
+   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals
+   * @return {string}
+   */
+  toISODate() {
+    if (!this.isValid) return INVALID$1;
+    return `${this.s.toISODate()}/${this.e.toISODate()}`;
+  }
+
+  /**
+   * Returns an ISO 8601-compliant string representation of time of this Interval.
+   * The date components are ignored.
+   * @see https://en.wikipedia.org/wiki/ISO_8601#Time_intervals
+   * @param {Object} opts - The same options as {@link DateTime#toISO}
+   * @return {string}
+   */
+  toISOTime(opts) {
+    if (!this.isValid) return INVALID$1;
+    return `${this.s.toISOTime(opts)}/${this.e.toISOTime(opts)}`;
+  }
+
+  /**
+   * Returns a string representation of this Interval formatted according to the specified format
+   * string. **You may not want this.** See {@link Interval#toLocaleString} for a more flexible
+   * formatting tool.
+   * @param {string} dateFormat - The format string. This string formats the start and end time.
+   * See {@link DateTime#toFormat} for details.
+   * @param {Object} opts - Options.
+   * @param {string} [opts.separator =  ' – '] - A separator to place between the start and end
+   * representations.
+   * @return {string}
+   */
+  toFormat(dateFormat, { separator = " – " } = {}) {
+    if (!this.isValid) return INVALID$1;
+    return `${this.s.toFormat(dateFormat)}${separator}${this.e.toFormat(dateFormat)}`;
+  }
+
+  /**
+   * Return a Duration representing the time spanned by this interval.
+   * @param {string|string[]} [unit=['milliseconds']] - the unit or units (such as 'hours' or 'days') to include in the duration.
+   * @param {Object} opts - options that affect the creation of the Duration
+   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use
+   * @example Interval.fromDateTimes(dt1, dt2).toDuration().toObject() //=> { milliseconds: 88489257 }
+   * @example Interval.fromDateTimes(dt1, dt2).toDuration('days').toObject() //=> { days: 1.0241812152777778 }
+   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes']).toObject() //=> { hours: 24, minutes: 34.82095 }
+   * @example Interval.fromDateTimes(dt1, dt2).toDuration(['hours', 'minutes', 'seconds']).toObject() //=> { hours: 24, minutes: 34, seconds: 49.257 }
+   * @example Interval.fromDateTimes(dt1, dt2).toDuration('seconds').toObject() //=> { seconds: 88489.257 }
+   * @return {Duration}
+   */
+  toDuration(unit, opts) {
+    if (!this.isValid) {
+      return Duration.invalid(this.invalidReason);
+    }
+    return this.e.diff(this.s, unit, opts);
+  }
+
+  /**
+   * Run mapFn on the interval start and end, returning a new Interval from the resulting DateTimes
+   * @param {function} mapFn
+   * @return {Interval}
+   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.toUTC())
+   * @example Interval.fromDateTimes(dt1, dt2).mapEndpoints(endpoint => endpoint.plus({ hours: 2 }))
+   */
+  mapEndpoints(mapFn) {
+    return Interval.fromDateTimes(mapFn(this.s), mapFn(this.e));
+  }
+}
+
+/**
+ * The Info class contains static methods for retrieving general time and date related data. For example, it has methods for finding out if a time zone has a DST, for listing the months in any supported locale, and for discovering which of Luxon features are available in the current environment.
+ */
+class Info {
+  /**
+   * Return whether the specified zone contains a DST.
+   * @param {string|Zone} [zone='local'] - Zone to check. Defaults to the environment's local zone.
+   * @return {boolean}
+   */
+  static hasDST(zone = Settings.defaultZone) {
+    const proto = DateTime.now().setZone(zone).set({ month: 12 });
+
+    return !zone.isUniversal && proto.offset !== proto.set({ month: 6 }).offset;
+  }
+
+  /**
+   * Return whether the specified zone is a valid IANA specifier.
+   * @param {string} zone - Zone to check
+   * @return {boolean}
+   */
+  static isValidIANAZone(zone) {
+    return IANAZone.isValidZone(zone);
+  }
+
+  /**
+   * Converts the input into a {@link Zone} instance.
+   *
+   * * If `input` is already a Zone instance, it is returned unchanged.
+   * * If `input` is a string containing a valid time zone name, a Zone instance
+   *   with that name is returned.
+   * * If `input` is a string that doesn't refer to a known time zone, a Zone
+   *   instance with {@link Zone#isValid} == false is returned.
+   * * If `input is a number, a Zone instance with the specified fixed offset
+   *   in minutes is returned.
+   * * If `input` is `null` or `undefined`, the default zone is returned.
+   * @param {string|Zone|number} [input] - the value to be converted
+   * @return {Zone}
+   */
+  static normalizeZone(input) {
+    return normalizeZone(input, Settings.defaultZone);
+  }
+
+  /**
+   * Return an array of standalone month names.
+   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat
+   * @param {string} [length='long'] - the length of the month representation, such as "numeric", "2-digit", "narrow", "short", "long"
+   * @param {Object} opts - options
+   * @param {string} [opts.locale] - the locale code
+   * @param {string} [opts.numberingSystem=null] - the numbering system
+   * @param {string} [opts.locObj=null] - an existing locale object to use
+   * @param {string} [opts.outputCalendar='gregory'] - the calendar
+   * @example Info.months()[0] //=> 'January'
+   * @example Info.months('short')[0] //=> 'Jan'
+   * @example Info.months('numeric')[0] //=> '1'
+   * @example Info.months('short', { locale: 'fr-CA' } )[0] //=> 'janv.'
+   * @example Info.months('numeric', { locale: 'ar' })[0] //=> '١'
+   * @example Info.months('long', { outputCalendar: 'islamic' })[0] //=> 'Rabiʻ I'
+   * @return {Array}
+   */
+  static months(
+    length = "long",
+    { locale = null, numberingSystem = null, locObj = null, outputCalendar = "gregory" } = {}
+  ) {
+    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length);
+  }
+
+  /**
+   * Return an array of format month names.
+   * Format months differ from standalone months in that they're meant to appear next to the day of the month. In some languages, that
+   * changes the string.
+   * See {@link Info#months}
+   * @param {string} [length='long'] - the length of the month representation, such as "numeric", "2-digit", "narrow", "short", "long"
+   * @param {Object} opts - options
+   * @param {string} [opts.locale] - the locale code
+   * @param {string} [opts.numberingSystem=null] - the numbering system
+   * @param {string} [opts.locObj=null] - an existing locale object to use
+   * @param {string} [opts.outputCalendar='gregory'] - the calendar
+   * @return {Array}
+   */
+  static monthsFormat(
+    length = "long",
+    { locale = null, numberingSystem = null, locObj = null, outputCalendar = "gregory" } = {}
+  ) {
+    return (locObj || Locale.create(locale, numberingSystem, outputCalendar)).months(length, true);
+  }
+
+  /**
+   * Return an array of standalone week names.
+   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat
+   * @param {string} [length='long'] - the length of the weekday representation, such as "narrow", "short", "long".
+   * @param {Object} opts - options
+   * @param {string} [opts.locale] - the locale code
+   * @param {string} [opts.numberingSystem=null] - the numbering system
+   * @param {string} [opts.locObj=null] - an existing locale object to use
+   * @example Info.weekdays()[0] //=> 'Monday'
+   * @example Info.weekdays('short')[0] //=> 'Mon'
+   * @example Info.weekdays('short', { locale: 'fr-CA' })[0] //=> 'lun.'
+   * @example Info.weekdays('short', { locale: 'ar' })[0] //=> 'الاثنين'
+   * @return {Array}
+   */
+  static weekdays(length = "long", { locale = null, numberingSystem = null, locObj = null } = {}) {
+    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length);
+  }
+
+  /**
+   * Return an array of format week names.
+   * Format weekdays differ from standalone weekdays in that they're meant to appear next to more date information. In some languages, that
+   * changes the string.
+   * See {@link Info#weekdays}
+   * @param {string} [length='long'] - the length of the month representation, such as "narrow", "short", "long".
+   * @param {Object} opts - options
+   * @param {string} [opts.locale=null] - the locale code
+   * @param {string} [opts.numberingSystem=null] - the numbering system
+   * @param {string} [opts.locObj=null] - an existing locale object to use
+   * @return {Array}
+   */
+  static weekdaysFormat(
+    length = "long",
+    { locale = null, numberingSystem = null, locObj = null } = {}
+  ) {
+    return (locObj || Locale.create(locale, numberingSystem, null)).weekdays(length, true);
+  }
+
+  /**
+   * Return an array of meridiems.
+   * @param {Object} opts - options
+   * @param {string} [opts.locale] - the locale code
+   * @example Info.meridiems() //=> [ 'AM', 'PM' ]
+   * @example Info.meridiems({ locale: 'my' }) //=> [ 'နံနက်', 'ညနေ' ]
+   * @return {Array}
+   */
+  static meridiems({ locale = null } = {}) {
+    return Locale.create(locale).meridiems();
+  }
+
+  /**
+   * Return an array of eras, such as ['BC', 'AD']. The locale can be specified, but the calendar system is always Gregorian.
+   * @param {string} [length='short'] - the length of the era representation, such as "short" or "long".
+   * @param {Object} opts - options
+   * @param {string} [opts.locale] - the locale code
+   * @example Info.eras() //=> [ 'BC', 'AD' ]
+   * @example Info.eras('long') //=> [ 'Before Christ', 'Anno Domini' ]
+   * @example Info.eras('long', { locale: 'fr' }) //=> [ 'avant Jésus-Christ', 'après Jésus-Christ' ]
+   * @return {Array}
+   */
+  static eras(length = "short", { locale = null } = {}) {
+    return Locale.create(locale, null, "gregory").eras(length);
+  }
+
+  /**
+   * Return the set of available features in this environment.
+   * Some features of Luxon are not available in all environments. For example, on older browsers, relative time formatting support is not available. Use this function to figure out if that's the case.
+   * Keys:
+   * * `relative`: whether this environment supports relative time formatting
+   * @example Info.features() //=> { relative: false }
+   * @return {Object}
+   */
+  static features() {
+    return { relative: hasRelative() };
+  }
+}
+
+function dayDiff(earlier, later) {
+  const utcDayStart = (dt) => dt.toUTC(0, { keepLocalTime: true }).startOf("day").valueOf(),
+    ms = utcDayStart(later) - utcDayStart(earlier);
+  return Math.floor(Duration.fromMillis(ms).as("days"));
+}
+
+function highOrderDiffs(cursor, later, units) {
+  const differs = [
+    ["years", (a, b) => b.year - a.year],
+    ["quarters", (a, b) => b.quarter - a.quarter + (b.year - a.year) * 4],
+    ["months", (a, b) => b.month - a.month + (b.year - a.year) * 12],
+    [
+      "weeks",
+      (a, b) => {
+        const days = dayDiff(a, b);
+        return (days - (days % 7)) / 7;
+      },
+    ],
+    ["days", dayDiff],
+  ];
+
+  const results = {};
+  const earlier = cursor;
+  let lowestOrder, highWater;
+
+  /* This loop tries to diff using larger units first.
+     If we overshoot, we backtrack and try the next smaller unit.
+     "cursor" starts out at the earlier timestamp and moves closer and closer to "later"
+     as we use smaller and smaller units.
+     highWater keeps track of where we would be if we added one more of the smallest unit,
+     this is used later to potentially convert any difference smaller than the smallest higher order unit
+     into a fraction of that smallest higher order unit
+  */
+  for (const [unit, differ] of differs) {
+    if (units.indexOf(unit) >= 0) {
+      lowestOrder = unit;
+
+      results[unit] = differ(cursor, later);
+      highWater = earlier.plus(results);
+
+      if (highWater > later) {
+        // we overshot the end point, backtrack cursor by 1
+        results[unit]--;
+        cursor = earlier.plus(results);
+
+        // if we are still overshooting now, we need to backtrack again
+        // this happens in certain situations when diffing times in different zones,
+        // because this calculation ignores time zones
+        if (cursor > later) {
+          // keep the "overshot by 1" around as highWater
+          highWater = cursor;
+          // backtrack cursor by 1
+          results[unit]--;
+          cursor = earlier.plus(results);
+        }
+      } else {
+        cursor = highWater;
+      }
+    }
+  }
+
+  return [cursor, results, highWater, lowestOrder];
+}
+
+function diff (earlier, later, units, opts) {
+  let [cursor, results, highWater, lowestOrder] = highOrderDiffs(earlier, later, units);
+
+  const remainingMillis = later - cursor;
+
+  const lowerOrderUnits = units.filter(
+    (u) => ["hours", "minutes", "seconds", "milliseconds"].indexOf(u) >= 0
+  );
+
+  if (lowerOrderUnits.length === 0) {
+    if (highWater < later) {
+      highWater = cursor.plus({ [lowestOrder]: 1 });
+    }
+
+    if (highWater !== cursor) {
+      results[lowestOrder] = (results[lowestOrder] || 0) + remainingMillis / (highWater - cursor);
+    }
+  }
+
+  const duration = Duration.fromObject(results, opts);
+
+  if (lowerOrderUnits.length > 0) {
+    return Duration.fromMillis(remainingMillis, opts)
+      .shiftTo(...lowerOrderUnits)
+      .plus(duration);
+  } else {
+    return duration;
+  }
+}
+
+const numberingSystems = {
+  arab: "[\u0660-\u0669]",
+  arabext: "[\u06F0-\u06F9]",
+  bali: "[\u1B50-\u1B59]",
+  beng: "[\u09E6-\u09EF]",
+  deva: "[\u0966-\u096F]",
+  fullwide: "[\uFF10-\uFF19]",
+  gujr: "[\u0AE6-\u0AEF]",
+  hanidec: "[〇|一|二|三|四|五|六|七|八|九]",
+  khmr: "[\u17E0-\u17E9]",
+  knda: "[\u0CE6-\u0CEF]",
+  laoo: "[\u0ED0-\u0ED9]",
+  limb: "[\u1946-\u194F]",
+  mlym: "[\u0D66-\u0D6F]",
+  mong: "[\u1810-\u1819]",
+  mymr: "[\u1040-\u1049]",
+  orya: "[\u0B66-\u0B6F]",
+  tamldec: "[\u0BE6-\u0BEF]",
+  telu: "[\u0C66-\u0C6F]",
+  thai: "[\u0E50-\u0E59]",
+  tibt: "[\u0F20-\u0F29]",
+  latn: "\\d",
+};
+
+const numberingSystemsUTF16 = {
+  arab: [1632, 1641],
+  arabext: [1776, 1785],
+  bali: [6992, 7001],
+  beng: [2534, 2543],
+  deva: [2406, 2415],
+  fullwide: [65296, 65303],
+  gujr: [2790, 2799],
+  khmr: [6112, 6121],
+  knda: [3302, 3311],
+  laoo: [3792, 3801],
+  limb: [6470, 6479],
+  mlym: [3430, 3439],
+  mong: [6160, 6169],
+  mymr: [4160, 4169],
+  orya: [2918, 2927],
+  tamldec: [3046, 3055],
+  telu: [3174, 3183],
+  thai: [3664, 3673],
+  tibt: [3872, 3881],
+};
+
+const hanidecChars = numberingSystems.hanidec.replace(/[\[|\]]/g, "").split("");
+
+function parseDigits(str) {
+  let value = parseInt(str, 10);
+  if (isNaN(value)) {
+    value = "";
+    for (let i = 0; i < str.length; i++) {
+      const code = str.charCodeAt(i);
+
+      if (str[i].search(numberingSystems.hanidec) !== -1) {
+        value += hanidecChars.indexOf(str[i]);
+      } else {
+        for (const key in numberingSystemsUTF16) {
+          const [min, max] = numberingSystemsUTF16[key];
+          if (code >= min && code <= max) {
+            value += code - min;
+          }
+        }
+      }
+    }
+    return parseInt(value, 10);
+  } else {
+    return value;
+  }
+}
+
+function digitRegex({ numberingSystem }, append = "") {
+  return new RegExp(`${numberingSystems[numberingSystem || "latn"]}${append}`);
+}
+
+const MISSING_FTP = "missing Intl.DateTimeFormat.formatToParts support";
+
+function intUnit(regex, post = (i) => i) {
+  return { regex, deser: ([s]) => post(parseDigits(s)) };
+}
+
+const NBSP = String.fromCharCode(160);
+const spaceOrNBSP = `[ ${NBSP}]`;
+const spaceOrNBSPRegExp = new RegExp(spaceOrNBSP, "g");
+
+function fixListRegex(s) {
+  // make dots optional and also make them literal
+  // make space and non breakable space characters interchangeable
+  return s.replace(/\./g, "\\.?").replace(spaceOrNBSPRegExp, spaceOrNBSP);
+}
+
+function stripInsensitivities(s) {
+  return s
+    .replace(/\./g, "") // ignore dots that were made optional
+    .replace(spaceOrNBSPRegExp, " ") // interchange space and nbsp
+    .toLowerCase();
+}
+
+function oneOf(strings, startIndex) {
+  if (strings === null) {
+    return null;
+  } else {
+    return {
+      regex: RegExp(strings.map(fixListRegex).join("|")),
+      deser: ([s]) =>
+        strings.findIndex((i) => stripInsensitivities(s) === stripInsensitivities(i)) + startIndex,
+    };
+  }
+}
+
+function offset(regex, groups) {
+  return { regex, deser: ([, h, m]) => signedOffset(h, m), groups };
+}
+
+function simple(regex) {
+  return { regex, deser: ([s]) => s };
+}
+
+function escapeToken(value) {
+  return value.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, "\\$&");
+}
+
+/**
+ * @param token
+ * @param {Locale} loc
+ */
+function unitForToken(token, loc) {
+  const one = digitRegex(loc),
+    two = digitRegex(loc, "{2}"),
+    three = digitRegex(loc, "{3}"),
+    four = digitRegex(loc, "{4}"),
+    six = digitRegex(loc, "{6}"),
+    oneOrTwo = digitRegex(loc, "{1,2}"),
+    oneToThree = digitRegex(loc, "{1,3}"),
+    oneToSix = digitRegex(loc, "{1,6}"),
+    oneToNine = digitRegex(loc, "{1,9}"),
+    twoToFour = digitRegex(loc, "{2,4}"),
+    fourToSix = digitRegex(loc, "{4,6}"),
+    literal = (t) => ({ regex: RegExp(escapeToken(t.val)), deser: ([s]) => s, literal: true }),
+    unitate = (t) => {
+      if (token.literal) {
+        return literal(t);
+      }
+      switch (t.val) {
+        // era
+        case "G":
+          return oneOf(loc.eras("short"), 0);
+        case "GG":
+          return oneOf(loc.eras("long"), 0);
+        // years
+        case "y":
+          return intUnit(oneToSix);
+        case "yy":
+          return intUnit(twoToFour, untruncateYear);
+        case "yyyy":
+          return intUnit(four);
+        case "yyyyy":
+          return intUnit(fourToSix);
+        case "yyyyyy":
+          return intUnit(six);
+        // months
+        case "M":
+          return intUnit(oneOrTwo);
+        case "MM":
+          return intUnit(two);
+        case "MMM":
+          return oneOf(loc.months("short", true), 1);
+        case "MMMM":
+          return oneOf(loc.months("long", true), 1);
+        case "L":
+          return intUnit(oneOrTwo);
+        case "LL":
+          return intUnit(two);
+        case "LLL":
+          return oneOf(loc.months("short", false), 1);
+        case "LLLL":
+          return oneOf(loc.months("long", false), 1);
+        // dates
+        case "d":
+          return intUnit(oneOrTwo);
+        case "dd":
+          return intUnit(two);
+        // ordinals
+        case "o":
+          return intUnit(oneToThree);
+        case "ooo":
+          return intUnit(three);
+        // time
+        case "HH":
+          return intUnit(two);
+        case "H":
+          return intUnit(oneOrTwo);
+        case "hh":
+          return intUnit(two);
+        case "h":
+          return intUnit(oneOrTwo);
+        case "mm":
+          return intUnit(two);
+        case "m":
+          return intUnit(oneOrTwo);
+        case "q":
+          return intUnit(oneOrTwo);
+        case "qq":
+          return intUnit(two);
+        case "s":
+          return intUnit(oneOrTwo);
+        case "ss":
+          return intUnit(two);
+        case "S":
+          return intUnit(oneToThree);
+        case "SSS":
+          return intUnit(three);
+        case "u":
+          return simple(oneToNine);
+        case "uu":
+          return simple(oneOrTwo);
+        case "uuu":
+          return intUnit(one);
+        // meridiem
+        case "a":
+          return oneOf(loc.meridiems(), 0);
+        // weekYear (k)
+        case "kkkk":
+          return intUnit(four);
+        case "kk":
+          return intUnit(twoToFour, untruncateYear);
+        // weekNumber (W)
+        case "W":
+          return intUnit(oneOrTwo);
+        case "WW":
+          return intUnit(two);
+        // weekdays
+        case "E":
+        case "c":
+          return intUnit(one);
+        case "EEE":
+          return oneOf(loc.weekdays("short", false), 1);
+        case "EEEE":
+          return oneOf(loc.weekdays("long", false), 1);
+        case "ccc":
+          return oneOf(loc.weekdays("short", true), 1);
+        case "cccc":
+          return oneOf(loc.weekdays("long", true), 1);
+        // offset/zone
+        case "Z":
+        case "ZZ":
+          return offset(new RegExp(`([+-]${oneOrTwo.source})(?::(${two.source}))?`), 2);
+        case "ZZZ":
+          return offset(new RegExp(`([+-]${oneOrTwo.source})(${two.source})?`), 2);
+        // we don't support ZZZZ (PST) or ZZZZZ (Pacific Standard Time) in parsing
+        // because we don't have any way to figure out what they are
+        case "z":
+          return simple(/[a-z_+-/]{1,256}?/i);
+        // this special-case "token" represents a place where a macro-token expanded into a white-space literal
+        // in this case we accept any non-newline white-space
+        case " ":
+          return simple(/[^\S\n\r]/);
+        default:
+          return literal(t);
+      }
+    };
+
+  const unit = unitate(token) || {
+    invalidReason: MISSING_FTP,
+  };
+
+  unit.token = token;
+
+  return unit;
+}
+
+const partTypeStyleToTokenVal = {
+  year: {
+    "2-digit": "yy",
+    numeric: "yyyyy",
+  },
+  month: {
+    numeric: "M",
+    "2-digit": "MM",
+    short: "MMM",
+    long: "MMMM",
+  },
+  day: {
+    numeric: "d",
+    "2-digit": "dd",
+  },
+  weekday: {
+    short: "EEE",
+    long: "EEEE",
+  },
+  dayperiod: "a",
+  dayPeriod: "a",
+  hour12: {
+    numeric: "h",
+    "2-digit": "hh",
+  },
+  hour24: {
+    numeric: "H",
+    "2-digit": "HH",
+  },
+  minute: {
+    numeric: "m",
+    "2-digit": "mm",
+  },
+  second: {
+    numeric: "s",
+    "2-digit": "ss",
+  },
+  timeZoneName: {
+    long: "ZZZZZ",
+    short: "ZZZ",
+  },
+};
+
+function tokenForPart(part, formatOpts, resolvedOpts) {
+  const { type, value } = part;
+
+  if (type === "literal") {
+    const isSpace = /^\s+$/.test(value);
+    return {
+      literal: !isSpace,
+      val: isSpace ? " " : value,
+    };
+  }
+
+  const style = formatOpts[type];
+
+  // The user might have explicitly specified hour12 or hourCycle
+  // if so, respect their decision
+  // if not, refer back to the resolvedOpts, which are based on the locale
+  let actualType = type;
+  if (type === "hour") {
+    if (formatOpts.hour12 != null) {
+      actualType = formatOpts.hour12 ? "hour12" : "hour24";
+    } else if (formatOpts.hourCycle != null) {
+      if (formatOpts.hourCycle === "h11" || formatOpts.hourCycle === "h12") {
+        actualType = "hour12";
+      } else {
+        actualType = "hour24";
+      }
+    } else {
+      // tokens only differentiate between 24 hours or not,
+      // so we do not need to check hourCycle here, which is less supported anyways
+      actualType = resolvedOpts.hour12 ? "hour12" : "hour24";
+    }
+  }
+  let val = partTypeStyleToTokenVal[actualType];
+  if (typeof val === "object") {
+    val = val[style];
+  }
+
+  if (val) {
+    return {
+      literal: false,
+      val,
+    };
+  }
+
+  return undefined;
+}
+
+function buildRegex(units) {
+  const re = units.map((u) => u.regex).reduce((f, r) => `${f}(${r.source})`, "");
+  return [`^${re}$`, units];
+}
+
+function match(input, regex, handlers) {
+  const matches = input.match(regex);
+
+  if (matches) {
+    const all = {};
+    let matchIndex = 1;
+    for (const i in handlers) {
+      if (hasOwnProperty(handlers, i)) {
+        const h = handlers[i],
+          groups = h.groups ? h.groups + 1 : 1;
+        if (!h.literal && h.token) {
+          all[h.token.val[0]] = h.deser(matches.slice(matchIndex, matchIndex + groups));
+        }
+        matchIndex += groups;
+      }
+    }
+    return [matches, all];
+  } else {
+    return [matches, {}];
+  }
+}
+
+function dateTimeFromMatches(matches) {
+  const toField = (token) => {
+    switch (token) {
+      case "S":
+        return "millisecond";
+      case "s":
+        return "second";
+      case "m":
+        return "minute";
+      case "h":
+      case "H":
+        return "hour";
+      case "d":
+        return "day";
+      case "o":
+        return "ordinal";
+      case "L":
+      case "M":
+        return "month";
+      case "y":
+        return "year";
+      case "E":
+      case "c":
+        return "weekday";
+      case "W":
+        return "weekNumber";
+      case "k":
+        return "weekYear";
+      case "q":
+        return "quarter";
+      default:
+        return null;
+    }
+  };
+
+  let zone = null;
+  let specificOffset;
+  if (!isUndefined(matches.z)) {
+    zone = IANAZone.create(matches.z);
+  }
+
+  if (!isUndefined(matches.Z)) {
+    if (!zone) {
+      zone = new FixedOffsetZone(matches.Z);
+    }
+    specificOffset = matches.Z;
+  }
+
+  if (!isUndefined(matches.q)) {
+    matches.M = (matches.q - 1) * 3 + 1;
+  }
+
+  if (!isUndefined(matches.h)) {
+    if (matches.h < 12 && matches.a === 1) {
+      matches.h += 12;
+    } else if (matches.h === 12 && matches.a === 0) {
+      matches.h = 0;
+    }
+  }
+
+  if (matches.G === 0 && matches.y) {
+    matches.y = -matches.y;
+  }
+
+  if (!isUndefined(matches.u)) {
+    matches.S = parseMillis(matches.u);
+  }
+
+  const vals = Object.keys(matches).reduce((r, k) => {
+    const f = toField(k);
+    if (f) {
+      r[f] = matches[k];
+    }
+
+    return r;
+  }, {});
+
+  return [vals, zone, specificOffset];
+}
+
+let dummyDateTimeCache = null;
+
+function getDummyDateTime() {
+  if (!dummyDateTimeCache) {
+    dummyDateTimeCache = DateTime.fromMillis(1555555555555);
+  }
+
+  return dummyDateTimeCache;
+}
+
+function maybeExpandMacroToken(token, locale) {
+  if (token.literal) {
+    return token;
+  }
+
+  const formatOpts = Formatter.macroTokenToFormatOpts(token.val);
+  const tokens = formatOptsToTokens(formatOpts, locale);
+
+  if (tokens == null || tokens.includes(undefined)) {
+    return token;
+  }
+
+  return tokens;
+}
+
+function expandMacroTokens(tokens, locale) {
+  return Array.prototype.concat(...tokens.map((t) => maybeExpandMacroToken(t, locale)));
+}
+
+/**
+ * @private
+ */
+
+function explainFromTokens(locale, input, format) {
+  const tokens = expandMacroTokens(Formatter.parseFormat(format), locale),
+    units = tokens.map((t) => unitForToken(t, locale)),
+    disqualifyingUnit = units.find((t) => t.invalidReason);
+
+  if (disqualifyingUnit) {
+    return { input, tokens, invalidReason: disqualifyingUnit.invalidReason };
+  } else {
+    const [regexString, handlers] = buildRegex(units),
+      regex = RegExp(regexString, "i"),
+      [rawMatches, matches] = match(input, regex, handlers),
+      [result, zone, specificOffset] = matches
+        ? dateTimeFromMatches(matches)
+        : [null, null, undefined];
+    if (hasOwnProperty(matches, "a") && hasOwnProperty(matches, "H")) {
+      throw new ConflictingSpecificationError(
+        "Can't include meridiem when specifying 24-hour format"
+      );
+    }
+    return { input, tokens, regex, rawMatches, matches, result, zone, specificOffset };
+  }
+}
+
+function parseFromTokens(locale, input, format) {
+  const { result, zone, specificOffset, invalidReason } = explainFromTokens(locale, input, format);
+  return [result, zone, specificOffset, invalidReason];
+}
+
+function formatOptsToTokens(formatOpts, locale) {
+  if (!formatOpts) {
+    return null;
+  }
+
+  const formatter = Formatter.create(locale, formatOpts);
+  const df = formatter.dtFormatter(getDummyDateTime());
+  const parts = df.formatToParts();
+  const resolvedOpts = df.resolvedOptions();
+  return parts.map((p) => tokenForPart(p, formatOpts, resolvedOpts));
+}
+
+const nonLeapLadder = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334],
+  leapLadder = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335];
+
+function unitOutOfRange(unit, value) {
+  return new Invalid(
+    "unit out of range",
+    `you specified ${value} (of type ${typeof value}) as a ${unit}, which is invalid`
+  );
+}
+
+function dayOfWeek(year, month, day) {
+  const d = new Date(Date.UTC(year, month - 1, day));
+
+  if (year < 100 && year >= 0) {
+    d.setUTCFullYear(d.getUTCFullYear() - 1900);
+  }
+
+  const js = d.getUTCDay();
+
+  return js === 0 ? 7 : js;
+}
+
+function computeOrdinal(year, month, day) {
+  return day + (isLeapYear(year) ? leapLadder : nonLeapLadder)[month - 1];
+}
+
+function uncomputeOrdinal(year, ordinal) {
+  const table = isLeapYear(year) ? leapLadder : nonLeapLadder,
+    month0 = table.findIndex((i) => i < ordinal),
+    day = ordinal - table[month0];
+  return { month: month0 + 1, day };
+}
+
+/**
+ * @private
+ */
+
+function gregorianToWeek(gregObj) {
+  const { year, month, day } = gregObj,
+    ordinal = computeOrdinal(year, month, day),
+    weekday = dayOfWeek(year, month, day);
+
+  let weekNumber = Math.floor((ordinal - weekday + 10) / 7),
+    weekYear;
+
+  if (weekNumber < 1) {
+    weekYear = year - 1;
+    weekNumber = weeksInWeekYear(weekYear);
+  } else if (weekNumber > weeksInWeekYear(year)) {
+    weekYear = year + 1;
+    weekNumber = 1;
+  } else {
+    weekYear = year;
+  }
+
+  return { weekYear, weekNumber, weekday, ...timeObject(gregObj) };
+}
+
+function weekToGregorian(weekData) {
+  const { weekYear, weekNumber, weekday } = weekData,
+    weekdayOfJan4 = dayOfWeek(weekYear, 1, 4),
+    yearInDays = daysInYear(weekYear);
+
+  let ordinal = weekNumber * 7 + weekday - weekdayOfJan4 - 3,
+    year;
+
+  if (ordinal < 1) {
+    year = weekYear - 1;
+    ordinal += daysInYear(year);
+  } else if (ordinal > yearInDays) {
+    year = weekYear + 1;
+    ordinal -= daysInYear(weekYear);
+  } else {
+    year = weekYear;
+  }
+
+  const { month, day } = uncomputeOrdinal(year, ordinal);
+  return { year, month, day, ...timeObject(weekData) };
+}
+
+function gregorianToOrdinal(gregData) {
+  const { year, month, day } = gregData;
+  const ordinal = computeOrdinal(year, month, day);
+  return { year, ordinal, ...timeObject(gregData) };
+}
+
+function ordinalToGregorian(ordinalData) {
+  const { year, ordinal } = ordinalData;
+  const { month, day } = uncomputeOrdinal(year, ordinal);
+  return { year, month, day, ...timeObject(ordinalData) };
+}
+
+function hasInvalidWeekData(obj) {
+  const validYear = isInteger(obj.weekYear),
+    validWeek = integerBetween(obj.weekNumber, 1, weeksInWeekYear(obj.weekYear)),
+    validWeekday = integerBetween(obj.weekday, 1, 7);
+
+  if (!validYear) {
+    return unitOutOfRange("weekYear", obj.weekYear);
+  } else if (!validWeek) {
+    return unitOutOfRange("week", obj.week);
+  } else if (!validWeekday) {
+    return unitOutOfRange("weekday", obj.weekday);
+  } else return false;
+}
+
+function hasInvalidOrdinalData(obj) {
+  const validYear = isInteger(obj.year),
+    validOrdinal = integerBetween(obj.ordinal, 1, daysInYear(obj.year));
+
+  if (!validYear) {
+    return unitOutOfRange("year", obj.year);
+  } else if (!validOrdinal) {
+    return unitOutOfRange("ordinal", obj.ordinal);
+  } else return false;
+}
+
+function hasInvalidGregorianData(obj) {
+  const validYear = isInteger(obj.year),
+    validMonth = integerBetween(obj.month, 1, 12),
+    validDay = integerBetween(obj.day, 1, daysInMonth(obj.year, obj.month));
+
+  if (!validYear) {
+    return unitOutOfRange("year", obj.year);
+  } else if (!validMonth) {
+    return unitOutOfRange("month", obj.month);
+  } else if (!validDay) {
+    return unitOutOfRange("day", obj.day);
+  } else return false;
+}
+
+function hasInvalidTimeData(obj) {
+  const { hour, minute, second, millisecond } = obj;
+  const validHour =
+      integerBetween(hour, 0, 23) ||
+      (hour === 24 && minute === 0 && second === 0 && millisecond === 0),
+    validMinute = integerBetween(minute, 0, 59),
+    validSecond = integerBetween(second, 0, 59),
+    validMillisecond = integerBetween(millisecond, 0, 999);
+
+  if (!validHour) {
+    return unitOutOfRange("hour", hour);
+  } else if (!validMinute) {
+    return unitOutOfRange("minute", minute);
+  } else if (!validSecond) {
+    return unitOutOfRange("second", second);
+  } else if (!validMillisecond) {
+    return unitOutOfRange("millisecond", millisecond);
+  } else return false;
+}
+
+const INVALID = "Invalid DateTime";
+const MAX_DATE = 8.64e15;
+
+function unsupportedZone(zone) {
+  return new Invalid("unsupported zone", `the zone "${zone.name}" is not supported`);
+}
+
+// we cache week data on the DT object and this intermediates the cache
+function possiblyCachedWeekData(dt) {
+  if (dt.weekData === null) {
+    dt.weekData = gregorianToWeek(dt.c);
+  }
+  return dt.weekData;
+}
+
+// clone really means, "make a new object with these modifications". all "setters" really use this
+// to create a new object while only changing some of the properties
+function clone(inst, alts) {
+  const current = {
+    ts: inst.ts,
+    zone: inst.zone,
+    c: inst.c,
+    o: inst.o,
+    loc: inst.loc,
+    invalid: inst.invalid,
+  };
+  return new DateTime({ ...current, ...alts, old: current });
+}
+
+// find the right offset a given local time. The o input is our guess, which determines which
+// offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)
+function fixOffset(localTS, o, tz) {
+  // Our UTC time is just a guess because our offset is just a guess
+  let utcGuess = localTS - o * 60 * 1000;
+
+  // Test whether the zone matches the offset for this ts
+  const o2 = tz.offset(utcGuess);
+
+  // If so, offset didn't change and we're done
+  if (o === o2) {
+    return [utcGuess, o];
+  }
+
+  // If not, change the ts by the difference in the offset
+  utcGuess -= (o2 - o) * 60 * 1000;
+
+  // If that gives us the local time we want, we're done
+  const o3 = tz.offset(utcGuess);
+  if (o2 === o3) {
+    return [utcGuess, o2];
+  }
+
+  // If it's different, we're in a hole time. The offset has changed, but the we don't adjust the time
+  return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];
+}
+
+// convert an epoch timestamp into a calendar object with the given offset
+function tsToObj(ts, offset) {
+  ts += offset * 60 * 1000;
+
+  const d = new Date(ts);
+
+  return {
+    year: d.getUTCFullYear(),
+    month: d.getUTCMonth() + 1,
+    day: d.getUTCDate(),
+    hour: d.getUTCHours(),
+    minute: d.getUTCMinutes(),
+    second: d.getUTCSeconds(),
+    millisecond: d.getUTCMilliseconds(),
+  };
+}
+
+// convert a calendar object to a epoch timestamp
+function objToTS(obj, offset, zone) {
+  return fixOffset(objToLocalTS(obj), offset, zone);
+}
+
+// create a new DT instance by adding a duration, adjusting for DSTs
+function adjustTime(inst, dur) {
+  const oPre = inst.o,
+    year = inst.c.year + Math.trunc(dur.years),
+    month = inst.c.month + Math.trunc(dur.months) + Math.trunc(dur.quarters) * 3,
+    c = {
+      ...inst.c,
+      year,
+      month,
+      day:
+        Math.min(inst.c.day, daysInMonth(year, month)) +
+        Math.trunc(dur.days) +
+        Math.trunc(dur.weeks) * 7,
+    },
+    millisToAdd = Duration.fromObject({
+      years: dur.years - Math.trunc(dur.years),
+      quarters: dur.quarters - Math.trunc(dur.quarters),
+      months: dur.months - Math.trunc(dur.months),
+      weeks: dur.weeks - Math.trunc(dur.weeks),
+      days: dur.days - Math.trunc(dur.days),
+      hours: dur.hours,
+      minutes: dur.minutes,
+      seconds: dur.seconds,
+      milliseconds: dur.milliseconds,
+    }).as("milliseconds"),
+    localTS = objToLocalTS(c);
+
+  let [ts, o] = fixOffset(localTS, oPre, inst.zone);
+
+  if (millisToAdd !== 0) {
+    ts += millisToAdd;
+    // that could have changed the offset by going over a DST, but we want to keep the ts the same
+    o = inst.zone.offset(ts);
+  }
+
+  return { ts, o };
+}
+
+// helper useful in turning the results of parsing into real dates
+// by handling the zone options
+function parseDataToDateTime(parsed, parsedZone, opts, format, text, specificOffset) {
+  const { setZone, zone } = opts;
+  if ((parsed && Object.keys(parsed).length !== 0) || parsedZone) {
+    const interpretationZone = parsedZone || zone,
+      inst = DateTime.fromObject(parsed, {
+        ...opts,
+        zone: interpretationZone,
+        specificOffset,
+      });
+    return setZone ? inst : inst.setZone(zone);
+  } else {
+    return DateTime.invalid(
+      new Invalid("unparsable", `the input "${text}" can't be parsed as ${format}`)
+    );
+  }
+}
+
+// if you want to output a technical format (e.g. RFC 2822), this helper
+// helps handle the details
+function toTechFormat(dt, format, allowZ = true) {
+  return dt.isValid
+    ? Formatter.create(Locale.create("en-US"), {
+        allowZ,
+        forceSimple: true,
+      }).formatDateTimeFromString(dt, format)
+    : null;
+}
+
+function toISODate(o, extended) {
+  const longFormat = o.c.year > 9999 || o.c.year < 0;
+  let c = "";
+  if (longFormat && o.c.year >= 0) c += "+";
+  c += padStart(o.c.year, longFormat ? 6 : 4);
+
+  if (extended) {
+    c += "-";
+    c += padStart(o.c.month);
+    c += "-";
+    c += padStart(o.c.day);
+  } else {
+    c += padStart(o.c.month);
+    c += padStart(o.c.day);
+  }
+  return c;
+}
+
+function toISOTime(
+  o,
+  extended,
+  suppressSeconds,
+  suppressMilliseconds,
+  includeOffset,
+  extendedZone
+) {
+  let c = padStart(o.c.hour);
+  if (extended) {
+    c += ":";
+    c += padStart(o.c.minute);
+    if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {
+      c += ":";
+    }
+  } else {
+    c += padStart(o.c.minute);
+  }
+
+  if (o.c.millisecond !== 0 || o.c.second !== 0 || !suppressSeconds) {
+    c += padStart(o.c.second);
+
+    if (o.c.millisecond !== 0 || !suppressMilliseconds) {
+      c += ".";
+      c += padStart(o.c.millisecond, 3);
+    }
+  }
+
+  if (includeOffset) {
+    if (o.isOffsetFixed && o.offset === 0 && !extendedZone) {
+      c += "Z";
+    } else if (o.o < 0) {
+      c += "-";
+      c += padStart(Math.trunc(-o.o / 60));
+      c += ":";
+      c += padStart(Math.trunc(-o.o % 60));
+    } else {
+      c += "+";
+      c += padStart(Math.trunc(o.o / 60));
+      c += ":";
+      c += padStart(Math.trunc(o.o % 60));
+    }
+  }
+
+  if (extendedZone) {
+    c += "[" + o.zone.ianaName + "]";
+  }
+  return c;
+}
+
+// defaults for unspecified units in the supported calendars
+const defaultUnitValues = {
+    month: 1,
+    day: 1,
+    hour: 0,
+    minute: 0,
+    second: 0,
+    millisecond: 0,
+  },
+  defaultWeekUnitValues = {
+    weekNumber: 1,
+    weekday: 1,
+    hour: 0,
+    minute: 0,
+    second: 0,
+    millisecond: 0,
+  },
+  defaultOrdinalUnitValues = {
+    ordinal: 1,
+    hour: 0,
+    minute: 0,
+    second: 0,
+    millisecond: 0,
+  };
+
+// Units in the supported calendars, sorted by bigness
+const orderedUnits = ["year", "month", "day", "hour", "minute", "second", "millisecond"],
+  orderedWeekUnits = [
+    "weekYear",
+    "weekNumber",
+    "weekday",
+    "hour",
+    "minute",
+    "second",
+    "millisecond",
+  ],
+  orderedOrdinalUnits = ["year", "ordinal", "hour", "minute", "second", "millisecond"];
+
+// standardize case and plurality in units
+function normalizeUnit(unit) {
+  const normalized = {
+    year: "year",
+    years: "year",
+    month: "month",
+    months: "month",
+    day: "day",
+    days: "day",
+    hour: "hour",
+    hours: "hour",
+    minute: "minute",
+    minutes: "minute",
+    quarter: "quarter",
+    quarters: "quarter",
+    second: "second",
+    seconds: "second",
+    millisecond: "millisecond",
+    milliseconds: "millisecond",
+    weekday: "weekday",
+    weekdays: "weekday",
+    weeknumber: "weekNumber",
+    weeksnumber: "weekNumber",
+    weeknumbers: "weekNumber",
+    weekyear: "weekYear",
+    weekyears: "weekYear",
+    ordinal: "ordinal",
+  }[unit.toLowerCase()];
+
+  if (!normalized) throw new InvalidUnitError(unit);
+
+  return normalized;
+}
+
+// this is a dumbed down version of fromObject() that runs about 60% faster
+// but doesn't do any validation, makes a bunch of assumptions about what units
+// are present, and so on.
+function quickDT(obj, opts) {
+  const zone = normalizeZone(opts.zone, Settings.defaultZone),
+    loc = Locale.fromObject(opts),
+    tsNow = Settings.now();
+
+  let ts, o;
+
+  // assume we have the higher-order units
+  if (!isUndefined(obj.year)) {
+    for (const u of orderedUnits) {
+      if (isUndefined(obj[u])) {
+        obj[u] = defaultUnitValues[u];
+      }
+    }
+
+    const invalid = hasInvalidGregorianData(obj) || hasInvalidTimeData(obj);
+    if (invalid) {
+      return DateTime.invalid(invalid);
+    }
+
+    const offsetProvis = zone.offset(tsNow);
+    [ts, o] = objToTS(obj, offsetProvis, zone);
+  } else {
+    ts = tsNow;
+  }
+
+  return new DateTime({ ts, zone, loc, o });
+}
+
+function diffRelative(start, end, opts) {
+  const round = isUndefined(opts.round) ? true : opts.round,
+    format = (c, unit) => {
+      c = roundTo(c, round || opts.calendary ? 0 : 2, true);
+      const formatter = end.loc.clone(opts).relFormatter(opts);
+      return formatter.format(c, unit);
+    },
+    differ = (unit) => {
+      if (opts.calendary) {
+        if (!end.hasSame(start, unit)) {
+          return end.startOf(unit).diff(start.startOf(unit), unit).get(unit);
+        } else return 0;
+      } else {
+        return end.diff(start, unit).get(unit);
+      }
+    };
+
+  if (opts.unit) {
+    return format(differ(opts.unit), opts.unit);
+  }
+
+  for (const unit of opts.units) {
+    const count = differ(unit);
+    if (Math.abs(count) >= 1) {
+      return format(count, unit);
+    }
+  }
+  return format(start > end ? -0 : 0, opts.units[opts.units.length - 1]);
+}
+
+function lastOpts(argList) {
+  let opts = {},
+    args;
+  if (argList.length > 0 && typeof argList[argList.length - 1] === "object") {
+    opts = argList[argList.length - 1];
+    args = Array.from(argList).slice(0, argList.length - 1);
+  } else {
+    args = Array.from(argList);
+  }
+  return [opts, args];
+}
+
+/**
+ * A DateTime is an immutable data structure representing a specific date and time and accompanying methods. It contains class and instance methods for creating, parsing, interrogating, transforming, and formatting them.
+ *
+ * A DateTime comprises of:
+ * * A timestamp. Each DateTime instance refers to a specific millisecond of the Unix epoch.
+ * * A time zone. Each instance is considered in the context of a specific zone (by default the local system's zone).
+ * * Configuration properties that effect how output strings are formatted, such as `locale`, `numberingSystem`, and `outputCalendar`.
+ *
+ * Here is a brief overview of the most commonly used functionality it provides:
+ *
+ * * **Creation**: To create a DateTime from its components, use one of its factory class methods: {@link DateTime.local}, {@link DateTime.utc}, and (most flexibly) {@link DateTime.fromObject}. To create one from a standard string format, use {@link DateTime.fromISO}, {@link DateTime.fromHTTP}, and {@link DateTime.fromRFC2822}. To create one from a custom string format, use {@link DateTime.fromFormat}. To create one from a native JS date, use {@link DateTime.fromJSDate}.
+ * * **Gregorian calendar and time**: To examine the Gregorian properties of a DateTime individually (i.e as opposed to collectively through {@link DateTime#toObject}), use the {@link DateTime#year}, {@link DateTime#month},
+ * {@link DateTime#day}, {@link DateTime#hour}, {@link DateTime#minute}, {@link DateTime#second}, {@link DateTime#millisecond} accessors.
+ * * **Week calendar**: For ISO week calendar attributes, see the {@link DateTime#weekYear}, {@link DateTime#weekNumber}, and {@link DateTime#weekday} accessors.
+ * * **Configuration** See the {@link DateTime#locale} and {@link DateTime#numberingSystem} accessors.
+ * * **Transformation**: To transform the DateTime into other DateTimes, use {@link DateTime#set}, {@link DateTime#reconfigure}, {@link DateTime#setZone}, {@link DateTime#setLocale}, {@link DateTime.plus}, {@link DateTime#minus}, {@link DateTime#endOf}, {@link DateTime#startOf}, {@link DateTime#toUTC}, and {@link DateTime#toLocal}.
+ * * **Output**: To convert the DateTime to other representations, use the {@link DateTime#toRelative}, {@link DateTime#toRelativeCalendar}, {@link DateTime#toJSON}, {@link DateTime#toISO}, {@link DateTime#toHTTP}, {@link DateTime#toObject}, {@link DateTime#toRFC2822}, {@link DateTime#toString}, {@link DateTime#toLocaleString}, {@link DateTime#toFormat}, {@link DateTime#toMillis} and {@link DateTime#toJSDate}.
+ *
+ * There's plenty others documented below. In addition, for more information on subtler topics like internationalization, time zones, alternative calendars, validity, and so on, see the external documentation.
+ */
+class DateTime {
+  /**
+   * @access private
+   */
+  constructor(config) {
+    const zone = config.zone || Settings.defaultZone;
+
+    let invalid =
+      config.invalid ||
+      (Number.isNaN(config.ts) ? new Invalid("invalid input") : null) ||
+      (!zone.isValid ? unsupportedZone(zone) : null);
+    /**
+     * @access private
+     */
+    this.ts = isUndefined(config.ts) ? Settings.now() : config.ts;
+
+    let c = null,
+      o = null;
+    if (!invalid) {
+      const unchanged = config.old && config.old.ts === this.ts && config.old.zone.equals(zone);
+
+      if (unchanged) {
+        [c, o] = [config.old.c, config.old.o];
+      } else {
+        const ot = zone.offset(this.ts);
+        c = tsToObj(this.ts, ot);
+        invalid = Number.isNaN(c.year) ? new Invalid("invalid input") : null;
+        c = invalid ? null : c;
+        o = invalid ? null : ot;
+      }
+    }
+
+    /**
+     * @access private
+     */
+    this._zone = zone;
+    /**
+     * @access private
+     */
+    this.loc = config.loc || Locale.create();
+    /**
+     * @access private
+     */
+    this.invalid = invalid;
+    /**
+     * @access private
+     */
+    this.weekData = null;
+    /**
+     * @access private
+     */
+    this.c = c;
+    /**
+     * @access private
+     */
+    this.o = o;
+    /**
+     * @access private
+     */
+    this.isLuxonDateTime = true;
+  }
+
+  // CONSTRUCT
+
+  /**
+   * Create a DateTime for the current instant, in the system's time zone.
+   *
+   * Use Settings to override these default values if needed.
+   * @example DateTime.now().toISO() //~> now in the ISO format
+   * @return {DateTime}
+   */
+  static now() {
+    return new DateTime({});
+  }
+
+  /**
+   * Create a local DateTime
+   * @param {number} [year] - The calendar year. If omitted (as in, call `local()` with no arguments), the current time will be used
+   * @param {number} [month=1] - The month, 1-indexed
+   * @param {number} [day=1] - The day of the month, 1-indexed
+   * @param {number} [hour=0] - The hour of the day, in 24-hour time
+   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59
+   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59
+   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999
+   * @example DateTime.local()                                  //~> now
+   * @example DateTime.local({ zone: "America/New_York" })      //~> now, in US east coast time
+   * @example DateTime.local(2017)                              //~> 2017-01-01T00:00:00
+   * @example DateTime.local(2017, 3)                           //~> 2017-03-01T00:00:00
+   * @example DateTime.local(2017, 3, 12, { locale: "fr" })     //~> 2017-03-12T00:00:00, with a French locale
+   * @example DateTime.local(2017, 3, 12, 5)                    //~> 2017-03-12T05:00:00
+   * @example DateTime.local(2017, 3, 12, 5, { zone: "utc" })   //~> 2017-03-12T05:00:00, in UTC
+   * @example DateTime.local(2017, 3, 12, 5, 45)                //~> 2017-03-12T05:45:00
+   * @example DateTime.local(2017, 3, 12, 5, 45, 10)            //~> 2017-03-12T05:45:10
+   * @example DateTime.local(2017, 3, 12, 5, 45, 10, 765)       //~> 2017-03-12T05:45:10.765
+   * @return {DateTime}
+   */
+  static local() {
+    const [opts, args] = lastOpts(arguments),
+      [year, month, day, hour, minute, second, millisecond] = args;
+    return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);
+  }
+
+  /**
+   * Create a DateTime in UTC
+   * @param {number} [year] - The calendar year. If omitted (as in, call `utc()` with no arguments), the current time will be used
+   * @param {number} [month=1] - The month, 1-indexed
+   * @param {number} [day=1] - The day of the month
+   * @param {number} [hour=0] - The hour of the day, in 24-hour time
+   * @param {number} [minute=0] - The minute of the hour, meaning a number between 0 and 59
+   * @param {number} [second=0] - The second of the minute, meaning a number between 0 and 59
+   * @param {number} [millisecond=0] - The millisecond of the second, meaning a number between 0 and 999
+   * @param {Object} options - configuration options for the DateTime
+   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance
+   * @param {string} [options.outputCalendar] - the output calendar to set on the resulting DateTime instance
+   * @param {string} [options.numberingSystem] - the numbering system to set on the resulting DateTime instance
+   * @example DateTime.utc()                                              //~> now
+   * @example DateTime.utc(2017)                                          //~> 2017-01-01T00:00:00Z
+   * @example DateTime.utc(2017, 3)                                       //~> 2017-03-01T00:00:00Z
+   * @example DateTime.utc(2017, 3, 12)                                   //~> 2017-03-12T00:00:00Z
+   * @example DateTime.utc(2017, 3, 12, 5)                                //~> 2017-03-12T05:00:00Z
+   * @example DateTime.utc(2017, 3, 12, 5, 45)                            //~> 2017-03-12T05:45:00Z
+   * @example DateTime.utc(2017, 3, 12, 5, 45, { locale: "fr" })          //~> 2017-03-12T05:45:00Z with a French locale
+   * @example DateTime.utc(2017, 3, 12, 5, 45, 10)                        //~> 2017-03-12T05:45:10Z
+   * @example DateTime.utc(2017, 3, 12, 5, 45, 10, 765, { locale: "fr" }) //~> 2017-03-12T05:45:10.765Z with a French locale
+   * @return {DateTime}
+   */
+  static utc() {
+    const [opts, args] = lastOpts(arguments),
+      [year, month, day, hour, minute, second, millisecond] = args;
+
+    opts.zone = FixedOffsetZone.utcInstance;
+    return quickDT({ year, month, day, hour, minute, second, millisecond }, opts);
+  }
+
+  /**
+   * Create a DateTime from a JavaScript Date object. Uses the default zone.
+   * @param {Date} date - a JavaScript Date object
+   * @param {Object} options - configuration options for the DateTime
+   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into
+   * @return {DateTime}
+   */
+  static fromJSDate(date, options = {}) {
+    const ts = isDate(date) ? date.valueOf() : NaN;
+    if (Number.isNaN(ts)) {
+      return DateTime.invalid("invalid input");
+    }
+
+    const zoneToUse = normalizeZone(options.zone, Settings.defaultZone);
+    if (!zoneToUse.isValid) {
+      return DateTime.invalid(unsupportedZone(zoneToUse));
+    }
+
+    return new DateTime({
+      ts: ts,
+      zone: zoneToUse,
+      loc: Locale.fromObject(options),
+    });
+  }
+
+  /**
+   * Create a DateTime from a number of milliseconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.
+   * @param {number} milliseconds - a number of milliseconds since 1970 UTC
+   * @param {Object} options - configuration options for the DateTime
+   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into
+   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance
+   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance
+   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance
+   * @return {DateTime}
+   */
+  static fromMillis(milliseconds, options = {}) {
+    if (!isNumber(milliseconds)) {
+      throw new InvalidArgumentError(
+        `fromMillis requires a numerical input, but received a ${typeof milliseconds} with value ${milliseconds}`
+      );
+    } else if (milliseconds < -MAX_DATE || milliseconds > MAX_DATE) {
+      // this isn't perfect because because we can still end up out of range because of additional shifting, but it's a start
+      return DateTime.invalid("Timestamp out of range");
+    } else {
+      return new DateTime({
+        ts: milliseconds,
+        zone: normalizeZone(options.zone, Settings.defaultZone),
+        loc: Locale.fromObject(options),
+      });
+    }
+  }
+
+  /**
+   * Create a DateTime from a number of seconds since the epoch (meaning since 1 January 1970 00:00:00 UTC). Uses the default zone.
+   * @param {number} seconds - a number of seconds since 1970 UTC
+   * @param {Object} options - configuration options for the DateTime
+   * @param {string|Zone} [options.zone='local'] - the zone to place the DateTime into
+   * @param {string} [options.locale] - a locale to set on the resulting DateTime instance
+   * @param {string} options.outputCalendar - the output calendar to set on the resulting DateTime instance
+   * @param {string} options.numberingSystem - the numbering system to set on the resulting DateTime instance
+   * @return {DateTime}
+   */
+  static fromSeconds(seconds, options = {}) {
+    if (!isNumber(seconds)) {
+      throw new InvalidArgumentError("fromSeconds requires a numerical input");
+    } else {
+      return new DateTime({
+        ts: seconds * 1000,
+        zone: normalizeZone(options.zone, Settings.defaultZone),
+        loc: Locale.fromObject(options),
+      });
+    }
+  }
+
+  /**
+   * Create a DateTime from a JavaScript object with keys like 'year' and 'hour' with reasonable defaults.
+   * @param {Object} obj - the object to create the DateTime from
+   * @param {number} obj.year - a year, such as 1987
+   * @param {number} obj.month - a month, 1-12
+   * @param {number} obj.day - a day of the month, 1-31, depending on the month
+   * @param {number} obj.ordinal - day of the year, 1-365 or 366
+   * @param {number} obj.weekYear - an ISO week year
+   * @param {number} obj.weekNumber - an ISO week number, between 1 and 52 or 53, depending on the year
+   * @param {number} obj.weekday - an ISO weekday, 1-7, where 1 is Monday and 7 is Sunday
+   * @param {number} obj.hour - hour of the day, 0-23
+   * @param {number} obj.minute - minute of the hour, 0-59
+   * @param {number} obj.second - second of the minute, 0-59
+   * @param {number} obj.millisecond - millisecond of the second, 0-999
+   * @param {Object} opts - options for creating this DateTime
+   * @param {string|Zone} [opts.zone='local'] - interpret the numbers in the context of a particular zone. Can take any value taken as the first argument to setZone()
+   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance
+   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
+   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance
+   * @example DateTime.fromObject({ year: 1982, month: 5, day: 25}).toISODate() //=> '1982-05-25'
+   * @example DateTime.fromObject({ year: 1982 }).toISODate() //=> '1982-01-01'
+   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }) //~> today at 10:26:06
+   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'utc' }),
+   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'local' })
+   * @example DateTime.fromObject({ hour: 10, minute: 26, second: 6 }, { zone: 'America/New_York' })
+   * @example DateTime.fromObject({ weekYear: 2016, weekNumber: 2, weekday: 3 }).toISODate() //=> '2016-01-13'
+   * @return {DateTime}
+   */
+  static fromObject(obj, opts = {}) {
+    obj = obj || {};
+    const zoneToUse = normalizeZone(opts.zone, Settings.defaultZone);
+    if (!zoneToUse.isValid) {
+      return DateTime.invalid(unsupportedZone(zoneToUse));
+    }
+
+    const tsNow = Settings.now(),
+      offsetProvis = !isUndefined(opts.specificOffset)
+        ? opts.specificOffset
+        : zoneToUse.offset(tsNow),
+      normalized = normalizeObject(obj, normalizeUnit),
+      containsOrdinal = !isUndefined(normalized.ordinal),
+      containsGregorYear = !isUndefined(normalized.year),
+      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),
+      containsGregor = containsGregorYear || containsGregorMD,
+      definiteWeekDef = normalized.weekYear || normalized.weekNumber,
+      loc = Locale.fromObject(opts);
+
+    // cases:
+    // just a weekday -> this week's instance of that weekday, no worries
+    // (gregorian data or ordinal) + (weekYear or weekNumber) -> error
+    // (gregorian month or day) + ordinal -> error
+    // otherwise just use weeks or ordinals or gregorian, depending on what's specified
+
+    if ((containsGregor || containsOrdinal) && definiteWeekDef) {
+      throw new ConflictingSpecificationError(
+        "Can't mix weekYear/weekNumber units with year/month/day or ordinals"
+      );
+    }
+
+    if (containsGregorMD && containsOrdinal) {
+      throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day");
+    }
+
+    const useWeekData = definiteWeekDef || (normalized.weekday && !containsGregor);
+
+    // configure ourselves to deal with gregorian dates or week stuff
+    let units,
+      defaultValues,
+      objNow = tsToObj(tsNow, offsetProvis);
+    if (useWeekData) {
+      units = orderedWeekUnits;
+      defaultValues = defaultWeekUnitValues;
+      objNow = gregorianToWeek(objNow);
+    } else if (containsOrdinal) {
+      units = orderedOrdinalUnits;
+      defaultValues = defaultOrdinalUnitValues;
+      objNow = gregorianToOrdinal(objNow);
+    } else {
+      units = orderedUnits;
+      defaultValues = defaultUnitValues;
+    }
+
+    // set default values for missing stuff
+    let foundFirst = false;
+    for (const u of units) {
+      const v = normalized[u];
+      if (!isUndefined(v)) {
+        foundFirst = true;
+      } else if (foundFirst) {
+        normalized[u] = defaultValues[u];
+      } else {
+        normalized[u] = objNow[u];
+      }
+    }
+
+    // make sure the values we have are in range
+    const higherOrderInvalid = useWeekData
+        ? hasInvalidWeekData(normalized)
+        : containsOrdinal
+        ? hasInvalidOrdinalData(normalized)
+        : hasInvalidGregorianData(normalized),
+      invalid = higherOrderInvalid || hasInvalidTimeData(normalized);
+
+    if (invalid) {
+      return DateTime.invalid(invalid);
+    }
+
+    // compute the actual time
+    const gregorian = useWeekData
+        ? weekToGregorian(normalized)
+        : containsOrdinal
+        ? ordinalToGregorian(normalized)
+        : normalized,
+      [tsFinal, offsetFinal] = objToTS(gregorian, offsetProvis, zoneToUse),
+      inst = new DateTime({
+        ts: tsFinal,
+        zone: zoneToUse,
+        o: offsetFinal,
+        loc,
+      });
+
+    // gregorian data + weekday serves only to validate
+    if (normalized.weekday && containsGregor && obj.weekday !== inst.weekday) {
+      return DateTime.invalid(
+        "mismatched weekday",
+        `you can't specify both a weekday of ${normalized.weekday} and a date of ${inst.toISO()}`
+      );
+    }
+
+    return inst;
+  }
+
+  /**
+   * Create a DateTime from an ISO 8601 string
+   * @param {string} text - the ISO string
+   * @param {Object} opts - options to affect the creation
+   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the time to this zone
+   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one
+   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance
+   * @param {string} [opts.outputCalendar] - the output calendar to set on the resulting DateTime instance
+   * @param {string} [opts.numberingSystem] - the numbering system to set on the resulting DateTime instance
+   * @example DateTime.fromISO('2016-05-25T09:08:34.123')
+   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00')
+   * @example DateTime.fromISO('2016-05-25T09:08:34.123+06:00', {setZone: true})
+   * @example DateTime.fromISO('2016-05-25T09:08:34.123', {zone: 'utc'})
+   * @example DateTime.fromISO('2016-W05-4')
+   * @return {DateTime}
+   */
+  static fromISO(text, opts = {}) {
+    const [vals, parsedZone] = parseISODate(text);
+    return parseDataToDateTime(vals, parsedZone, opts, "ISO 8601", text);
+  }
+
+  /**
+   * Create a DateTime from an RFC 2822 string
+   * @param {string} text - the RFC 2822 string
+   * @param {Object} opts - options to affect the creation
+   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since the offset is always specified in the string itself, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.
+   * @param {boolean} [opts.setZone=false] - override the zone with a fixed-offset zone specified in the string itself, if it specifies one
+   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance
+   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
+   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance
+   * @example DateTime.fromRFC2822('25 Nov 2016 13:23:12 GMT')
+   * @example DateTime.fromRFC2822('Fri, 25 Nov 2016 13:23:12 +0600')
+   * @example DateTime.fromRFC2822('25 Nov 2016 13:23 Z')
+   * @return {DateTime}
+   */
+  static fromRFC2822(text, opts = {}) {
+    const [vals, parsedZone] = parseRFC2822Date(text);
+    return parseDataToDateTime(vals, parsedZone, opts, "RFC 2822", text);
+  }
+
+  /**
+   * Create a DateTime from an HTTP header date
+   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1
+   * @param {string} text - the HTTP header date
+   * @param {Object} opts - options to affect the creation
+   * @param {string|Zone} [opts.zone='local'] - convert the time to this zone. Since HTTP dates are always in UTC, this has no effect on the interpretation of string, merely the zone the resulting DateTime is expressed in.
+   * @param {boolean} [opts.setZone=false] - override the zone with the fixed-offset zone specified in the string. For HTTP dates, this is always UTC, so this option is equivalent to setting the `zone` option to 'utc', but this option is included for consistency with similar methods.
+   * @param {string} [opts.locale='system's locale'] - a locale to set on the resulting DateTime instance
+   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
+   * @param {string} opts.numberingSystem - the numbering system to set on the resulting DateTime instance
+   * @example DateTime.fromHTTP('Sun, 06 Nov 1994 08:49:37 GMT')
+   * @example DateTime.fromHTTP('Sunday, 06-Nov-94 08:49:37 GMT')
+   * @example DateTime.fromHTTP('Sun Nov  6 08:49:37 1994')
+   * @return {DateTime}
+   */
+  static fromHTTP(text, opts = {}) {
+    const [vals, parsedZone] = parseHTTPDate(text);
+    return parseDataToDateTime(vals, parsedZone, opts, "HTTP", opts);
+  }
+
+  /**
+   * Create a DateTime from an input string and format string.
+   * Defaults to en-US if no locale has been specified, regardless of the system's locale. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/parsing?id=table-of-tokens).
+   * @param {string} text - the string to parse
+   * @param {string} fmt - the format the string is expected to be in (see the link below for the formats)
+   * @param {Object} opts - options to affect the creation
+   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone
+   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one
+   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale
+   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system
+   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
+   * @return {DateTime}
+   */
+  static fromFormat(text, fmt, opts = {}) {
+    if (isUndefined(text) || isUndefined(fmt)) {
+      throw new InvalidArgumentError("fromFormat requires an input string and a format");
+    }
+
+    const { locale = null, numberingSystem = null } = opts,
+      localeToUse = Locale.fromOpts({
+        locale,
+        numberingSystem,
+        defaultToEN: true,
+      }),
+      [vals, parsedZone, specificOffset, invalid] = parseFromTokens(localeToUse, text, fmt);
+    if (invalid) {
+      return DateTime.invalid(invalid);
+    } else {
+      return parseDataToDateTime(vals, parsedZone, opts, `format ${fmt}`, text, specificOffset);
+    }
+  }
+
+  /**
+   * @deprecated use fromFormat instead
+   */
+  static fromString(text, fmt, opts = {}) {
+    return DateTime.fromFormat(text, fmt, opts);
+  }
+
+  /**
+   * Create a DateTime from a SQL date, time, or datetime
+   * Defaults to en-US if no locale has been specified, regardless of the system's locale
+   * @param {string} text - the string to parse
+   * @param {Object} opts - options to affect the creation
+   * @param {string|Zone} [opts.zone='local'] - use this zone if no offset is specified in the input string itself. Will also convert the DateTime to this zone
+   * @param {boolean} [opts.setZone=false] - override the zone with a zone specified in the string itself, if it specifies one
+   * @param {string} [opts.locale='en-US'] - a locale string to use when parsing. Will also set the DateTime to this locale
+   * @param {string} opts.numberingSystem - the numbering system to use when parsing. Will also set the resulting DateTime to this numbering system
+   * @param {string} opts.outputCalendar - the output calendar to set on the resulting DateTime instance
+   * @example DateTime.fromSQL('2017-05-15')
+   * @example DateTime.fromSQL('2017-05-15 09:12:34')
+   * @example DateTime.fromSQL('2017-05-15 09:12:34.342')
+   * @example DateTime.fromSQL('2017-05-15 09:12:34.342+06:00')
+   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles')
+   * @example DateTime.fromSQL('2017-05-15 09:12:34.342 America/Los_Angeles', { setZone: true })
+   * @example DateTime.fromSQL('2017-05-15 09:12:34.342', { zone: 'America/Los_Angeles' })
+   * @example DateTime.fromSQL('09:12:34.342')
+   * @return {DateTime}
+   */
+  static fromSQL(text, opts = {}) {
+    const [vals, parsedZone] = parseSQL(text);
+    return parseDataToDateTime(vals, parsedZone, opts, "SQL", text);
+  }
+
+  /**
+   * Create an invalid DateTime.
+   * @param {string} reason - simple string of why this DateTime is invalid. Should not contain parameters or anything else data-dependent.
+   * @param {string} [explanation=null] - longer explanation, may include parameters and other useful debugging information
+   * @return {DateTime}
+   */
+  static invalid(reason, explanation = null) {
+    if (!reason) {
+      throw new InvalidArgumentError("need to specify a reason the DateTime is invalid");
+    }
+
+    const invalid = reason instanceof Invalid ? reason : new Invalid(reason, explanation);
+
+    if (Settings.throwOnInvalid) {
+      throw new InvalidDateTimeError(invalid);
+    } else {
+      return new DateTime({ invalid });
+    }
+  }
+
+  /**
+   * Check if an object is an instance of DateTime. Works across context boundaries
+   * @param {object} o
+   * @return {boolean}
+   */
+  static isDateTime(o) {
+    return (o && o.isLuxonDateTime) || false;
+  }
+
+  /**
+   * Produce the format string for a set of options
+   * @param formatOpts
+   * @param localeOpts
+   * @returns {string}
+   */
+  static parseFormatForOpts(formatOpts, localeOpts = {}) {
+    const tokenList = formatOptsToTokens(formatOpts, Locale.fromObject(localeOpts));
+    return !tokenList ? null : tokenList.map((t) => (t ? t.val : null)).join("");
+  }
+
+  /**
+   * Produce the the fully expanded format token for the locale
+   * Does NOT quote characters, so quoted tokens will not round trip correctly
+   * @param fmt
+   * @param localeOpts
+   * @returns {string}
+   */
+  static expandFormat(fmt, localeOpts = {}) {
+    const expanded = expandMacroTokens(Formatter.parseFormat(fmt), Locale.fromObject(localeOpts));
+    return expanded.map((t) => t.val).join("");
+  }
+
+  // INFO
+
+  /**
+   * Get the value of unit.
+   * @param {string} unit - a unit such as 'minute' or 'day'
+   * @example DateTime.local(2017, 7, 4).get('month'); //=> 7
+   * @example DateTime.local(2017, 7, 4).get('day'); //=> 4
+   * @return {number}
+   */
+  get(unit) {
+    return this[unit];
+  }
+
+  /**
+   * Returns whether the DateTime is valid. Invalid DateTimes occur when:
+   * * The DateTime was created from invalid calendar information, such as the 13th month or February 30
+   * * The DateTime was created by an operation on another invalid date
+   * @type {boolean}
+   */
+  get isValid() {
+    return this.invalid === null;
+  }
+
+  /**
+   * Returns an error code if this DateTime is invalid, or null if the DateTime is valid
+   * @type {string}
+   */
+  get invalidReason() {
+    return this.invalid ? this.invalid.reason : null;
+  }
+
+  /**
+   * Returns an explanation of why this DateTime became invalid, or null if the DateTime is valid
+   * @type {string}
+   */
+  get invalidExplanation() {
+    return this.invalid ? this.invalid.explanation : null;
+  }
+
+  /**
+   * Get the locale of a DateTime, such 'en-GB'. The locale is used when formatting the DateTime
+   *
+   * @type {string}
+   */
+  get locale() {
+    return this.isValid ? this.loc.locale : null;
+  }
+
+  /**
+   * Get the numbering system of a DateTime, such 'beng'. The numbering system is used when formatting the DateTime
+   *
+   * @type {string}
+   */
+  get numberingSystem() {
+    return this.isValid ? this.loc.numberingSystem : null;
+  }
+
+  /**
+   * Get the output calendar of a DateTime, such 'islamic'. The output calendar is used when formatting the DateTime
+   *
+   * @type {string}
+   */
+  get outputCalendar() {
+    return this.isValid ? this.loc.outputCalendar : null;
+  }
+
+  /**
+   * Get the time zone associated with this DateTime.
+   * @type {Zone}
+   */
+  get zone() {
+    return this._zone;
+  }
+
+  /**
+   * Get the name of the time zone.
+   * @type {string}
+   */
+  get zoneName() {
+    return this.isValid ? this.zone.name : null;
+  }
+
+  /**
+   * Get the year
+   * @example DateTime.local(2017, 5, 25).year //=> 2017
+   * @type {number}
+   */
+  get year() {
+    return this.isValid ? this.c.year : NaN;
+  }
+
+  /**
+   * Get the quarter
+   * @example DateTime.local(2017, 5, 25).quarter //=> 2
+   * @type {number}
+   */
+  get quarter() {
+    return this.isValid ? Math.ceil(this.c.month / 3) : NaN;
+  }
+
+  /**
+   * Get the month (1-12).
+   * @example DateTime.local(2017, 5, 25).month //=> 5
+   * @type {number}
+   */
+  get month() {
+    return this.isValid ? this.c.month : NaN;
+  }
+
+  /**
+   * Get the day of the month (1-30ish).
+   * @example DateTime.local(2017, 5, 25).day //=> 25
+   * @type {number}
+   */
+  get day() {
+    return this.isValid ? this.c.day : NaN;
+  }
+
+  /**
+   * Get the hour of the day (0-23).
+   * @example DateTime.local(2017, 5, 25, 9).hour //=> 9
+   * @type {number}
+   */
+  get hour() {
+    return this.isValid ? this.c.hour : NaN;
+  }
+
+  /**
+   * Get the minute of the hour (0-59).
+   * @example DateTime.local(2017, 5, 25, 9, 30).minute //=> 30
+   * @type {number}
+   */
+  get minute() {
+    return this.isValid ? this.c.minute : NaN;
+  }
+
+  /**
+   * Get the second of the minute (0-59).
+   * @example DateTime.local(2017, 5, 25, 9, 30, 52).second //=> 52
+   * @type {number}
+   */
+  get second() {
+    return this.isValid ? this.c.second : NaN;
+  }
+
+  /**
+   * Get the millisecond of the second (0-999).
+   * @example DateTime.local(2017, 5, 25, 9, 30, 52, 654).millisecond //=> 654
+   * @type {number}
+   */
+  get millisecond() {
+    return this.isValid ? this.c.millisecond : NaN;
+  }
+
+  /**
+   * Get the week year
+   * @see https://en.wikipedia.org/wiki/ISO_week_date
+   * @example DateTime.local(2014, 12, 31).weekYear //=> 2015
+   * @type {number}
+   */
+  get weekYear() {
+    return this.isValid ? possiblyCachedWeekData(this).weekYear : NaN;
+  }
+
+  /**
+   * Get the week number of the week year (1-52ish).
+   * @see https://en.wikipedia.org/wiki/ISO_week_date
+   * @example DateTime.local(2017, 5, 25).weekNumber //=> 21
+   * @type {number}
+   */
+  get weekNumber() {
+    return this.isValid ? possiblyCachedWeekData(this).weekNumber : NaN;
+  }
+
+  /**
+   * Get the day of the week.
+   * 1 is Monday and 7 is Sunday
+   * @see https://en.wikipedia.org/wiki/ISO_week_date
+   * @example DateTime.local(2014, 11, 31).weekday //=> 4
+   * @type {number}
+   */
+  get weekday() {
+    return this.isValid ? possiblyCachedWeekData(this).weekday : NaN;
+  }
+
+  /**
+   * Get the ordinal (meaning the day of the year)
+   * @example DateTime.local(2017, 5, 25).ordinal //=> 145
+   * @type {number|DateTime}
+   */
+  get ordinal() {
+    return this.isValid ? gregorianToOrdinal(this.c).ordinal : NaN;
+  }
+
+  /**
+   * Get the human readable short month name, such as 'Oct'.
+   * Defaults to the system's locale if no locale has been specified
+   * @example DateTime.local(2017, 10, 30).monthShort //=> Oct
+   * @type {string}
+   */
+  get monthShort() {
+    return this.isValid ? Info.months("short", { locObj: this.loc })[this.month - 1] : null;
+  }
+
+  /**
+   * Get the human readable long month name, such as 'October'.
+   * Defaults to the system's locale if no locale has been specified
+   * @example DateTime.local(2017, 10, 30).monthLong //=> October
+   * @type {string}
+   */
+  get monthLong() {
+    return this.isValid ? Info.months("long", { locObj: this.loc })[this.month - 1] : null;
+  }
+
+  /**
+   * Get the human readable short weekday, such as 'Mon'.
+   * Defaults to the system's locale if no locale has been specified
+   * @example DateTime.local(2017, 10, 30).weekdayShort //=> Mon
+   * @type {string}
+   */
+  get weekdayShort() {
+    return this.isValid ? Info.weekdays("short", { locObj: this.loc })[this.weekday - 1] : null;
+  }
+
+  /**
+   * Get the human readable long weekday, such as 'Monday'.
+   * Defaults to the system's locale if no locale has been specified
+   * @example DateTime.local(2017, 10, 30).weekdayLong //=> Monday
+   * @type {string}
+   */
+  get weekdayLong() {
+    return this.isValid ? Info.weekdays("long", { locObj: this.loc })[this.weekday - 1] : null;
+  }
+
+  /**
+   * Get the UTC offset of this DateTime in minutes
+   * @example DateTime.now().offset //=> -240
+   * @example DateTime.utc().offset //=> 0
+   * @type {number}
+   */
+  get offset() {
+    return this.isValid ? +this.o : NaN;
+  }
+
+  /**
+   * Get the short human name for the zone's current offset, for example "EST" or "EDT".
+   * Defaults to the system's locale if no locale has been specified
+   * @type {string}
+   */
+  get offsetNameShort() {
+    if (this.isValid) {
+      return this.zone.offsetName(this.ts, {
+        format: "short",
+        locale: this.locale,
+      });
+    } else {
+      return null;
+    }
+  }
+
+  /**
+   * Get the long human name for the zone's current offset, for example "Eastern Standard Time" or "Eastern Daylight Time".
+   * Defaults to the system's locale if no locale has been specified
+   * @type {string}
+   */
+  get offsetNameLong() {
+    if (this.isValid) {
+      return this.zone.offsetName(this.ts, {
+        format: "long",
+        locale: this.locale,
+      });
+    } else {
+      return null;
+    }
+  }
+
+  /**
+   * Get whether this zone's offset ever changes, as in a DST.
+   * @type {boolean}
+   */
+  get isOffsetFixed() {
+    return this.isValid ? this.zone.isUniversal : null;
+  }
+
+  /**
+   * Get whether the DateTime is in a DST.
+   * @type {boolean}
+   */
+  get isInDST() {
+    if (this.isOffsetFixed) {
+      return false;
+    } else {
+      return (
+        this.offset > this.set({ month: 1, day: 1 }).offset ||
+        this.offset > this.set({ month: 5 }).offset
+      );
+    }
+  }
+
+  /**
+   * Get those DateTimes which have the same local time as this DateTime, but a different offset from UTC
+   * in this DateTime's zone. During DST changes local time can be ambiguous, for example
+   * `2023-10-29T02:30:00` in `Europe/Berlin` can have offset `+01:00` or `+02:00`.
+   * This method will return both possible DateTimes if this DateTime's local time is ambiguous.
+   * @returns {DateTime[]}
+   */
+  getPossibleOffsets() {
+    if (!this.isValid || this.isOffsetFixed) {
+      return [this];
+    }
+    const dayMs = 86400000;
+    const minuteMs = 60000;
+    const localTS = objToLocalTS(this.c);
+    const oEarlier = this.zone.offset(localTS - dayMs);
+    const oLater = this.zone.offset(localTS + dayMs);
+
+    const o1 = this.zone.offset(localTS - oEarlier * minuteMs);
+    const o2 = this.zone.offset(localTS - oLater * minuteMs);
+    if (o1 === o2) {
+      return [this];
+    }
+    const ts1 = localTS - o1 * minuteMs;
+    const ts2 = localTS - o2 * minuteMs;
+    const c1 = tsToObj(ts1, o1);
+    const c2 = tsToObj(ts2, o2);
+    if (
+      c1.hour === c2.hour &&
+      c1.minute === c2.minute &&
+      c1.second === c2.second &&
+      c1.millisecond === c2.millisecond
+    ) {
+      return [clone(this, { ts: ts1 }), clone(this, { ts: ts2 })];
+    }
+    return [this];
+  }
+
+  /**
+   * Returns true if this DateTime is in a leap year, false otherwise
+   * @example DateTime.local(2016).isInLeapYear //=> true
+   * @example DateTime.local(2013).isInLeapYear //=> false
+   * @type {boolean}
+   */
+  get isInLeapYear() {
+    return isLeapYear(this.year);
+  }
+
+  /**
+   * Returns the number of days in this DateTime's month
+   * @example DateTime.local(2016, 2).daysInMonth //=> 29
+   * @example DateTime.local(2016, 3).daysInMonth //=> 31
+   * @type {number}
+   */
+  get daysInMonth() {
+    return daysInMonth(this.year, this.month);
+  }
+
+  /**
+   * Returns the number of days in this DateTime's year
+   * @example DateTime.local(2016).daysInYear //=> 366
+   * @example DateTime.local(2013).daysInYear //=> 365
+   * @type {number}
+   */
+  get daysInYear() {
+    return this.isValid ? daysInYear(this.year) : NaN;
+  }
+
+  /**
+   * Returns the number of weeks in this DateTime's year
+   * @see https://en.wikipedia.org/wiki/ISO_week_date
+   * @example DateTime.local(2004).weeksInWeekYear //=> 53
+   * @example DateTime.local(2013).weeksInWeekYear //=> 52
+   * @type {number}
+   */
+  get weeksInWeekYear() {
+    return this.isValid ? weeksInWeekYear(this.weekYear) : NaN;
+  }
+
+  /**
+   * Returns the resolved Intl options for this DateTime.
+   * This is useful in understanding the behavior of formatting methods
+   * @param {Object} opts - the same options as toLocaleString
+   * @return {Object}
+   */
+  resolvedLocaleOptions(opts = {}) {
+    const { locale, numberingSystem, calendar } = Formatter.create(
+      this.loc.clone(opts),
+      opts
+    ).resolvedOptions(this);
+    return { locale, numberingSystem, outputCalendar: calendar };
+  }
+
+  // TRANSFORM
+
+  /**
+   * "Set" the DateTime's zone to UTC. Returns a newly-constructed DateTime.
+   *
+   * Equivalent to {@link DateTime#setZone}('utc')
+   * @param {number} [offset=0] - optionally, an offset from UTC in minutes
+   * @param {Object} [opts={}] - options to pass to `setZone()`
+   * @return {DateTime}
+   */
+  toUTC(offset = 0, opts = {}) {
+    return this.setZone(FixedOffsetZone.instance(offset), opts);
+  }
+
+  /**
+   * "Set" the DateTime's zone to the host's local zone. Returns a newly-constructed DateTime.
+   *
+   * Equivalent to `setZone('local')`
+   * @return {DateTime}
+   */
+  toLocal() {
+    return this.setZone(Settings.defaultZone);
+  }
+
+  /**
+   * "Set" the DateTime's zone to specified zone. Returns a newly-constructed DateTime.
+   *
+   * By default, the setter keeps the underlying time the same (as in, the same timestamp), but the new instance will report different local times and consider DSTs when making computations, as with {@link DateTime#plus}. You may wish to use {@link DateTime#toLocal} and {@link DateTime#toUTC} which provide simple convenience wrappers for commonly used zones.
+   * @param {string|Zone} [zone='local'] - a zone identifier. As a string, that can be any IANA zone supported by the host environment, or a fixed-offset name of the form 'UTC+3', or the strings 'local' or 'utc'. You may also supply an instance of a {@link DateTime#Zone} class.
+   * @param {Object} opts - options
+   * @param {boolean} [opts.keepLocalTime=false] - If true, adjust the underlying time so that the local time stays the same, but in the target zone. You should rarely need this.
+   * @return {DateTime}
+   */
+  setZone(zone, { keepLocalTime = false, keepCalendarTime = false } = {}) {
+    zone = normalizeZone(zone, Settings.defaultZone);
+    if (zone.equals(this.zone)) {
+      return this;
+    } else if (!zone.isValid) {
+      return DateTime.invalid(unsupportedZone(zone));
+    } else {
+      let newTS = this.ts;
+      if (keepLocalTime || keepCalendarTime) {
+        const offsetGuess = zone.offset(this.ts);
+        const asObj = this.toObject();
+        [newTS] = objToTS(asObj, offsetGuess, zone);
+      }
+      return clone(this, { ts: newTS, zone });
+    }
+  }
+
+  /**
+   * "Set" the locale, numberingSystem, or outputCalendar. Returns a newly-constructed DateTime.
+   * @param {Object} properties - the properties to set
+   * @example DateTime.local(2017, 5, 25).reconfigure({ locale: 'en-GB' })
+   * @return {DateTime}
+   */
+  reconfigure({ locale, numberingSystem, outputCalendar } = {}) {
+    const loc = this.loc.clone({ locale, numberingSystem, outputCalendar });
+    return clone(this, { loc });
+  }
+
+  /**
+   * "Set" the locale. Returns a newly-constructed DateTime.
+   * Just a convenient alias for reconfigure({ locale })
+   * @example DateTime.local(2017, 5, 25).setLocale('en-GB')
+   * @return {DateTime}
+   */
+  setLocale(locale) {
+    return this.reconfigure({ locale });
+  }
+
+  /**
+   * "Set" the values of specified units. Returns a newly-constructed DateTime.
+   * You can only set units with this method; for "setting" metadata, see {@link DateTime#reconfigure} and {@link DateTime#setZone}.
+   * @param {Object} values - a mapping of units to numbers
+   * @example dt.set({ year: 2017 })
+   * @example dt.set({ hour: 8, minute: 30 })
+   * @example dt.set({ weekday: 5 })
+   * @example dt.set({ year: 2005, ordinal: 234 })
+   * @return {DateTime}
+   */
+  set(values) {
+    if (!this.isValid) return this;
+
+    const normalized = normalizeObject(values, normalizeUnit),
+      settingWeekStuff =
+        !isUndefined(normalized.weekYear) ||
+        !isUndefined(normalized.weekNumber) ||
+        !isUndefined(normalized.weekday),
+      containsOrdinal = !isUndefined(normalized.ordinal),
+      containsGregorYear = !isUndefined(normalized.year),
+      containsGregorMD = !isUndefined(normalized.month) || !isUndefined(normalized.day),
+      containsGregor = containsGregorYear || containsGregorMD,
+      definiteWeekDef = normalized.weekYear || normalized.weekNumber;
+
+    if ((containsGregor || containsOrdinal) && definiteWeekDef) {
+      throw new ConflictingSpecificationError(
+        "Can't mix weekYear/weekNumber units with year/month/day or ordinals"
+      );
+    }
+
+    if (containsGregorMD && containsOrdinal) {
+      throw new ConflictingSpecificationError("Can't mix ordinal dates with month/day");
+    }
+
+    let mixed;
+    if (settingWeekStuff) {
+      mixed = weekToGregorian({ ...gregorianToWeek(this.c), ...normalized });
+    } else if (!isUndefined(normalized.ordinal)) {
+      mixed = ordinalToGregorian({ ...gregorianToOrdinal(this.c), ...normalized });
+    } else {
+      mixed = { ...this.toObject(), ...normalized };
+
+      // if we didn't set the day but we ended up on an overflow date,
+      // use the last day of the right month
+      if (isUndefined(normalized.day)) {
+        mixed.day = Math.min(daysInMonth(mixed.year, mixed.month), mixed.day);
+      }
+    }
+
+    const [ts, o] = objToTS(mixed, this.o, this.zone);
+    return clone(this, { ts, o });
+  }
+
+  /**
+   * Add a period of time to this DateTime and return the resulting DateTime
+   *
+   * Adding hours, minutes, seconds, or milliseconds increases the timestamp by the right number of milliseconds. Adding days, months, or years shifts the calendar, accounting for DSTs and leap years along the way. Thus, `dt.plus({ hours: 24 })` may result in a different time than `dt.plus({ days: 1 })` if there's a DST shift in between.
+   * @param {Duration|Object|number} duration - The amount to add. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()
+   * @example DateTime.now().plus(123) //~> in 123 milliseconds
+   * @example DateTime.now().plus({ minutes: 15 }) //~> in 15 minutes
+   * @example DateTime.now().plus({ days: 1 }) //~> this time tomorrow
+   * @example DateTime.now().plus({ days: -1 }) //~> this time yesterday
+   * @example DateTime.now().plus({ hours: 3, minutes: 13 }) //~> in 3 hr, 13 min
+   * @example DateTime.now().plus(Duration.fromObject({ hours: 3, minutes: 13 })) //~> in 3 hr, 13 min
+   * @return {DateTime}
+   */
+  plus(duration) {
+    if (!this.isValid) return this;
+    const dur = Duration.fromDurationLike(duration);
+    return clone(this, adjustTime(this, dur));
+  }
+
+  /**
+   * Subtract a period of time to this DateTime and return the resulting DateTime
+   * See {@link DateTime#plus}
+   * @param {Duration|Object|number} duration - The amount to subtract. Either a Luxon Duration, a number of milliseconds, the object argument to Duration.fromObject()
+   @return {DateTime}
+   */
+  minus(duration) {
+    if (!this.isValid) return this;
+    const dur = Duration.fromDurationLike(duration).negate();
+    return clone(this, adjustTime(this, dur));
+  }
+
+  /**
+   * "Set" this DateTime to the beginning of a unit of time.
+   * @param {string} unit - The unit to go to the beginning of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.
+   * @example DateTime.local(2014, 3, 3).startOf('month').toISODate(); //=> '2014-03-01'
+   * @example DateTime.local(2014, 3, 3).startOf('year').toISODate(); //=> '2014-01-01'
+   * @example DateTime.local(2014, 3, 3).startOf('week').toISODate(); //=> '2014-03-03', weeks always start on Mondays
+   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('day').toISOTime(); //=> '00:00.000-05:00'
+   * @example DateTime.local(2014, 3, 3, 5, 30).startOf('hour').toISOTime(); //=> '05:00:00.000-05:00'
+   * @return {DateTime}
+   */
+  startOf(unit) {
+    if (!this.isValid) return this;
+    const o = {},
+      normalizedUnit = Duration.normalizeUnit(unit);
+    switch (normalizedUnit) {
+      case "years":
+        o.month = 1;
+      // falls through
+      case "quarters":
+      case "months":
+        o.day = 1;
+      // falls through
+      case "weeks":
+      case "days":
+        o.hour = 0;
+      // falls through
+      case "hours":
+        o.minute = 0;
+      // falls through
+      case "minutes":
+        o.second = 0;
+      // falls through
+      case "seconds":
+        o.millisecond = 0;
+        break;
+      // no default, invalid units throw in normalizeUnit()
+    }
+
+    if (normalizedUnit === "weeks") {
+      o.weekday = 1;
+    }
+
+    if (normalizedUnit === "quarters") {
+      const q = Math.ceil(this.month / 3);
+      o.month = (q - 1) * 3 + 1;
+    }
+
+    return this.set(o);
+  }
+
+  /**
+   * "Set" this DateTime to the end (meaning the last millisecond) of a unit of time
+   * @param {string} unit - The unit to go to the end of. Can be 'year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', or 'millisecond'.
+   * @example DateTime.local(2014, 3, 3).endOf('month').toISO(); //=> '2014-03-31T23:59:59.999-05:00'
+   * @example DateTime.local(2014, 3, 3).endOf('year').toISO(); //=> '2014-12-31T23:59:59.999-05:00'
+   * @example DateTime.local(2014, 3, 3).endOf('week').toISO(); // => '2014-03-09T23:59:59.999-05:00', weeks start on Mondays
+   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('day').toISO(); //=> '2014-03-03T23:59:59.999-05:00'
+   * @example DateTime.local(2014, 3, 3, 5, 30).endOf('hour').toISO(); //=> '2014-03-03T05:59:59.999-05:00'
+   * @return {DateTime}
+   */
+  endOf(unit) {
+    return this.isValid
+      ? this.plus({ [unit]: 1 })
+          .startOf(unit)
+          .minus(1)
+      : this;
+  }
+
+  // OUTPUT
+
+  /**
+   * Returns a string representation of this DateTime formatted according to the specified format string.
+   * **You may not want this.** See {@link DateTime#toLocaleString} for a more flexible formatting tool. For a table of tokens and their interpretations, see [here](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).
+   * Defaults to en-US if no locale has been specified, regardless of the system's locale.
+   * @param {string} fmt - the format string
+   * @param {Object} opts - opts to override the configuration options on this DateTime
+   * @example DateTime.now().toFormat('yyyy LLL dd') //=> '2017 Apr 22'
+   * @example DateTime.now().setLocale('fr').toFormat('yyyy LLL dd') //=> '2017 avr. 22'
+   * @example DateTime.now().toFormat('yyyy LLL dd', { locale: "fr" }) //=> '2017 avr. 22'
+   * @example DateTime.now().toFormat("HH 'hours and' mm 'minutes'") //=> '20 hours and 55 minutes'
+   * @return {string}
+   */
+  toFormat(fmt, opts = {}) {
+    return this.isValid
+      ? Formatter.create(this.loc.redefaultToEN(opts)).formatDateTimeFromString(this, fmt)
+      : INVALID;
+  }
+
+  /**
+   * Returns a localized string representing this date. Accepts the same options as the Intl.DateTimeFormat constructor and any presets defined by Luxon, such as `DateTime.DATE_FULL` or `DateTime.TIME_SIMPLE`.
+   * The exact behavior of this method is browser-specific, but in general it will return an appropriate representation
+   * of the DateTime in the assigned locale.
+   * Defaults to the system's locale if no locale has been specified
+   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat
+   * @param formatOpts {Object} - Intl.DateTimeFormat constructor options and configuration options
+   * @param {Object} opts - opts to override the configuration options on this DateTime
+   * @example DateTime.now().toLocaleString(); //=> 4/20/2017
+   * @example DateTime.now().setLocale('en-gb').toLocaleString(); //=> '20/04/2017'
+   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL); //=> 'April 20, 2017'
+   * @example DateTime.now().toLocaleString(DateTime.DATE_FULL, { locale: 'fr' }); //=> '28 août 2022'
+   * @example DateTime.now().toLocaleString(DateTime.TIME_SIMPLE); //=> '11:32 AM'
+   * @example DateTime.now().toLocaleString(DateTime.DATETIME_SHORT); //=> '4/20/2017, 11:32 AM'
+   * @example DateTime.now().toLocaleString({ weekday: 'long', month: 'long', day: '2-digit' }); //=> 'Thursday, April 20'
+   * @example DateTime.now().toLocaleString({ weekday: 'short', month: 'short', day: '2-digit', hour: '2-digit', minute: '2-digit' }); //=> 'Thu, Apr 20, 11:27 AM'
+   * @example DateTime.now().toLocaleString({ hour: '2-digit', minute: '2-digit', hourCycle: 'h23' }); //=> '11:32'
+   * @return {string}
+   */
+  toLocaleString(formatOpts = DATE_SHORT, opts = {}) {
+    return this.isValid
+      ? Formatter.create(this.loc.clone(opts), formatOpts).formatDateTime(this)
+      : INVALID;
+  }
+
+  /**
+   * Returns an array of format "parts", meaning individual tokens along with metadata. This is allows callers to post-process individual sections of the formatted output.
+   * Defaults to the system's locale if no locale has been specified
+   * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts
+   * @param opts {Object} - Intl.DateTimeFormat constructor options, same as `toLocaleString`.
+   * @example DateTime.now().toLocaleParts(); //=> [
+   *                                   //=>   { type: 'day', value: '25' },
+   *                                   //=>   { type: 'literal', value: '/' },
+   *                                   //=>   { type: 'month', value: '05' },
+   *                                   //=>   { type: 'literal', value: '/' },
+   *                                   //=>   { type: 'year', value: '1982' }
+   *                                   //=> ]
+   */
+  toLocaleParts(opts = {}) {
+    return this.isValid
+      ? Formatter.create(this.loc.clone(opts), opts).formatDateTimeParts(this)
+      : [];
+  }
+
+  /**
+   * Returns an ISO 8601-compliant string representation of this DateTime
+   * @param {Object} opts - options
+   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0
+   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0
+   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'
+   * @param {boolean} [opts.extendedZone=false] - add the time zone format extension
+   * @param {string} [opts.format='extended'] - choose between the basic and extended format
+   * @example DateTime.utc(1983, 5, 25).toISO() //=> '1982-05-25T00:00:00.000Z'
+   * @example DateTime.now().toISO() //=> '2017-04-22T20:47:05.335-04:00'
+   * @example DateTime.now().toISO({ includeOffset: false }) //=> '2017-04-22T20:47:05.335'
+   * @example DateTime.now().toISO({ format: 'basic' }) //=> '20170422T204705.335-0400'
+   * @return {string}
+   */
+  toISO({
+    format = "extended",
+    suppressSeconds = false,
+    suppressMilliseconds = false,
+    includeOffset = true,
+    extendedZone = false,
+  } = {}) {
+    if (!this.isValid) {
+      return null;
+    }
+
+    const ext = format === "extended";
+
+    let c = toISODate(this, ext);
+    c += "T";
+    c += toISOTime(this, ext, suppressSeconds, suppressMilliseconds, includeOffset, extendedZone);
+    return c;
+  }
+
+  /**
+   * Returns an ISO 8601-compliant string representation of this DateTime's date component
+   * @param {Object} opts - options
+   * @param {string} [opts.format='extended'] - choose between the basic and extended format
+   * @example DateTime.utc(1982, 5, 25).toISODate() //=> '1982-05-25'
+   * @example DateTime.utc(1982, 5, 25).toISODate({ format: 'basic' }) //=> '19820525'
+   * @return {string}
+   */
+  toISODate({ format = "extended" } = {}) {
+    if (!this.isValid) {
+      return null;
+    }
+
+    return toISODate(this, format === "extended");
+  }
+
+  /**
+   * Returns an ISO 8601-compliant string representation of this DateTime's week date
+   * @example DateTime.utc(1982, 5, 25).toISOWeekDate() //=> '1982-W21-2'
+   * @return {string}
+   */
+  toISOWeekDate() {
+    return toTechFormat(this, "kkkk-'W'WW-c");
+  }
+
+  /**
+   * Returns an ISO 8601-compliant string representation of this DateTime's time component
+   * @param {Object} opts - options
+   * @param {boolean} [opts.suppressMilliseconds=false] - exclude milliseconds from the format if they're 0
+   * @param {boolean} [opts.suppressSeconds=false] - exclude seconds from the format if they're 0
+   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'
+   * @param {boolean} [opts.extendedZone=true] - add the time zone format extension
+   * @param {boolean} [opts.includePrefix=false] - include the `T` prefix
+   * @param {string} [opts.format='extended'] - choose between the basic and extended format
+   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime() //=> '07:34:19.361Z'
+   * @example DateTime.utc().set({ hour: 7, minute: 34, seconds: 0, milliseconds: 0 }).toISOTime({ suppressSeconds: true }) //=> '07:34Z'
+   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ format: 'basic' }) //=> '073419.361Z'
+   * @example DateTime.utc().set({ hour: 7, minute: 34 }).toISOTime({ includePrefix: true }) //=> 'T07:34:19.361Z'
+   * @return {string}
+   */
+  toISOTime({
+    suppressMilliseconds = false,
+    suppressSeconds = false,
+    includeOffset = true,
+    includePrefix = false,
+    extendedZone = false,
+    format = "extended",
+  } = {}) {
+    if (!this.isValid) {
+      return null;
+    }
+
+    let c = includePrefix ? "T" : "";
+    return (
+      c +
+      toISOTime(
+        this,
+        format === "extended",
+        suppressSeconds,
+        suppressMilliseconds,
+        includeOffset,
+        extendedZone
+      )
+    );
+  }
+
+  /**
+   * Returns an RFC 2822-compatible string representation of this DateTime
+   * @example DateTime.utc(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 +0000'
+   * @example DateTime.local(2014, 7, 13).toRFC2822() //=> 'Sun, 13 Jul 2014 00:00:00 -0400'
+   * @return {string}
+   */
+  toRFC2822() {
+    return toTechFormat(this, "EEE, dd LLL yyyy HH:mm:ss ZZZ", false);
+  }
+
+  /**
+   * Returns a string representation of this DateTime appropriate for use in HTTP headers. The output is always expressed in GMT.
+   * Specifically, the string conforms to RFC 1123.
+   * @see https://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.3.1
+   * @example DateTime.utc(2014, 7, 13).toHTTP() //=> 'Sun, 13 Jul 2014 00:00:00 GMT'
+   * @example DateTime.utc(2014, 7, 13, 19).toHTTP() //=> 'Sun, 13 Jul 2014 19:00:00 GMT'
+   * @return {string}
+   */
+  toHTTP() {
+    return toTechFormat(this.toUTC(), "EEE, dd LLL yyyy HH:mm:ss 'GMT'");
+  }
+
+  /**
+   * Returns a string representation of this DateTime appropriate for use in SQL Date
+   * @example DateTime.utc(2014, 7, 13).toSQLDate() //=> '2014-07-13'
+   * @return {string}
+   */
+  toSQLDate() {
+    if (!this.isValid) {
+      return null;
+    }
+    return toISODate(this, true);
+  }
+
+  /**
+   * Returns a string representation of this DateTime appropriate for use in SQL Time
+   * @param {Object} opts - options
+   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.
+   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'
+   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'
+   * @example DateTime.utc().toSQL() //=> '05:15:16.345'
+   * @example DateTime.now().toSQL() //=> '05:15:16.345 -04:00'
+   * @example DateTime.now().toSQL({ includeOffset: false }) //=> '05:15:16.345'
+   * @example DateTime.now().toSQL({ includeZone: false }) //=> '05:15:16.345 America/New_York'
+   * @return {string}
+   */
+  toSQLTime({ includeOffset = true, includeZone = false, includeOffsetSpace = true } = {}) {
+    let fmt = "HH:mm:ss.SSS";
+
+    if (includeZone || includeOffset) {
+      if (includeOffsetSpace) {
+        fmt += " ";
+      }
+      if (includeZone) {
+        fmt += "z";
+      } else if (includeOffset) {
+        fmt += "ZZ";
+      }
+    }
+
+    return toTechFormat(this, fmt, true);
+  }
+
+  /**
+   * Returns a string representation of this DateTime appropriate for use in SQL DateTime
+   * @param {Object} opts - options
+   * @param {boolean} [opts.includeZone=false] - include the zone, such as 'America/New_York'. Overrides includeOffset.
+   * @param {boolean} [opts.includeOffset=true] - include the offset, such as 'Z' or '-04:00'
+   * @param {boolean} [opts.includeOffsetSpace=true] - include the space between the time and the offset, such as '05:15:16.345 -04:00'
+   * @example DateTime.utc(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 Z'
+   * @example DateTime.local(2014, 7, 13).toSQL() //=> '2014-07-13 00:00:00.000 -04:00'
+   * @example DateTime.local(2014, 7, 13).toSQL({ includeOffset: false }) //=> '2014-07-13 00:00:00.000'
+   * @example DateTime.local(2014, 7, 13).toSQL({ includeZone: true }) //=> '2014-07-13 00:00:00.000 America/New_York'
+   * @return {string}
+   */
+  toSQL(opts = {}) {
+    if (!this.isValid) {
+      return null;
+    }
+
+    return `${this.toSQLDate()} ${this.toSQLTime(opts)}`;
+  }
+
+  /**
+   * Returns a string representation of this DateTime appropriate for debugging
+   * @return {string}
+   */
+  toString() {
+    return this.isValid ? this.toISO() : INVALID;
+  }
+
+  /**
+   * Returns the epoch milliseconds of this DateTime. Alias of {@link DateTime#toMillis}
+   * @return {number}
+   */
+  valueOf() {
+    return this.toMillis();
+  }
+
+  /**
+   * Returns the epoch milliseconds of this DateTime.
+   * @return {number}
+   */
+  toMillis() {
+    return this.isValid ? this.ts : NaN;
+  }
+
+  /**
+   * Returns the epoch seconds of this DateTime.
+   * @return {number}
+   */
+  toSeconds() {
+    return this.isValid ? this.ts / 1000 : NaN;
+  }
+
+  /**
+   * Returns the epoch seconds (as a whole number) of this DateTime.
+   * @return {number}
+   */
+  toUnixInteger() {
+    return this.isValid ? Math.floor(this.ts / 1000) : NaN;
+  }
+
+  /**
+   * Returns an ISO 8601 representation of this DateTime appropriate for use in JSON.
+   * @return {string}
+   */
+  toJSON() {
+    return this.toISO();
+  }
+
+  /**
+   * Returns a BSON serializable equivalent to this DateTime.
+   * @return {Date}
+   */
+  toBSON() {
+    return this.toJSDate();
+  }
+
+  /**
+   * Returns a JavaScript object with this DateTime's year, month, day, and so on.
+   * @param opts - options for generating the object
+   * @param {boolean} [opts.includeConfig=false] - include configuration attributes in the output
+   * @example DateTime.now().toObject() //=> { year: 2017, month: 4, day: 22, hour: 20, minute: 49, second: 42, millisecond: 268 }
+   * @return {Object}
+   */
+  toObject(opts = {}) {
+    if (!this.isValid) return {};
+
+    const base = { ...this.c };
+
+    if (opts.includeConfig) {
+      base.outputCalendar = this.outputCalendar;
+      base.numberingSystem = this.loc.numberingSystem;
+      base.locale = this.loc.locale;
+    }
+    return base;
+  }
+
+  /**
+   * Returns a JavaScript Date equivalent to this DateTime.
+   * @return {Date}
+   */
+  toJSDate() {
+    return new Date(this.isValid ? this.ts : NaN);
+  }
+
+  // COMPARE
+
+  /**
+   * Return the difference between two DateTimes as a Duration.
+   * @param {DateTime} otherDateTime - the DateTime to compare this one to
+   * @param {string|string[]} [unit=['milliseconds']] - the unit or array of units (such as 'hours' or 'days') to include in the duration.
+   * @param {Object} opts - options that affect the creation of the Duration
+   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use
+   * @example
+   * var i1 = DateTime.fromISO('1982-05-25T09:45'),
+   *     i2 = DateTime.fromISO('1983-10-14T10:30');
+   * i2.diff(i1).toObject() //=> { milliseconds: 43807500000 }
+   * i2.diff(i1, 'hours').toObject() //=> { hours: 12168.75 }
+   * i2.diff(i1, ['months', 'days']).toObject() //=> { months: 16, days: 19.03125 }
+   * i2.diff(i1, ['months', 'days', 'hours']).toObject() //=> { months: 16, days: 19, hours: 0.75 }
+   * @return {Duration}
+   */
+  diff(otherDateTime, unit = "milliseconds", opts = {}) {
+    if (!this.isValid || !otherDateTime.isValid) {
+      return Duration.invalid("created by diffing an invalid DateTime");
+    }
+
+    const durOpts = { locale: this.locale, numberingSystem: this.numberingSystem, ...opts };
+
+    const units = maybeArray(unit).map(Duration.normalizeUnit),
+      otherIsLater = otherDateTime.valueOf() > this.valueOf(),
+      earlier = otherIsLater ? this : otherDateTime,
+      later = otherIsLater ? otherDateTime : this,
+      diffed = diff(earlier, later, units, durOpts);
+
+    return otherIsLater ? diffed.negate() : diffed;
+  }
+
+  /**
+   * Return the difference between this DateTime and right now.
+   * See {@link DateTime#diff}
+   * @param {string|string[]} [unit=['milliseconds']] - the unit or units units (such as 'hours' or 'days') to include in the duration
+   * @param {Object} opts - options that affect the creation of the Duration
+   * @param {string} [opts.conversionAccuracy='casual'] - the conversion system to use
+   * @return {Duration}
+   */
+  diffNow(unit = "milliseconds", opts = {}) {
+    return this.diff(DateTime.now(), unit, opts);
+  }
+
+  /**
+   * Return an Interval spanning between this DateTime and another DateTime
+   * @param {DateTime} otherDateTime - the other end point of the Interval
+   * @return {Interval}
+   */
+  until(otherDateTime) {
+    return this.isValid ? Interval.fromDateTimes(this, otherDateTime) : this;
+  }
+
+  /**
+   * Return whether this DateTime is in the same unit of time as another DateTime.
+   * Higher-order units must also be identical for this function to return `true`.
+   * Note that time zones are **ignored** in this comparison, which compares the **local** calendar time. Use {@link DateTime#setZone} to convert one of the dates if needed.
+   * @param {DateTime} otherDateTime - the other DateTime
+   * @param {string} unit - the unit of time to check sameness on
+   * @example DateTime.now().hasSame(otherDT, 'day'); //~> true if otherDT is in the same current calendar day
+   * @return {boolean}
+   */
+  hasSame(otherDateTime, unit) {
+    if (!this.isValid) return false;
+
+    const inputMs = otherDateTime.valueOf();
+    const adjustedToZone = this.setZone(otherDateTime.zone, { keepLocalTime: true });
+    return adjustedToZone.startOf(unit) <= inputMs && inputMs <= adjustedToZone.endOf(unit);
+  }
+
+  /**
+   * Equality check
+   * Two DateTimes are equal if and only if they represent the same millisecond, have the same zone and location, and are both valid.
+   * To compare just the millisecond values, use `+dt1 === +dt2`.
+   * @param {DateTime} other - the other DateTime
+   * @return {boolean}
+   */
+  equals(other) {
+    return (
+      this.isValid &&
+      other.isValid &&
+      this.valueOf() === other.valueOf() &&
+      this.zone.equals(other.zone) &&
+      this.loc.equals(other.loc)
+    );
+  }
+
+  /**
+   * Returns a string representation of a this time relative to now, such as "in two days". Can only internationalize if your
+   * platform supports Intl.RelativeTimeFormat. Rounds down by default.
+   * @param {Object} options - options that affect the output
+   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.
+   * @param {string} [options.style="long"] - the style of units, must be "long", "short", or "narrow"
+   * @param {string|string[]} options.unit - use a specific unit or array of units; if omitted, or an array, the method will pick the best unit. Use an array or one of "years", "quarters", "months", "weeks", "days", "hours", "minutes", or "seconds"
+   * @param {boolean} [options.round=true] - whether to round the numbers in the output.
+   * @param {number} [options.padding=0] - padding in milliseconds. This allows you to round up the result if it fits inside the threshold. Don't use in combination with {round: false} because the decimal output will include the padding.
+   * @param {string} options.locale - override the locale of this DateTime
+   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this
+   * @example DateTime.now().plus({ days: 1 }).toRelative() //=> "in 1 day"
+   * @example DateTime.now().setLocale("es").toRelative({ days: 1 }) //=> "dentro de 1 día"
+   * @example DateTime.now().plus({ days: 1 }).toRelative({ locale: "fr" }) //=> "dans 23 heures"
+   * @example DateTime.now().minus({ days: 2 }).toRelative() //=> "2 days ago"
+   * @example DateTime.now().minus({ days: 2 }).toRelative({ unit: "hours" }) //=> "48 hours ago"
+   * @example DateTime.now().minus({ hours: 36 }).toRelative({ round: false }) //=> "1.5 days ago"
+   */
+  toRelative(options = {}) {
+    if (!this.isValid) return null;
+    const base = options.base || DateTime.fromObject({}, { zone: this.zone }),
+      padding = options.padding ? (this < base ? -options.padding : options.padding) : 0;
+    let units = ["years", "months", "days", "hours", "minutes", "seconds"];
+    let unit = options.unit;
+    if (Array.isArray(options.unit)) {
+      units = options.unit;
+      unit = undefined;
+    }
+    return diffRelative(base, this.plus(padding), {
+      ...options,
+      numeric: "always",
+      units,
+      unit,
+    });
+  }
+
+  /**
+   * Returns a string representation of this date relative to today, such as "yesterday" or "next month".
+   * Only internationalizes on platforms that supports Intl.RelativeTimeFormat.
+   * @param {Object} options - options that affect the output
+   * @param {DateTime} [options.base=DateTime.now()] - the DateTime to use as the basis to which this time is compared. Defaults to now.
+   * @param {string} options.locale - override the locale of this DateTime
+   * @param {string} options.unit - use a specific unit; if omitted, the method will pick the unit. Use one of "years", "quarters", "months", "weeks", or "days"
+   * @param {string} options.numberingSystem - override the numberingSystem of this DateTime. The Intl system may choose not to honor this
+   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar() //=> "tomorrow"
+   * @example DateTime.now().setLocale("es").plus({ days: 1 }).toRelative() //=> ""mañana"
+   * @example DateTime.now().plus({ days: 1 }).toRelativeCalendar({ locale: "fr" }) //=> "demain"
+   * @example DateTime.now().minus({ days: 2 }).toRelativeCalendar() //=> "2 days ago"
+   */
+  toRelativeCalendar(options = {}) {
+    if (!this.isValid) return null;
+
+    return diffRelative(options.base || DateTime.fromObject({}, { zone: this.zone }), this, {
+      ...options,
+      numeric: "auto",
+      units: ["years", "months", "days"],
+      calendary: true,
+    });
+  }
+
+  /**
+   * Return the min of several date times
+   * @param {...DateTime} dateTimes - the DateTimes from which to choose the minimum
+   * @return {DateTime} the min DateTime, or undefined if called with no argument
+   */
+  static min(...dateTimes) {
+    if (!dateTimes.every(DateTime.isDateTime)) {
+      throw new InvalidArgumentError("min requires all arguments be DateTimes");
+    }
+    return bestBy(dateTimes, (i) => i.valueOf(), Math.min);
+  }
+
+  /**
+   * Return the max of several date times
+   * @param {...DateTime} dateTimes - the DateTimes from which to choose the maximum
+   * @return {DateTime} the max DateTime, or undefined if called with no argument
+   */
+  static max(...dateTimes) {
+    if (!dateTimes.every(DateTime.isDateTime)) {
+      throw new InvalidArgumentError("max requires all arguments be DateTimes");
+    }
+    return bestBy(dateTimes, (i) => i.valueOf(), Math.max);
+  }
+
+  // MISC
+
+  /**
+   * Explain how a string would be parsed by fromFormat()
+   * @param {string} text - the string to parse
+   * @param {string} fmt - the format the string is expected to be in (see description)
+   * @param {Object} options - options taken by fromFormat()
+   * @return {Object}
+   */
+  static fromFormatExplain(text, fmt, options = {}) {
+    const { locale = null, numberingSystem = null } = options,
+      localeToUse = Locale.fromOpts({
+        locale,
+        numberingSystem,
+        defaultToEN: true,
+      });
+    return explainFromTokens(localeToUse, text, fmt);
+  }
+
+  /**
+   * @deprecated use fromFormatExplain instead
+   */
+  static fromStringExplain(text, fmt, options = {}) {
+    return DateTime.fromFormatExplain(text, fmt, options);
+  }
+
+  // FORMAT PRESETS
+
+  /**
+   * {@link DateTime#toLocaleString} format like 10/14/1983
+   * @type {Object}
+   */
+  static get DATE_SHORT() {
+    return DATE_SHORT;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983'
+   * @type {Object}
+   */
+  static get DATE_MED() {
+    return DATE_MED;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like 'Fri, Oct 14, 1983'
+   * @type {Object}
+   */
+  static get DATE_MED_WITH_WEEKDAY() {
+    return DATE_MED_WITH_WEEKDAY;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like 'October 14, 1983'
+   * @type {Object}
+   */
+  static get DATE_FULL() {
+    return DATE_FULL;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like 'Tuesday, October 14, 1983'
+   * @type {Object}
+   */
+  static get DATE_HUGE() {
+    return DATE_HUGE;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like '09:30 AM'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get TIME_SIMPLE() {
+    return TIME_SIMPLE;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like '09:30:23 AM'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get TIME_WITH_SECONDS() {
+    return TIME_WITH_SECONDS;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like '09:30:23 AM EDT'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get TIME_WITH_SHORT_OFFSET() {
+    return TIME_WITH_SHORT_OFFSET;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like '09:30:23 AM Eastern Daylight Time'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get TIME_WITH_LONG_OFFSET() {
+    return TIME_WITH_LONG_OFFSET;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like '09:30', always 24-hour.
+   * @type {Object}
+   */
+  static get TIME_24_SIMPLE() {
+    return TIME_24_SIMPLE;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like '09:30:23', always 24-hour.
+   * @type {Object}
+   */
+  static get TIME_24_WITH_SECONDS() {
+    return TIME_24_WITH_SECONDS;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like '09:30:23 EDT', always 24-hour.
+   * @type {Object}
+   */
+  static get TIME_24_WITH_SHORT_OFFSET() {
+    return TIME_24_WITH_SHORT_OFFSET;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like '09:30:23 Eastern Daylight Time', always 24-hour.
+   * @type {Object}
+   */
+  static get TIME_24_WITH_LONG_OFFSET() {
+    return TIME_24_WITH_LONG_OFFSET;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30 AM'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get DATETIME_SHORT() {
+    return DATETIME_SHORT;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like '10/14/1983, 9:30:33 AM'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get DATETIME_SHORT_WITH_SECONDS() {
+    return DATETIME_SHORT_WITH_SECONDS;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30 AM'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get DATETIME_MED() {
+    return DATETIME_MED;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like 'Oct 14, 1983, 9:30:33 AM'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get DATETIME_MED_WITH_SECONDS() {
+    return DATETIME_MED_WITH_SECONDS;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like 'Fri, 14 Oct 1983, 9:30 AM'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get DATETIME_MED_WITH_WEEKDAY() {
+    return DATETIME_MED_WITH_WEEKDAY;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30 AM EDT'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get DATETIME_FULL() {
+    return DATETIME_FULL;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like 'October 14, 1983, 9:30:33 AM EDT'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get DATETIME_FULL_WITH_SECONDS() {
+    return DATETIME_FULL_WITH_SECONDS;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30 AM Eastern Daylight Time'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get DATETIME_HUGE() {
+    return DATETIME_HUGE;
+  }
+
+  /**
+   * {@link DateTime#toLocaleString} format like 'Friday, October 14, 1983, 9:30:33 AM Eastern Daylight Time'. Only 12-hour if the locale is.
+   * @type {Object}
+   */
+  static get DATETIME_HUGE_WITH_SECONDS() {
+    return DATETIME_HUGE_WITH_SECONDS;
+  }
+}
+
+/**
+ * @private
+ */
+function friendlyDateTime(dateTimeish) {
+  if (DateTime.isDateTime(dateTimeish)) {
+    return dateTimeish;
+  } else if (dateTimeish && dateTimeish.valueOf && isNumber(dateTimeish.valueOf())) {
+    return DateTime.fromJSDate(dateTimeish);
+  } else if (dateTimeish && typeof dateTimeish === "object") {
+    return DateTime.fromObject(dateTimeish);
+  } else {
+    throw new InvalidArgumentError(
+      `Unknown datetime argument: ${dateTimeish}, of type ${typeof dateTimeish}`
+    );
+  }
+}
+
+const VERSION = "3.4.3";
+
+var Luxon = /*#__PURE__*/Object.freeze({
+  __proto__: null,
+  VERSION: VERSION,
+  DateTime: DateTime,
+  Duration: Duration,
+  Interval: Interval,
+  Info: Info,
+  Zone: Zone,
+  FixedOffsetZone: FixedOffsetZone,
+  IANAZone: IANAZone,
+  InvalidZone: InvalidZone,
+  SystemZone: SystemZone,
+  Settings: Settings
+});
+
+////////////////////
+// Query Settings //
+////////////////////
+const DEFAULT_QUERY_SETTINGS = {
+    renderNullAs: "\\-",
+    taskCompletionTracking: false,
+    taskCompletionUseEmojiShorthand: false,
+    taskCompletionText: "completion",
+    taskCompletionDateFormat: "yyyy-MM-dd",
+    recursiveSubTaskCompletion: false,
+    warnOnEmptyResult: true,
+    refreshEnabled: true,
+    refreshInterval: 2500,
+    defaultDateFormat: "MMMM dd, yyyy",
+    defaultDateTimeFormat: "h:mm a - MMMM dd, yyyy",
+    maxRecursiveRenderDepth: 4,
+    tableIdColumnName: "File",
+    tableGroupColumnName: "Group",
+    showResultCount: true,
+};
+const DEFAULT_EXPORT_SETTINGS = {
+    allowHtml: true,
+};
+/** Default settings for dataview on install. */
+const DEFAULT_SETTINGS = {
+    ...DEFAULT_QUERY_SETTINGS,
+    ...DEFAULT_EXPORT_SETTINGS,
+    ...{
+        inlineQueryPrefix: "=",
+        inlineJsQueryPrefix: "$=",
+        inlineQueriesInCodeblocks: true,
+        enableInlineDataview: true,
+        enableDataviewJs: false,
+        enableInlineDataviewJs: false,
+        prettyRenderInlineFields: true,
+        prettyRenderInlineFieldsInLivePreview: true,
+        dataviewJsKeyword: "dataviewjs",
+    },
+};
+
+/** Functional return type for error handling. */
+class Success {
+    value;
+    successful;
+    constructor(value) {
+        this.value = value;
+        this.successful = true;
+    }
+    map(f) {
+        return new Success(f(this.value));
+    }
+    flatMap(f) {
+        return f(this.value);
+    }
+    mapErr(f) {
+        return this;
+    }
+    bimap(succ, _fail) {
+        return this.map(succ);
+    }
+    orElse(_value) {
+        return this.value;
+    }
+    cast() {
+        return this;
+    }
+    orElseThrow(_message) {
+        return this.value;
+    }
+}
+/** Functional return type for error handling. */
+class Failure {
+    error;
+    successful;
+    constructor(error) {
+        this.error = error;
+        this.successful = false;
+    }
+    map(_f) {
+        return this;
+    }
+    flatMap(_f) {
+        return this;
+    }
+    mapErr(f) {
+        return new Failure(f(this.error));
+    }
+    bimap(_succ, fail) {
+        return this.mapErr(fail);
+    }
+    orElse(value) {
+        return value;
+    }
+    cast() {
+        return this;
+    }
+    orElseThrow(message) {
+        if (message)
+            throw new Error(message(this.error));
+        else
+            throw new Error("" + this.error);
+    }
+}
+/** Monadic 'Result' type which encapsulates whether a procedure succeeded or failed, as well as it's return value. */
+var Result;
+(function (Result) {
+    /** Construct a new success result wrapping the given value. */
+    function success(value) {
+        return new Success(value);
+    }
+    Result.success = success;
+    /** Construct a new failure value wrapping the given error. */
+    function failure(error) {
+        return new Failure(error);
+    }
+    Result.failure = failure;
+    /** Join two results with a bi-function and return a new result. */
+    function flatMap2(first, second, f) {
+        if (first.successful) {
+            if (second.successful)
+                return f(first.value, second.value);
+            else
+                return failure(second.error);
+        }
+        else {
+            return failure(first.error);
+        }
+    }
+    Result.flatMap2 = flatMap2;
+    /** Join two results with a bi-function and return a new result. */
+    function map2(first, second, f) {
+        return flatMap2(first, second, (a, b) => success(f(a, b)));
+    }
+    Result.map2 = map2;
+})(Result || (Result = {}));
+
+var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
+
+function getDefaultExportFromCjs (x) {
+	return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
+}
+
+var parsimmon_umd_min = {exports: {}};
+
+parsimmon_umd_min.exports;
+
+(function (module, exports) {
+	!function(n,t){module.exports=t();}("undefined"!=typeof self?self:commonjsGlobal,function(){return function(n){var t={};function r(e){if(t[e])return t[e].exports;var u=t[e]={i:e,l:!1,exports:{}};return n[e].call(u.exports,u,u.exports,r),u.l=!0,u.exports}return r.m=n,r.c=t,r.d=function(n,t,e){r.o(n,t)||Object.defineProperty(n,t,{configurable:!1,enumerable:!0,get:e});},r.r=function(n){Object.defineProperty(n,"__esModule",{value:!0});},r.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return r.d(t,"a",t),t},r.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},r.p="",r(r.s=0)}([function(n,t,r){function e(n){if(!(this instanceof e))return new e(n);this._=n;}var u=e.prototype;function o(n,t){for(var r=0;r<n;r++)t(r);}function i(n,t,r){return function(n,t){o(t.length,function(r){n(t[r],r,t);});}(function(r,e,u){t=n(t,r,e,u);},r),t}function a(n,t){return i(function(t,r,e,u){return t.concat([n(r,e,u)])},[],t)}function f(n,t){var r={v:0,buf:t};return o(n,function(){var n;r={v:r.v<<1|(n=r.buf,n[0]>>7),buf:function(n){var t=i(function(n,t,r,e){return n.concat(r===e.length-1?Buffer.from([t,0]).readUInt16BE(0):e.readUInt16BE(r))},[],n);return Buffer.from(a(function(n){return (n<<1&65535)>>8},t))}(r.buf)};}),r}function c(){return "undefined"!=typeof Buffer}function s(){if(!c())throw new Error("Buffer global does not exist; please use webpack if you need to parse Buffers in the browser.")}function l(n){s();var t=i(function(n,t){return n+t},0,n);if(t%8!=0)throw new Error("The bits ["+n.join(", ")+"] add up to "+t+" which is not an even number of bytes; the total should be divisible by 8");var r,u=t/8,o=(r=function(n){return n>48},i(function(n,t){return n||(r(t)?t:n)},null,n));if(o)throw new Error(o+" bit range requested exceeds 48 bit (6 byte) Number max.");return new e(function(t,r){var e=u+r;return e>t.length?x(r,u.toString()+" bytes"):b(e,i(function(n,t){var r=f(t,n.buf);return {coll:n.coll.concat(r.v),buf:r.buf}},{coll:[],buf:t.slice(r,e)},n).coll)})}function h(n,t){return new e(function(r,e){return s(),e+t>r.length?x(e,t+" bytes for "+n):b(e+t,r.slice(e,e+t))})}function p(n,t){if("number"!=typeof(r=t)||Math.floor(r)!==r||t<0||t>6)throw new Error(n+" requires integer length in range [0, 6].");var r;}function d(n){return p("uintBE",n),h("uintBE("+n+")",n).map(function(t){return t.readUIntBE(0,n)})}function v(n){return p("uintLE",n),h("uintLE("+n+")",n).map(function(t){return t.readUIntLE(0,n)})}function g(n){return p("intBE",n),h("intBE("+n+")",n).map(function(t){return t.readIntBE(0,n)})}function m(n){return p("intLE",n),h("intLE("+n+")",n).map(function(t){return t.readIntLE(0,n)})}function y(n){return n instanceof e}function E(n){return "[object Array]"==={}.toString.call(n)}function w(n){return c()&&Buffer.isBuffer(n)}function b(n,t){return {status:!0,index:n,value:t,furthest:-1,expected:[]}}function x(n,t){return E(t)||(t=[t]),{status:!1,index:-1,value:null,furthest:n,expected:t}}function B(n,t){if(!t)return n;if(n.furthest>t.furthest)return n;var r=n.furthest===t.furthest?function(n,t){if(function(){if(void 0!==e._supportsSet)return e._supportsSet;var n="undefined"!=typeof Set;return e._supportsSet=n,n}()&&Array.from){for(var r=new Set(n),u=0;u<t.length;u++)r.add(t[u]);var o=Array.from(r);return o.sort(),o}for(var i={},a=0;a<n.length;a++)i[n[a]]=!0;for(var f=0;f<t.length;f++)i[t[f]]=!0;var c=[];for(var s in i)({}).hasOwnProperty.call(i,s)&&c.push(s);return c.sort(),c}(n.expected,t.expected):t.expected;return {status:n.status,index:n.index,value:n.value,furthest:t.furthest,expected:r}}var j={};function S(n,t){if(w(n))return {offset:t,line:-1,column:-1};n in j||(j[n]={});for(var r=j[n],e=0,u=0,o=0,i=t;i>=0;){if(i in r){e=r[i].line,0===o&&(o=r[i].lineStart);break}("\n"===n.charAt(i)||"\r"===n.charAt(i)&&"\n"!==n.charAt(i+1))&&(u++,0===o&&(o=i+1)),i--;}var a=e+u,f=t-o;return r[t]={line:a,lineStart:o},{offset:t,line:a+1,column:f+1}}function _(n){if(!y(n))throw new Error("not a parser: "+n)}function L(n,t){return "string"==typeof n?n.charAt(t):n[t]}function O(n){if("number"!=typeof n)throw new Error("not a number: "+n)}function k(n){if("function"!=typeof n)throw new Error("not a function: "+n)}function P(n){if("string"!=typeof n)throw new Error("not a string: "+n)}var q=2,A=3,I=8,F=5*I,M=4*I,z="  ";function R(n,t){return new Array(t+1).join(n)}function U(n,t,r){var e=t-n.length;return e<=0?n:R(r,e)+n}function W(n,t,r,e){return {from:n-t>0?n-t:0,to:n+r>e?e:n+r}}function D(n,t){var r,e,u,o,f,c=t.index,s=c.offset,l=1;if(s===n.length)return "Got the end of the input";if(w(n)){var h=s-s%I,p=s-h,d=W(h,F,M+I,n.length),v=a(function(n){return a(function(n){return U(n.toString(16),2,"0")},n)},function(n,t){var r=n.length,e=[],u=0;if(r<=t)return [n.slice()];for(var o=0;o<r;o++)e[u]||e.push([]),e[u].push(n[o]),(o+1)%t==0&&u++;return e}(n.slice(d.from,d.to).toJSON().data,I));o=function(n){return 0===n.from&&1===n.to?{from:n.from,to:n.to}:{from:n.from/I,to:Math.floor(n.to/I)}}(d),e=h/I,r=3*p,p>=4&&(r+=1),l=2,u=a(function(n){return n.length<=4?n.join(" "):n.slice(0,4).join(" ")+"  "+n.slice(4).join(" ")},v),(f=(8*(o.to>0?o.to-1:o.to)).toString(16).length)<2&&(f=2);}else {var g=n.split(/\r\n|[\n\r\u2028\u2029]/);r=c.column-1,e=c.line-1,o=W(e,q,A,g.length),u=g.slice(o.from,o.to),f=o.to.toString().length;}var m=e-o.from;return w(n)&&(f=(8*(o.to>0?o.to-1:o.to)).toString(16).length)<2&&(f=2),i(function(t,e,u){var i,a=u===m,c=a?"> ":z;return i=w(n)?U((8*(o.from+u)).toString(16),f,"0"):U((o.from+u+1).toString(),f," "),[].concat(t,[c+i+" | "+e],a?[z+R(" ",f)+" | "+U("",r," ")+R("^",l)]:[])},[],u).join("\n")}function N(n,t){return ["\n","-- PARSING FAILED "+R("-",50),"\n\n",D(n,t),"\n\n",(r=t.expected,1===r.length?"Expected:\n\n"+r[0]:"Expected one of the following: \n\n"+r.join(", ")),"\n"].join("");var r;}function G(n){return void 0!==n.flags?n.flags:[n.global?"g":"",n.ignoreCase?"i":"",n.multiline?"m":"",n.unicode?"u":"",n.sticky?"y":""].join("")}function C(){for(var n=[].slice.call(arguments),t=n.length,r=0;r<t;r+=1)_(n[r]);return e(function(r,e){for(var u,o=new Array(t),i=0;i<t;i+=1){if(!(u=B(n[i]._(r,e),u)).status)return u;o[i]=u.value,e=u.index;}return B(b(e,o),u)})}function J(){var n=[].slice.call(arguments);if(0===n.length)throw new Error("seqMap needs at least one argument");var t=n.pop();return k(t),C.apply(null,n).map(function(n){return t.apply(null,n)})}function T(){var n=[].slice.call(arguments),t=n.length;if(0===t)return Y("zero alternates");for(var r=0;r<t;r+=1)_(n[r]);return e(function(t,r){for(var e,u=0;u<n.length;u+=1)if((e=B(n[u]._(t,r),e)).status)return e;return e})}function V(n,t){return H(n,t).or(X([]))}function H(n,t){return _(n),_(t),J(n,t.then(n).many(),function(n,t){return [n].concat(t)})}function K(n){P(n);var t="'"+n+"'";return e(function(r,e){var u=e+n.length,o=r.slice(e,u);return o===n?b(u,o):x(e,t)})}function Q(n,t){!function(n){if(!(n instanceof RegExp))throw new Error("not a regexp: "+n);for(var t=G(n),r=0;r<t.length;r++){var e=t.charAt(r);if("i"!==e&&"m"!==e&&"u"!==e&&"s"!==e)throw new Error('unsupported regexp flag "'+e+'": '+n)}}(n),arguments.length>=2?O(t):t=0;var r=function(n){return RegExp("^(?:"+n.source+")",G(n))}(n),u=""+n;return e(function(n,e){var o=r.exec(n.slice(e));if(o){if(0<=t&&t<=o.length){var i=o[0],a=o[t];return b(e+i.length,a)}return x(e,"valid match group (0 to "+o.length+") in "+u)}return x(e,u)})}function X(n){return e(function(t,r){return b(r,n)})}function Y(n){return e(function(t,r){return x(r,n)})}function Z(n){if(y(n))return e(function(t,r){var e=n._(t,r);return e.index=r,e.value="",e});if("string"==typeof n)return Z(K(n));if(n instanceof RegExp)return Z(Q(n));throw new Error("not a string, regexp, or parser: "+n)}function $(n){return _(n),e(function(t,r){var e=n._(t,r),u=t.slice(r,e.index);return e.status?x(r,'not "'+u+'"'):b(r,null)})}function nn(n){return k(n),e(function(t,r){var e=L(t,r);return r<t.length&&n(e)?b(r+1,e):x(r,"a character/byte matching "+n)})}function tn(n,t){arguments.length<2&&(t=n,n=void 0);var r=e(function(n,e){return r._=t()._,r._(n,e)});return n?r.desc(n):r}function rn(){return Y("fantasy-land/empty")}u.parse=function(n){if("string"!=typeof n&&!w(n))throw new Error(".parse must be called with a string or Buffer as its argument");var t,r=this.skip(an)._(n,0);return t=r.status?{status:!0,value:r.value}:{status:!1,index:S(n,r.furthest),expected:r.expected},delete j[n],t},u.tryParse=function(n){var t=this.parse(n);if(t.status)return t.value;var r=N(n,t),e=new Error(r);throw e.type="ParsimmonError",e.result=t,e},u.assert=function(n,t){return this.chain(function(r){return n(r)?X(r):Y(t)})},u.or=function(n){return T(this,n)},u.trim=function(n){return this.wrap(n,n)},u.wrap=function(n,t){return J(n,this,t,function(n,t){return t})},u.thru=function(n){return n(this)},u.then=function(n){return _(n),C(this,n).map(function(n){return n[1]})},u.many=function(){var n=this;return e(function(t,r){for(var e=[],u=void 0;;){if(!(u=B(n._(t,r),u)).status)return B(b(r,e),u);if(r===u.index)throw new Error("infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause");r=u.index,e.push(u.value);}})},u.tieWith=function(n){return P(n),this.map(function(t){if(function(n){if(!E(n))throw new Error("not an array: "+n)}(t),t.length){P(t[0]);for(var r=t[0],e=1;e<t.length;e++)P(t[e]),r+=n+t[e];return r}return ""})},u.tie=function(){return this.tieWith("")},u.times=function(n,t){var r=this;return arguments.length<2&&(t=n),O(n),O(t),e(function(e,u){for(var o=[],i=void 0,a=void 0,f=0;f<n;f+=1){if(a=B(i=r._(e,u),a),!i.status)return a;u=i.index,o.push(i.value);}for(;f<t&&(a=B(i=r._(e,u),a),i.status);f+=1)u=i.index,o.push(i.value);return B(b(u,o),a)})},u.result=function(n){return this.map(function(){return n})},u.atMost=function(n){return this.times(0,n)},u.atLeast=function(n){return J(this.times(n),this.many(),function(n,t){return n.concat(t)})},u.map=function(n){k(n);var t=this;return e(function(r,e){var u=t._(r,e);return u.status?B(b(u.index,n(u.value)),u):u})},u.contramap=function(n){k(n);var t=this;return e(function(r,e){var u=t.parse(n(r.slice(e)));return u.status?b(e+r.length,u.value):u})},u.promap=function(n,t){return k(n),k(t),this.contramap(n).map(t)},u.skip=function(n){return C(this,n).map(function(n){return n[0]})},u.mark=function(){return J(en,this,en,function(n,t,r){return {start:n,value:t,end:r}})},u.node=function(n){return J(en,this,en,function(t,r,e){return {name:n,value:r,start:t,end:e}})},u.sepBy=function(n){return V(this,n)},u.sepBy1=function(n){return H(this,n)},u.lookahead=function(n){return this.skip(Z(n))},u.notFollowedBy=function(n){return this.skip($(n))},u.desc=function(n){E(n)||(n=[n]);var t=this;return e(function(r,e){var u=t._(r,e);return u.status||(u.expected=n),u})},u.fallback=function(n){return this.or(X(n))},u.ap=function(n){return J(n,this,function(n,t){return n(t)})},u.chain=function(n){var t=this;return e(function(r,e){var u=t._(r,e);return u.status?B(n(u.value)._(r,u.index),u):u})},u.concat=u.or,u.empty=rn,u.of=X,u["fantasy-land/ap"]=u.ap,u["fantasy-land/chain"]=u.chain,u["fantasy-land/concat"]=u.concat,u["fantasy-land/empty"]=u.empty,u["fantasy-land/of"]=u.of,u["fantasy-land/map"]=u.map;var en=e(function(n,t){return b(t,S(n,t))}),un=e(function(n,t){return t>=n.length?x(t,"any character/byte"):b(t+1,L(n,t))}),on=e(function(n,t){return b(n.length,n.slice(t))}),an=e(function(n,t){return t<n.length?x(t,"EOF"):b(t,null)}),fn=Q(/[0-9]/).desc("a digit"),cn=Q(/[0-9]*/).desc("optional digits"),sn=Q(/[a-z]/i).desc("a letter"),ln=Q(/[a-z]*/i).desc("optional letters"),hn=Q(/\s*/).desc("optional whitespace"),pn=Q(/\s+/).desc("whitespace"),dn=K("\r"),vn=K("\n"),gn=K("\r\n"),mn=T(gn,vn,dn).desc("newline"),yn=T(mn,an);e.all=on,e.alt=T,e.any=un,e.cr=dn,e.createLanguage=function(n){var t={};for(var r in n)({}).hasOwnProperty.call(n,r)&&function(r){t[r]=tn(function(){return n[r](t)});}(r);return t},e.crlf=gn,e.custom=function(n){return e(n(b,x))},e.digit=fn,e.digits=cn,e.empty=rn,e.end=yn,e.eof=an,e.fail=Y,e.formatError=N,e.index=en,e.isParser=y,e.lazy=tn,e.letter=sn,e.letters=ln,e.lf=vn,e.lookahead=Z,e.makeFailure=x,e.makeSuccess=b,e.newline=mn,e.noneOf=function(n){return nn(function(t){return n.indexOf(t)<0}).desc("none of '"+n+"'")},e.notFollowedBy=$,e.of=X,e.oneOf=function(n){for(var t=n.split(""),r=0;r<t.length;r++)t[r]="'"+t[r]+"'";return nn(function(t){return n.indexOf(t)>=0}).desc(t)},e.optWhitespace=hn,e.Parser=e,e.range=function(n,t){return nn(function(r){return n<=r&&r<=t}).desc(n+"-"+t)},e.regex=Q,e.regexp=Q,e.sepBy=V,e.sepBy1=H,e.seq=C,e.seqMap=J,e.seqObj=function(){for(var n,t={},r=0,u=(n=arguments,Array.prototype.slice.call(n)),o=u.length,i=0;i<o;i+=1){var a=u[i];if(!y(a)){if(E(a)&&2===a.length&&"string"==typeof a[0]&&y(a[1])){var f=a[0];if(Object.prototype.hasOwnProperty.call(t,f))throw new Error("seqObj: duplicate key "+f);t[f]=!0,r++;continue}throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.")}}if(0===r)throw new Error("seqObj expects at least one named parser, found zero");return e(function(n,t){for(var r,e={},i=0;i<o;i+=1){var a,f;if(E(u[i])?(a=u[i][0],f=u[i][1]):(a=null,f=u[i]),!(r=B(f._(n,t),r)).status)return r;a&&(e[a]=r.value),t=r.index;}return B(b(t,e),r)})},e.string=K,e.succeed=X,e.takeWhile=function(n){return k(n),e(function(t,r){for(var e=r;e<t.length&&n(L(t,e));)e++;return b(e,t.slice(r,e))})},e.test=nn,e.whitespace=pn,e["fantasy-land/empty"]=rn,e["fantasy-land/of"]=X,e.Binary={bitSeq:l,bitSeqObj:function(n){s();var t={},r=0,e=a(function(n){if(E(n)){var e=n;if(2!==e.length)throw new Error("["+e.join(", ")+"] should be length 2, got length "+e.length);if(P(e[0]),O(e[1]),Object.prototype.hasOwnProperty.call(t,e[0]))throw new Error("duplicate key in bitSeqObj: "+e[0]);return t[e[0]]=!0,r++,e}return O(n),[null,n]},n);if(r<1)throw new Error("bitSeqObj expects at least one named pair, got ["+n.join(", ")+"]");var u=a(function(n){return n[0]},e);return l(a(function(n){return n[1]},e)).map(function(n){return i(function(n,t){return null!==t[0]&&(n[t[0]]=t[1]),n},{},a(function(t,r){return [t,n[r]]},u))})},byte:function(n){if(s(),O(n),n>255)throw new Error("Value specified to byte constructor ("+n+"=0x"+n.toString(16)+") is larger in value than a single byte.");var t=(n>15?"0x":"0x0")+n.toString(16);return e(function(r,e){var u=L(r,e);return u===n?b(e+1,u):x(e,t)})},buffer:function(n){return h("buffer",n).map(function(n){return Buffer.from(n)})},encodedString:function(n,t){return h("string",t).map(function(t){return t.toString(n)})},uintBE:d,uint8BE:d(1),uint16BE:d(2),uint32BE:d(4),uintLE:v,uint8LE:v(1),uint16LE:v(2),uint32LE:v(4),intBE:g,int8BE:g(1),int16BE:g(2),int32BE:g(4),intLE:m,int8LE:m(1),int16LE:m(2),int32LE:m(4),floatBE:h("floatBE",4).map(function(n){return n.readFloatBE(0)}),floatLE:h("floatLE",4).map(function(n){return n.readFloatLE(0)}),doubleBE:h("doubleBE",8).map(function(n){return n.readDoubleBE(0)}),doubleLE:h("doubleLE",8).map(function(n){return n.readDoubleLE(0)})},n.exports=e;}])}); 
+} (parsimmon_umd_min, parsimmon_umd_min.exports));
+
+var parsimmon_umd_minExports = parsimmon_umd_min.exports;
+
+var emojiRegex = () => {
+	// https://mths.be/emoji
+	return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC3\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC08\uDC26](?:\u200D\u2B1B)?|[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
+};
+
+/** Normalize a duration to all of the proper units. */
+function normalizeDuration(dur) {
+    if (dur === undefined || dur === null)
+        return dur;
+    return dur.shiftToAll().normalize();
+}
+/** Strip the time components of a date time object. */
+function stripTime(dt) {
+    if (dt === null || dt === undefined)
+        return dt;
+    return DateTime.fromObject({
+        year: dt.year,
+        month: dt.month,
+        day: dt.day,
+    });
+}
+/** Get the folder containing the given path (i.e., like computing 'path/..'). */
+function getParentFolder(path) {
+    return path.split("/").slice(0, -1).join("/");
+}
+/** Get the "title" for a file, by stripping other parts of the path as well as the extension. */
+function getFileTitle(path) {
+    if (path.includes("/"))
+        path = path.substring(path.lastIndexOf("/") + 1);
+    if (path.endsWith(".md"))
+        path = path.substring(0, path.length - 3);
+    return path;
+}
+/** Get the extension of a file from the file path. */
+function getExtension(path) {
+    if (!path.includes("."))
+        return "";
+    return path.substring(path.lastIndexOf(".") + 1);
+}
+/** Parse all subtags out of the given tag. I.e., #hello/i/am would yield [#hello/i/am, #hello/i, #hello]. */
+function extractSubtags(tag) {
+    let result = [tag];
+    while (tag.includes("/")) {
+        tag = tag.substring(0, tag.lastIndexOf("/"));
+        result.push(tag);
+    }
+    return result;
+}
+/** Try calling the given function; on failure, return the error message.  */
+function tryOrPropogate(func) {
+    try {
+        return func();
+    }
+    catch (error) {
+        return Result.failure("" + error + "\n\n" + error.stack);
+    }
+}
+/** Try asynchronously calling the given function; on failure, return the error message. */
+async function asyncTryOrPropogate(func) {
+    try {
+        return await func();
+    }
+    catch (error) {
+        return Result.failure("" + error + "\n\n" + error.stack);
+    }
+}
+/**
+ * Escape regex characters in a string.
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions.
+ */
+function escapeRegex(str) {
+    return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
+}
+/** A parsimmon parser which canonicalizes variable names while properly respecting emoji. */
+const VAR_NAME_CANONICALIZER = parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regex(new RegExp(emojiRegex(), "")), parsimmon_umd_minExports.regex(/[0-9\p{Letter}_-]+/u).map(str => str.toLocaleLowerCase()), parsimmon_umd_minExports.whitespace.map(_ => "-"), parsimmon_umd_minExports.any.map(_ => ""))
+    .many()
+    .map(result => result.join(""));
+/** Convert an arbitrary variable name into something JS/query friendly. */
+function canonicalizeVarName(name) {
+    return VAR_NAME_CANONICALIZER.tryParse(name);
+}
+const HEADER_CANONICALIZER = parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regex(new RegExp(emojiRegex(), "")), parsimmon_umd_minExports.regex(/[0-9\p{Letter}_-]+/u), parsimmon_umd_minExports.whitespace.map(_ => " "), parsimmon_umd_minExports.any.map(_ => " "))
+    .many()
+    .map(result => {
+    return result.join("").split(/\s+/).join(" ").trim();
+});
+/**
+ * Normalizes the text in a header to be something that is actually linkable to. This mimics
+ * how Obsidian does it's normalization, collapsing repeated spaces and stripping out control characters.
+ */
+function normalizeHeaderForLink(header) {
+    return HEADER_CANONICALIZER.tryParse(header);
+}
+/** Render a DateTime in a minimal format to save space. */
+function renderMinimalDate(time, settings, locale) {
+    // If there is no relevant time specified, fall back to just rendering the date.
+    if (time.second == 0 && time.minute == 0 && time.hour == 0) {
+        return time.toLocal().toFormat(settings.defaultDateFormat, { locale });
+    }
+    return time.toLocal().toFormat(settings.defaultDateTimeFormat, { locale });
+}
+/** Render a duration in a minimal format to save space. */
+function renderMinimalDuration(dur) {
+    dur = normalizeDuration(dur);
+    // toHuman outputs zero quantities e.g. "0 seconds"
+    dur = Duration.fromObject(Object.fromEntries(Object.entries(dur.toObject()).filter(([, quantity]) => quantity != 0)));
+    return dur.toHuman();
+}
+/** Determine if two sets are equal in contents. */
+function setsEqual(first, second) {
+    if (first.size != second.size)
+        return false;
+    for (let elem of first)
+        if (!second.has(elem))
+            return false;
+    return true;
+}
+
+var Values;
+(function (Values) {
+    /** Convert an arbitrary value into a reasonable, Markdown-friendly string if possible. */
+    function toString(field, setting = DEFAULT_QUERY_SETTINGS, recursive = false) {
+        let wrapped = wrapValue(field);
+        if (!wrapped)
+            return setting.renderNullAs;
+        switch (wrapped.type) {
+            case "null":
+                return setting.renderNullAs;
+            case "string":
+                return wrapped.value;
+            case "number":
+            case "boolean":
+                return "" + wrapped.value;
+            case "html":
+                return wrapped.value.outerHTML;
+            case "widget":
+                return wrapped.value.markdown();
+            case "link":
+                return wrapped.value.markdown();
+            case "function":
+                return "<function>";
+            case "array":
+                let result = "";
+                if (recursive)
+                    result += "[";
+                result += wrapped.value.map(f => toString(f, setting, true)).join(", ");
+                if (recursive)
+                    result += "]";
+                return result;
+            case "object":
+                return ("{ " +
+                    Object.entries(wrapped.value)
+                        .map(e => e[0] + ": " + toString(e[1], setting, true))
+                        .join(", ") +
+                    " }");
+            case "date":
+                if (wrapped.value.second == 0 && wrapped.value.hour == 0 && wrapped.value.minute == 0) {
+                    return wrapped.value.toFormat(setting.defaultDateFormat);
+                }
+                return wrapped.value.toFormat(setting.defaultDateTimeFormat);
+            case "duration":
+                return renderMinimalDuration(wrapped.value);
+        }
+    }
+    Values.toString = toString;
+    /** Wrap a literal value so you can switch on it easily. */
+    function wrapValue(val) {
+        if (isNull(val))
+            return { type: "null", value: val };
+        else if (isNumber(val))
+            return { type: "number", value: val };
+        else if (isString(val))
+            return { type: "string", value: val };
+        else if (isBoolean(val))
+            return { type: "boolean", value: val };
+        else if (isDuration(val))
+            return { type: "duration", value: val };
+        else if (isDate(val))
+            return { type: "date", value: val };
+        else if (isWidget(val))
+            return { type: "widget", value: val };
+        else if (isArray(val))
+            return { type: "array", value: val };
+        else if (isLink(val))
+            return { type: "link", value: val };
+        else if (isFunction(val))
+            return { type: "function", value: val };
+        else if (isHtml(val))
+            return { type: "html", value: val };
+        else if (isObject(val))
+            return { type: "object", value: val };
+        else
+            return undefined;
+    }
+    Values.wrapValue = wrapValue;
+    /** Recursively map complex objects at the leaves. */
+    function mapLeaves(val, func) {
+        if (isObject(val)) {
+            let result = {};
+            for (let [key, value] of Object.entries(val))
+                result[key] = mapLeaves(value, func);
+            return result;
+        }
+        else if (isArray(val)) {
+            let result = [];
+            for (let value of val)
+                result.push(mapLeaves(value, func));
+            return result;
+        }
+        else {
+            return func(val);
+        }
+    }
+    Values.mapLeaves = mapLeaves;
+    /** Compare two arbitrary JavaScript values. Produces a total ordering over ANY possible dataview value. */
+    function compareValue(val1, val2, linkNormalizer) {
+        // Handle undefined/nulls first.
+        if (val1 === undefined)
+            val1 = null;
+        if (val2 === undefined)
+            val2 = null;
+        if (val1 === null && val2 === null)
+            return 0;
+        else if (val1 === null)
+            return -1;
+        else if (val2 === null)
+            return 1;
+        // A non-null value now which we can wrap & compare on.
+        let wrap1 = wrapValue(val1);
+        let wrap2 = wrapValue(val2);
+        if (wrap1 === undefined && wrap2 === undefined)
+            return 0;
+        else if (wrap1 === undefined)
+            return -1;
+        else if (wrap2 === undefined)
+            return 1;
+        // Short-circuit on different types or on reference equality.
+        if (wrap1.type != wrap2.type)
+            return wrap1.type.localeCompare(wrap2.type);
+        if (wrap1.value === wrap2.value)
+            return 0;
+        switch (wrap1.type) {
+            case "string":
+                return wrap1.value.localeCompare(wrap2.value);
+            case "number":
+                if (wrap1.value < wrap2.value)
+                    return -1;
+                else if (wrap1.value == wrap2.value)
+                    return 0;
+                return 1;
+            case "null":
+                return 0;
+            case "boolean":
+                if (wrap1.value == wrap2.value)
+                    return 0;
+                else
+                    return wrap1.value ? 1 : -1;
+            case "link":
+                let link1 = wrap1.value;
+                let link2 = wrap2.value;
+                let normalize = linkNormalizer ?? ((x) => x);
+                // We can't compare by file name or display, since that would break link equality. Compare by path.
+                let pathCompare = normalize(link1.path).localeCompare(normalize(link2.path));
+                if (pathCompare != 0)
+                    return pathCompare;
+                // Then compare by type.
+                let typeCompare = link1.type.localeCompare(link2.type);
+                if (typeCompare != 0)
+                    return typeCompare;
+                // Then compare by subpath existence.
+                if (link1.subpath && !link2.subpath)
+                    return 1;
+                if (!link1.subpath && link2.subpath)
+                    return -1;
+                if (!link1.subpath && !link2.subpath)
+                    return 0;
+                // Since both have a subpath, compare by subpath.
+                return (link1.subpath ?? "").localeCompare(link2.subpath ?? "");
+            case "date":
+                return wrap1.value < wrap2.value
+                    ? -1
+                    : wrap1.value.equals(wrap2.value)
+                        ? 0
+                        : 1;
+            case "duration":
+                return wrap1.value < wrap2.value
+                    ? -1
+                    : wrap1.value.equals(wrap2.value)
+                        ? 0
+                        : 1;
+            case "array":
+                let f1 = wrap1.value;
+                let f2 = wrap2.value;
+                for (let index = 0; index < Math.min(f1.length, f2.length); index++) {
+                    let comp = compareValue(f1[index], f2[index]);
+                    if (comp != 0)
+                        return comp;
+                }
+                return f1.length - f2.length;
+            case "object":
+                let o1 = wrap1.value;
+                let o2 = wrap2.value;
+                let k1 = Array.from(Object.keys(o1));
+                let k2 = Array.from(Object.keys(o2));
+                k1.sort();
+                k2.sort();
+                let keyCompare = compareValue(k1, k2);
+                if (keyCompare != 0)
+                    return keyCompare;
+                for (let key of k1) {
+                    let comp = compareValue(o1[key], o2[key]);
+                    if (comp != 0)
+                        return comp;
+                }
+                return 0;
+            case "widget":
+            case "html":
+            case "function":
+                return 0;
+        }
+    }
+    Values.compareValue = compareValue;
+    /** Find the corresponding Dataveiw type for an arbitrary value. */
+    function typeOf(val) {
+        return wrapValue(val)?.type;
+    }
+    Values.typeOf = typeOf;
+    /** Determine if the given value is "truthy" (i.e., is non-null and has data in it). */
+    function isTruthy(field) {
+        let wrapped = wrapValue(field);
+        if (!wrapped)
+            return false;
+        switch (wrapped.type) {
+            case "number":
+                return wrapped.value != 0;
+            case "string":
+                return wrapped.value.length > 0;
+            case "boolean":
+                return wrapped.value;
+            case "link":
+                return !!wrapped.value.path;
+            case "date":
+                return wrapped.value.toMillis() != 0;
+            case "duration":
+                return wrapped.value.as("seconds") != 0;
+            case "object":
+                return Object.keys(wrapped.value).length > 0;
+            case "array":
+                return wrapped.value.length > 0;
+            case "null":
+                return false;
+            case "html":
+            case "widget":
+            case "function":
+                return true;
+        }
+    }
+    Values.isTruthy = isTruthy;
+    /** Deep copy a field. */
+    function deepCopy(field) {
+        if (field === null || field === undefined)
+            return field;
+        if (Values.isArray(field)) {
+            return [].concat(field.map(v => deepCopy(v)));
+        }
+        else if (Values.isObject(field)) {
+            let result = {};
+            for (let [key, value] of Object.entries(field))
+                result[key] = deepCopy(value);
+            return result;
+        }
+        else {
+            return field;
+        }
+    }
+    Values.deepCopy = deepCopy;
+    function isString(val) {
+        return typeof val == "string";
+    }
+    Values.isString = isString;
+    function isNumber(val) {
+        return typeof val == "number";
+    }
+    Values.isNumber = isNumber;
+    function isDate(val) {
+        return val instanceof DateTime;
+    }
+    Values.isDate = isDate;
+    function isDuration(val) {
+        return val instanceof Duration;
+    }
+    Values.isDuration = isDuration;
+    function isNull(val) {
+        return val === null || val === undefined;
+    }
+    Values.isNull = isNull;
+    function isArray(val) {
+        return Array.isArray(val);
+    }
+    Values.isArray = isArray;
+    function isBoolean(val) {
+        return typeof val === "boolean";
+    }
+    Values.isBoolean = isBoolean;
+    function isLink(val) {
+        return val instanceof Link;
+    }
+    Values.isLink = isLink;
+    function isWidget(val) {
+        return val instanceof Widget;
+    }
+    Values.isWidget = isWidget;
+    function isHtml(val) {
+        if (typeof HTMLElement !== "undefined") {
+            return val instanceof HTMLElement;
+        }
+        else {
+            return false;
+        }
+    }
+    Values.isHtml = isHtml;
+    /** Checks if the given value is an object (and not any other dataview-recognized object-like type). */
+    function isObject(val) {
+        return (typeof val == "object" &&
+            !isHtml(val) &&
+            !isWidget(val) &&
+            !isArray(val) &&
+            !isDuration(val) &&
+            !isDate(val) &&
+            !isLink(val) &&
+            val !== undefined &&
+            !isNull(val));
+    }
+    Values.isObject = isObject;
+    function isFunction(val) {
+        return typeof val == "function";
+    }
+    Values.isFunction = isFunction;
+})(Values || (Values = {}));
+///////////////
+// Groupings //
+///////////////
+var Groupings;
+(function (Groupings) {
+    /** Determines if the given group entry is a standalone value, or a grouping of sub-entries. */
+    function isElementGroup(entry) {
+        return Values.isObject(entry) && Object.keys(entry).length == 2 && "key" in entry && "rows" in entry;
+    }
+    Groupings.isElementGroup = isElementGroup;
+    /** Determines if the given array is a grouping array. */
+    function isGrouping(entry) {
+        for (let element of entry)
+            if (!isElementGroup(element))
+                return false;
+        return true;
+    }
+    Groupings.isGrouping = isGrouping;
+    /** Count the total number of elements in a recursive grouping. */
+    function count(elements) {
+        if (isGrouping(elements)) {
+            let result = 0;
+            for (let subgroup of elements)
+                result += count(subgroup.rows);
+            return result;
+        }
+        else {
+            return elements.length;
+        }
+    }
+    Groupings.count = count;
+})(Groupings || (Groupings = {}));
+//////////
+// LINK //
+//////////
+/** The Obsidian 'link', used for uniquely describing a file, header, or block. */
+class Link {
+    /** The file path this link points to. */
+    path;
+    /** The display name associated with the link. */
+    display;
+    /** The block ID or header this link points to within a file, if relevant. */
+    subpath;
+    /** Is this link an embedded link (!)? */
+    embed;
+    /** The type of this link, which determines what 'subpath' refers to, if anything. */
+    type;
+    /** Create a link to a specific file. */
+    static file(path, embed = false, display) {
+        return new Link({
+            path,
+            embed,
+            display,
+            subpath: undefined,
+            type: "file",
+        });
+    }
+    static infer(linkpath, embed = false, display) {
+        if (linkpath.includes("#^")) {
+            let split = linkpath.split("#^");
+            return Link.block(split[0], split[1], embed, display);
+        }
+        else if (linkpath.includes("#")) {
+            let split = linkpath.split("#");
+            return Link.header(split[0], split[1], embed, display);
+        }
+        else
+            return Link.file(linkpath, embed, display);
+    }
+    /** Create a link to a specific file and header in that file. */
+    static header(path, header, embed, display) {
+        // Headers need to be normalized to alpha-numeric & with extra spacing removed.
+        return new Link({
+            path,
+            embed,
+            display,
+            subpath: normalizeHeaderForLink(header),
+            type: "header",
+        });
+    }
+    /** Create a link to a specific file and block in that file. */
+    static block(path, blockId, embed, display) {
+        return new Link({
+            path,
+            embed,
+            display,
+            subpath: blockId,
+            type: "block",
+        });
+    }
+    static fromObject(object) {
+        return new Link(object);
+    }
+    constructor(fields) {
+        Object.assign(this, fields);
+    }
+    /** Checks for link equality (i.e., that the links are pointing to the same exact location). */
+    equals(other) {
+        if (other == undefined || other == null)
+            return false;
+        return this.path == other.path && this.type == other.type && this.subpath == other.subpath;
+    }
+    /** Convert this link to it's markdown representation. */
+    toString() {
+        return this.markdown();
+    }
+    /** Convert this link to a raw object which is serialization-friendly. */
+    toObject() {
+        return { path: this.path, type: this.type, subpath: this.subpath, display: this.display, embed: this.embed };
+    }
+    /** Update this link with a new path. */
+    //@ts-ignore; error appeared after updating Obsidian to 0.15.4; it also updated other packages but didn't say which
+    withPath(path) {
+        return new Link(Object.assign({}, this, { path }));
+    }
+    /** Return a new link which points to the same location but with a new display value. */
+    withDisplay(display) {
+        return new Link(Object.assign({}, this, { display }));
+    }
+    /** Convert a file link into a link to a specific header. */
+    withHeader(header) {
+        return Link.header(this.path, header, this.embed, this.display);
+    }
+    /** Convert any link into a link to its file. */
+    toFile() {
+        return Link.file(this.path, this.embed, this.display);
+    }
+    /** Convert this link into an embedded link. */
+    toEmbed() {
+        if (this.embed) {
+            return this;
+        }
+        else {
+            let link = new Link(this);
+            link.embed = true;
+            return link;
+        }
+    }
+    /** Convert this link into a non-embedded link. */
+    fromEmbed() {
+        if (!this.embed) {
+            return this;
+        }
+        else {
+            let link = new Link(this);
+            link.embed = false;
+            return link;
+        }
+    }
+    /** Convert this link to markdown so it can be rendered. */
+    markdown() {
+        let result = (this.embed ? "!" : "") + "[[" + this.obsidianLink();
+        if (this.display) {
+            result += "|" + this.display;
+        }
+        else {
+            result += "|" + getFileTitle(this.path);
+            if (this.type == "header" || this.type == "block")
+                result += " > " + this.subpath;
+        }
+        result += "]]";
+        return result;
+    }
+    /** Convert the inner part of the link to something that Obsidian can open / understand. */
+    obsidianLink() {
+        const escaped = this.path.replaceAll("|", "\\|");
+        if (this.type == "header")
+            return escaped + "#" + this.subpath?.replaceAll("|", "\\|");
+        if (this.type == "block")
+            return escaped + "#^" + this.subpath?.replaceAll("|", "\\|");
+        else
+            return escaped;
+    }
+    /** The stripped name of the file this link points to. */
+    fileName() {
+        return getFileTitle(this.path).replace(".md", "");
+    }
+}
+/////////////////
+// WIDGET BASE //
+/////////////////
+/**
+ * A trivial base class which just defines the '$widget' identifier type. Subtypes of
+ * widget are responsible for adding whatever metadata is relevant. If you want your widget
+ * to have rendering functionality (which you probably do), you should extend `RenderWidget`.
+ */
+class Widget {
+    $widget;
+    constructor($widget) {
+        this.$widget = $widget;
+    }
+}
+/** A trivial widget which renders a (key, value) pair, and allows accessing the key and value. */
+class ListPairWidget extends Widget {
+    key;
+    value;
+    constructor(key, value) {
+        super("dataview:list-pair");
+        this.key = key;
+        this.value = value;
+    }
+    markdown() {
+        return `${Values.toString(this.key)}: ${Values.toString(this.value)}`;
+    }
+}
+/** A simple widget which renders an external link. */
+class ExternalLinkWidget extends Widget {
+    url;
+    display;
+    constructor(url, display) {
+        super("dataview:external-link");
+        this.url = url;
+        this.display = display;
+    }
+    markdown() {
+        return `[${this.display ?? this.url}](${this.url})`;
+    }
+}
+var Widgets;
+(function (Widgets) {
+    /** Create a list pair widget matching the given key and value. */
+    function listPair(key, value) {
+        return new ListPairWidget(key, value);
+    }
+    Widgets.listPair = listPair;
+    /** Create an external link widget which renders an external Obsidian link. */
+    function externalLink(url, display) {
+        return new ExternalLinkWidget(url, display);
+    }
+    Widgets.externalLink = externalLink;
+    /** Checks if the given widget is a list pair widget. */
+    function isListPair(widget) {
+        return widget.$widget === "dataview:list-pair";
+    }
+    Widgets.isListPair = isListPair;
+    function isExternalLink(widget) {
+        return widget.$widget === "dataview:external-link";
+    }
+    Widgets.isExternalLink = isExternalLink;
+    /** Determines if the given widget is any kind of built-in widget with special rendering handling. */
+    function isBuiltin(widget) {
+        return isListPair(widget) || isExternalLink(widget);
+    }
+    Widgets.isBuiltin = isBuiltin;
+})(Widgets || (Widgets = {}));
+
+/** Implementation of DataArray, minus the dynamic variable access, which is implemented via proxy. */
+class DataArrayImpl {
+    values;
+    settings;
+    defaultComparator;
+    static ARRAY_FUNCTIONS = new Set([
+        "where",
+        "filter",
+        "map",
+        "flatMap",
+        "mutate",
+        "slice",
+        "concat",
+        "indexOf",
+        "limit",
+        "find",
+        "findIndex",
+        "includes",
+        "join",
+        "sort",
+        "sortInPlace",
+        "groupBy",
+        "groupIn",
+        "distinct",
+        "every",
+        "some",
+        "none",
+        "first",
+        "last",
+        "to",
+        "into",
+        "lwrap",
+        "expand",
+        "forEach",
+        "length",
+        "values",
+        "array",
+        "defaultComparator",
+        "toString",
+        "settings",
+        "sum",
+        "avg",
+        "min",
+        "max",
+    ]);
+    static ARRAY_PROXY = {
+        get: function (target, prop, reciever) {
+            if (typeof prop === "symbol")
+                return target[prop];
+            else if (typeof prop === "number")
+                return target.values[prop];
+            else if (prop === "constructor")
+                return target.values.constructor;
+            else if (!isNaN(parseInt(prop)))
+                return target.values[parseInt(prop)];
+            else if (DataArrayImpl.ARRAY_FUNCTIONS.has(prop.toString()))
+                return target[prop.toString()];
+            return target.to(prop);
+        },
+    };
+    static wrap(arr, settings, defaultComparator = Values.compareValue) {
+        return new Proxy(new DataArrayImpl(arr, settings, defaultComparator), DataArrayImpl.ARRAY_PROXY);
+    }
+    length;
+    constructor(values, settings, defaultComparator = Values.compareValue) {
+        this.values = values;
+        this.settings = settings;
+        this.defaultComparator = defaultComparator;
+        this.length = values.length;
+    }
+    lwrap(values) {
+        return DataArrayImpl.wrap(values, this.settings, this.defaultComparator);
+    }
+    where(predicate) {
+        return this.lwrap(this.values.filter(predicate));
+    }
+    filter(predicate) {
+        return this.where(predicate);
+    }
+    map(f) {
+        return this.lwrap(this.values.map(f));
+    }
+    flatMap(f) {
+        let result = [];
+        for (let index = 0; index < this.length; index++) {
+            let value = f(this.values[index], index, this.values);
+            if (!value || value.length == 0)
+                continue;
+            for (let r of value)
+                result.push(r);
+        }
+        return this.lwrap(result);
+    }
+    mutate(f) {
+        for (let index = 0; index < this.values.length; index++) {
+            f(this.values[index], index, this.values);
+        }
+        return this;
+    }
+    limit(count) {
+        return this.lwrap(this.values.slice(0, count));
+    }
+    slice(start, end) {
+        return this.lwrap(this.values.slice(start, end));
+    }
+    concat(other) {
+        return this.lwrap(this.values.concat(other.values));
+    }
+    /** Return the first index of the given (optionally starting the search) */
+    indexOf(element, fromIndex) {
+        return this.findIndex(e => this.defaultComparator(e, element) == 0, fromIndex);
+    }
+    /** Return the first element that satisfies the given predicate. */
+    find(pred) {
+        let index = this.findIndex(pred);
+        if (index == -1)
+            return undefined;
+        else
+            return this.values[index];
+    }
+    findIndex(pred, fromIndex) {
+        for (let index = fromIndex ?? 0; index < this.length; index++) {
+            if (pred(this.values[index], index, this.values))
+                return index;
+        }
+        return -1;
+    }
+    includes(element) {
+        return this.indexOf(element, 0) != -1;
+    }
+    join(sep) {
+        return this.map(s => Values.toString(s, this.settings))
+            .array()
+            .join(sep ?? ", ");
+    }
+    sort(key, direction, comparator) {
+        if (this.values.length == 0)
+            return this;
+        let realComparator = comparator ?? this.defaultComparator;
+        let realKey = key ?? ((l) => l);
+        // Associate each entry with it's index for the key function, and then do a normal sort.
+        let copy = [].concat(this.array()).map((elem, index) => {
+            return { index: index, value: elem };
+        });
+        copy.sort((a, b) => {
+            let aKey = realKey(a.value, a.index, this.values);
+            let bKey = realKey(b.value, b.index, this.values);
+            return direction === "desc" ? -realComparator(aKey, bKey) : realComparator(aKey, bKey);
+        });
+        return this.lwrap(copy.map(e => e.value));
+    }
+    sortInPlace(key, direction, comparator) {
+        if (this.values.length == 0)
+            return this;
+        let realComparator = comparator ?? this.defaultComparator;
+        let realKey = key ?? ((l) => l);
+        this.values.sort((a, b) => {
+            let aKey = realKey(a);
+            let bKey = realKey(b);
+            return direction == "desc" ? -realComparator(aKey, bKey) : realComparator(aKey, bKey);
+        });
+        return this;
+    }
+    groupBy(key, comparator) {
+        if (this.values.length == 0)
+            return this.lwrap([]);
+        // JavaScript sucks and we can't make hash maps over arbitrary types (only strings/ints), so
+        // we do a poor man algorithm where we SORT, followed by grouping.
+        let intermediate = this.sort(key, "asc", comparator);
+        comparator = comparator ?? this.defaultComparator;
+        let result = [];
+        let currentRow = [intermediate[0]];
+        let current = key(intermediate[0], 0, intermediate.values);
+        for (let index = 1; index < intermediate.length; index++) {
+            let newKey = key(intermediate[index], index, intermediate.values);
+            if (comparator(current, newKey) != 0) {
+                result.push({ key: current, rows: this.lwrap(currentRow) });
+                current = newKey;
+                currentRow = [intermediate[index]];
+            }
+            else {
+                currentRow.push(intermediate[index]);
+            }
+        }
+        result.push({ key: current, rows: this.lwrap(currentRow) });
+        return this.lwrap(result);
+    }
+    groupIn(key, comparator) {
+        if (Groupings.isGrouping(this.values)) {
+            return this.map(v => {
+                return {
+                    key: v.key,
+                    rows: DataArray.wrap(v.rows, this.settings).groupIn(key, comparator),
+                };
+            });
+        }
+        else {
+            return this.groupBy(key, comparator);
+        }
+    }
+    distinct(key, comparator) {
+        if (this.values.length == 0)
+            return this;
+        let realKey = key ?? (x => x);
+        // For similar reasons to groupBy, do a sort and take the first element of each block.
+        let intermediate = this.map((x, index) => {
+            return { key: realKey(x, index, this.values), value: x };
+        }).sort(x => x.key, "asc", comparator);
+        comparator = comparator ?? this.defaultComparator;
+        let result = [intermediate[0].value];
+        for (let index = 1; index < intermediate.length; index++) {
+            if (comparator(intermediate[index - 1].key, intermediate[index].key) != 0) {
+                result.push(intermediate[index].value);
+            }
+        }
+        return this.lwrap(result);
+    }
+    every(f) {
+        return this.values.every(f);
+    }
+    some(f) {
+        return this.values.some(f);
+    }
+    none(f) {
+        return this.values.every((v, i, a) => !f(v, i, a));
+    }
+    first() {
+        return this.values.length > 0 ? this.values[0] : undefined;
+    }
+    last() {
+        return this.values.length > 0 ? this.values[this.values.length - 1] : undefined;
+    }
+    to(key) {
+        let result = [];
+        for (let child of this.values) {
+            let value = child[key];
+            if (value === undefined || value === null)
+                continue;
+            if (Array.isArray(value) || DataArray.isDataArray(value))
+                value.forEach(v => result.push(v));
+            else
+                result.push(value);
+        }
+        return this.lwrap(result);
+    }
+    into(key) {
+        let result = [];
+        for (let child of this.values) {
+            let value = child[key];
+            if (value === undefined || value === null)
+                continue;
+            result.push(value);
+        }
+        return this.lwrap(result);
+    }
+    expand(key) {
+        let result = [];
+        let queue = [].concat(this.values);
+        while (queue.length > 0) {
+            let next = queue.pop();
+            let value = next[key];
+            if (value === undefined || value === null)
+                continue;
+            if (Array.isArray(value))
+                value.forEach(v => queue.push(v));
+            else if (value instanceof DataArrayImpl)
+                value.forEach(v => queue.push(v));
+            else
+                queue.push(value);
+            result.push(next);
+        }
+        return this.lwrap(result);
+    }
+    forEach(f) {
+        for (let index = 0; index < this.values.length; index++) {
+            f(this.values[index], index, this.values);
+        }
+    }
+    sum() {
+        return this.values.reduce((a, b) => a + b, 0);
+    }
+    avg() {
+        return this.sum() / this.values.length;
+    }
+    min() {
+        return Math.min(...this.values);
+    }
+    max() {
+        return Math.max(...this.values);
+    }
+    array() {
+        return [].concat(this.values);
+    }
+    [Symbol.iterator]() {
+        return this.values[Symbol.iterator]();
+    }
+    toString() {
+        return "[" + this.values.join(", ") + "]";
+    }
+}
+/** Provides utility functions for generating data arrays. */
+var DataArray;
+(function (DataArray) {
+    /** Create a new Dataview data array. */
+    function wrap(raw, settings) {
+        if (isDataArray(raw))
+            return raw;
+        return DataArrayImpl.wrap(raw, settings);
+    }
+    DataArray.wrap = wrap;
+    /** Create a new DataArray from an iterable object. */
+    function from(raw, settings) {
+        if (isDataArray(raw))
+            return raw;
+        let data = [];
+        for (let elem of raw)
+            data.push(elem);
+        return DataArrayImpl.wrap(data, settings);
+    }
+    DataArray.from = from;
+    /** Return true if the given object is a data array. */
+    function isDataArray(obj) {
+        return obj instanceof DataArrayImpl;
+    }
+    DataArray.isDataArray = isDataArray;
+})(DataArray || (DataArray = {}));
+// A scary looking polyfill, sure, but it fixes up data array/array interop for us.
+const oldArrayIsArray = Array.isArray;
+Array.isArray = (arg) => {
+    return oldArrayIsArray(arg) || DataArray.isDataArray(arg);
+};
+
+/** Test-environment-friendly function which fetches the current system locale. */
+function currentLocale() {
+    if (typeof window === "undefined")
+        return "en-US";
+    return window.navigator.language;
+}
+
+/** Render simple fields compactly, removing wrapping content like paragraph and span. */
+async function renderCompactMarkdown(app, markdown, container, sourcePath, component, isInlineFieldLivePreview = false) {
+    // check if the call is from the CM6 view plugin defined in src/ui/views/inline-field-live-preview.ts
+    if (isInlineFieldLivePreview) {
+        await renderCompactMarkdownForInlineFieldLivePreview(app, markdown, container, sourcePath, component);
+    }
+    else {
+        let subcontainer = container.createSpan();
+        await obsidian.MarkdownRenderer.render(app, markdown, subcontainer, sourcePath, component);
+        let paragraph = subcontainer.querySelector(":scope > p");
+        if (subcontainer.children.length == 1 && paragraph) {
+            while (paragraph.firstChild) {
+                subcontainer.appendChild(paragraph.firstChild);
+            }
+            subcontainer.removeChild(paragraph);
+        }
+    }
+}
+async function renderCompactMarkdownForInlineFieldLivePreview(app, markdown, container, sourcePath, component) {
+    const tmpContainer = createSpan();
+    await obsidian.MarkdownRenderer.render(app, markdown, tmpContainer, sourcePath, component);
+    let paragraph = tmpContainer.querySelector(":scope > p");
+    if (tmpContainer.childNodes.length == 1 && paragraph) {
+        container.replaceChildren(...paragraph.childNodes);
+    }
+    else {
+        container.replaceChildren(...tmpContainer.childNodes);
+    }
+    tmpContainer.remove();
+}
+/** Render a pre block with an error in it; returns the element to allow for dynamic updating. */
+function renderErrorPre(container, error) {
+    let pre = container.createEl("pre", { cls: ["dataview", "dataview-error"] });
+    pre.appendText(error);
+    return pre;
+}
+/** Render a static codeblock. */
+function renderCodeBlock(container, source, language) {
+    let code = container.createEl("code", { cls: ["dataview"] });
+    if (language)
+        code.classList.add("language-" + language);
+    code.appendText(source);
+    return code;
+}
+/** Prettily render a value into a container with the given settings. */
+async function renderValue(app, field, container, originFile, component, settings, expandList = false, context = "root", depth = 0, isInlineFieldLivePreview = false) {
+    // Prevent infinite recursion.
+    if (depth > settings.maxRecursiveRenderDepth) {
+        container.appendText("...");
+        return;
+    }
+    if (Values.isNull(field)) {
+        await renderCompactMarkdown(app, settings.renderNullAs, container, originFile, component, isInlineFieldLivePreview);
+    }
+    else if (Values.isDate(field)) {
+        container.appendText(renderMinimalDate(field, settings, currentLocale()));
+    }
+    else if (Values.isDuration(field)) {
+        container.appendText(renderMinimalDuration(field));
+    }
+    else if (Values.isString(field) || Values.isBoolean(field) || Values.isNumber(field)) {
+        await renderCompactMarkdown(app, "" + field, container, originFile, component, isInlineFieldLivePreview);
+    }
+    else if (Values.isLink(field)) {
+        await renderCompactMarkdown(app, field.markdown(), container, originFile, component, isInlineFieldLivePreview);
+    }
+    else if (Values.isHtml(field)) {
+        container.appendChild(field);
+    }
+    else if (Values.isWidget(field)) {
+        if (Widgets.isListPair(field)) {
+            await renderValue(app, field.key, container, originFile, component, settings, expandList, context, depth, isInlineFieldLivePreview);
+            container.appendText(": ");
+            await renderValue(app, field.value, container, originFile, component, settings, expandList, context, depth, isInlineFieldLivePreview);
+        }
+        else if (Widgets.isExternalLink(field)) {
+            let elem = document.createElement("a");
+            elem.textContent = field.display ?? field.url;
+            elem.rel = "noopener";
+            elem.target = "_blank";
+            elem.classList.add("external-link");
+            elem.href = field.url;
+            container.appendChild(elem);
+        }
+        else {
+            container.appendText(`<unknown widget '${field.$widget}>`);
+        }
+    }
+    else if (Values.isFunction(field)) {
+        container.appendText("<function>");
+    }
+    else if (Values.isArray(field) || DataArray.isDataArray(field)) {
+        if (expandList) {
+            let list = container.createEl("ul", {
+                cls: [
+                    "dataview",
+                    "dataview-ul",
+                    context == "list" ? "dataview-result-list-ul" : "dataview-result-list-root-ul",
+                ],
+            });
+            for (let child of field) {
+                let li = list.createEl("li", { cls: "dataview-result-list-li" });
+                await renderValue(app, child, li, originFile, component, settings, expandList, "list", depth + 1, isInlineFieldLivePreview);
+            }
+        }
+        else {
+            if (field.length == 0) {
+                container.appendText("<empty list>");
+                return;
+            }
+            let span = container.createEl("span", { cls: ["dataview", "dataview-result-list-span"] });
+            let first = true;
+            for (let val of field) {
+                if (first)
+                    first = false;
+                else
+                    span.appendText(", ");
+                await renderValue(app, val, span, originFile, component, settings, expandList, "list", depth + 1, isInlineFieldLivePreview);
+            }
+        }
+    }
+    else if (Values.isObject(field)) {
+        // Don't render classes in case they have recursive references; spoopy.
+        if (field?.constructor?.name && field?.constructor?.name != "Object") {
+            container.appendText(`<${field.constructor.name}>`);
+            return;
+        }
+        if (expandList) {
+            let list = container.createEl("ul", { cls: ["dataview", "dataview-ul", "dataview-result-object-ul"] });
+            for (let [key, value] of Object.entries(field)) {
+                let li = list.createEl("li", { cls: ["dataview", "dataview-li", "dataview-result-object-li"] });
+                li.appendText(key + ": ");
+                await renderValue(app, value, li, originFile, component, settings, expandList, "list", depth + 1, isInlineFieldLivePreview);
+            }
+        }
+        else {
+            if (Object.keys(field).length == 0) {
+                container.appendText("<empty object>");
+                return;
+            }
+            let span = container.createEl("span", { cls: ["dataview", "dataview-result-object-span"] });
+            let first = true;
+            for (let [key, value] of Object.entries(field)) {
+                if (first)
+                    first = false;
+                else
+                    span.appendText(", ");
+                span.appendText(key + ": ");
+                await renderValue(app, value, span, originFile, component, settings, expandList, "list", depth + 1, isInlineFieldLivePreview);
+            }
+        }
+    }
+    else {
+        container.appendText("Unrecognized: " + JSON.stringify(field));
+    }
+}
+
+var papaparse_min = {exports: {}};
+
+/* @license
+Papa Parse
+v5.4.1
+https://github.com/mholt/PapaParse
+License: MIT
+*/
+papaparse_min.exports;
+
+(function (module, exports) {
+	!function(e,t){module.exports=t();}(commonjsGlobal,function s(){var f="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==f?f:{};var n=!f.document&&!!f.postMessage,o=f.IS_PAPA_WORKER||!1,a={},u=0,b={parse:function(e,t){var r=(t=t||{}).dynamicTyping||!1;J(r)&&(t.dynamicTypingFunction=r,r={});if(t.dynamicTyping=r,t.transform=!!J(t.transform)&&t.transform,t.worker&&b.WORKERS_SUPPORTED){var i=function(){if(!b.WORKERS_SUPPORTED)return !1;var e=(r=f.URL||f.webkitURL||null,i=s.toString(),b.BLOB_URL||(b.BLOB_URL=r.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",i,")();"],{type:"text/javascript"})))),t=new f.Worker(e);var r,i;return t.onmessage=_,t.id=u++,a[t.id]=t}();return i.userStep=t.step,i.userChunk=t.chunk,i.userComplete=t.complete,i.userError=t.error,t.step=J(t.step),t.chunk=J(t.chunk),t.complete=J(t.complete),t.error=J(t.error),delete t.worker,void i.postMessage({input:e,config:t,workerId:i.id})}var n=null;b.NODE_STREAM_INPUT,"string"==typeof e?(e=function(e){if(65279===e.charCodeAt(0))return e.slice(1);return e}(e),n=t.download?new l(t):new p(t)):!0===e.readable&&J(e.read)&&J(e.on)?n=new g(t):(f.File&&e instanceof File||e instanceof Object)&&(n=new c(t));return n.stream(e)},unparse:function(e,t){var n=!1,_=!0,m=",",y="\r\n",s='"',a=s+s,r=!1,i=null,o=!1;!function(){if("object"!=typeof t)return;"string"!=typeof t.delimiter||b.BAD_DELIMITERS.filter(function(e){return -1!==t.delimiter.indexOf(e)}).length||(m=t.delimiter);("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(n=t.quotes);"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(r=t.skipEmptyLines);"string"==typeof t.newline&&(y=t.newline);"string"==typeof t.quoteChar&&(s=t.quoteChar);"boolean"==typeof t.header&&(_=t.header);if(Array.isArray(t.columns)){if(0===t.columns.length)throw new Error("Option columns is empty");i=t.columns;}void 0!==t.escapeChar&&(a=t.escapeChar+s);("boolean"==typeof t.escapeFormulae||t.escapeFormulae instanceof RegExp)&&(o=t.escapeFormulae instanceof RegExp?t.escapeFormulae:/^[=+\-@\t\r].*$/);}();var u=new RegExp(Q(s),"g");"string"==typeof e&&(e=JSON.parse(e));if(Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return h(null,e,r);if("object"==typeof e[0])return h(i||Object.keys(e[0]),e,r)}else if("object"==typeof e)return "string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||i),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),h(e.fields||[],e.data||[],r);throw new Error("Unable to serialize unrecognized input");function h(e,t,r){var i="";"string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t));var n=Array.isArray(e)&&0<e.length,s=!Array.isArray(t[0]);if(n&&_){for(var a=0;a<e.length;a++)0<a&&(i+=m),i+=v(e[a],a);0<t.length&&(i+=y);}for(var o=0;o<t.length;o++){var u=n?e.length:t[o].length,h=!1,f=n?0===Object.keys(t[o]).length:0===t[o].length;if(r&&!n&&(h="greedy"===r?""===t[o].join("").trim():1===t[o].length&&0===t[o][0].length),"greedy"===r&&n){for(var d=[],l=0;l<u;l++){var c=s?e[l]:l;d.push(t[o][c]);}h=""===d.join("").trim();}if(!h){for(var p=0;p<u;p++){0<p&&!f&&(i+=m);var g=n&&s?e[p]:p;i+=v(t[o][g],p);}o<t.length-1&&(!r||0<u&&!f)&&(i+=y);}}return i}function v(e,t){if(null==e)return "";if(e.constructor===Date)return JSON.stringify(e).slice(1,25);var r=!1;o&&"string"==typeof e&&o.test(e)&&(e="'"+e,r=!0);var i=e.toString().replace(u,a);return (r=r||!0===n||"function"==typeof n&&n(e,t)||Array.isArray(n)&&n[t]||function(e,t){for(var r=0;r<t.length;r++)if(-1<e.indexOf(t[r]))return !0;return !1}(i,b.BAD_DELIMITERS)||-1<i.indexOf(m)||" "===i.charAt(0)||" "===i.charAt(i.length-1))?s+i+s:i}}};if(b.RECORD_SEP=String.fromCharCode(30),b.UNIT_SEP=String.fromCharCode(31),b.BYTE_ORDER_MARK="\ufeff",b.BAD_DELIMITERS=["\r","\n",'"',b.BYTE_ORDER_MARK],b.WORKERS_SUPPORTED=!n&&!!f.Worker,b.NODE_STREAM_INPUT=1,b.LocalChunkSize=10485760,b.RemoteChunkSize=5242880,b.DefaultDelimiter=",",b.Parser=E,b.ParserHandle=r,b.NetworkStreamer=l,b.FileStreamer=c,b.StringStreamer=p,b.ReadableStreamStreamer=g,f.jQuery){var d=f.jQuery;d.fn.parse=function(o){var r=o.config||{},u=[];return this.each(function(e){if(!("INPUT"===d(this).prop("tagName").toUpperCase()&&"file"===d(this).attr("type").toLowerCase()&&f.FileReader)||!this.files||0===this.files.length)return !0;for(var t=0;t<this.files.length;t++)u.push({file:this.files[t],inputElem:this,instanceConfig:d.extend({},r)});}),e(),this;function e(){if(0!==u.length){var e,t,r,i,n=u[0];if(J(o.before)){var s=o.before(n.file,n.inputElem);if("object"==typeof s){if("abort"===s.action)return e="AbortError",t=n.file,r=n.inputElem,i=s.reason,void(J(o.error)&&o.error({name:e},t,r,i));if("skip"===s.action)return void h();"object"==typeof s.config&&(n.instanceConfig=d.extend(n.instanceConfig,s.config));}else if("skip"===s)return void h()}var a=n.instanceConfig.complete;n.instanceConfig.complete=function(e){J(a)&&a(e,n.file,n.inputElem),h();},b.parse(n.file,n.instanceConfig);}else J(o.complete)&&o.complete();}function h(){u.splice(0,1),e();}};}function h(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},function(e){var t=w(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null);this._handle=new r(t),(this._handle.streamer=this)._config=t;}.call(this,e),this.parseChunk=function(e,t){if(this.isFirstChunk&&J(this._config.beforeFirstChunk)){var r=this._config.beforeFirstChunk(e);void 0!==r&&(e=r);}this.isFirstChunk=!1,this._halted=!1;var i=this._partialLine+e;this._partialLine="";var n=this._handle.parse(i,this._baseIndex,!this._finished);if(!this._handle.paused()&&!this._handle.aborted()){var s=n.meta.cursor;this._finished||(this._partialLine=i.substring(s-this._baseIndex),this._baseIndex=s),n&&n.data&&(this._rowCount+=n.data.length);var a=this._finished||this._config.preview&&this._rowCount>=this._config.preview;if(o)f.postMessage({results:n,workerId:b.WORKER_ID,finished:a});else if(J(this._config.chunk)&&!t){if(this._config.chunk(n,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);n=void 0,this._completeResults=void 0;}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(n.data),this._completeResults.errors=this._completeResults.errors.concat(n.errors),this._completeResults.meta=n.meta),this._completed||!a||!J(this._config.complete)||n&&n.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),a||n&&n.meta.paused||this._nextChunk(),n}this._halted=!0;},this._sendError=function(e){J(this._config.error)?this._config.error(e):o&&this._config.error&&f.postMessage({workerId:b.WORKER_ID,error:e,finished:!1});};}function l(e){var i;(e=e||{}).chunkSize||(e.chunkSize=b.RemoteChunkSize),h.call(this,e),this._nextChunk=n?function(){this._readChunk(),this._chunkLoaded();}:function(){this._readChunk();},this.stream=function(e){this._input=e,this._nextChunk();},this._readChunk=function(){if(this._finished)this._chunkLoaded();else {if(i=new XMLHttpRequest,this._config.withCredentials&&(i.withCredentials=this._config.withCredentials),n||(i.onload=v(this._chunkLoaded,this),i.onerror=v(this._chunkError,this)),i.open(this._config.downloadRequestBody?"POST":"GET",this._input,!n),this._config.downloadRequestHeaders){var e=this._config.downloadRequestHeaders;for(var t in e)i.setRequestHeader(t,e[t]);}if(this._config.chunkSize){var r=this._start+this._config.chunkSize-1;i.setRequestHeader("Range","bytes="+this._start+"-"+r);}try{i.send(this._config.downloadRequestBody);}catch(e){this._chunkError(e.message);}n&&0===i.status&&this._chunkError();}},this._chunkLoaded=function(){4===i.readyState&&(i.status<200||400<=i.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:i.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(e){var t=e.getResponseHeader("Content-Range");if(null===t)return -1;return parseInt(t.substring(t.lastIndexOf("/")+1))}(i),this.parseChunk(i.responseText)));},this._chunkError=function(e){var t=i.statusText||e;this._sendError(new Error(t));};}function c(e){var i,n;(e=e||{}).chunkSize||(e.chunkSize=b.LocalChunkSize),h.call(this,e);var s="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,n=e.slice||e.webkitSlice||e.mozSlice,s?((i=new FileReader).onload=v(this._chunkLoaded,this),i.onerror=v(this._chunkError,this)):i=new FileReaderSync,this._nextChunk();},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk();},this._readChunk=function(){var e=this._input;if(this._config.chunkSize){var t=Math.min(this._start+this._config.chunkSize,this._input.size);e=n.call(e,this._start,t);}var r=i.readAsText(e,this._config.encoding);s||this._chunkLoaded({target:{result:r}});},this._chunkLoaded=function(e){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e.target.result);},this._chunkError=function(){this._sendError(i.error);};}function p(e){var r;h.call(this,e=e||{}),this.stream=function(e){return r=e,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var e,t=this._config.chunkSize;return t?(e=r.substring(0,t),r=r.substring(t)):(e=r,r=""),this._finished=!r,this.parseChunk(e)}};}function g(e){h.call(this,e=e||{});var t=[],r=!0,i=!1;this.pause=function(){h.prototype.pause.apply(this,arguments),this._input.pause();},this.resume=function(){h.prototype.resume.apply(this,arguments),this._input.resume();},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError);},this._checkIsFinished=function(){i&&1===t.length&&(this._finished=!0);},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0;},this._streamData=v(function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()));}catch(e){this._streamError(e);}},this),this._streamError=v(function(e){this._streamCleanUp(),this._sendError(e);},this),this._streamEnd=v(function(){this._streamCleanUp(),i=!0,this._streamData("");},this),this._streamCleanUp=v(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError);},this);}function r(m){var a,o,u,i=Math.pow(2,53),n=-i,s=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,h=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,t=this,r=0,f=0,d=!1,e=!1,l=[],c={data:[],errors:[],meta:{}};if(J(m.step)){var p=m.step;m.step=function(e){if(c=e,_())g();else {if(g(),0===c.data.length)return;r+=e.data.length,m.preview&&r>m.preview?o.abort():(c.data=c.data[0],p(c,t));}};}function y(e){return "greedy"===m.skipEmptyLines?""===e.join("").trim():1===e.length&&0===e[0].length}function g(){return c&&u&&(k("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+b.DefaultDelimiter+"'"),u=!1),m.skipEmptyLines&&(c.data=c.data.filter(function(e){return !y(e)})),_()&&function(){if(!c)return;function e(e,t){J(m.transformHeader)&&(e=m.transformHeader(e,t)),l.push(e);}if(Array.isArray(c.data[0])){for(var t=0;_()&&t<c.data.length;t++)c.data[t].forEach(e);c.data.splice(0,1);}else c.data.forEach(e);}(),function(){if(!c||!m.header&&!m.dynamicTyping&&!m.transform)return c;function e(e,t){var r,i=m.header?{}:[];for(r=0;r<e.length;r++){var n=r,s=e[r];m.header&&(n=r>=l.length?"__parsed_extra":l[r]),m.transform&&(s=m.transform(s,n)),s=v(n,s),"__parsed_extra"===n?(i[n]=i[n]||[],i[n].push(s)):i[n]=s;}return m.header&&(r>l.length?k("FieldMismatch","TooManyFields","Too many fields: expected "+l.length+" fields but parsed "+r,f+t):r<l.length&&k("FieldMismatch","TooFewFields","Too few fields: expected "+l.length+" fields but parsed "+r,f+t)),i}var t=1;!c.data.length||Array.isArray(c.data[0])?(c.data=c.data.map(e),t=c.data.length):c.data=e(c.data,0);m.header&&c.meta&&(c.meta.fields=l);return f+=t,c}()}function _(){return m.header&&0===l.length}function v(e,t){return r=e,m.dynamicTypingFunction&&void 0===m.dynamicTyping[r]&&(m.dynamicTyping[r]=m.dynamicTypingFunction(r)),!0===(m.dynamicTyping[r]||m.dynamicTyping)?"true"===t||"TRUE"===t||"false"!==t&&"FALSE"!==t&&(function(e){if(s.test(e)){var t=parseFloat(e);if(n<t&&t<i)return !0}return !1}(t)?parseFloat(t):h.test(t)?new Date(t):""===t?null:t):t;var r;}function k(e,t,r,i){var n={type:e,code:t,message:r};void 0!==i&&(n.row=i),c.errors.push(n);}this.parse=function(e,t,r){var i=m.quoteChar||'"';if(m.newline||(m.newline=function(e,t){e=e.substring(0,1048576);var r=new RegExp(Q(t)+"([^]*?)"+Q(t),"gm"),i=(e=e.replace(r,"")).split("\r"),n=e.split("\n"),s=1<n.length&&n[0].length<i[0].length;if(1===i.length||s)return "\n";for(var a=0,o=0;o<i.length;o++)"\n"===i[o][0]&&a++;return a>=i.length/2?"\r\n":"\r"}(e,i)),u=!1,m.delimiter)J(m.delimiter)&&(m.delimiter=m.delimiter(e),c.meta.delimiter=m.delimiter);else {var n=function(e,t,r,i,n){var s,a,o,u;n=n||[",","\t","|",";",b.RECORD_SEP,b.UNIT_SEP];for(var h=0;h<n.length;h++){var f=n[h],d=0,l=0,c=0;o=void 0;for(var p=new E({comments:i,delimiter:f,newline:t,preview:10}).parse(e),g=0;g<p.data.length;g++)if(r&&y(p.data[g]))c++;else {var _=p.data[g].length;l+=_,void 0!==o?0<_&&(d+=Math.abs(_-o),o=_):o=_;}0<p.data.length&&(l/=p.data.length-c),(void 0===a||d<=a)&&(void 0===u||u<l)&&1.99<l&&(a=d,s=f,u=l);}return {successful:!!(m.delimiter=s),bestDelimiter:s}}(e,m.newline,m.skipEmptyLines,m.comments,m.delimitersToGuess);n.successful?m.delimiter=n.bestDelimiter:(u=!0,m.delimiter=b.DefaultDelimiter),c.meta.delimiter=m.delimiter;}var s=w(m);return m.preview&&m.header&&s.preview++,a=e,o=new E(s),c=o.parse(a,t,r),g(),d?{meta:{paused:!0}}:c||{meta:{paused:!1}}},this.paused=function(){return d},this.pause=function(){d=!0,o.abort(),a=J(m.chunk)?"":a.substring(o.getCharIndex());},this.resume=function(){t.streamer._halted?(d=!1,t.streamer.parseChunk(a,!0)):setTimeout(t.resume,3);},this.aborted=function(){return e},this.abort=function(){e=!0,o.abort(),c.meta.aborted=!0,J(m.complete)&&m.complete(c),a="";};}function Q(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function E(j){var z,M=(j=j||{}).delimiter,P=j.newline,U=j.comments,q=j.step,N=j.preview,B=j.fastMode,K=z=void 0===j.quoteChar||null===j.quoteChar?'"':j.quoteChar;if(void 0!==j.escapeChar&&(K=j.escapeChar),("string"!=typeof M||-1<b.BAD_DELIMITERS.indexOf(M))&&(M=","),U===M)throw new Error("Comment character same as delimiter");!0===U?U="#":("string"!=typeof U||-1<b.BAD_DELIMITERS.indexOf(U))&&(U=!1),"\n"!==P&&"\r"!==P&&"\r\n"!==P&&(P="\n");var W=0,H=!1;this.parse=function(i,t,r){if("string"!=typeof i)throw new Error("Input must be a string");var n=i.length,e=M.length,s=P.length,a=U.length,o=J(q),u=[],h=[],f=[],d=W=0;if(!i)return L();if(j.header&&!t){var l=i.split(P)[0].split(M),c=[],p={},g=!1;for(var _ in l){var m=l[_];J(j.transformHeader)&&(m=j.transformHeader(m,_));var y=m,v=p[m]||0;for(0<v&&(g=!0,y=m+"_"+v),p[m]=v+1;c.includes(y);)y=y+"_"+v;c.push(y);}if(g){var k=i.split(P);k[0]=c.join(M),i=k.join(P);}}if(B||!1!==B&&-1===i.indexOf(z)){for(var b=i.split(P),E=0;E<b.length;E++){if(f=b[E],W+=f.length,E!==b.length-1)W+=P.length;else if(r)return L();if(!U||f.substring(0,a)!==U){if(o){if(u=[],I(f.split(M)),F(),H)return L()}else I(f.split(M));if(N&&N<=E)return u=u.slice(0,N),L(!0)}}return L()}for(var w=i.indexOf(M,W),R=i.indexOf(P,W),C=new RegExp(Q(K)+Q(z),"g"),S=i.indexOf(z,W);;)if(i[W]!==z)if(U&&0===f.length&&i.substring(W,W+a)===U){if(-1===R)return L();W=R+s,R=i.indexOf(P,W),w=i.indexOf(M,W);}else if(-1!==w&&(w<R||-1===R))f.push(i.substring(W,w)),W=w+e,w=i.indexOf(M,W);else {if(-1===R)break;if(f.push(i.substring(W,R)),D(R+s),o&&(F(),H))return L();if(N&&u.length>=N)return L(!0)}else for(S=W,W++;;){if(-1===(S=i.indexOf(z,S+1)))return r||h.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:u.length,index:W}),T();if(S===n-1)return T(i.substring(W,S).replace(C,z));if(z!==K||i[S+1]!==K){if(z===K||0===S||i[S-1]!==K){-1!==w&&w<S+1&&(w=i.indexOf(M,S+1)),-1!==R&&R<S+1&&(R=i.indexOf(P,S+1));var O=A(-1===R?w:Math.min(w,R));if(i.substr(S+1+O,e)===M){f.push(i.substring(W,S).replace(C,z)),i[W=S+1+O+e]!==z&&(S=i.indexOf(z,W)),w=i.indexOf(M,W),R=i.indexOf(P,W);break}var x=A(R);if(i.substring(S+1+x,S+1+x+s)===P){if(f.push(i.substring(W,S).replace(C,z)),D(S+1+x+s),w=i.indexOf(M,W),S=i.indexOf(z,W),o&&(F(),H))return L();if(N&&u.length>=N)return L(!0);break}h.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:u.length,index:W}),S++;}}else S++;}return T();function I(e){u.push(e),d=W;}function A(e){var t=0;if(-1!==e){var r=i.substring(S+1,e);r&&""===r.trim()&&(t=r.length);}return t}function T(e){return r||(void 0===e&&(e=i.substring(W)),f.push(e),W=n,I(f),o&&F()),L()}function D(e){W=e,I(f),f=[],R=i.indexOf(P,W);}function L(e){return {data:u,errors:h,meta:{delimiter:M,linebreak:P,aborted:H,truncated:!!e,cursor:d+(t||0)}}}function F(){q(L()),u=[],h=[];}},this.abort=function(){H=!0;},this.getCharIndex=function(){return W};}function _(e){var t=e.data,r=a[t.workerId],i=!1;if(t.error)r.userError(t.error,t.file);else if(t.results&&t.results.data){var n={abort:function(){i=!0,m(t.workerId,{data:[],errors:[],meta:{aborted:!0}});},pause:y,resume:y};if(J(r.userStep)){for(var s=0;s<t.results.data.length&&(r.userStep({data:t.results.data[s],errors:t.results.errors,meta:t.results.meta},n),!i);s++);delete t.results;}else J(r.userChunk)&&(r.userChunk(t.results,n,t.file),delete t.results);}t.finished&&!i&&m(t.workerId,t.results);}function m(e,t){var r=a[e];J(r.userComplete)&&r.userComplete(t),r.terminate(),delete a[e];}function y(){throw new Error("Not implemented.")}function w(e){if("object"!=typeof e||null===e)return e;var t=Array.isArray(e)?[]:{};for(var r in e)t[r]=w(e[r]);return t}function v(e,t){return function(){e.apply(t,arguments);}}function J(e){return "function"==typeof e}return o&&(f.onmessage=function(e){var t=e.data;void 0===b.WORKER_ID&&t&&(b.WORKER_ID=t.workerId);if("string"==typeof t.input)f.postMessage({workerId:b.WORKER_ID,results:b.parse(t.input,t.config),finished:!0});else if(f.File&&t.input instanceof File||t.input instanceof Object){var r=b.parse(t.input,t.config);r&&f.postMessage({workerId:b.WORKER_ID,results:r,finished:!0});}}),(l.prototype=Object.create(h.prototype)).constructor=l,(c.prototype=Object.create(h.prototype)).constructor=c,(p.prototype=Object.create(p.prototype)).constructor=p,(g.prototype=Object.create(h.prototype)).constructor=g,b}); 
+} (papaparse_min, papaparse_min.exports));
+
+var papaparse_minExports = papaparse_min.exports;
+
+/** Utility methods for creating & comparing fields. */
+var Fields;
+(function (Fields) {
+    function variable(name) {
+        return { type: "variable", name };
+    }
+    Fields.variable = variable;
+    function literal(value) {
+        return { type: "literal", value };
+    }
+    Fields.literal = literal;
+    function binaryOp(left, op, right) {
+        return { type: "binaryop", left, op, right };
+    }
+    Fields.binaryOp = binaryOp;
+    function index(obj, index) {
+        return { type: "index", object: obj, index };
+    }
+    Fields.index = index;
+    /** Converts a string in dot-notation-format into a variable which indexes. */
+    function indexVariable(name) {
+        let parts = name.split(".");
+        let result = Fields.variable(parts[0]);
+        for (let index = 1; index < parts.length; index++) {
+            result = Fields.index(result, Fields.literal(parts[index]));
+        }
+        return result;
+    }
+    Fields.indexVariable = indexVariable;
+    function lambda(args, value) {
+        return { type: "lambda", arguments: args, value };
+    }
+    Fields.lambda = lambda;
+    function func(func, args) {
+        return { type: "function", func, arguments: args };
+    }
+    Fields.func = func;
+    function list(values) {
+        return { type: "list", values };
+    }
+    Fields.list = list;
+    function object(values) {
+        return { type: "object", values };
+    }
+    Fields.object = object;
+    function negate(child) {
+        return { type: "negated", child };
+    }
+    Fields.negate = negate;
+    function isCompareOp(op) {
+        return op == "<=" || op == "<" || op == ">" || op == ">=" || op == "!=" || op == "=";
+    }
+    Fields.isCompareOp = isCompareOp;
+    Fields.NULL = Fields.literal(null);
+})(Fields || (Fields = {}));
+
+/** AST implementation for queries over data sources. */
+/** Utility functions for creating and manipulating sources. */
+var Sources;
+(function (Sources) {
+    /** Create a source which searches from a tag. */
+    function tag(tag) {
+        return { type: "tag", tag };
+    }
+    Sources.tag = tag;
+    /** Create a source which fetches from a CSV file. */
+    function csv(path) {
+        return { type: "csv", path };
+    }
+    Sources.csv = csv;
+    /** Create a source which searches for files under a folder prefix. */
+    function folder(prefix) {
+        return { type: "folder", folder: prefix };
+    }
+    Sources.folder = folder;
+    /** Create a source which searches for files which link to/from a given file. */
+    function link(file, incoming) {
+        return { type: "link", file, direction: incoming ? "incoming" : "outgoing" };
+    }
+    Sources.link = link;
+    /** Create a source which joins two sources by a logical operator (and/or). */
+    function binaryOp(left, op, right) {
+        return { type: "binaryop", left, op, right };
+    }
+    Sources.binaryOp = binaryOp;
+    /** Create a source which takes the intersection of two sources. */
+    function and(left, right) {
+        return { type: "binaryop", left, op: "&", right };
+    }
+    Sources.and = and;
+    /** Create a source which takes the union of two sources. */
+    function or(left, right) {
+        return { type: "binaryop", left, op: "|", right };
+    }
+    Sources.or = or;
+    /** Create a source which negates the underlying source. */
+    function negate(child) {
+        return { type: "negate", child };
+    }
+    Sources.negate = negate;
+    function empty() {
+        return { type: "empty" };
+    }
+    Sources.empty = empty;
+})(Sources || (Sources = {}));
+
+/** Emoji regex without any additional flags. */
+const EMOJI_REGEX = new RegExp(emojiRegex(), "");
+/** Provides a lookup table for unit durations of the given type. */
+const DURATION_TYPES = {
+    year: Duration.fromObject({ years: 1 }),
+    years: Duration.fromObject({ years: 1 }),
+    yr: Duration.fromObject({ years: 1 }),
+    yrs: Duration.fromObject({ years: 1 }),
+    month: Duration.fromObject({ months: 1 }),
+    months: Duration.fromObject({ months: 1 }),
+    mo: Duration.fromObject({ months: 1 }),
+    mos: Duration.fromObject({ months: 1 }),
+    week: Duration.fromObject({ weeks: 1 }),
+    weeks: Duration.fromObject({ weeks: 1 }),
+    wk: Duration.fromObject({ weeks: 1 }),
+    wks: Duration.fromObject({ weeks: 1 }),
+    w: Duration.fromObject({ weeks: 1 }),
+    day: Duration.fromObject({ days: 1 }),
+    days: Duration.fromObject({ days: 1 }),
+    d: Duration.fromObject({ days: 1 }),
+    hour: Duration.fromObject({ hours: 1 }),
+    hours: Duration.fromObject({ hours: 1 }),
+    hr: Duration.fromObject({ hours: 1 }),
+    hrs: Duration.fromObject({ hours: 1 }),
+    h: Duration.fromObject({ hours: 1 }),
+    minute: Duration.fromObject({ minutes: 1 }),
+    minutes: Duration.fromObject({ minutes: 1 }),
+    min: Duration.fromObject({ minutes: 1 }),
+    mins: Duration.fromObject({ minutes: 1 }),
+    m: Duration.fromObject({ minutes: 1 }),
+    second: Duration.fromObject({ seconds: 1 }),
+    seconds: Duration.fromObject({ seconds: 1 }),
+    sec: Duration.fromObject({ seconds: 1 }),
+    secs: Duration.fromObject({ seconds: 1 }),
+    s: Duration.fromObject({ seconds: 1 }),
+};
+/** Shorthand for common dates (relative to right now). */
+const DATE_SHORTHANDS = {
+    now: () => DateTime.local(),
+    today: () => DateTime.local().startOf("day"),
+    yesterday: () => DateTime.local()
+        .startOf("day")
+        .minus(Duration.fromObject({ days: 1 })),
+    tomorrow: () => DateTime.local()
+        .startOf("day")
+        .plus(Duration.fromObject({ days: 1 })),
+    sow: () => DateTime.local().startOf("week"),
+    "start-of-week": () => DateTime.local().startOf("week"),
+    eow: () => DateTime.local().endOf("week"),
+    "end-of-week": () => DateTime.local().endOf("week"),
+    soy: () => DateTime.local().startOf("year"),
+    "start-of-year": () => DateTime.local().startOf("year"),
+    eoy: () => DateTime.local().endOf("year"),
+    "end-of-year": () => DateTime.local().endOf("year"),
+    som: () => DateTime.local().startOf("month"),
+    "start-of-month": () => DateTime.local().startOf("month"),
+    eom: () => DateTime.local().endOf("month"),
+    "end-of-month": () => DateTime.local().endOf("month"),
+};
+/**
+ * Keywords which cannot be used as variables directly. Use `row.<thing>` if it is a variable you have defined and want
+ * to access.
+ */
+const KEYWORDS = ["FROM", "WHERE", "LIMIT", "GROUP", "FLATTEN"];
+///////////////
+// Utilities //
+///////////////
+/** Split on unescaped pipes in an inner link. */
+function splitOnUnescapedPipe(link) {
+    let pipe = -1;
+    while ((pipe = link.indexOf("|", pipe + 1)) >= 0) {
+        if (pipe > 0 && link[pipe - 1] == "\\")
+            continue;
+        return [link.substring(0, pipe).replace(/\\\|/g, "|"), link.substring(pipe + 1)];
+    }
+    return [link.replace(/\\\|/g, "|"), undefined];
+}
+/** Attempt to parse the inside of a link to pull out display name, subpath, etc. */
+function parseInnerLink(rawlink) {
+    let [link, display] = splitOnUnescapedPipe(rawlink);
+    return Link.infer(link, false, display);
+}
+/** Create a left-associative binary parser which parses the given sub-element and separator. Handles whitespace. */
+function createBinaryParser(child, sep, combine) {
+    return parsimmon_umd_minExports.seqMap(child, parsimmon_umd_minExports.seq(parsimmon_umd_minExports.optWhitespace, sep, parsimmon_umd_minExports.optWhitespace, child).many(), (first, rest) => {
+        if (rest.length == 0)
+            return first;
+        let node = combine(first, rest[0][1], rest[0][3]);
+        for (let index = 1; index < rest.length; index++) {
+            node = combine(node, rest[index][1], rest[index][3]);
+        }
+        return node;
+    });
+}
+function chainOpt(base, ...funcs) {
+    return parsimmon_umd_minExports.custom((success, failure) => {
+        return (input, i) => {
+            let result = base._(input, i);
+            if (!result.status)
+                return result;
+            for (let func of funcs) {
+                let next = func(result.value)._(input, result.index);
+                if (!next.status)
+                    return result;
+                result = next;
+            }
+            return result;
+        };
+    });
+}
+const EXPRESSION = parsimmon_umd_minExports.createLanguage({
+    // A floating point number; the decimal point is optional.
+    number: q => parsimmon_umd_minExports.regexp(/-?[0-9]+(\.[0-9]+)?/)
+        .map(str => Number.parseFloat(str))
+        .desc("number"),
+    // A quote-surrounded string which supports escape characters ('\').
+    string: q => parsimmon_umd_minExports.string('"')
+        .then(parsimmon_umd_minExports.alt(q.escapeCharacter, parsimmon_umd_minExports.noneOf('"\\'))
+        .atLeast(0)
+        .map(chars => chars.join("")))
+        .skip(parsimmon_umd_minExports.string('"'))
+        .desc("string"),
+    escapeCharacter: _ => parsimmon_umd_minExports.string("\\")
+        .then(parsimmon_umd_minExports.any)
+        .map(escaped => {
+        // If we are escaping a backslash or a quote, pass in on in escaped form
+        if (escaped === '"')
+            return '"';
+        if (escaped === "\\")
+            return "\\";
+        else
+            return "\\" + escaped;
+    }),
+    // A boolean true/false value.
+    bool: _ => parsimmon_umd_minExports.regexp(/true|false|True|False/)
+        .map(str => str.toLowerCase() == "true")
+        .desc("boolean ('true' or 'false')"),
+    // A tag of the form '#stuff/hello-there'.
+    tag: _ => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("#"), parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regexp(/[^\u2000-\u206F\u2E00-\u2E7F'!"#$%&()*+,.:;<=>?@^`{|}~\[\]\\\s]/).desc("text")).many(), (start, rest) => start + rest.join("")).desc("tag ('#hello/stuff')"),
+    // A variable identifier, which is alphanumeric and must start with a letter or... emoji.
+    identifier: _ => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regexp(/\p{Letter}/u), parsimmon_umd_minExports.regexp(EMOJI_REGEX).desc("text")), parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regexp(/[0-9\p{Letter}_-]/u), parsimmon_umd_minExports.regexp(EMOJI_REGEX).desc("text")).many(), (first, rest) => first + rest.join("")).desc("variable identifier"),
+    // An Obsidian link of the form [[<link>]].
+    link: _ => parsimmon_umd_minExports.regexp(/\[\[([^\[\]]*?)\]\]/u, 1)
+        .map(linkInner => parseInnerLink(linkInner))
+        .desc("file link"),
+    // An embeddable link which can start with '!'. This overlaps with the normal negation operator, so it is only
+    // provided for metadata parsing.
+    embedLink: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("!").atMost(1), q.link, (p, l) => {
+        if (p.length > 0)
+            l.embed = true;
+        return l;
+    }).desc("file link"),
+    // Binary plus or minus operator.
+    binaryPlusMinus: _ => parsimmon_umd_minExports.regexp(/\+|-/)
+        .map(str => str)
+        .desc("'+' or '-'"),
+    // Binary times or divide operator.
+    binaryMulDiv: _ => parsimmon_umd_minExports.regexp(/\*|\/|%/)
+        .map(str => str)
+        .desc("'*' or '/' or '%'"),
+    // Binary comparison operator.
+    binaryCompareOp: _ => parsimmon_umd_minExports.regexp(/>=|<=|!=|>|<|=/)
+        .map(str => str)
+        .desc("'>=' or '<=' or '!=' or '=' or '>' or '<'"),
+    // Binary boolean combination operator.
+    binaryBooleanOp: _ => parsimmon_umd_minExports.regexp(/and|or|&|\|/i)
+        .map(str => {
+        if (str.toLowerCase() == "and")
+            return "&";
+        else if (str.toLowerCase() == "or")
+            return "|";
+        else
+            return str;
+    })
+        .desc("'and' or 'or'"),
+    // A date which can be YYYY-MM[-DDTHH:mm:ss].
+    rootDate: _ => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/\d{4}/), parsimmon_umd_minExports.string("-"), parsimmon_umd_minExports.regexp(/\d{2}/), (year, _, month) => {
+        return DateTime.fromObject({ year: Number.parseInt(year), month: Number.parseInt(month) });
+    }).desc("date in format YYYY-MM[-DDTHH-MM-SS.MS]"),
+    dateShorthand: _ => parsimmon_umd_minExports.alt(...Object.keys(DATE_SHORTHANDS)
+        .sort((a, b) => b.length - a.length)
+        .map(parsimmon_umd_minExports.string)),
+    date: q => chainOpt(q.rootDate, (ym) => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("-"), parsimmon_umd_minExports.regexp(/\d{2}/), (_, day) => ym.set({ day: Number.parseInt(day) })), (ymd) => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("T"), parsimmon_umd_minExports.regexp(/\d{2}/), (_, hour) => ymd.set({ hour: Number.parseInt(hour) })), (ymdh) => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string(":"), parsimmon_umd_minExports.regexp(/\d{2}/), (_, minute) => ymdh.set({ minute: Number.parseInt(minute) })), (ymdhm) => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string(":"), parsimmon_umd_minExports.regexp(/\d{2}/), (_, second) => ymdhm.set({ second: Number.parseInt(second) })), (ymdhms) => parsimmon_umd_minExports.alt(parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("."), parsimmon_umd_minExports.regexp(/\d{3}/), (_, millisecond) => ymdhms.set({ millisecond: Number.parseInt(millisecond) })), parsimmon_umd_minExports.succeed(ymdhms) // pass
+    ), (dt) => parsimmon_umd_minExports.alt(parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("+").or(parsimmon_umd_minExports.string("-")), parsimmon_umd_minExports.regexp(/\d{1,2}(:\d{2})?/), (pm, hr) => dt.setZone("UTC" + pm + hr, { keepLocalTime: true })), parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("Z"), () => dt.setZone("utc", { keepLocalTime: true })), parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("["), parsimmon_umd_minExports.regexp(/[0-9A-Za-z+-\/]+/u), parsimmon_umd_minExports.string("]"), (_a, zone, _b) => dt.setZone(zone, { keepLocalTime: true }))))
+        .assert((dt) => dt.isValid, "valid date")
+        .desc("date in format YYYY-MM[-DDTHH-MM-SS.MS]"),
+    // A date, plus various shorthand times of day it could be.
+    datePlus: q => parsimmon_umd_minExports.alt(q.dateShorthand.map(d => DATE_SHORTHANDS[d]()), q.date).desc("date in format YYYY-MM[-DDTHH-MM-SS.MS] or in shorthand"),
+    // A duration of time.
+    durationType: _ => parsimmon_umd_minExports.alt(...Object.keys(DURATION_TYPES)
+        .sort((a, b) => b.length - a.length)
+        .map(parsimmon_umd_minExports.string)),
+    duration: q => parsimmon_umd_minExports.seqMap(q.number, parsimmon_umd_minExports.optWhitespace, q.durationType, (count, _, t) => DURATION_TYPES[t].mapUnits(x => x * count))
+        .sepBy1(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace).or(parsimmon_umd_minExports.optWhitespace))
+        .map(durations => durations.reduce((p, c) => p.plus(c)))
+        .desc("duration like 4hr2min"),
+    // A raw null value.
+    rawNull: _ => parsimmon_umd_minExports.string("null"),
+    // Source parsing.
+    tagSource: q => q.tag.map(tag => Sources.tag(tag)),
+    csvSource: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("csv(").skip(parsimmon_umd_minExports.optWhitespace), q.string, parsimmon_umd_minExports.string(")"), (_1, path, _2) => Sources.csv(path)),
+    linkIncomingSource: q => q.link.map(link => Sources.link(link.path, true)),
+    linkOutgoingSource: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("outgoing(").skip(parsimmon_umd_minExports.optWhitespace), q.link, parsimmon_umd_minExports.string(")"), (_1, link, _2) => Sources.link(link.path, false)),
+    folderSource: q => q.string.map(str => Sources.folder(str)),
+    parensSource: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("("), parsimmon_umd_minExports.optWhitespace, q.source, parsimmon_umd_minExports.optWhitespace, parsimmon_umd_minExports.string(")"), (_1, _2, field, _3, _4) => field),
+    negateSource: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.alt(parsimmon_umd_minExports.string("-"), parsimmon_umd_minExports.string("!")), q.atomSource, (_, source) => Sources.negate(source)),
+    atomSource: q => parsimmon_umd_minExports.alt(q.parensSource, q.negateSource, q.linkOutgoingSource, q.linkIncomingSource, q.folderSource, q.tagSource, q.csvSource),
+    binaryOpSource: q => createBinaryParser(q.atomSource, q.binaryBooleanOp.map(s => s), Sources.binaryOp),
+    source: q => q.binaryOpSource,
+    // Field parsing.
+    variableField: q => q.identifier
+        .chain(r => {
+        if (KEYWORDS.includes(r.toUpperCase())) {
+            return parsimmon_umd_minExports.fail("Variable fields cannot be a keyword (" + KEYWORDS.join(" or ") + ")");
+        }
+        else {
+            return parsimmon_umd_minExports.succeed(Fields.variable(r));
+        }
+    })
+        .desc("variable"),
+    numberField: q => q.number.map(val => Fields.literal(val)).desc("number"),
+    stringField: q => q.string.map(val => Fields.literal(val)).desc("string"),
+    boolField: q => q.bool.map(val => Fields.literal(val)).desc("boolean"),
+    dateField: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("date("), parsimmon_umd_minExports.optWhitespace, q.datePlus, parsimmon_umd_minExports.optWhitespace, parsimmon_umd_minExports.string(")"), (prefix, _1, date, _2, postfix) => Fields.literal(date)).desc("date"),
+    durationField: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("dur("), parsimmon_umd_minExports.optWhitespace, q.duration, parsimmon_umd_minExports.optWhitespace, parsimmon_umd_minExports.string(")"), (prefix, _1, dur, _2, postfix) => Fields.literal(dur)).desc("duration"),
+    nullField: q => q.rawNull.map(_ => Fields.NULL),
+    linkField: q => q.link.map(f => Fields.literal(f)),
+    listField: q => q.field
+        .sepBy(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace))
+        .wrap(parsimmon_umd_minExports.string("[").skip(parsimmon_umd_minExports.optWhitespace), parsimmon_umd_minExports.optWhitespace.then(parsimmon_umd_minExports.string("]")))
+        .map(l => Fields.list(l))
+        .desc("list ('[1, 2, 3]')"),
+    objectField: q => parsimmon_umd_minExports.seqMap(q.identifier.or(q.string), parsimmon_umd_minExports.string(":").trim(parsimmon_umd_minExports.optWhitespace), q.field, (name, _sep, value) => {
+        return { name, value };
+    })
+        .sepBy(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace))
+        .wrap(parsimmon_umd_minExports.string("{").skip(parsimmon_umd_minExports.optWhitespace), parsimmon_umd_minExports.optWhitespace.then(parsimmon_umd_minExports.string("}")))
+        .map(vals => {
+        let res = {};
+        for (let entry of vals)
+            res[entry.name] = entry.value;
+        return Fields.object(res);
+    })
+        .desc("object ('{ a: 1, b: 2 }')"),
+    atomInlineField: q => parsimmon_umd_minExports.alt(q.date, q.duration.map(d => normalizeDuration(d)), q.string, q.tag, q.embedLink, q.bool, q.number, q.rawNull),
+    inlineFieldList: q => q.atomInlineField.sepBy(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace).lookahead(q.atomInlineField)),
+    inlineField: q => parsimmon_umd_minExports.alt(parsimmon_umd_minExports.seqMap(q.atomInlineField, parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace), q.inlineFieldList, (f, _s, l) => [f].concat(l)), q.atomInlineField),
+    atomField: q => parsimmon_umd_minExports.alt(
+    // Place embed links above negated fields as they are the special parser case '![[thing]]' and are generally unambigious.
+    q.embedLink.map(l => Fields.literal(l)), q.negatedField, q.linkField, q.listField, q.objectField, q.lambdaField, q.parensField, q.boolField, q.numberField, q.stringField, q.dateField, q.durationField, q.nullField, q.variableField),
+    indexField: q => parsimmon_umd_minExports.seqMap(q.atomField, parsimmon_umd_minExports.alt(q.dotPostfix, q.indexPostfix, q.functionPostfix).many(), (obj, postfixes) => {
+        let result = obj;
+        for (let post of postfixes) {
+            switch (post.type) {
+                case "dot":
+                    result = Fields.index(result, Fields.literal(post.field));
+                    break;
+                case "index":
+                    result = Fields.index(result, post.field);
+                    break;
+                case "function":
+                    result = Fields.func(result, post.fields);
+                    break;
+            }
+        }
+        return result;
+    }),
+    negatedField: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("!"), q.indexField, (_, field) => Fields.negate(field)).desc("negated field"),
+    parensField: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("("), parsimmon_umd_minExports.optWhitespace, q.field, parsimmon_umd_minExports.optWhitespace, parsimmon_umd_minExports.string(")"), (_1, _2, field, _3, _4) => field),
+    lambdaField: q => parsimmon_umd_minExports.seqMap(q.identifier
+        .sepBy(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace))
+        .wrap(parsimmon_umd_minExports.string("(").trim(parsimmon_umd_minExports.optWhitespace), parsimmon_umd_minExports.string(")").trim(parsimmon_umd_minExports.optWhitespace)), parsimmon_umd_minExports.string("=>").trim(parsimmon_umd_minExports.optWhitespace), q.field, (ident, _ignore, value) => {
+        return { type: "lambda", arguments: ident, value };
+    }),
+    dotPostfix: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("."), q.identifier, (_, field) => {
+        return { type: "dot", field: field };
+    }),
+    indexPostfix: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("["), parsimmon_umd_minExports.optWhitespace, q.field, parsimmon_umd_minExports.optWhitespace, parsimmon_umd_minExports.string("]"), (_, _2, field, _3, _4) => {
+        return { type: "index", field };
+    }),
+    functionPostfix: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.string("("), parsimmon_umd_minExports.optWhitespace, q.field.sepBy(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace)), parsimmon_umd_minExports.optWhitespace, parsimmon_umd_minExports.string(")"), (_, _1, fields, _2, _3) => {
+        return { type: "function", fields };
+    }),
+    // The precedence hierarchy of operators - multiply/divide, add/subtract, compare, and then boolean operations.
+    binaryMulDivField: q => createBinaryParser(q.indexField, q.binaryMulDiv, Fields.binaryOp),
+    binaryPlusMinusField: q => createBinaryParser(q.binaryMulDivField, q.binaryPlusMinus, Fields.binaryOp),
+    binaryCompareField: q => createBinaryParser(q.binaryPlusMinusField, q.binaryCompareOp, Fields.binaryOp),
+    binaryBooleanField: q => createBinaryParser(q.binaryCompareField, q.binaryBooleanOp, Fields.binaryOp),
+    binaryOpField: q => q.binaryBooleanField,
+    field: q => q.binaryOpField,
+});
+/**
+ * Attempt to parse a field from the given text, returning a string error if the
+ * parse failed.
+ */
+function parseField(text) {
+    try {
+        return Result.success(EXPRESSION.field.tryParse(text));
+    }
+    catch (error) {
+        return Result.failure("" + error);
+    }
+}
+
+/** Parse inline fields and other embedded metadata in a line. */
+/** The wrapper characters that can be used to define an inline field. */
+const INLINE_FIELD_WRAPPERS = Object.freeze({
+    "[": "]",
+    "(": ")",
+});
+/**
+ * Find a matching closing bracket that occurs at or after `start`, respecting nesting and escapes. If found,
+ * returns the value contained within and the string index after the end of the value.
+ */
+function findClosing(line, start, open, close) {
+    let nesting = 0;
+    let escaped = false;
+    for (let index = start; index < line.length; index++) {
+        let char = line.charAt(index);
+        // Allows for double escapes like '\\' to be rendered normally.
+        if (char == "\\") {
+            escaped = !escaped;
+            continue;
+        }
+        // If escaped, ignore the next character for computing nesting, regardless of what it is.
+        if (escaped) {
+            escaped = false;
+            continue;
+        }
+        if (char == open)
+            nesting++;
+        else if (char == close)
+            nesting--;
+        // Only occurs if we are on a close character and trhere is no more nesting.
+        if (nesting < 0)
+            return { value: line.substring(start, index).trim(), endIndex: index + 1 };
+        escaped = false;
+    }
+    return undefined;
+}
+/** Find the '::' separator in an inline field. */
+function findSeparator(line, start) {
+    let sep = line.indexOf("::", start);
+    if (sep < 0)
+        return undefined;
+    return { key: line.substring(start, sep).trim(), valueIndex: sep + 2 };
+}
+/** Try to completely parse an inline field starting at the given position. Assuems `start` is on a wrapping character. */
+function findSpecificInlineField(line, start) {
+    let open = line.charAt(start);
+    let key = findSeparator(line, start + 1);
+    if (key === undefined)
+        return undefined;
+    // Fail the match if we find any separator characters (not allowed in keys).
+    for (let sep of Object.keys(INLINE_FIELD_WRAPPERS).concat(Object.values(INLINE_FIELD_WRAPPERS))) {
+        if (key.key.includes(sep))
+            return undefined;
+    }
+    let value = findClosing(line, key.valueIndex, open, INLINE_FIELD_WRAPPERS[open]);
+    if (value === undefined)
+        return undefined;
+    return {
+        key: key.key,
+        value: value.value,
+        start: start,
+        startValue: key.valueIndex,
+        end: value.endIndex,
+        wrapping: open,
+    };
+}
+/** Parse a textual inline field value into something we can work with. */
+function parseInlineValue(value) {
+    // Empty inline values (i.e., no text) should map to null to match long-term Dataview semantics.
+    // Null is also a more universal type to deal with than strings, since all functions accept nulls.
+    if (value.trim() == "")
+        return null;
+    // The stripped literal field parser understands all of the non-array/non-object fields and can parse them for us.
+    // Inline field objects are not currently supported; inline array objects have to be handled by the parser
+    // separately.
+    let inline = EXPRESSION.inlineField.parse(value);
+    if (inline.status)
+        return inline.value;
+    else
+        return value;
+}
+/** Extracts inline fields of the form '[key:: value]' from a line of text. This is done in a relatively
+ * "robust" way to avoid failing due to bad nesting or other interfering Markdown symbols:
+ *
+ * - Look for any wrappers ('[' and '(') in the line, trying to parse whatever comes after it as an inline key::.
+ * - If successful, scan until you find a matching end bracket, and parse whatever remains as an inline value.
+ */
+function extractInlineFields(line, includeTaskFields = false) {
+    let fields = [];
+    for (let wrapper of Object.keys(INLINE_FIELD_WRAPPERS)) {
+        let foundIndex = line.indexOf(wrapper);
+        while (foundIndex >= 0) {
+            let parsedField = findSpecificInlineField(line, foundIndex);
+            if (!parsedField) {
+                foundIndex = line.indexOf(wrapper, foundIndex + 1);
+                continue;
+            }
+            fields.push(parsedField);
+            foundIndex = line.indexOf(wrapper, parsedField.end);
+        }
+    }
+    if (includeTaskFields)
+        fields = fields.concat(extractSpecialTaskFields(line));
+    fields.sort((a, b) => a.start - b.start);
+    let filteredFields = [];
+    for (let i = 0; i < fields.length; i++) {
+        if (i == 0 || filteredFields[filteredFields.length - 1].end < fields[i].start) {
+            filteredFields.push(fields[i]);
+        }
+    }
+    return filteredFields;
+}
+/** Validates that a raw field name has a valid form. */
+const FULL_LINE_KEY_PART = parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regexp(new RegExp(emojiRegex(), "u")), parsimmon_umd_minExports.regexp(/[0-9\p{Letter}\w\s_/-]+/u))
+    .many()
+    .map(parts => parts.join(""));
+parsimmon_umd_minExports.regexp(/[^0-9\w\p{Letter}]*/u)
+    .then(FULL_LINE_KEY_PART)
+    .skip(parsimmon_umd_minExports.regexp(/[_\*~`]*/u));
+const CREATED_DATE_REGEX = /\u{2795}\s*(\d{4}-\d{2}-\d{2})/u;
+const DUE_DATE_REGEX = /(?:\u{1F4C5}|\u{1F4C6}|\u{1F5D3}\u{FE0F}?)\s*(\d{4}-\d{2}-\d{2})/u;
+const DONE_DATE_REGEX = /\u{2705}\s*(\d{4}-\d{2}-\d{2})/u;
+const SCHEDULED_DATE_REGEX = /[\u{23F3}\u{231B}]\s*(\d{4}-\d{2}-\d{2})/u;
+const START_DATE_REGEX = /\u{1F6EB}\s*(\d{4}-\d{2}-\d{2})/u;
+const EMOJI_REGEXES = [
+    { regex: CREATED_DATE_REGEX, key: "created" },
+    { regex: START_DATE_REGEX, key: "start" },
+    { regex: SCHEDULED_DATE_REGEX, key: "scheduled" },
+    { regex: DUE_DATE_REGEX, key: "due" },
+    { regex: DONE_DATE_REGEX, key: "completion" },
+];
+/** Parse special completed/due/done task fields which are marked via emoji. */
+function extractSpecialTaskFields(line) {
+    let results = [];
+    for (let { regex, key } of EMOJI_REGEXES) {
+        const match = regex.exec(line);
+        if (!match)
+            continue;
+        results.push({
+            key,
+            value: match[1],
+            start: match.index,
+            startValue: match.index + 1,
+            end: match.index + match[0].length,
+            wrapping: "emoji-shorthand",
+        });
+    }
+    return results;
+}
+/** Sets or replaces the value of an inline field; if the value is 'undefined', deletes the key. */
+function setInlineField(source, key, value) {
+    let existing = extractInlineFields(source);
+    let existingKeys = existing.filter(f => f.key == key);
+    // Don't do anything if there are duplicate keys OR the key already doesn't exist.
+    if (existingKeys.length > 2 || (existingKeys.length == 0 && !value))
+        return source;
+    let existingKey = existingKeys[0];
+    let annotation = value ? `[${key}:: ${value}]` : "";
+    if (existingKey) {
+        let prefix = source.substring(0, existingKey.start);
+        let suffix = source.substring(existingKey.end);
+        if (annotation)
+            return `${prefix}${annotation}${suffix}`;
+        else
+            return `${prefix}${suffix.trimStart()}`;
+    }
+    else if (annotation) {
+        return `${source.trimEnd()} ${annotation}`;
+    }
+    return source;
+}
+function setEmojiShorthandCompletionField(source, value) {
+    const existing = extractInlineFields(source, true);
+    const existingKeys = existing.filter(f => f.key === "completion" && f.wrapping === "emoji-shorthand");
+    // Don't do anything if there are duplicate keys OR the key already doesn't exist.
+    if (existingKeys.length > 2 || (existingKeys.length == 0 && !value))
+        return source;
+    /* No wrapper, add own spacing at start */
+    const annotation = value ? ` ✅ ${value}` : "";
+    let existingKey = existingKeys[0];
+    if (existingKey) {
+        const prefix = source.substring(0, existingKey.start);
+        const suffix = source.substring(existingKey.end);
+        return `${prefix.trimEnd()}${annotation}${suffix}`;
+    }
+    else {
+        return `${source.trimEnd()}${annotation}`;
+    }
+}
+
+/** All extracted markdown file metadata obtained from a file. */
+class PageMetadata {
+    /** The path this file exists at. */
+    path;
+    /** Obsidian-provided date this page was created. */
+    ctime;
+    /** Obsidian-provided date this page was modified. */
+    mtime;
+    /** Obsidian-provided size of this page in bytes. */
+    size;
+    /** The day associated with this page, if relevant. */
+    day;
+    /** The first H1/H2 header in the file. May not exist. */
+    title;
+    /** All of the fields contained in this markdown file - both frontmatter AND in-file links. */
+    fields;
+    /** All of the exact tags (prefixed with '#') in this file overall. */
+    tags;
+    /** All of the aliases defined for this file. */
+    aliases;
+    /** All OUTGOING links (including embeds, header + block links) in this file. */
+    links;
+    /** All list items contained within this page. Filter for tasks to get just tasks. */
+    lists;
+    /** The raw frontmatter for this document. */
+    frontmatter;
+    constructor(path, init) {
+        this.path = path;
+        this.fields = new Map();
+        this.frontmatter = {};
+        this.tags = new Set();
+        this.aliases = new Set();
+        this.links = [];
+        Object.assign(this, init);
+        this.lists = (this.lists || []).map(l => new ListItem$1(l));
+    }
+    /** Canonicalize raw links and other data in partial data with normalizers, returning a completed object. */
+    static canonicalize(data, linkNormalizer) {
+        // Mutate the data for now, which is probably a bad idea but... all well.
+        if (data.frontmatter) {
+            data.frontmatter = Values.mapLeaves(data.frontmatter, t => Values.isLink(t) ? linkNormalizer(t) : t);
+        }
+        if (data.fields) {
+            for (let [key, value] of data.fields.entries()) {
+                data.fields.set(key, Values.mapLeaves(value, t => (Values.isLink(t) ? linkNormalizer(t) : t)));
+            }
+        }
+        if (data.lists) {
+            for (let item of data.lists) {
+                for (let [key, value] of item.fields.entries()) {
+                    item.fields.set(key, value.map(x => Values.mapLeaves(x, t => (Values.isLink(t) ? linkNormalizer(t) : t))));
+                }
+            }
+        }
+        if (data.links) {
+            data.links = data.links.map(l => linkNormalizer(l));
+        }
+        // This is pretty ugly, but it's not possible to normalize on the worker thread that does parsing.
+        // The best way to improve this is to instead just canonicalize the entire data object; I can try to
+        // optimize `Values.mapLeaves` to only mutate if it actually changes things.
+        return new PageMetadata(data.path, data);
+    }
+    /** The name (based on path) of this file. */
+    name() {
+        return getFileTitle(this.path);
+    }
+    /** The containing folder (based on path) of this file. */
+    folder() {
+        return getParentFolder(this.path);
+    }
+    /** The extension of this file (likely 'md'). */
+    extension() {
+        return getExtension(this.path);
+    }
+    /** Return a set of tags AND all of their parent tags (so #hello/yes would become #hello, #hello/yes). */
+    fullTags() {
+        let result = new Set();
+        for (let tag of this.tags) {
+            for (let subtag of extractSubtags(tag))
+                result.add(subtag);
+        }
+        return result;
+    }
+    /** Convert all links in this file to file links. */
+    fileLinks() {
+        // We want to make them distinct, but where links are not raw links we
+        // now keep the additional metadata.
+        let distinctLinks = new Set(this.links);
+        return Array.from(distinctLinks);
+    }
+    /** Map this metadata to a full object; uses the index for additional data lookups.  */
+    serialize(index, cache) {
+        // Convert list items via the canonicalization cache.
+        let realCache = cache ?? new ListSerializationCache(this.lists);
+        let result = {
+            file: {
+                path: this.path,
+                folder: this.folder(),
+                name: this.name(),
+                link: Link.file(this.path),
+                outlinks: this.fileLinks(),
+                inlinks: Array.from(index.links.getInverse(this.path)).map(l => Link.file(l)),
+                etags: Array.from(this.tags),
+                tags: Array.from(this.fullTags()),
+                aliases: Array.from(this.aliases),
+                lists: this.lists.map(l => realCache.get(l.line)),
+                tasks: this.lists.filter(l => !!l.task).map(l => realCache.get(l.line)),
+                ctime: this.ctime,
+                cday: stripTime(this.ctime),
+                mtime: this.mtime,
+                mday: stripTime(this.mtime),
+                size: this.size,
+                starred: index.starred.starred(this.path),
+                frontmatter: Values.deepCopy(this.frontmatter),
+                ext: this.extension(),
+            },
+        };
+        // Add the current day if present.
+        if (this.day)
+            result.file.day = this.day;
+        // Then append the computed fields.
+        for (let [key, value] of this.fields.entries()) {
+            if (key in result)
+                continue; // Don't allow fields to override existing keys.
+            result[key] = value;
+        }
+        return result;
+    }
+}
+/** A list item inside of a list. */
+class ListItem$1 {
+    /** The symbol ('*', '-', '1.') used to define this list item. */
+    symbol;
+    /** A link which points to this task, or to the closest block that this task is contained in. */
+    link;
+    /** A link to the section that contains this list element; could be a file if this is not in a section. */
+    section;
+    /** The text of this list item. This may be multiple lines of markdown. */
+    text;
+    /** The line that this list item starts on in the file. */
+    line;
+    /** The number of lines that define this list item. */
+    lineCount;
+    /** The line number for the first list item in the list this item belongs to. */
+    list;
+    /** Any links contained within this list item. */
+    links;
+    /** The tags contained within this list item. */
+    tags;
+    /** The raw Obsidian-provided position for where this task is. */
+    position;
+    /** The line number of the parent list item, if present; if this is undefined, this is a root item. */
+    parent;
+    /** The line numbers of children of this list item. */
+    children;
+    /** The block ID for this item, if one is present. */
+    blockId;
+    /** Any fields defined in this list item. For tasks, this includes fields underneath the task. */
+    fields;
+    task;
+    constructor(init) {
+        Object.assign(this, init);
+        this.fields = this.fields || new Map();
+        this.tags = this.tags || new Set();
+        this.children = this.children || [];
+        this.links = this.links || [];
+    }
+    id() {
+        return `${this.file().path}-${this.line}`;
+    }
+    file() {
+        return this.link.toFile();
+    }
+    markdown() {
+        if (this.task)
+            return `${this.symbol} [${this.task.completed ? "x" : " "}] ${this.text}`;
+        else
+            return `${this.symbol} ${this.text}`;
+    }
+    created() {
+        return (this.fields.get("created") ?? this.fields.get("ctime") ?? this.fields.get("cday"))?.[0];
+    }
+    due() {
+        return (this.fields.get("due") ?? this.fields.get("duetime") ?? this.fields.get("dueday"))?.[0];
+    }
+    completed() {
+        return (this.fields.get("completed") ??
+            this.fields.get("completion") ??
+            this.fields.get("comptime") ??
+            this.fields.get("compday"))?.[0];
+    }
+    start() {
+        return this.fields.get("start")?.[0];
+    }
+    scheduled() {
+        return this.fields.get("scheduled")?.[0];
+    }
+    /** Create an API-friendly copy of this list item. De-duplication is done via the provided cache. */
+    serialize(cache) {
+        // Map children to their serialized/de-duplicated equivalents right away.
+        let children = this.children.map(l => cache.get(l)).filter((l) => l !== undefined);
+        let result = {
+            symbol: this.symbol,
+            link: this.link,
+            section: this.section,
+            text: this.text,
+            tags: Array.from(this.tags),
+            line: this.line,
+            lineCount: this.lineCount,
+            list: this.list,
+            outlinks: Array.from(this.links),
+            path: this.link.path,
+            children: children,
+            task: !!this.task,
+            annotated: this.fields.size > 0,
+            position: Values.deepCopy(this.position),
+            subtasks: children,
+            real: !!this.task,
+            header: this.section, // @deprecated, use 'item.section' instead.
+        };
+        if (this.parent || this.parent === 0)
+            result.parent = this.parent;
+        if (this.blockId)
+            result.blockId = this.blockId;
+        addFields(this.fields, result);
+        if (this.task) {
+            result.status = this.task.status;
+            result.checked = this.task.checked;
+            result.completed = this.task.completed;
+            result.fullyCompleted = this.task.fullyCompleted;
+            let created = this.created(), due = this.due(), completed = this.completed(), start = this.start(), scheduled = this.scheduled();
+            if (created)
+                result.created = Values.deepCopy(created);
+            if (due)
+                result.due = Values.deepCopy(due);
+            if (completed)
+                result.completion = Values.deepCopy(completed);
+            if (start)
+                result.start = Values.deepCopy(start);
+            if (scheduled)
+                result.scheduled = Values.deepCopy(scheduled);
+        }
+        return result;
+    }
+}
+//////////////////////////////////////////
+// Conversion / Serialization Utilities //
+//////////////////////////////////////////
+/** De-duplicates list items across section metadata and page metadata. */
+class ListSerializationCache {
+    listItems;
+    cache;
+    seen;
+    constructor(listItems) {
+        this.listItems = {};
+        this.cache = {};
+        this.seen = new Set();
+        for (let item of listItems)
+            this.listItems[item.line] = item;
+    }
+    get(lineno) {
+        if (lineno in this.cache)
+            return this.cache[lineno];
+        else if (this.seen.has(lineno)) {
+            console.log(`Dataview: Encountered a circular list (line number ${lineno}; children ${this.listItems[lineno].children.join(", ")})`);
+            return undefined;
+        }
+        this.seen.add(lineno);
+        let result = this.listItems[lineno].serialize(this);
+        this.cache[lineno] = result;
+        return result;
+    }
+}
+function addFields(fields, target) {
+    for (let [key, values] of fields.entries()) {
+        if (key in target)
+            continue;
+        target[key] = values.length == 1 ? values[0] : values;
+    }
+    return target;
+}
+
+/** Importer for markdown documents. */
+// TODO: Consider using an actual parser in leiu of a more expensive regex.
+const LIST_ITEM_REGEX = /^[\s>]*(\d+\.|\d+\)|\*|-|\+)\s*(\[.{0,1}\])?\s*(.*)$/mu;
+/** Recursively convert frontmatter into fields. We have to dance around YAML structure. */
+function parseFrontmatter(value) {
+    if (value == null) {
+        return null;
+    }
+    else if (typeof value === "object") {
+        if (Array.isArray(value)) {
+            let result = [];
+            for (let child of value) {
+                result.push(parseFrontmatter(child));
+            }
+            return result;
+        }
+        else if (value instanceof Date) {
+            let dateParse = DateTime.fromJSDate(value);
+            return dateParse;
+        }
+        else {
+            let object = value;
+            let result = {};
+            for (let key in object) {
+                result[key] = parseFrontmatter(object[key]);
+            }
+            return result;
+        }
+    }
+    else if (typeof value === "number") {
+        return value;
+    }
+    else if (typeof value === "boolean") {
+        return value;
+    }
+    else if (typeof value === "string") {
+        let dateParse = EXPRESSION.date.parse(value);
+        if (dateParse.status)
+            return dateParse.value;
+        let durationParse = EXPRESSION.duration.parse(value);
+        if (durationParse.status)
+            return durationParse.value;
+        let linkParse = EXPRESSION.embedLink.parse(value);
+        if (linkParse.status)
+            return linkParse.value;
+        return value;
+    }
+    // Backup if we don't understand the type.
+    return null;
+}
+
+/** Parse a CSV file into a collection of data rows. */
+function parseCsv(content) {
+    let parsed = papaparse_minExports.parse(content, {
+        header: true,
+        skipEmptyLines: true,
+        comments: "#",
+        dynamicTyping: true,
+    });
+    let rows = [];
+    for (let parsedRow of parsed.data) {
+        let fields = parseFrontmatter(parsedRow);
+        let result = {};
+        for (let [key, value] of Object.entries(fields)) {
+            result[key] = value;
+            result[canonicalizeVarName(key)] = value;
+        }
+        rows.push(result);
+    }
+    return rows;
+}
+
+/** Simplifies passing dataview values across the JS web worker barrier. */
+var Transferable;
+(function (Transferable) {
+    /** Convert a literal value to a serializer-friendly transferable value. */
+    function transferable(value) {
+        // Handle simple universal types first.
+        if (value instanceof Map) {
+            let copied = new Map();
+            for (let [key, val] of value.entries())
+                copied.set(transferable(key), transferable(val));
+            return copied;
+        }
+        else if (value instanceof Set) {
+            let copied = new Set();
+            for (let val of value)
+                copied.add(transferable(val));
+            return copied;
+        }
+        let wrapped = Values.wrapValue(value);
+        if (wrapped === undefined)
+            throw Error("Unrecognized transferable value: " + value);
+        switch (wrapped.type) {
+            case "null":
+            case "number":
+            case "string":
+            case "boolean":
+                return wrapped.value;
+            case "date":
+                return {
+                    "___transfer-type": "date",
+                    value: transferable(wrapped.value.toObject()),
+                    options: {
+                        zone: wrapped.value.zone.equals(SystemZone.instance) ? undefined : wrapped.value.zoneName,
+                    },
+                };
+            case "duration":
+                return { "___transfer-type": "duration", value: transferable(wrapped.value.toObject()) };
+            case "array":
+                return wrapped.value.map(v => transferable(v));
+            case "link":
+                return { "___transfer-type": "link", value: transferable(wrapped.value.toObject()) };
+            case "object":
+                let result = {};
+                for (let [key, value] of Object.entries(wrapped.value))
+                    result[key] = transferable(value);
+                return result;
+        }
+    }
+    Transferable.transferable = transferable;
+    /** Convert a transferable value back to a literal value we can work with. */
+    function value(transferable) {
+        if (transferable === null) {
+            return null;
+        }
+        else if (transferable === undefined) {
+            return undefined;
+        }
+        else if (transferable instanceof Map) {
+            let real = new Map();
+            for (let [key, val] of transferable.entries())
+                real.set(value(key), value(val));
+            return real;
+        }
+        else if (transferable instanceof Set) {
+            let real = new Set();
+            for (let val of transferable)
+                real.add(value(val));
+            return real;
+        }
+        else if (Array.isArray(transferable)) {
+            return transferable.map(v => value(v));
+        }
+        else if (typeof transferable === "object") {
+            if ("___transfer-type" in transferable) {
+                switch (transferable["___transfer-type"]) {
+                    case "date":
+                        let dateOpts = value(transferable.options);
+                        let dateData = value(transferable.value);
+                        return DateTime.fromObject(dateData, { zone: dateOpts.zone });
+                    case "duration":
+                        return Duration.fromObject(value(transferable.value));
+                    case "link":
+                        return Link.fromObject(value(transferable.value));
+                    default:
+                        throw Error(`Unrecognized transfer type '${transferable["___transfer-type"]}'`);
+                }
+            }
+            let result = {};
+            for (let [key, val] of Object.entries(transferable))
+                result[key] = value(val);
+            return result;
+        }
+        return transferable;
+    }
+    Transferable.value = value;
+})(Transferable || (Transferable = {}));
+
+function commonjsRequire(path) {
+	throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
+}
+
+var localforage$1 = {exports: {}};
+
+/*!
+    localForage -- Offline Storage, Improved
+    Version 1.10.0
+    https://localforage.github.io/localForage
+    (c) 2013-2017 Mozilla, Apache License 2.0
+*/
+localforage$1.exports;
+
+(function (module, exports) {
+	(function(f){{module.exports=f();}})(function(){return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof commonjsRequire=="function"&&commonjsRequire;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw (f.code="MODULE_NOT_FOUND", f)}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r);}return n[o].exports}var i=typeof commonjsRequire=="function"&&commonjsRequire;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){
+	(function (global){
+	var Mutation = global.MutationObserver || global.WebKitMutationObserver;
+
+	var scheduleDrain;
+
+	{
+	  if (Mutation) {
+	    var called = 0;
+	    var observer = new Mutation(nextTick);
+	    var element = global.document.createTextNode('');
+	    observer.observe(element, {
+	      characterData: true
+	    });
+	    scheduleDrain = function () {
+	      element.data = (called = ++called % 2);
+	    };
+	  } else if (!global.setImmediate && typeof global.MessageChannel !== 'undefined') {
+	    var channel = new global.MessageChannel();
+	    channel.port1.onmessage = nextTick;
+	    scheduleDrain = function () {
+	      channel.port2.postMessage(0);
+	    };
+	  } else if ('document' in global && 'onreadystatechange' in global.document.createElement('script')) {
+	    scheduleDrain = function () {
+
+	      // Create a <script> element; its readystatechange event will be fired asynchronously once it is inserted
+	      // into the document. Do so, thus queuing up the task. Remember to clean up once it's been called.
+	      var scriptEl = global.document.createElement('script');
+	      scriptEl.onreadystatechange = function () {
+	        nextTick();
+
+	        scriptEl.onreadystatechange = null;
+	        scriptEl.parentNode.removeChild(scriptEl);
+	        scriptEl = null;
+	      };
+	      global.document.documentElement.appendChild(scriptEl);
+	    };
+	  } else {
+	    scheduleDrain = function () {
+	      setTimeout(nextTick, 0);
+	    };
+	  }
+	}
+
+	var draining;
+	var queue = [];
+	//named nextTick for less confusing stack traces
+	function nextTick() {
+	  draining = true;
+	  var i, oldQueue;
+	  var len = queue.length;
+	  while (len) {
+	    oldQueue = queue;
+	    queue = [];
+	    i = -1;
+	    while (++i < len) {
+	      oldQueue[i]();
+	    }
+	    len = queue.length;
+	  }
+	  draining = false;
+	}
+
+	module.exports = immediate;
+	function immediate(task) {
+	  if (queue.push(task) === 1 && !draining) {
+	    scheduleDrain();
+	  }
+	}
+
+	}).call(this,typeof commonjsGlobal !== "undefined" ? commonjsGlobal : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {});
+	},{}],2:[function(_dereq_,module,exports){
+	var immediate = _dereq_(1);
+
+	/* istanbul ignore next */
+	function INTERNAL() {}
+
+	var handlers = {};
+
+	var REJECTED = ['REJECTED'];
+	var FULFILLED = ['FULFILLED'];
+	var PENDING = ['PENDING'];
+
+	module.exports = Promise;
+
+	function Promise(resolver) {
+	  if (typeof resolver !== 'function') {
+	    throw new TypeError('resolver must be a function');
+	  }
+	  this.state = PENDING;
+	  this.queue = [];
+	  this.outcome = void 0;
+	  if (resolver !== INTERNAL) {
+	    safelyResolveThenable(this, resolver);
+	  }
+	}
+
+	Promise.prototype["catch"] = function (onRejected) {
+	  return this.then(null, onRejected);
+	};
+	Promise.prototype.then = function (onFulfilled, onRejected) {
+	  if (typeof onFulfilled !== 'function' && this.state === FULFILLED ||
+	    typeof onRejected !== 'function' && this.state === REJECTED) {
+	    return this;
+	  }
+	  var promise = new this.constructor(INTERNAL);
+	  if (this.state !== PENDING) {
+	    var resolver = this.state === FULFILLED ? onFulfilled : onRejected;
+	    unwrap(promise, resolver, this.outcome);
+	  } else {
+	    this.queue.push(new QueueItem(promise, onFulfilled, onRejected));
+	  }
+
+	  return promise;
+	};
+	function QueueItem(promise, onFulfilled, onRejected) {
+	  this.promise = promise;
+	  if (typeof onFulfilled === 'function') {
+	    this.onFulfilled = onFulfilled;
+	    this.callFulfilled = this.otherCallFulfilled;
+	  }
+	  if (typeof onRejected === 'function') {
+	    this.onRejected = onRejected;
+	    this.callRejected = this.otherCallRejected;
+	  }
+	}
+	QueueItem.prototype.callFulfilled = function (value) {
+	  handlers.resolve(this.promise, value);
+	};
+	QueueItem.prototype.otherCallFulfilled = function (value) {
+	  unwrap(this.promise, this.onFulfilled, value);
+	};
+	QueueItem.prototype.callRejected = function (value) {
+	  handlers.reject(this.promise, value);
+	};
+	QueueItem.prototype.otherCallRejected = function (value) {
+	  unwrap(this.promise, this.onRejected, value);
+	};
+
+	function unwrap(promise, func, value) {
+	  immediate(function () {
+	    var returnValue;
+	    try {
+	      returnValue = func(value);
+	    } catch (e) {
+	      return handlers.reject(promise, e);
+	    }
+	    if (returnValue === promise) {
+	      handlers.reject(promise, new TypeError('Cannot resolve promise with itself'));
+	    } else {
+	      handlers.resolve(promise, returnValue);
+	    }
+	  });
+	}
+
+	handlers.resolve = function (self, value) {
+	  var result = tryCatch(getThen, value);
+	  if (result.status === 'error') {
+	    return handlers.reject(self, result.value);
+	  }
+	  var thenable = result.value;
+
+	  if (thenable) {
+	    safelyResolveThenable(self, thenable);
+	  } else {
+	    self.state = FULFILLED;
+	    self.outcome = value;
+	    var i = -1;
+	    var len = self.queue.length;
+	    while (++i < len) {
+	      self.queue[i].callFulfilled(value);
+	    }
+	  }
+	  return self;
+	};
+	handlers.reject = function (self, error) {
+	  self.state = REJECTED;
+	  self.outcome = error;
+	  var i = -1;
+	  var len = self.queue.length;
+	  while (++i < len) {
+	    self.queue[i].callRejected(error);
+	  }
+	  return self;
+	};
+
+	function getThen(obj) {
+	  // Make sure we only access the accessor once as required by the spec
+	  var then = obj && obj.then;
+	  if (obj && (typeof obj === 'object' || typeof obj === 'function') && typeof then === 'function') {
+	    return function appyThen() {
+	      then.apply(obj, arguments);
+	    };
+	  }
+	}
+
+	function safelyResolveThenable(self, thenable) {
+	  // Either fulfill, reject or reject with error
+	  var called = false;
+	  function onError(value) {
+	    if (called) {
+	      return;
+	    }
+	    called = true;
+	    handlers.reject(self, value);
+	  }
+
+	  function onSuccess(value) {
+	    if (called) {
+	      return;
+	    }
+	    called = true;
+	    handlers.resolve(self, value);
+	  }
+
+	  function tryToUnwrap() {
+	    thenable(onSuccess, onError);
+	  }
+
+	  var result = tryCatch(tryToUnwrap);
+	  if (result.status === 'error') {
+	    onError(result.value);
+	  }
+	}
+
+	function tryCatch(func, value) {
+	  var out = {};
+	  try {
+	    out.value = func(value);
+	    out.status = 'success';
+	  } catch (e) {
+	    out.status = 'error';
+	    out.value = e;
+	  }
+	  return out;
+	}
+
+	Promise.resolve = resolve;
+	function resolve(value) {
+	  if (value instanceof this) {
+	    return value;
+	  }
+	  return handlers.resolve(new this(INTERNAL), value);
+	}
+
+	Promise.reject = reject;
+	function reject(reason) {
+	  var promise = new this(INTERNAL);
+	  return handlers.reject(promise, reason);
+	}
+
+	Promise.all = all;
+	function all(iterable) {
+	  var self = this;
+	  if (Object.prototype.toString.call(iterable) !== '[object Array]') {
+	    return this.reject(new TypeError('must be an array'));
+	  }
+
+	  var len = iterable.length;
+	  var called = false;
+	  if (!len) {
+	    return this.resolve([]);
+	  }
+
+	  var values = new Array(len);
+	  var resolved = 0;
+	  var i = -1;
+	  var promise = new this(INTERNAL);
+
+	  while (++i < len) {
+	    allResolver(iterable[i], i);
+	  }
+	  return promise;
+	  function allResolver(value, i) {
+	    self.resolve(value).then(resolveFromAll, function (error) {
+	      if (!called) {
+	        called = true;
+	        handlers.reject(promise, error);
+	      }
+	    });
+	    function resolveFromAll(outValue) {
+	      values[i] = outValue;
+	      if (++resolved === len && !called) {
+	        called = true;
+	        handlers.resolve(promise, values);
+	      }
+	    }
+	  }
+	}
+
+	Promise.race = race;
+	function race(iterable) {
+	  var self = this;
+	  if (Object.prototype.toString.call(iterable) !== '[object Array]') {
+	    return this.reject(new TypeError('must be an array'));
+	  }
+
+	  var len = iterable.length;
+	  var called = false;
+	  if (!len) {
+	    return this.resolve([]);
+	  }
+
+	  var i = -1;
+	  var promise = new this(INTERNAL);
+
+	  while (++i < len) {
+	    resolver(iterable[i]);
+	  }
+	  return promise;
+	  function resolver(value) {
+	    self.resolve(value).then(function (response) {
+	      if (!called) {
+	        called = true;
+	        handlers.resolve(promise, response);
+	      }
+	    }, function (error) {
+	      if (!called) {
+	        called = true;
+	        handlers.reject(promise, error);
+	      }
+	    });
+	  }
+	}
+
+	},{"1":1}],3:[function(_dereq_,module,exports){
+	(function (global){
+	if (typeof global.Promise !== 'function') {
+	  global.Promise = _dereq_(2);
+	}
+
+	}).call(this,typeof commonjsGlobal !== "undefined" ? commonjsGlobal : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {});
+	},{"2":2}],4:[function(_dereq_,module,exports){
+
+	var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+	function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+	function getIDB() {
+	    /* global indexedDB,webkitIndexedDB,mozIndexedDB,OIndexedDB,msIndexedDB */
+	    try {
+	        if (typeof indexedDB !== 'undefined') {
+	            return indexedDB;
+	        }
+	        if (typeof webkitIndexedDB !== 'undefined') {
+	            return webkitIndexedDB;
+	        }
+	        if (typeof mozIndexedDB !== 'undefined') {
+	            return mozIndexedDB;
+	        }
+	        if (typeof OIndexedDB !== 'undefined') {
+	            return OIndexedDB;
+	        }
+	        if (typeof msIndexedDB !== 'undefined') {
+	            return msIndexedDB;
+	        }
+	    } catch (e) {
+	        return;
+	    }
+	}
+
+	var idb = getIDB();
+
+	function isIndexedDBValid() {
+	    try {
+	        // Initialize IndexedDB; fall back to vendor-prefixed versions
+	        // if needed.
+	        if (!idb || !idb.open) {
+	            return false;
+	        }
+	        // We mimic PouchDB here;
+	        //
+	        // We test for openDatabase because IE Mobile identifies itself
+	        // as Safari. Oh the lulz...
+	        var isSafari = typeof openDatabase !== 'undefined' && /(Safari|iPhone|iPad|iPod)/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) && !/BlackBerry/.test(navigator.platform);
+
+	        var hasFetch = typeof fetch === 'function' && fetch.toString().indexOf('[native code') !== -1;
+
+	        // Safari <10.1 does not meet our requirements for IDB support
+	        // (see: https://github.com/pouchdb/pouchdb/issues/5572).
+	        // Safari 10.1 shipped with fetch, we can use that to detect it.
+	        // Note: this creates issues with `window.fetch` polyfills and
+	        // overrides; see:
+	        // https://github.com/localForage/localForage/issues/856
+	        return (!isSafari || hasFetch) && typeof indexedDB !== 'undefined' &&
+	        // some outdated implementations of IDB that appear on Samsung
+	        // and HTC Android devices <4.4 are missing IDBKeyRange
+	        // See: https://github.com/mozilla/localForage/issues/128
+	        // See: https://github.com/mozilla/localForage/issues/272
+	        typeof IDBKeyRange !== 'undefined';
+	    } catch (e) {
+	        return false;
+	    }
+	}
+
+	// Abstracts constructing a Blob object, so it also works in older
+	// browsers that don't support the native Blob constructor. (i.e.
+	// old QtWebKit versions, at least).
+	// Abstracts constructing a Blob object, so it also works in older
+	// browsers that don't support the native Blob constructor. (i.e.
+	// old QtWebKit versions, at least).
+	function createBlob(parts, properties) {
+	    /* global BlobBuilder,MSBlobBuilder,MozBlobBuilder,WebKitBlobBuilder */
+	    parts = parts || [];
+	    properties = properties || {};
+	    try {
+	        return new Blob(parts, properties);
+	    } catch (e) {
+	        if (e.name !== 'TypeError') {
+	            throw e;
+	        }
+	        var Builder = typeof BlobBuilder !== 'undefined' ? BlobBuilder : typeof MSBlobBuilder !== 'undefined' ? MSBlobBuilder : typeof MozBlobBuilder !== 'undefined' ? MozBlobBuilder : WebKitBlobBuilder;
+	        var builder = new Builder();
+	        for (var i = 0; i < parts.length; i += 1) {
+	            builder.append(parts[i]);
+	        }
+	        return builder.getBlob(properties.type);
+	    }
+	}
+
+	// This is CommonJS because lie is an external dependency, so Rollup
+	// can just ignore it.
+	if (typeof Promise === 'undefined') {
+	    // In the "nopromises" build this will just throw if you don't have
+	    // a global promise object, but it would throw anyway later.
+	    _dereq_(3);
+	}
+	var Promise$1 = Promise;
+
+	function executeCallback(promise, callback) {
+	    if (callback) {
+	        promise.then(function (result) {
+	            callback(null, result);
+	        }, function (error) {
+	            callback(error);
+	        });
+	    }
+	}
+
+	function executeTwoCallbacks(promise, callback, errorCallback) {
+	    if (typeof callback === 'function') {
+	        promise.then(callback);
+	    }
+
+	    if (typeof errorCallback === 'function') {
+	        promise["catch"](errorCallback);
+	    }
+	}
+
+	function normalizeKey(key) {
+	    // Cast the key to a string, as that's all we can set as a key.
+	    if (typeof key !== 'string') {
+	        console.warn(key + ' used as a key, but it is not a string.');
+	        key = String(key);
+	    }
+
+	    return key;
+	}
+
+	function getCallback() {
+	    if (arguments.length && typeof arguments[arguments.length - 1] === 'function') {
+	        return arguments[arguments.length - 1];
+	    }
+	}
+
+	// Some code originally from async_storage.js in
+	// [Gaia](https://github.com/mozilla-b2g/gaia).
+
+	var DETECT_BLOB_SUPPORT_STORE = 'local-forage-detect-blob-support';
+	var supportsBlobs = void 0;
+	var dbContexts = {};
+	var toString = Object.prototype.toString;
+
+	// Transaction Modes
+	var READ_ONLY = 'readonly';
+	var READ_WRITE = 'readwrite';
+
+	// Transform a binary string to an array buffer, because otherwise
+	// weird stuff happens when you try to work with the binary string directly.
+	// It is known.
+	// From http://stackoverflow.com/questions/14967647/ (continues on next line)
+	// encode-decode-image-with-base64-breaks-image (2013-04-21)
+	function _binStringToArrayBuffer(bin) {
+	    var length = bin.length;
+	    var buf = new ArrayBuffer(length);
+	    var arr = new Uint8Array(buf);
+	    for (var i = 0; i < length; i++) {
+	        arr[i] = bin.charCodeAt(i);
+	    }
+	    return buf;
+	}
+
+	//
+	// Blobs are not supported in all versions of IndexedDB, notably
+	// Chrome <37 and Android <5. In those versions, storing a blob will throw.
+	//
+	// Various other blob bugs exist in Chrome v37-42 (inclusive).
+	// Detecting them is expensive and confusing to users, and Chrome 37-42
+	// is at very low usage worldwide, so we do a hacky userAgent check instead.
+	//
+	// content-type bug: https://code.google.com/p/chromium/issues/detail?id=408120
+	// 404 bug: https://code.google.com/p/chromium/issues/detail?id=447916
+	// FileReader bug: https://code.google.com/p/chromium/issues/detail?id=447836
+	//
+	// Code borrowed from PouchDB. See:
+	// https://github.com/pouchdb/pouchdb/blob/master/packages/node_modules/pouchdb-adapter-idb/src/blobSupport.js
+	//
+	function _checkBlobSupportWithoutCaching(idb) {
+	    return new Promise$1(function (resolve) {
+	        var txn = idb.transaction(DETECT_BLOB_SUPPORT_STORE, READ_WRITE);
+	        var blob = createBlob(['']);
+	        txn.objectStore(DETECT_BLOB_SUPPORT_STORE).put(blob, 'key');
+
+	        txn.onabort = function (e) {
+	            // If the transaction aborts now its due to not being able to
+	            // write to the database, likely due to the disk being full
+	            e.preventDefault();
+	            e.stopPropagation();
+	            resolve(false);
+	        };
+
+	        txn.oncomplete = function () {
+	            var matchedChrome = navigator.userAgent.match(/Chrome\/(\d+)/);
+	            var matchedEdge = navigator.userAgent.match(/Edge\//);
+	            // MS Edge pretends to be Chrome 42:
+	            // https://msdn.microsoft.com/en-us/library/hh869301%28v=vs.85%29.aspx
+	            resolve(matchedEdge || !matchedChrome || parseInt(matchedChrome[1], 10) >= 43);
+	        };
+	    })["catch"](function () {
+	        return false; // error, so assume unsupported
+	    });
+	}
+
+	function _checkBlobSupport(idb) {
+	    if (typeof supportsBlobs === 'boolean') {
+	        return Promise$1.resolve(supportsBlobs);
+	    }
+	    return _checkBlobSupportWithoutCaching(idb).then(function (value) {
+	        supportsBlobs = value;
+	        return supportsBlobs;
+	    });
+	}
+
+	function _deferReadiness(dbInfo) {
+	    var dbContext = dbContexts[dbInfo.name];
+
+	    // Create a deferred object representing the current database operation.
+	    var deferredOperation = {};
+
+	    deferredOperation.promise = new Promise$1(function (resolve, reject) {
+	        deferredOperation.resolve = resolve;
+	        deferredOperation.reject = reject;
+	    });
+
+	    // Enqueue the deferred operation.
+	    dbContext.deferredOperations.push(deferredOperation);
+
+	    // Chain its promise to the database readiness.
+	    if (!dbContext.dbReady) {
+	        dbContext.dbReady = deferredOperation.promise;
+	    } else {
+	        dbContext.dbReady = dbContext.dbReady.then(function () {
+	            return deferredOperation.promise;
+	        });
+	    }
+	}
+
+	function _advanceReadiness(dbInfo) {
+	    var dbContext = dbContexts[dbInfo.name];
+
+	    // Dequeue a deferred operation.
+	    var deferredOperation = dbContext.deferredOperations.pop();
+
+	    // Resolve its promise (which is part of the database readiness
+	    // chain of promises).
+	    if (deferredOperation) {
+	        deferredOperation.resolve();
+	        return deferredOperation.promise;
+	    }
+	}
+
+	function _rejectReadiness(dbInfo, err) {
+	    var dbContext = dbContexts[dbInfo.name];
+
+	    // Dequeue a deferred operation.
+	    var deferredOperation = dbContext.deferredOperations.pop();
+
+	    // Reject its promise (which is part of the database readiness
+	    // chain of promises).
+	    if (deferredOperation) {
+	        deferredOperation.reject(err);
+	        return deferredOperation.promise;
+	    }
+	}
+
+	function _getConnection(dbInfo, upgradeNeeded) {
+	    return new Promise$1(function (resolve, reject) {
+	        dbContexts[dbInfo.name] = dbContexts[dbInfo.name] || createDbContext();
+
+	        if (dbInfo.db) {
+	            if (upgradeNeeded) {
+	                _deferReadiness(dbInfo);
+	                dbInfo.db.close();
+	            } else {
+	                return resolve(dbInfo.db);
+	            }
+	        }
+
+	        var dbArgs = [dbInfo.name];
+
+	        if (upgradeNeeded) {
+	            dbArgs.push(dbInfo.version);
+	        }
+
+	        var openreq = idb.open.apply(idb, dbArgs);
+
+	        if (upgradeNeeded) {
+	            openreq.onupgradeneeded = function (e) {
+	                var db = openreq.result;
+	                try {
+	                    db.createObjectStore(dbInfo.storeName);
+	                    if (e.oldVersion <= 1) {
+	                        // Added when support for blob shims was added
+	                        db.createObjectStore(DETECT_BLOB_SUPPORT_STORE);
+	                    }
+	                } catch (ex) {
+	                    if (ex.name === 'ConstraintError') {
+	                        console.warn('The database "' + dbInfo.name + '"' + ' has been upgraded from version ' + e.oldVersion + ' to version ' + e.newVersion + ', but the storage "' + dbInfo.storeName + '" already exists.');
+	                    } else {
+	                        throw ex;
+	                    }
+	                }
+	            };
+	        }
+
+	        openreq.onerror = function (e) {
+	            e.preventDefault();
+	            reject(openreq.error);
+	        };
+
+	        openreq.onsuccess = function () {
+	            var db = openreq.result;
+	            db.onversionchange = function (e) {
+	                // Triggered when the database is modified (e.g. adding an objectStore) or
+	                // deleted (even when initiated by other sessions in different tabs).
+	                // Closing the connection here prevents those operations from being blocked.
+	                // If the database is accessed again later by this instance, the connection
+	                // will be reopened or the database recreated as needed.
+	                e.target.close();
+	            };
+	            resolve(db);
+	            _advanceReadiness(dbInfo);
+	        };
+	    });
+	}
+
+	function _getOriginalConnection(dbInfo) {
+	    return _getConnection(dbInfo, false);
+	}
+
+	function _getUpgradedConnection(dbInfo) {
+	    return _getConnection(dbInfo, true);
+	}
+
+	function _isUpgradeNeeded(dbInfo, defaultVersion) {
+	    if (!dbInfo.db) {
+	        return true;
+	    }
+
+	    var isNewStore = !dbInfo.db.objectStoreNames.contains(dbInfo.storeName);
+	    var isDowngrade = dbInfo.version < dbInfo.db.version;
+	    var isUpgrade = dbInfo.version > dbInfo.db.version;
+
+	    if (isDowngrade) {
+	        // If the version is not the default one
+	        // then warn for impossible downgrade.
+	        if (dbInfo.version !== defaultVersion) {
+	            console.warn('The database "' + dbInfo.name + '"' + " can't be downgraded from version " + dbInfo.db.version + ' to version ' + dbInfo.version + '.');
+	        }
+	        // Align the versions to prevent errors.
+	        dbInfo.version = dbInfo.db.version;
+	    }
+
+	    if (isUpgrade || isNewStore) {
+	        // If the store is new then increment the version (if needed).
+	        // This will trigger an "upgradeneeded" event which is required
+	        // for creating a store.
+	        if (isNewStore) {
+	            var incVersion = dbInfo.db.version + 1;
+	            if (incVersion > dbInfo.version) {
+	                dbInfo.version = incVersion;
+	            }
+	        }
+
+	        return true;
+	    }
+
+	    return false;
+	}
+
+	// encode a blob for indexeddb engines that don't support blobs
+	function _encodeBlob(blob) {
+	    return new Promise$1(function (resolve, reject) {
+	        var reader = new FileReader();
+	        reader.onerror = reject;
+	        reader.onloadend = function (e) {
+	            var base64 = btoa(e.target.result || '');
+	            resolve({
+	                __local_forage_encoded_blob: true,
+	                data: base64,
+	                type: blob.type
+	            });
+	        };
+	        reader.readAsBinaryString(blob);
+	    });
+	}
+
+	// decode an encoded blob
+	function _decodeBlob(encodedBlob) {
+	    var arrayBuff = _binStringToArrayBuffer(atob(encodedBlob.data));
+	    return createBlob([arrayBuff], { type: encodedBlob.type });
+	}
+
+	// is this one of our fancy encoded blobs?
+	function _isEncodedBlob(value) {
+	    return value && value.__local_forage_encoded_blob;
+	}
+
+	// Specialize the default `ready()` function by making it dependent
+	// on the current database operations. Thus, the driver will be actually
+	// ready when it's been initialized (default) *and* there are no pending
+	// operations on the database (initiated by some other instances).
+	function _fullyReady(callback) {
+	    var self = this;
+
+	    var promise = self._initReady().then(function () {
+	        var dbContext = dbContexts[self._dbInfo.name];
+
+	        if (dbContext && dbContext.dbReady) {
+	            return dbContext.dbReady;
+	        }
+	    });
+
+	    executeTwoCallbacks(promise, callback, callback);
+	    return promise;
+	}
+
+	// Try to establish a new db connection to replace the
+	// current one which is broken (i.e. experiencing
+	// InvalidStateError while creating a transaction).
+	function _tryReconnect(dbInfo) {
+	    _deferReadiness(dbInfo);
+
+	    var dbContext = dbContexts[dbInfo.name];
+	    var forages = dbContext.forages;
+
+	    for (var i = 0; i < forages.length; i++) {
+	        var forage = forages[i];
+	        if (forage._dbInfo.db) {
+	            forage._dbInfo.db.close();
+	            forage._dbInfo.db = null;
+	        }
+	    }
+	    dbInfo.db = null;
+
+	    return _getOriginalConnection(dbInfo).then(function (db) {
+	        dbInfo.db = db;
+	        if (_isUpgradeNeeded(dbInfo)) {
+	            // Reopen the database for upgrading.
+	            return _getUpgradedConnection(dbInfo);
+	        }
+	        return db;
+	    }).then(function (db) {
+	        // store the latest db reference
+	        // in case the db was upgraded
+	        dbInfo.db = dbContext.db = db;
+	        for (var i = 0; i < forages.length; i++) {
+	            forages[i]._dbInfo.db = db;
+	        }
+	    })["catch"](function (err) {
+	        _rejectReadiness(dbInfo, err);
+	        throw err;
+	    });
+	}
+
+	// FF doesn't like Promises (micro-tasks) and IDDB store operations,
+	// so we have to do it with callbacks
+	function createTransaction(dbInfo, mode, callback, retries) {
+	    if (retries === undefined) {
+	        retries = 1;
+	    }
+
+	    try {
+	        var tx = dbInfo.db.transaction(dbInfo.storeName, mode);
+	        callback(null, tx);
+	    } catch (err) {
+	        if (retries > 0 && (!dbInfo.db || err.name === 'InvalidStateError' || err.name === 'NotFoundError')) {
+	            return Promise$1.resolve().then(function () {
+	                if (!dbInfo.db || err.name === 'NotFoundError' && !dbInfo.db.objectStoreNames.contains(dbInfo.storeName) && dbInfo.version <= dbInfo.db.version) {
+	                    // increase the db version, to create the new ObjectStore
+	                    if (dbInfo.db) {
+	                        dbInfo.version = dbInfo.db.version + 1;
+	                    }
+	                    // Reopen the database for upgrading.
+	                    return _getUpgradedConnection(dbInfo);
+	                }
+	            }).then(function () {
+	                return _tryReconnect(dbInfo).then(function () {
+	                    createTransaction(dbInfo, mode, callback, retries - 1);
+	                });
+	            })["catch"](callback);
+	        }
+
+	        callback(err);
+	    }
+	}
+
+	function createDbContext() {
+	    return {
+	        // Running localForages sharing a database.
+	        forages: [],
+	        // Shared database.
+	        db: null,
+	        // Database readiness (promise).
+	        dbReady: null,
+	        // Deferred operations on the database.
+	        deferredOperations: []
+	    };
+	}
+
+	// Open the IndexedDB database (automatically creates one if one didn't
+	// previously exist), using any options set in the config.
+	function _initStorage(options) {
+	    var self = this;
+	    var dbInfo = {
+	        db: null
+	    };
+
+	    if (options) {
+	        for (var i in options) {
+	            dbInfo[i] = options[i];
+	        }
+	    }
+
+	    // Get the current context of the database;
+	    var dbContext = dbContexts[dbInfo.name];
+
+	    // ...or create a new context.
+	    if (!dbContext) {
+	        dbContext = createDbContext();
+	        // Register the new context in the global container.
+	        dbContexts[dbInfo.name] = dbContext;
+	    }
+
+	    // Register itself as a running localForage in the current context.
+	    dbContext.forages.push(self);
+
+	    // Replace the default `ready()` function with the specialized one.
+	    if (!self._initReady) {
+	        self._initReady = self.ready;
+	        self.ready = _fullyReady;
+	    }
+
+	    // Create an array of initialization states of the related localForages.
+	    var initPromises = [];
+
+	    function ignoreErrors() {
+	        // Don't handle errors here,
+	        // just makes sure related localForages aren't pending.
+	        return Promise$1.resolve();
+	    }
+
+	    for (var j = 0; j < dbContext.forages.length; j++) {
+	        var forage = dbContext.forages[j];
+	        if (forage !== self) {
+	            // Don't wait for itself...
+	            initPromises.push(forage._initReady()["catch"](ignoreErrors));
+	        }
+	    }
+
+	    // Take a snapshot of the related localForages.
+	    var forages = dbContext.forages.slice(0);
+
+	    // Initialize the connection process only when
+	    // all the related localForages aren't pending.
+	    return Promise$1.all(initPromises).then(function () {
+	        dbInfo.db = dbContext.db;
+	        // Get the connection or open a new one without upgrade.
+	        return _getOriginalConnection(dbInfo);
+	    }).then(function (db) {
+	        dbInfo.db = db;
+	        if (_isUpgradeNeeded(dbInfo, self._defaultConfig.version)) {
+	            // Reopen the database for upgrading.
+	            return _getUpgradedConnection(dbInfo);
+	        }
+	        return db;
+	    }).then(function (db) {
+	        dbInfo.db = dbContext.db = db;
+	        self._dbInfo = dbInfo;
+	        // Share the final connection amongst related localForages.
+	        for (var k = 0; k < forages.length; k++) {
+	            var forage = forages[k];
+	            if (forage !== self) {
+	                // Self is already up-to-date.
+	                forage._dbInfo.db = dbInfo.db;
+	                forage._dbInfo.version = dbInfo.version;
+	            }
+	        }
+	    });
+	}
+
+	function getItem(key, callback) {
+	    var self = this;
+
+	    key = normalizeKey(key);
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {
+	                if (err) {
+	                    return reject(err);
+	                }
+
+	                try {
+	                    var store = transaction.objectStore(self._dbInfo.storeName);
+	                    var req = store.get(key);
+
+	                    req.onsuccess = function () {
+	                        var value = req.result;
+	                        if (value === undefined) {
+	                            value = null;
+	                        }
+	                        if (_isEncodedBlob(value)) {
+	                            value = _decodeBlob(value);
+	                        }
+	                        resolve(value);
+	                    };
+
+	                    req.onerror = function () {
+	                        reject(req.error);
+	                    };
+	                } catch (e) {
+	                    reject(e);
+	                }
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	// Iterate over all items stored in database.
+	function iterate(iterator, callback) {
+	    var self = this;
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {
+	                if (err) {
+	                    return reject(err);
+	                }
+
+	                try {
+	                    var store = transaction.objectStore(self._dbInfo.storeName);
+	                    var req = store.openCursor();
+	                    var iterationNumber = 1;
+
+	                    req.onsuccess = function () {
+	                        var cursor = req.result;
+
+	                        if (cursor) {
+	                            var value = cursor.value;
+	                            if (_isEncodedBlob(value)) {
+	                                value = _decodeBlob(value);
+	                            }
+	                            var result = iterator(value, cursor.key, iterationNumber++);
+
+	                            // when the iterator callback returns any
+	                            // (non-`undefined`) value, then we stop
+	                            // the iteration immediately
+	                            if (result !== void 0) {
+	                                resolve(result);
+	                            } else {
+	                                cursor["continue"]();
+	                            }
+	                        } else {
+	                            resolve();
+	                        }
+	                    };
+
+	                    req.onerror = function () {
+	                        reject(req.error);
+	                    };
+	                } catch (e) {
+	                    reject(e);
+	                }
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+
+	    return promise;
+	}
+
+	function setItem(key, value, callback) {
+	    var self = this;
+
+	    key = normalizeKey(key);
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        var dbInfo;
+	        self.ready().then(function () {
+	            dbInfo = self._dbInfo;
+	            if (toString.call(value) === '[object Blob]') {
+	                return _checkBlobSupport(dbInfo.db).then(function (blobSupport) {
+	                    if (blobSupport) {
+	                        return value;
+	                    }
+	                    return _encodeBlob(value);
+	                });
+	            }
+	            return value;
+	        }).then(function (value) {
+	            createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {
+	                if (err) {
+	                    return reject(err);
+	                }
+
+	                try {
+	                    var store = transaction.objectStore(self._dbInfo.storeName);
+
+	                    // The reason we don't _save_ null is because IE 10 does
+	                    // not support saving the `null` type in IndexedDB. How
+	                    // ironic, given the bug below!
+	                    // See: https://github.com/mozilla/localForage/issues/161
+	                    if (value === null) {
+	                        value = undefined;
+	                    }
+
+	                    var req = store.put(value, key);
+
+	                    transaction.oncomplete = function () {
+	                        // Cast to undefined so the value passed to
+	                        // callback/promise is the same as what one would get out
+	                        // of `getItem()` later. This leads to some weirdness
+	                        // (setItem('foo', undefined) will return `null`), but
+	                        // it's not my fault localStorage is our baseline and that
+	                        // it's weird.
+	                        if (value === undefined) {
+	                            value = null;
+	                        }
+
+	                        resolve(value);
+	                    };
+	                    transaction.onabort = transaction.onerror = function () {
+	                        var err = req.error ? req.error : req.transaction.error;
+	                        reject(err);
+	                    };
+	                } catch (e) {
+	                    reject(e);
+	                }
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	function removeItem(key, callback) {
+	    var self = this;
+
+	    key = normalizeKey(key);
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {
+	                if (err) {
+	                    return reject(err);
+	                }
+
+	                try {
+	                    var store = transaction.objectStore(self._dbInfo.storeName);
+	                    // We use a Grunt task to make this safe for IE and some
+	                    // versions of Android (including those used by Cordova).
+	                    // Normally IE won't like `.delete()` and will insist on
+	                    // using `['delete']()`, but we have a build step that
+	                    // fixes this for us now.
+	                    var req = store["delete"](key);
+	                    transaction.oncomplete = function () {
+	                        resolve();
+	                    };
+
+	                    transaction.onerror = function () {
+	                        reject(req.error);
+	                    };
+
+	                    // The request will be also be aborted if we've exceeded our storage
+	                    // space.
+	                    transaction.onabort = function () {
+	                        var err = req.error ? req.error : req.transaction.error;
+	                        reject(err);
+	                    };
+	                } catch (e) {
+	                    reject(e);
+	                }
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	function clear(callback) {
+	    var self = this;
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            createTransaction(self._dbInfo, READ_WRITE, function (err, transaction) {
+	                if (err) {
+	                    return reject(err);
+	                }
+
+	                try {
+	                    var store = transaction.objectStore(self._dbInfo.storeName);
+	                    var req = store.clear();
+
+	                    transaction.oncomplete = function () {
+	                        resolve();
+	                    };
+
+	                    transaction.onabort = transaction.onerror = function () {
+	                        var err = req.error ? req.error : req.transaction.error;
+	                        reject(err);
+	                    };
+	                } catch (e) {
+	                    reject(e);
+	                }
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	function length(callback) {
+	    var self = this;
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {
+	                if (err) {
+	                    return reject(err);
+	                }
+
+	                try {
+	                    var store = transaction.objectStore(self._dbInfo.storeName);
+	                    var req = store.count();
+
+	                    req.onsuccess = function () {
+	                        resolve(req.result);
+	                    };
+
+	                    req.onerror = function () {
+	                        reject(req.error);
+	                    };
+	                } catch (e) {
+	                    reject(e);
+	                }
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	function key(n, callback) {
+	    var self = this;
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        if (n < 0) {
+	            resolve(null);
+
+	            return;
+	        }
+
+	        self.ready().then(function () {
+	            createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {
+	                if (err) {
+	                    return reject(err);
+	                }
+
+	                try {
+	                    var store = transaction.objectStore(self._dbInfo.storeName);
+	                    var advanced = false;
+	                    var req = store.openKeyCursor();
+
+	                    req.onsuccess = function () {
+	                        var cursor = req.result;
+	                        if (!cursor) {
+	                            // this means there weren't enough keys
+	                            resolve(null);
+
+	                            return;
+	                        }
+
+	                        if (n === 0) {
+	                            // We have the first key, return it if that's what they
+	                            // wanted.
+	                            resolve(cursor.key);
+	                        } else {
+	                            if (!advanced) {
+	                                // Otherwise, ask the cursor to skip ahead n
+	                                // records.
+	                                advanced = true;
+	                                cursor.advance(n);
+	                            } else {
+	                                // When we get here, we've got the nth key.
+	                                resolve(cursor.key);
+	                            }
+	                        }
+	                    };
+
+	                    req.onerror = function () {
+	                        reject(req.error);
+	                    };
+	                } catch (e) {
+	                    reject(e);
+	                }
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	function keys(callback) {
+	    var self = this;
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            createTransaction(self._dbInfo, READ_ONLY, function (err, transaction) {
+	                if (err) {
+	                    return reject(err);
+	                }
+
+	                try {
+	                    var store = transaction.objectStore(self._dbInfo.storeName);
+	                    var req = store.openKeyCursor();
+	                    var keys = [];
+
+	                    req.onsuccess = function () {
+	                        var cursor = req.result;
+
+	                        if (!cursor) {
+	                            resolve(keys);
+	                            return;
+	                        }
+
+	                        keys.push(cursor.key);
+	                        cursor["continue"]();
+	                    };
+
+	                    req.onerror = function () {
+	                        reject(req.error);
+	                    };
+	                } catch (e) {
+	                    reject(e);
+	                }
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	function dropInstance(options, callback) {
+	    callback = getCallback.apply(this, arguments);
+
+	    var currentConfig = this.config();
+	    options = typeof options !== 'function' && options || {};
+	    if (!options.name) {
+	        options.name = options.name || currentConfig.name;
+	        options.storeName = options.storeName || currentConfig.storeName;
+	    }
+
+	    var self = this;
+	    var promise;
+	    if (!options.name) {
+	        promise = Promise$1.reject('Invalid arguments');
+	    } else {
+	        var isCurrentDb = options.name === currentConfig.name && self._dbInfo.db;
+
+	        var dbPromise = isCurrentDb ? Promise$1.resolve(self._dbInfo.db) : _getOriginalConnection(options).then(function (db) {
+	            var dbContext = dbContexts[options.name];
+	            var forages = dbContext.forages;
+	            dbContext.db = db;
+	            for (var i = 0; i < forages.length; i++) {
+	                forages[i]._dbInfo.db = db;
+	            }
+	            return db;
+	        });
+
+	        if (!options.storeName) {
+	            promise = dbPromise.then(function (db) {
+	                _deferReadiness(options);
+
+	                var dbContext = dbContexts[options.name];
+	                var forages = dbContext.forages;
+
+	                db.close();
+	                for (var i = 0; i < forages.length; i++) {
+	                    var forage = forages[i];
+	                    forage._dbInfo.db = null;
+	                }
+
+	                var dropDBPromise = new Promise$1(function (resolve, reject) {
+	                    var req = idb.deleteDatabase(options.name);
+
+	                    req.onerror = function () {
+	                        var db = req.result;
+	                        if (db) {
+	                            db.close();
+	                        }
+	                        reject(req.error);
+	                    };
+
+	                    req.onblocked = function () {
+	                        // Closing all open connections in onversionchange handler should prevent this situation, but if
+	                        // we do get here, it just means the request remains pending - eventually it will succeed or error
+	                        console.warn('dropInstance blocked for database "' + options.name + '" until all open connections are closed');
+	                    };
+
+	                    req.onsuccess = function () {
+	                        var db = req.result;
+	                        if (db) {
+	                            db.close();
+	                        }
+	                        resolve(db);
+	                    };
+	                });
+
+	                return dropDBPromise.then(function (db) {
+	                    dbContext.db = db;
+	                    for (var i = 0; i < forages.length; i++) {
+	                        var _forage = forages[i];
+	                        _advanceReadiness(_forage._dbInfo);
+	                    }
+	                })["catch"](function (err) {
+	                    (_rejectReadiness(options, err) || Promise$1.resolve())["catch"](function () {});
+	                    throw err;
+	                });
+	            });
+	        } else {
+	            promise = dbPromise.then(function (db) {
+	                if (!db.objectStoreNames.contains(options.storeName)) {
+	                    return;
+	                }
+
+	                var newVersion = db.version + 1;
+
+	                _deferReadiness(options);
+
+	                var dbContext = dbContexts[options.name];
+	                var forages = dbContext.forages;
+
+	                db.close();
+	                for (var i = 0; i < forages.length; i++) {
+	                    var forage = forages[i];
+	                    forage._dbInfo.db = null;
+	                    forage._dbInfo.version = newVersion;
+	                }
+
+	                var dropObjectPromise = new Promise$1(function (resolve, reject) {
+	                    var req = idb.open(options.name, newVersion);
+
+	                    req.onerror = function (err) {
+	                        var db = req.result;
+	                        db.close();
+	                        reject(err);
+	                    };
+
+	                    req.onupgradeneeded = function () {
+	                        var db = req.result;
+	                        db.deleteObjectStore(options.storeName);
+	                    };
+
+	                    req.onsuccess = function () {
+	                        var db = req.result;
+	                        db.close();
+	                        resolve(db);
+	                    };
+	                });
+
+	                return dropObjectPromise.then(function (db) {
+	                    dbContext.db = db;
+	                    for (var j = 0; j < forages.length; j++) {
+	                        var _forage2 = forages[j];
+	                        _forage2._dbInfo.db = db;
+	                        _advanceReadiness(_forage2._dbInfo);
+	                    }
+	                })["catch"](function (err) {
+	                    (_rejectReadiness(options, err) || Promise$1.resolve())["catch"](function () {});
+	                    throw err;
+	                });
+	            });
+	        }
+	    }
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	var asyncStorage = {
+	    _driver: 'asyncStorage',
+	    _initStorage: _initStorage,
+	    _support: isIndexedDBValid(),
+	    iterate: iterate,
+	    getItem: getItem,
+	    setItem: setItem,
+	    removeItem: removeItem,
+	    clear: clear,
+	    length: length,
+	    key: key,
+	    keys: keys,
+	    dropInstance: dropInstance
+	};
+
+	function isWebSQLValid() {
+	    return typeof openDatabase === 'function';
+	}
+
+	// Sadly, the best way to save binary data in WebSQL/localStorage is serializing
+	// it to Base64, so this is how we store it to prevent very strange errors with less
+	// verbose ways of binary <-> string data storage.
+	var BASE_CHARS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
+
+	var BLOB_TYPE_PREFIX = '~~local_forage_type~';
+	var BLOB_TYPE_PREFIX_REGEX = /^~~local_forage_type~([^~]+)~/;
+
+	var SERIALIZED_MARKER = '__lfsc__:';
+	var SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER.length;
+
+	// OMG the serializations!
+	var TYPE_ARRAYBUFFER = 'arbf';
+	var TYPE_BLOB = 'blob';
+	var TYPE_INT8ARRAY = 'si08';
+	var TYPE_UINT8ARRAY = 'ui08';
+	var TYPE_UINT8CLAMPEDARRAY = 'uic8';
+	var TYPE_INT16ARRAY = 'si16';
+	var TYPE_INT32ARRAY = 'si32';
+	var TYPE_UINT16ARRAY = 'ur16';
+	var TYPE_UINT32ARRAY = 'ui32';
+	var TYPE_FLOAT32ARRAY = 'fl32';
+	var TYPE_FLOAT64ARRAY = 'fl64';
+	var TYPE_SERIALIZED_MARKER_LENGTH = SERIALIZED_MARKER_LENGTH + TYPE_ARRAYBUFFER.length;
+
+	var toString$1 = Object.prototype.toString;
+
+	function stringToBuffer(serializedString) {
+	    // Fill the string into a ArrayBuffer.
+	    var bufferLength = serializedString.length * 0.75;
+	    var len = serializedString.length;
+	    var i;
+	    var p = 0;
+	    var encoded1, encoded2, encoded3, encoded4;
+
+	    if (serializedString[serializedString.length - 1] === '=') {
+	        bufferLength--;
+	        if (serializedString[serializedString.length - 2] === '=') {
+	            bufferLength--;
+	        }
+	    }
+
+	    var buffer = new ArrayBuffer(bufferLength);
+	    var bytes = new Uint8Array(buffer);
+
+	    for (i = 0; i < len; i += 4) {
+	        encoded1 = BASE_CHARS.indexOf(serializedString[i]);
+	        encoded2 = BASE_CHARS.indexOf(serializedString[i + 1]);
+	        encoded3 = BASE_CHARS.indexOf(serializedString[i + 2]);
+	        encoded4 = BASE_CHARS.indexOf(serializedString[i + 3]);
+
+	        /*jslint bitwise: true */
+	        bytes[p++] = encoded1 << 2 | encoded2 >> 4;
+	        bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;
+	        bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;
+	    }
+	    return buffer;
+	}
+
+	// Converts a buffer to a string to store, serialized, in the backend
+	// storage library.
+	function bufferToString(buffer) {
+	    // base64-arraybuffer
+	    var bytes = new Uint8Array(buffer);
+	    var base64String = '';
+	    var i;
+
+	    for (i = 0; i < bytes.length; i += 3) {
+	        /*jslint bitwise: true */
+	        base64String += BASE_CHARS[bytes[i] >> 2];
+	        base64String += BASE_CHARS[(bytes[i] & 3) << 4 | bytes[i + 1] >> 4];
+	        base64String += BASE_CHARS[(bytes[i + 1] & 15) << 2 | bytes[i + 2] >> 6];
+	        base64String += BASE_CHARS[bytes[i + 2] & 63];
+	    }
+
+	    if (bytes.length % 3 === 2) {
+	        base64String = base64String.substring(0, base64String.length - 1) + '=';
+	    } else if (bytes.length % 3 === 1) {
+	        base64String = base64String.substring(0, base64String.length - 2) + '==';
+	    }
+
+	    return base64String;
+	}
+
+	// Serialize a value, afterwards executing a callback (which usually
+	// instructs the `setItem()` callback/promise to be executed). This is how
+	// we store binary data with localStorage.
+	function serialize(value, callback) {
+	    var valueType = '';
+	    if (value) {
+	        valueType = toString$1.call(value);
+	    }
+
+	    // Cannot use `value instanceof ArrayBuffer` or such here, as these
+	    // checks fail when running the tests using casper.js...
+	    //
+	    // TODO: See why those tests fail and use a better solution.
+	    if (value && (valueType === '[object ArrayBuffer]' || value.buffer && toString$1.call(value.buffer) === '[object ArrayBuffer]')) {
+	        // Convert binary arrays to a string and prefix the string with
+	        // a special marker.
+	        var buffer;
+	        var marker = SERIALIZED_MARKER;
+
+	        if (value instanceof ArrayBuffer) {
+	            buffer = value;
+	            marker += TYPE_ARRAYBUFFER;
+	        } else {
+	            buffer = value.buffer;
+
+	            if (valueType === '[object Int8Array]') {
+	                marker += TYPE_INT8ARRAY;
+	            } else if (valueType === '[object Uint8Array]') {
+	                marker += TYPE_UINT8ARRAY;
+	            } else if (valueType === '[object Uint8ClampedArray]') {
+	                marker += TYPE_UINT8CLAMPEDARRAY;
+	            } else if (valueType === '[object Int16Array]') {
+	                marker += TYPE_INT16ARRAY;
+	            } else if (valueType === '[object Uint16Array]') {
+	                marker += TYPE_UINT16ARRAY;
+	            } else if (valueType === '[object Int32Array]') {
+	                marker += TYPE_INT32ARRAY;
+	            } else if (valueType === '[object Uint32Array]') {
+	                marker += TYPE_UINT32ARRAY;
+	            } else if (valueType === '[object Float32Array]') {
+	                marker += TYPE_FLOAT32ARRAY;
+	            } else if (valueType === '[object Float64Array]') {
+	                marker += TYPE_FLOAT64ARRAY;
+	            } else {
+	                callback(new Error('Failed to get type for BinaryArray'));
+	            }
+	        }
+
+	        callback(marker + bufferToString(buffer));
+	    } else if (valueType === '[object Blob]') {
+	        // Conver the blob to a binaryArray and then to a string.
+	        var fileReader = new FileReader();
+
+	        fileReader.onload = function () {
+	            // Backwards-compatible prefix for the blob type.
+	            var str = BLOB_TYPE_PREFIX + value.type + '~' + bufferToString(this.result);
+
+	            callback(SERIALIZED_MARKER + TYPE_BLOB + str);
+	        };
+
+	        fileReader.readAsArrayBuffer(value);
+	    } else {
+	        try {
+	            callback(JSON.stringify(value));
+	        } catch (e) {
+	            console.error("Couldn't convert value into a JSON string: ", value);
+
+	            callback(null, e);
+	        }
+	    }
+	}
+
+	// Deserialize data we've inserted into a value column/field. We place
+	// special markers into our strings to mark them as encoded; this isn't
+	// as nice as a meta field, but it's the only sane thing we can do whilst
+	// keeping localStorage support intact.
+	//
+	// Oftentimes this will just deserialize JSON content, but if we have a
+	// special marker (SERIALIZED_MARKER, defined above), we will extract
+	// some kind of arraybuffer/binary data/typed array out of the string.
+	function deserialize(value) {
+	    // If we haven't marked this string as being specially serialized (i.e.
+	    // something other than serialized JSON), we can just return it and be
+	    // done with it.
+	    if (value.substring(0, SERIALIZED_MARKER_LENGTH) !== SERIALIZED_MARKER) {
+	        return JSON.parse(value);
+	    }
+
+	    // The following code deals with deserializing some kind of Blob or
+	    // TypedArray. First we separate out the type of data we're dealing
+	    // with from the data itself.
+	    var serializedString = value.substring(TYPE_SERIALIZED_MARKER_LENGTH);
+	    var type = value.substring(SERIALIZED_MARKER_LENGTH, TYPE_SERIALIZED_MARKER_LENGTH);
+
+	    var blobType;
+	    // Backwards-compatible blob type serialization strategy.
+	    // DBs created with older versions of localForage will simply not have the blob type.
+	    if (type === TYPE_BLOB && BLOB_TYPE_PREFIX_REGEX.test(serializedString)) {
+	        var matcher = serializedString.match(BLOB_TYPE_PREFIX_REGEX);
+	        blobType = matcher[1];
+	        serializedString = serializedString.substring(matcher[0].length);
+	    }
+	    var buffer = stringToBuffer(serializedString);
+
+	    // Return the right type based on the code/type set during
+	    // serialization.
+	    switch (type) {
+	        case TYPE_ARRAYBUFFER:
+	            return buffer;
+	        case TYPE_BLOB:
+	            return createBlob([buffer], { type: blobType });
+	        case TYPE_INT8ARRAY:
+	            return new Int8Array(buffer);
+	        case TYPE_UINT8ARRAY:
+	            return new Uint8Array(buffer);
+	        case TYPE_UINT8CLAMPEDARRAY:
+	            return new Uint8ClampedArray(buffer);
+	        case TYPE_INT16ARRAY:
+	            return new Int16Array(buffer);
+	        case TYPE_UINT16ARRAY:
+	            return new Uint16Array(buffer);
+	        case TYPE_INT32ARRAY:
+	            return new Int32Array(buffer);
+	        case TYPE_UINT32ARRAY:
+	            return new Uint32Array(buffer);
+	        case TYPE_FLOAT32ARRAY:
+	            return new Float32Array(buffer);
+	        case TYPE_FLOAT64ARRAY:
+	            return new Float64Array(buffer);
+	        default:
+	            throw new Error('Unkown type: ' + type);
+	    }
+	}
+
+	var localforageSerializer = {
+	    serialize: serialize,
+	    deserialize: deserialize,
+	    stringToBuffer: stringToBuffer,
+	    bufferToString: bufferToString
+	};
+
+	/*
+	 * Includes code from:
+	 *
+	 * base64-arraybuffer
+	 * https://github.com/niklasvh/base64-arraybuffer
+	 *
+	 * Copyright (c) 2012 Niklas von Hertzen
+	 * Licensed under the MIT license.
+	 */
+
+	function createDbTable(t, dbInfo, callback, errorCallback) {
+	    t.executeSql('CREATE TABLE IF NOT EXISTS ' + dbInfo.storeName + ' ' + '(id INTEGER PRIMARY KEY, key unique, value)', [], callback, errorCallback);
+	}
+
+	// Open the WebSQL database (automatically creates one if one didn't
+	// previously exist), using any options set in the config.
+	function _initStorage$1(options) {
+	    var self = this;
+	    var dbInfo = {
+	        db: null
+	    };
+
+	    if (options) {
+	        for (var i in options) {
+	            dbInfo[i] = typeof options[i] !== 'string' ? options[i].toString() : options[i];
+	        }
+	    }
+
+	    var dbInfoPromise = new Promise$1(function (resolve, reject) {
+	        // Open the database; the openDatabase API will automatically
+	        // create it for us if it doesn't exist.
+	        try {
+	            dbInfo.db = openDatabase(dbInfo.name, String(dbInfo.version), dbInfo.description, dbInfo.size);
+	        } catch (e) {
+	            return reject(e);
+	        }
+
+	        // Create our key/value table if it doesn't exist.
+	        dbInfo.db.transaction(function (t) {
+	            createDbTable(t, dbInfo, function () {
+	                self._dbInfo = dbInfo;
+	                resolve();
+	            }, function (t, error) {
+	                reject(error);
+	            });
+	        }, reject);
+	    });
+
+	    dbInfo.serializer = localforageSerializer;
+	    return dbInfoPromise;
+	}
+
+	function tryExecuteSql(t, dbInfo, sqlStatement, args, callback, errorCallback) {
+	    t.executeSql(sqlStatement, args, callback, function (t, error) {
+	        if (error.code === error.SYNTAX_ERR) {
+	            t.executeSql('SELECT name FROM sqlite_master ' + "WHERE type='table' AND name = ?", [dbInfo.storeName], function (t, results) {
+	                if (!results.rows.length) {
+	                    // if the table is missing (was deleted)
+	                    // re-create it table and retry
+	                    createDbTable(t, dbInfo, function () {
+	                        t.executeSql(sqlStatement, args, callback, errorCallback);
+	                    }, errorCallback);
+	                } else {
+	                    errorCallback(t, error);
+	                }
+	            }, errorCallback);
+	        } else {
+	            errorCallback(t, error);
+	        }
+	    }, errorCallback);
+	}
+
+	function getItem$1(key, callback) {
+	    var self = this;
+
+	    key = normalizeKey(key);
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            var dbInfo = self._dbInfo;
+	            dbInfo.db.transaction(function (t) {
+	                tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName + ' WHERE key = ? LIMIT 1', [key], function (t, results) {
+	                    var result = results.rows.length ? results.rows.item(0).value : null;
+
+	                    // Check to see if this is serialized content we need to
+	                    // unpack.
+	                    if (result) {
+	                        result = dbInfo.serializer.deserialize(result);
+	                    }
+
+	                    resolve(result);
+	                }, function (t, error) {
+	                    reject(error);
+	                });
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	function iterate$1(iterator, callback) {
+	    var self = this;
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            var dbInfo = self._dbInfo;
+
+	            dbInfo.db.transaction(function (t) {
+	                tryExecuteSql(t, dbInfo, 'SELECT * FROM ' + dbInfo.storeName, [], function (t, results) {
+	                    var rows = results.rows;
+	                    var length = rows.length;
+
+	                    for (var i = 0; i < length; i++) {
+	                        var item = rows.item(i);
+	                        var result = item.value;
+
+	                        // Check to see if this is serialized content
+	                        // we need to unpack.
+	                        if (result) {
+	                            result = dbInfo.serializer.deserialize(result);
+	                        }
+
+	                        result = iterator(result, item.key, i + 1);
+
+	                        // void(0) prevents problems with redefinition
+	                        // of `undefined`.
+	                        if (result !== void 0) {
+	                            resolve(result);
+	                            return;
+	                        }
+	                    }
+
+	                    resolve();
+	                }, function (t, error) {
+	                    reject(error);
+	                });
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	function _setItem(key, value, callback, retriesLeft) {
+	    var self = this;
+
+	    key = normalizeKey(key);
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            // The localStorage API doesn't return undefined values in an
+	            // "expected" way, so undefined is always cast to null in all
+	            // drivers. See: https://github.com/mozilla/localForage/pull/42
+	            if (value === undefined) {
+	                value = null;
+	            }
+
+	            // Save the original value to pass to the callback.
+	            var originalValue = value;
+
+	            var dbInfo = self._dbInfo;
+	            dbInfo.serializer.serialize(value, function (value, error) {
+	                if (error) {
+	                    reject(error);
+	                } else {
+	                    dbInfo.db.transaction(function (t) {
+	                        tryExecuteSql(t, dbInfo, 'INSERT OR REPLACE INTO ' + dbInfo.storeName + ' ' + '(key, value) VALUES (?, ?)', [key, value], function () {
+	                            resolve(originalValue);
+	                        }, function (t, error) {
+	                            reject(error);
+	                        });
+	                    }, function (sqlError) {
+	                        // The transaction failed; check
+	                        // to see if it's a quota error.
+	                        if (sqlError.code === sqlError.QUOTA_ERR) {
+	                            // We reject the callback outright for now, but
+	                            // it's worth trying to re-run the transaction.
+	                            // Even if the user accepts the prompt to use
+	                            // more storage on Safari, this error will
+	                            // be called.
+	                            //
+	                            // Try to re-run the transaction.
+	                            if (retriesLeft > 0) {
+	                                resolve(_setItem.apply(self, [key, originalValue, callback, retriesLeft - 1]));
+	                                return;
+	                            }
+	                            reject(sqlError);
+	                        }
+	                    });
+	                }
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	function setItem$1(key, value, callback) {
+	    return _setItem.apply(this, [key, value, callback, 1]);
+	}
+
+	function removeItem$1(key, callback) {
+	    var self = this;
+
+	    key = normalizeKey(key);
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            var dbInfo = self._dbInfo;
+	            dbInfo.db.transaction(function (t) {
+	                tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName + ' WHERE key = ?', [key], function () {
+	                    resolve();
+	                }, function (t, error) {
+	                    reject(error);
+	                });
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	// Deletes every item in the table.
+	// TODO: Find out if this resets the AUTO_INCREMENT number.
+	function clear$1(callback) {
+	    var self = this;
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            var dbInfo = self._dbInfo;
+	            dbInfo.db.transaction(function (t) {
+	                tryExecuteSql(t, dbInfo, 'DELETE FROM ' + dbInfo.storeName, [], function () {
+	                    resolve();
+	                }, function (t, error) {
+	                    reject(error);
+	                });
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	// Does a simple `COUNT(key)` to get the number of items stored in
+	// localForage.
+	function length$1(callback) {
+	    var self = this;
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            var dbInfo = self._dbInfo;
+	            dbInfo.db.transaction(function (t) {
+	                // Ahhh, SQL makes this one soooooo easy.
+	                tryExecuteSql(t, dbInfo, 'SELECT COUNT(key) as c FROM ' + dbInfo.storeName, [], function (t, results) {
+	                    var result = results.rows.item(0).c;
+	                    resolve(result);
+	                }, function (t, error) {
+	                    reject(error);
+	                });
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	// Return the key located at key index X; essentially gets the key from a
+	// `WHERE id = ?`. This is the most efficient way I can think to implement
+	// this rarely-used (in my experience) part of the API, but it can seem
+	// inconsistent, because we do `INSERT OR REPLACE INTO` on `setItem()`, so
+	// the ID of each key will change every time it's updated. Perhaps a stored
+	// procedure for the `setItem()` SQL would solve this problem?
+	// TODO: Don't change ID on `setItem()`.
+	function key$1(n, callback) {
+	    var self = this;
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            var dbInfo = self._dbInfo;
+	            dbInfo.db.transaction(function (t) {
+	                tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName + ' WHERE id = ? LIMIT 1', [n + 1], function (t, results) {
+	                    var result = results.rows.length ? results.rows.item(0).key : null;
+	                    resolve(result);
+	                }, function (t, error) {
+	                    reject(error);
+	                });
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	function keys$1(callback) {
+	    var self = this;
+
+	    var promise = new Promise$1(function (resolve, reject) {
+	        self.ready().then(function () {
+	            var dbInfo = self._dbInfo;
+	            dbInfo.db.transaction(function (t) {
+	                tryExecuteSql(t, dbInfo, 'SELECT key FROM ' + dbInfo.storeName, [], function (t, results) {
+	                    var keys = [];
+
+	                    for (var i = 0; i < results.rows.length; i++) {
+	                        keys.push(results.rows.item(i).key);
+	                    }
+
+	                    resolve(keys);
+	                }, function (t, error) {
+	                    reject(error);
+	                });
+	            });
+	        })["catch"](reject);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	// https://www.w3.org/TR/webdatabase/#databases
+	// > There is no way to enumerate or delete the databases available for an origin from this API.
+	function getAllStoreNames(db) {
+	    return new Promise$1(function (resolve, reject) {
+	        db.transaction(function (t) {
+	            t.executeSql('SELECT name FROM sqlite_master ' + "WHERE type='table' AND name <> '__WebKitDatabaseInfoTable__'", [], function (t, results) {
+	                var storeNames = [];
+
+	                for (var i = 0; i < results.rows.length; i++) {
+	                    storeNames.push(results.rows.item(i).name);
+	                }
+
+	                resolve({
+	                    db: db,
+	                    storeNames: storeNames
+	                });
+	            }, function (t, error) {
+	                reject(error);
+	            });
+	        }, function (sqlError) {
+	            reject(sqlError);
+	        });
+	    });
+	}
+
+	function dropInstance$1(options, callback) {
+	    callback = getCallback.apply(this, arguments);
+
+	    var currentConfig = this.config();
+	    options = typeof options !== 'function' && options || {};
+	    if (!options.name) {
+	        options.name = options.name || currentConfig.name;
+	        options.storeName = options.storeName || currentConfig.storeName;
+	    }
+
+	    var self = this;
+	    var promise;
+	    if (!options.name) {
+	        promise = Promise$1.reject('Invalid arguments');
+	    } else {
+	        promise = new Promise$1(function (resolve) {
+	            var db;
+	            if (options.name === currentConfig.name) {
+	                // use the db reference of the current instance
+	                db = self._dbInfo.db;
+	            } else {
+	                db = openDatabase(options.name, '', '', 0);
+	            }
+
+	            if (!options.storeName) {
+	                // drop all database tables
+	                resolve(getAllStoreNames(db));
+	            } else {
+	                resolve({
+	                    db: db,
+	                    storeNames: [options.storeName]
+	                });
+	            }
+	        }).then(function (operationInfo) {
+	            return new Promise$1(function (resolve, reject) {
+	                operationInfo.db.transaction(function (t) {
+	                    function dropTable(storeName) {
+	                        return new Promise$1(function (resolve, reject) {
+	                            t.executeSql('DROP TABLE IF EXISTS ' + storeName, [], function () {
+	                                resolve();
+	                            }, function (t, error) {
+	                                reject(error);
+	                            });
+	                        });
+	                    }
+
+	                    var operations = [];
+	                    for (var i = 0, len = operationInfo.storeNames.length; i < len; i++) {
+	                        operations.push(dropTable(operationInfo.storeNames[i]));
+	                    }
+
+	                    Promise$1.all(operations).then(function () {
+	                        resolve();
+	                    })["catch"](function (e) {
+	                        reject(e);
+	                    });
+	                }, function (sqlError) {
+	                    reject(sqlError);
+	                });
+	            });
+	        });
+	    }
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	var webSQLStorage = {
+	    _driver: 'webSQLStorage',
+	    _initStorage: _initStorage$1,
+	    _support: isWebSQLValid(),
+	    iterate: iterate$1,
+	    getItem: getItem$1,
+	    setItem: setItem$1,
+	    removeItem: removeItem$1,
+	    clear: clear$1,
+	    length: length$1,
+	    key: key$1,
+	    keys: keys$1,
+	    dropInstance: dropInstance$1
+	};
+
+	function isLocalStorageValid() {
+	    try {
+	        return typeof localStorage !== 'undefined' && 'setItem' in localStorage &&
+	        // in IE8 typeof localStorage.setItem === 'object'
+	        !!localStorage.setItem;
+	    } catch (e) {
+	        return false;
+	    }
+	}
+
+	function _getKeyPrefix(options, defaultConfig) {
+	    var keyPrefix = options.name + '/';
+
+	    if (options.storeName !== defaultConfig.storeName) {
+	        keyPrefix += options.storeName + '/';
+	    }
+	    return keyPrefix;
+	}
+
+	// Check if localStorage throws when saving an item
+	function checkIfLocalStorageThrows() {
+	    var localStorageTestKey = '_localforage_support_test';
+
+	    try {
+	        localStorage.setItem(localStorageTestKey, true);
+	        localStorage.removeItem(localStorageTestKey);
+
+	        return false;
+	    } catch (e) {
+	        return true;
+	    }
+	}
+
+	// Check if localStorage is usable and allows to save an item
+	// This method checks if localStorage is usable in Safari Private Browsing
+	// mode, or in any other case where the available quota for localStorage
+	// is 0 and there wasn't any saved items yet.
+	function _isLocalStorageUsable() {
+	    return !checkIfLocalStorageThrows() || localStorage.length > 0;
+	}
+
+	// Config the localStorage backend, using options set in the config.
+	function _initStorage$2(options) {
+	    var self = this;
+	    var dbInfo = {};
+	    if (options) {
+	        for (var i in options) {
+	            dbInfo[i] = options[i];
+	        }
+	    }
+
+	    dbInfo.keyPrefix = _getKeyPrefix(options, self._defaultConfig);
+
+	    if (!_isLocalStorageUsable()) {
+	        return Promise$1.reject();
+	    }
+
+	    self._dbInfo = dbInfo;
+	    dbInfo.serializer = localforageSerializer;
+
+	    return Promise$1.resolve();
+	}
+
+	// Remove all keys from the datastore, effectively destroying all data in
+	// the app's key/value store!
+	function clear$2(callback) {
+	    var self = this;
+	    var promise = self.ready().then(function () {
+	        var keyPrefix = self._dbInfo.keyPrefix;
+
+	        for (var i = localStorage.length - 1; i >= 0; i--) {
+	            var key = localStorage.key(i);
+
+	            if (key.indexOf(keyPrefix) === 0) {
+	                localStorage.removeItem(key);
+	            }
+	        }
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	// Retrieve an item from the store. Unlike the original async_storage
+	// library in Gaia, we don't modify return values at all. If a key's value
+	// is `undefined`, we pass that value to the callback function.
+	function getItem$2(key, callback) {
+	    var self = this;
+
+	    key = normalizeKey(key);
+
+	    var promise = self.ready().then(function () {
+	        var dbInfo = self._dbInfo;
+	        var result = localStorage.getItem(dbInfo.keyPrefix + key);
+
+	        // If a result was found, parse it from the serialized
+	        // string into a JS object. If result isn't truthy, the key
+	        // is likely undefined and we'll pass it straight to the
+	        // callback.
+	        if (result) {
+	            result = dbInfo.serializer.deserialize(result);
+	        }
+
+	        return result;
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	// Iterate over all items in the store.
+	function iterate$2(iterator, callback) {
+	    var self = this;
+
+	    var promise = self.ready().then(function () {
+	        var dbInfo = self._dbInfo;
+	        var keyPrefix = dbInfo.keyPrefix;
+	        var keyPrefixLength = keyPrefix.length;
+	        var length = localStorage.length;
+
+	        // We use a dedicated iterator instead of the `i` variable below
+	        // so other keys we fetch in localStorage aren't counted in
+	        // the `iterationNumber` argument passed to the `iterate()`
+	        // callback.
+	        //
+	        // See: github.com/mozilla/localForage/pull/435#discussion_r38061530
+	        var iterationNumber = 1;
+
+	        for (var i = 0; i < length; i++) {
+	            var key = localStorage.key(i);
+	            if (key.indexOf(keyPrefix) !== 0) {
+	                continue;
+	            }
+	            var value = localStorage.getItem(key);
+
+	            // If a result was found, parse it from the serialized
+	            // string into a JS object. If result isn't truthy, the
+	            // key is likely undefined and we'll pass it straight
+	            // to the iterator.
+	            if (value) {
+	                value = dbInfo.serializer.deserialize(value);
+	            }
+
+	            value = iterator(value, key.substring(keyPrefixLength), iterationNumber++);
+
+	            if (value !== void 0) {
+	                return value;
+	            }
+	        }
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	// Same as localStorage's key() method, except takes a callback.
+	function key$2(n, callback) {
+	    var self = this;
+	    var promise = self.ready().then(function () {
+	        var dbInfo = self._dbInfo;
+	        var result;
+	        try {
+	            result = localStorage.key(n);
+	        } catch (error) {
+	            result = null;
+	        }
+
+	        // Remove the prefix from the key, if a key is found.
+	        if (result) {
+	            result = result.substring(dbInfo.keyPrefix.length);
+	        }
+
+	        return result;
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	function keys$2(callback) {
+	    var self = this;
+	    var promise = self.ready().then(function () {
+	        var dbInfo = self._dbInfo;
+	        var length = localStorage.length;
+	        var keys = [];
+
+	        for (var i = 0; i < length; i++) {
+	            var itemKey = localStorage.key(i);
+	            if (itemKey.indexOf(dbInfo.keyPrefix) === 0) {
+	                keys.push(itemKey.substring(dbInfo.keyPrefix.length));
+	            }
+	        }
+
+	        return keys;
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	// Supply the number of keys in the datastore to the callback function.
+	function length$2(callback) {
+	    var self = this;
+	    var promise = self.keys().then(function (keys) {
+	        return keys.length;
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	// Remove an item from the store, nice and simple.
+	function removeItem$2(key, callback) {
+	    var self = this;
+
+	    key = normalizeKey(key);
+
+	    var promise = self.ready().then(function () {
+	        var dbInfo = self._dbInfo;
+	        localStorage.removeItem(dbInfo.keyPrefix + key);
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	// Set a key's value and run an optional callback once the value is set.
+	// Unlike Gaia's implementation, the callback function is passed the value,
+	// in case you want to operate on that value only after you're sure it
+	// saved, or something like that.
+	function setItem$2(key, value, callback) {
+	    var self = this;
+
+	    key = normalizeKey(key);
+
+	    var promise = self.ready().then(function () {
+	        // Convert undefined values to null.
+	        // https://github.com/mozilla/localForage/pull/42
+	        if (value === undefined) {
+	            value = null;
+	        }
+
+	        // Save the original value to pass to the callback.
+	        var originalValue = value;
+
+	        return new Promise$1(function (resolve, reject) {
+	            var dbInfo = self._dbInfo;
+	            dbInfo.serializer.serialize(value, function (value, error) {
+	                if (error) {
+	                    reject(error);
+	                } else {
+	                    try {
+	                        localStorage.setItem(dbInfo.keyPrefix + key, value);
+	                        resolve(originalValue);
+	                    } catch (e) {
+	                        // localStorage capacity exceeded.
+	                        // TODO: Make this a specific error/event.
+	                        if (e.name === 'QuotaExceededError' || e.name === 'NS_ERROR_DOM_QUOTA_REACHED') {
+	                            reject(e);
+	                        }
+	                        reject(e);
+	                    }
+	                }
+	            });
+	        });
+	    });
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	function dropInstance$2(options, callback) {
+	    callback = getCallback.apply(this, arguments);
+
+	    options = typeof options !== 'function' && options || {};
+	    if (!options.name) {
+	        var currentConfig = this.config();
+	        options.name = options.name || currentConfig.name;
+	        options.storeName = options.storeName || currentConfig.storeName;
+	    }
+
+	    var self = this;
+	    var promise;
+	    if (!options.name) {
+	        promise = Promise$1.reject('Invalid arguments');
+	    } else {
+	        promise = new Promise$1(function (resolve) {
+	            if (!options.storeName) {
+	                resolve(options.name + '/');
+	            } else {
+	                resolve(_getKeyPrefix(options, self._defaultConfig));
+	            }
+	        }).then(function (keyPrefix) {
+	            for (var i = localStorage.length - 1; i >= 0; i--) {
+	                var key = localStorage.key(i);
+
+	                if (key.indexOf(keyPrefix) === 0) {
+	                    localStorage.removeItem(key);
+	                }
+	            }
+	        });
+	    }
+
+	    executeCallback(promise, callback);
+	    return promise;
+	}
+
+	var localStorageWrapper = {
+	    _driver: 'localStorageWrapper',
+	    _initStorage: _initStorage$2,
+	    _support: isLocalStorageValid(),
+	    iterate: iterate$2,
+	    getItem: getItem$2,
+	    setItem: setItem$2,
+	    removeItem: removeItem$2,
+	    clear: clear$2,
+	    length: length$2,
+	    key: key$2,
+	    keys: keys$2,
+	    dropInstance: dropInstance$2
+	};
+
+	var sameValue = function sameValue(x, y) {
+	    return x === y || typeof x === 'number' && typeof y === 'number' && isNaN(x) && isNaN(y);
+	};
+
+	var includes = function includes(array, searchElement) {
+	    var len = array.length;
+	    var i = 0;
+	    while (i < len) {
+	        if (sameValue(array[i], searchElement)) {
+	            return true;
+	        }
+	        i++;
+	    }
+
+	    return false;
+	};
+
+	var isArray = Array.isArray || function (arg) {
+	    return Object.prototype.toString.call(arg) === '[object Array]';
+	};
+
+	// Drivers are stored here when `defineDriver()` is called.
+	// They are shared across all instances of localForage.
+	var DefinedDrivers = {};
+
+	var DriverSupport = {};
+
+	var DefaultDrivers = {
+	    INDEXEDDB: asyncStorage,
+	    WEBSQL: webSQLStorage,
+	    LOCALSTORAGE: localStorageWrapper
+	};
+
+	var DefaultDriverOrder = [DefaultDrivers.INDEXEDDB._driver, DefaultDrivers.WEBSQL._driver, DefaultDrivers.LOCALSTORAGE._driver];
+
+	var OptionalDriverMethods = ['dropInstance'];
+
+	var LibraryMethods = ['clear', 'getItem', 'iterate', 'key', 'keys', 'length', 'removeItem', 'setItem'].concat(OptionalDriverMethods);
+
+	var DefaultConfig = {
+	    description: '',
+	    driver: DefaultDriverOrder.slice(),
+	    name: 'localforage',
+	    // Default DB size is _JUST UNDER_ 5MB, as it's the highest size
+	    // we can use without a prompt.
+	    size: 4980736,
+	    storeName: 'keyvaluepairs',
+	    version: 1.0
+	};
+
+	function callWhenReady(localForageInstance, libraryMethod) {
+	    localForageInstance[libraryMethod] = function () {
+	        var _args = arguments;
+	        return localForageInstance.ready().then(function () {
+	            return localForageInstance[libraryMethod].apply(localForageInstance, _args);
+	        });
+	    };
+	}
+
+	function extend() {
+	    for (var i = 1; i < arguments.length; i++) {
+	        var arg = arguments[i];
+
+	        if (arg) {
+	            for (var _key in arg) {
+	                if (arg.hasOwnProperty(_key)) {
+	                    if (isArray(arg[_key])) {
+	                        arguments[0][_key] = arg[_key].slice();
+	                    } else {
+	                        arguments[0][_key] = arg[_key];
+	                    }
+	                }
+	            }
+	        }
+	    }
+
+	    return arguments[0];
+	}
+
+	var LocalForage = function () {
+	    function LocalForage(options) {
+	        _classCallCheck(this, LocalForage);
+
+	        for (var driverTypeKey in DefaultDrivers) {
+	            if (DefaultDrivers.hasOwnProperty(driverTypeKey)) {
+	                var driver = DefaultDrivers[driverTypeKey];
+	                var driverName = driver._driver;
+	                this[driverTypeKey] = driverName;
+
+	                if (!DefinedDrivers[driverName]) {
+	                    // we don't need to wait for the promise,
+	                    // since the default drivers can be defined
+	                    // in a blocking manner
+	                    this.defineDriver(driver);
+	                }
+	            }
+	        }
+
+	        this._defaultConfig = extend({}, DefaultConfig);
+	        this._config = extend({}, this._defaultConfig, options);
+	        this._driverSet = null;
+	        this._initDriver = null;
+	        this._ready = false;
+	        this._dbInfo = null;
+
+	        this._wrapLibraryMethodsWithReady();
+	        this.setDriver(this._config.driver)["catch"](function () {});
+	    }
+
+	    // Set any config values for localForage; can be called anytime before
+	    // the first API call (e.g. `getItem`, `setItem`).
+	    // We loop through options so we don't overwrite existing config
+	    // values.
+
+
+	    LocalForage.prototype.config = function config(options) {
+	        // If the options argument is an object, we use it to set values.
+	        // Otherwise, we return either a specified config value or all
+	        // config values.
+	        if ((typeof options === 'undefined' ? 'undefined' : _typeof(options)) === 'object') {
+	            // If localforage is ready and fully initialized, we can't set
+	            // any new configuration values. Instead, we return an error.
+	            if (this._ready) {
+	                return new Error("Can't call config() after localforage " + 'has been used.');
+	            }
+
+	            for (var i in options) {
+	                if (i === 'storeName') {
+	                    options[i] = options[i].replace(/\W/g, '_');
+	                }
+
+	                if (i === 'version' && typeof options[i] !== 'number') {
+	                    return new Error('Database version must be a number.');
+	                }
+
+	                this._config[i] = options[i];
+	            }
+
+	            // after all config options are set and
+	            // the driver option is used, try setting it
+	            if ('driver' in options && options.driver) {
+	                return this.setDriver(this._config.driver);
+	            }
+
+	            return true;
+	        } else if (typeof options === 'string') {
+	            return this._config[options];
+	        } else {
+	            return this._config;
+	        }
+	    };
+
+	    // Used to define a custom driver, shared across all instances of
+	    // localForage.
+
+
+	    LocalForage.prototype.defineDriver = function defineDriver(driverObject, callback, errorCallback) {
+	        var promise = new Promise$1(function (resolve, reject) {
+	            try {
+	                var driverName = driverObject._driver;
+	                var complianceError = new Error('Custom driver not compliant; see ' + 'https://mozilla.github.io/localForage/#definedriver');
+
+	                // A driver name should be defined and not overlap with the
+	                // library-defined, default drivers.
+	                if (!driverObject._driver) {
+	                    reject(complianceError);
+	                    return;
+	                }
+
+	                var driverMethods = LibraryMethods.concat('_initStorage');
+	                for (var i = 0, len = driverMethods.length; i < len; i++) {
+	                    var driverMethodName = driverMethods[i];
+
+	                    // when the property is there,
+	                    // it should be a method even when optional
+	                    var isRequired = !includes(OptionalDriverMethods, driverMethodName);
+	                    if ((isRequired || driverObject[driverMethodName]) && typeof driverObject[driverMethodName] !== 'function') {
+	                        reject(complianceError);
+	                        return;
+	                    }
+	                }
+
+	                var configureMissingMethods = function configureMissingMethods() {
+	                    var methodNotImplementedFactory = function methodNotImplementedFactory(methodName) {
+	                        return function () {
+	                            var error = new Error('Method ' + methodName + ' is not implemented by the current driver');
+	                            var promise = Promise$1.reject(error);
+	                            executeCallback(promise, arguments[arguments.length - 1]);
+	                            return promise;
+	                        };
+	                    };
+
+	                    for (var _i = 0, _len = OptionalDriverMethods.length; _i < _len; _i++) {
+	                        var optionalDriverMethod = OptionalDriverMethods[_i];
+	                        if (!driverObject[optionalDriverMethod]) {
+	                            driverObject[optionalDriverMethod] = methodNotImplementedFactory(optionalDriverMethod);
+	                        }
+	                    }
+	                };
+
+	                configureMissingMethods();
+
+	                var setDriverSupport = function setDriverSupport(support) {
+	                    if (DefinedDrivers[driverName]) {
+	                        console.info('Redefining LocalForage driver: ' + driverName);
+	                    }
+	                    DefinedDrivers[driverName] = driverObject;
+	                    DriverSupport[driverName] = support;
+	                    // don't use a then, so that we can define
+	                    // drivers that have simple _support methods
+	                    // in a blocking manner
+	                    resolve();
+	                };
+
+	                if ('_support' in driverObject) {
+	                    if (driverObject._support && typeof driverObject._support === 'function') {
+	                        driverObject._support().then(setDriverSupport, reject);
+	                    } else {
+	                        setDriverSupport(!!driverObject._support);
+	                    }
+	                } else {
+	                    setDriverSupport(true);
+	                }
+	            } catch (e) {
+	                reject(e);
+	            }
+	        });
+
+	        executeTwoCallbacks(promise, callback, errorCallback);
+	        return promise;
+	    };
+
+	    LocalForage.prototype.driver = function driver() {
+	        return this._driver || null;
+	    };
+
+	    LocalForage.prototype.getDriver = function getDriver(driverName, callback, errorCallback) {
+	        var getDriverPromise = DefinedDrivers[driverName] ? Promise$1.resolve(DefinedDrivers[driverName]) : Promise$1.reject(new Error('Driver not found.'));
+
+	        executeTwoCallbacks(getDriverPromise, callback, errorCallback);
+	        return getDriverPromise;
+	    };
+
+	    LocalForage.prototype.getSerializer = function getSerializer(callback) {
+	        var serializerPromise = Promise$1.resolve(localforageSerializer);
+	        executeTwoCallbacks(serializerPromise, callback);
+	        return serializerPromise;
+	    };
+
+	    LocalForage.prototype.ready = function ready(callback) {
+	        var self = this;
+
+	        var promise = self._driverSet.then(function () {
+	            if (self._ready === null) {
+	                self._ready = self._initDriver();
+	            }
+
+	            return self._ready;
+	        });
+
+	        executeTwoCallbacks(promise, callback, callback);
+	        return promise;
+	    };
+
+	    LocalForage.prototype.setDriver = function setDriver(drivers, callback, errorCallback) {
+	        var self = this;
+
+	        if (!isArray(drivers)) {
+	            drivers = [drivers];
+	        }
+
+	        var supportedDrivers = this._getSupportedDrivers(drivers);
+
+	        function setDriverToConfig() {
+	            self._config.driver = self.driver();
+	        }
+
+	        function extendSelfWithDriver(driver) {
+	            self._extend(driver);
+	            setDriverToConfig();
+
+	            self._ready = self._initStorage(self._config);
+	            return self._ready;
+	        }
+
+	        function initDriver(supportedDrivers) {
+	            return function () {
+	                var currentDriverIndex = 0;
+
+	                function driverPromiseLoop() {
+	                    while (currentDriverIndex < supportedDrivers.length) {
+	                        var driverName = supportedDrivers[currentDriverIndex];
+	                        currentDriverIndex++;
+
+	                        self._dbInfo = null;
+	                        self._ready = null;
+
+	                        return self.getDriver(driverName).then(extendSelfWithDriver)["catch"](driverPromiseLoop);
+	                    }
+
+	                    setDriverToConfig();
+	                    var error = new Error('No available storage method found.');
+	                    self._driverSet = Promise$1.reject(error);
+	                    return self._driverSet;
+	                }
+
+	                return driverPromiseLoop();
+	            };
+	        }
+
+	        // There might be a driver initialization in progress
+	        // so wait for it to finish in order to avoid a possible
+	        // race condition to set _dbInfo
+	        var oldDriverSetDone = this._driverSet !== null ? this._driverSet["catch"](function () {
+	            return Promise$1.resolve();
+	        }) : Promise$1.resolve();
+
+	        this._driverSet = oldDriverSetDone.then(function () {
+	            var driverName = supportedDrivers[0];
+	            self._dbInfo = null;
+	            self._ready = null;
+
+	            return self.getDriver(driverName).then(function (driver) {
+	                self._driver = driver._driver;
+	                setDriverToConfig();
+	                self._wrapLibraryMethodsWithReady();
+	                self._initDriver = initDriver(supportedDrivers);
+	            });
+	        })["catch"](function () {
+	            setDriverToConfig();
+	            var error = new Error('No available storage method found.');
+	            self._driverSet = Promise$1.reject(error);
+	            return self._driverSet;
+	        });
+
+	        executeTwoCallbacks(this._driverSet, callback, errorCallback);
+	        return this._driverSet;
+	    };
+
+	    LocalForage.prototype.supports = function supports(driverName) {
+	        return !!DriverSupport[driverName];
+	    };
+
+	    LocalForage.prototype._extend = function _extend(libraryMethodsAndProperties) {
+	        extend(this, libraryMethodsAndProperties);
+	    };
+
+	    LocalForage.prototype._getSupportedDrivers = function _getSupportedDrivers(drivers) {
+	        var supportedDrivers = [];
+	        for (var i = 0, len = drivers.length; i < len; i++) {
+	            var driverName = drivers[i];
+	            if (this.supports(driverName)) {
+	                supportedDrivers.push(driverName);
+	            }
+	        }
+	        return supportedDrivers;
+	    };
+
+	    LocalForage.prototype._wrapLibraryMethodsWithReady = function _wrapLibraryMethodsWithReady() {
+	        // Add a stub for each driver API method that delays the call to the
+	        // corresponding driver method until localForage is ready. These stubs
+	        // will be replaced by the driver methods as soon as the driver is
+	        // loaded, so there is no performance impact.
+	        for (var i = 0, len = LibraryMethods.length; i < len; i++) {
+	            callWhenReady(this, LibraryMethods[i]);
+	        }
+	    };
+
+	    LocalForage.prototype.createInstance = function createInstance(options) {
+	        return new LocalForage(options);
+	    };
+
+	    return LocalForage;
+	}();
+
+	// The actual localForage object that we expose as a module or via a
+	// global. It's extended by pulling in one of our other libraries.
+
+
+	var localforage_js = new LocalForage();
+
+	module.exports = localforage_js;
+
+	},{"3":3}]},{},[4])(4)
+	}); 
+} (localforage$1, localforage$1.exports));
+
+var localforageExports = localforage$1.exports;
+var localforage = /*@__PURE__*/getDefaultExportFromCjs(localforageExports);
+
+/** Simpler wrapper for a file-backed cache for arbitrary metadata. */
+class LocalStorageCache {
+    appId;
+    version;
+    persister;
+    constructor(appId, version) {
+        this.appId = appId;
+        this.version = version;
+        this.persister = localforage.createInstance({
+            name: "dataview/cache/" + appId,
+            driver: [localforage.INDEXEDDB],
+            description: "Cache metadata about files and sections in the dataview index.",
+        });
+    }
+    /** Drop the entire cache instance and re-create a new fresh instance. */
+    async recreate() {
+        await localforage.dropInstance({ name: "dataview/cache/" + this.appId });
+        this.persister = localforage.createInstance({
+            name: "dataview/cache/" + this.appId,
+            driver: [localforage.INDEXEDDB],
+            description: "Cache metadata about files and sections in the dataview index.",
+        });
+    }
+    /** Load file metadata by path. */
+    async loadFile(path) {
+        return this.persister.getItem(this.fileKey(path)).then(raw => {
+            let result = raw;
+            if (result)
+                result.data = Transferable.value(result.data);
+            return result;
+        });
+    }
+    /** Store file metadata by path. */
+    async storeFile(path, data) {
+        await this.persister.setItem(this.fileKey(path), {
+            version: this.version,
+            time: Date.now(),
+            data: Transferable.transferable(data),
+        });
+    }
+    /** Drop old file keys that no longer exist. */
+    async synchronize(existing) {
+        let keys = new Set(await this.allFiles());
+        for (let exist of existing)
+            keys.delete(exist);
+        // Any keys remaining after deleting existing keys are non-existent keys that should be cleared from cache.
+        for (let key of keys)
+            await this.persister.removeItem(this.fileKey(key));
+        return keys;
+    }
+    /** Obtain a list of all metadata keys. */
+    async allKeys() {
+        return this.persister.keys();
+    }
+    /** Obtain a list of all persisted files. */
+    async allFiles() {
+        let keys = await this.allKeys();
+        return keys.filter(k => k.startsWith("file:")).map(k => k.substring(5));
+    }
+    fileKey(path) {
+        return "file:" + path;
+    }
+}
+
+function decodeBase64(base64, enableUnicode) {
+    var binaryString = atob(base64);
+    if (enableUnicode) {
+        var binaryView = new Uint8Array(binaryString.length);
+        for (var i = 0, n = binaryString.length; i < n; ++i) {
+            binaryView[i] = binaryString.charCodeAt(i);
+        }
+        return String.fromCharCode.apply(null, new Uint16Array(binaryView.buffer));
+    }
+    return binaryString;
+}
+
+function createURL(base64, sourcemapArg, enableUnicodeArg) {
+    var sourcemap = sourcemapArg === undefined ? null : sourcemapArg;
+    var enableUnicode = enableUnicodeArg === undefined ? false : enableUnicodeArg;
+    var source = decodeBase64(base64, enableUnicode);
+    var start = source.indexOf('\n', 10) + 1;
+    var body = source.substring(start) + (sourcemap ? '\/\/# sourceMappingURL=' + sourcemap : '');
+    var blob = new Blob([body], { type: 'application/javascript' });
+    return URL.createObjectURL(blob);
+}
+
+function createBase64WorkerFactory(base64, sourcemapArg, enableUnicodeArg) {
+    var url;
+    return function WorkerFactory(options) {
+        url = url || createURL(base64, sourcemapArg, enableUnicodeArg);
+        return new Worker(url, options);
+    };
+}
+
+var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgLy8gdGhlc2UgYXJlbid0IHJlYWxseSBwcml2YXRlLCBidXQgbm9yIGFyZSB0aGV5IHJlYWxseSB1c2VmdWwgdG8gZG9jdW1lbnQKCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBMdXhvbkVycm9yIGV4dGVuZHMgRXJyb3Ige30KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBJbnZhbGlkRGF0ZVRpbWVFcnJvciBleHRlbmRzIEx1eG9uRXJyb3IgewogICAgY29uc3RydWN0b3IocmVhc29uKSB7CiAgICAgIHN1cGVyKGBJbnZhbGlkIERhdGVUaW1lOiAke3JlYXNvbi50b01lc3NhZ2UoKX1gKTsKICAgIH0KICB9CgogIC8qKgogICAqIEBwcml2YXRlCiAgICovCiAgY2xhc3MgSW52YWxpZEludGVydmFsRXJyb3IgZXh0ZW5kcyBMdXhvbkVycm9yIHsKICAgIGNvbnN0cnVjdG9yKHJlYXNvbikgewogICAgICBzdXBlcihgSW52YWxpZCBJbnRlcnZhbDogJHtyZWFzb24udG9NZXNzYWdlKCl9YCk7CiAgICB9CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwogIGNsYXNzIEludmFsaWREdXJhdGlvbkVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7CiAgICBjb25zdHJ1Y3RvcihyZWFzb24pIHsKICAgICAgc3VwZXIoYEludmFsaWQgRHVyYXRpb246ICR7cmVhc29uLnRvTWVzc2FnZSgpfWApOwogICAgfQogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige30KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBJbnZhbGlkVW5pdEVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7CiAgICBjb25zdHJ1Y3Rvcih1bml0KSB7CiAgICAgIHN1cGVyKGBJbnZhbGlkIHVuaXQgJHt1bml0fWApOwogICAgfQogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBJbnZhbGlkQXJndW1lbnRFcnJvciBleHRlbmRzIEx1eG9uRXJyb3Ige30KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KICBjbGFzcyBab25lSXNBYnN0cmFjdEVycm9yIGV4dGVuZHMgTHV4b25FcnJvciB7CiAgICBjb25zdHJ1Y3RvcigpIHsKICAgICAgc3VwZXIoIlpvbmUgaXMgYW4gYWJzdHJhY3QgY2xhc3MiKTsKICAgIH0KICB9CgogIC8qKgogICAqIEBwcml2YXRlCiAgICovCgogIGNvbnN0IG4gPSAibnVtZXJpYyIsCiAgICBzID0gInNob3J0IiwKICAgIGwgPSAibG9uZyI7CgogIGNvbnN0IERBVEVfU0hPUlQgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IG4sCiAgICBkYXk6IG4sCiAgfTsKCiAgY29uc3QgREFURV9NRUQgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IHMsCiAgICBkYXk6IG4sCiAgfTsKCiAgY29uc3QgREFURV9NRURfV0lUSF9XRUVLREFZID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBzLAogICAgZGF5OiBuLAogICAgd2Vla2RheTogcywKICB9OwoKICBjb25zdCBEQVRFX0ZVTEwgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IGwsCiAgICBkYXk6IG4sCiAgfTsKCiAgY29uc3QgREFURV9IVUdFID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBsLAogICAgZGF5OiBuLAogICAgd2Vla2RheTogbCwKICB9OwoKICBjb25zdCBUSU1FX1NJTVBMRSA9IHsKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgfTsKCiAgY29uc3QgVElNRV9XSVRIX1NFQ09ORFMgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogIH07CgogIGNvbnN0IFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogICAgdGltZVpvbmVOYW1lOiBzLAogIH07CgogIGNvbnN0IFRJTUVfV0lUSF9MT05HX09GRlNFVCA9IHsKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgICBzZWNvbmQ6IG4sCiAgICB0aW1lWm9uZU5hbWU6IGwsCiAgfTsKCiAgY29uc3QgVElNRV8yNF9TSU1QTEUgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgaG91ckN5Y2xlOiAiaDIzIiwKICB9OwoKICBjb25zdCBUSU1FXzI0X1dJVEhfU0VDT05EUyA9IHsKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgICBzZWNvbmQ6IG4sCiAgICBob3VyQ3ljbGU6ICJoMjMiLAogIH07CgogIGNvbnN0IFRJTUVfMjRfV0lUSF9TSE9SVF9PRkZTRVQgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogICAgaG91ckN5Y2xlOiAiaDIzIiwKICAgIHRpbWVab25lTmFtZTogcywKICB9OwoKICBjb25zdCBUSU1FXzI0X1dJVEhfTE9OR19PRkZTRVQgPSB7CiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogICAgaG91ckN5Y2xlOiAiaDIzIiwKICAgIHRpbWVab25lTmFtZTogbCwKICB9OwoKICBjb25zdCBEQVRFVElNRV9TSE9SVCA9IHsKICAgIHllYXI6IG4sCiAgICBtb250aDogbiwKICAgIGRheTogbiwKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgfTsKCiAgY29uc3QgREFURVRJTUVfU0hPUlRfV0lUSF9TRUNPTkRTID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBuLAogICAgZGF5OiBuLAogICAgaG91cjogbiwKICAgIG1pbnV0ZTogbiwKICAgIHNlY29uZDogbiwKICB9OwoKICBjb25zdCBEQVRFVElNRV9NRUQgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IHMsCiAgICBkYXk6IG4sCiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogIH07CgogIGNvbnN0IERBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFMgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IHMsCiAgICBkYXk6IG4sCiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgc2Vjb25kOiBuLAogIH07CgogIGNvbnN0IERBVEVUSU1FX01FRF9XSVRIX1dFRUtEQVkgPSB7CiAgICB5ZWFyOiBuLAogICAgbW9udGg6IHMsCiAgICBkYXk6IG4sCiAgICB3ZWVrZGF5OiBzLAogICAgaG91cjogbiwKICAgIG1pbnV0ZTogbiwKICB9OwoKICBjb25zdCBEQVRFVElNRV9GVUxMID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBsLAogICAgZGF5OiBuLAogICAgaG91cjogbiwKICAgIG1pbnV0ZTogbiwKICAgIHRpbWVab25lTmFtZTogcywKICB9OwoKICBjb25zdCBEQVRFVElNRV9GVUxMX1dJVEhfU0VDT05EUyA9IHsKICAgIHllYXI6IG4sCiAgICBtb250aDogbCwKICAgIGRheTogbiwKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgICBzZWNvbmQ6IG4sCiAgICB0aW1lWm9uZU5hbWU6IHMsCiAgfTsKCiAgY29uc3QgREFURVRJTUVfSFVHRSA9IHsKICAgIHllYXI6IG4sCiAgICBtb250aDogbCwKICAgIGRheTogbiwKICAgIHdlZWtkYXk6IGwsCiAgICBob3VyOiBuLAogICAgbWludXRlOiBuLAogICAgdGltZVpvbmVOYW1lOiBsLAogIH07CgogIGNvbnN0IERBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTID0gewogICAgeWVhcjogbiwKICAgIG1vbnRoOiBsLAogICAgZGF5OiBuLAogICAgd2Vla2RheTogbCwKICAgIGhvdXI6IG4sCiAgICBtaW51dGU6IG4sCiAgICBzZWNvbmQ6IG4sCiAgICB0aW1lWm9uZU5hbWU6IGwsCiAgfTsKCiAgLyoqCiAgICogQGludGVyZmFjZQogICAqLwogIGNsYXNzIFpvbmUgewogICAgLyoqCiAgICAgKiBUaGUgdHlwZSBvZiB6b25lCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCB0eXBlKCkgewogICAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpOwogICAgfQoKICAgIC8qKgogICAgICogVGhlIG5hbWUgb2YgdGhpcyB6b25lLgogICAgICogQGFic3RyYWN0CiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgbmFtZSgpIHsKICAgICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTsKICAgIH0KCiAgICBnZXQgaWFuYU5hbWUoKSB7CiAgICAgIHJldHVybiB0aGlzLm5hbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIG9mZnNldCBpcyBrbm93biB0byBiZSBmaXhlZCBmb3IgdGhlIHdob2xlIHllYXIuCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBnZXQgaXNVbml2ZXJzYWwoKSB7CiAgICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBvZmZzZXQncyBjb21tb24gbmFtZSAoc3VjaCBhcyBFU1QpIGF0IHRoZSBzcGVjaWZpZWQgdGltZXN0YW1wCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEBwYXJhbSB7bnVtYmVyfSB0cyAtIEVwb2NoIG1pbGxpc2Vjb25kcyBmb3Igd2hpY2ggdG8gZ2V0IHRoZSBuYW1lCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMgdG8gYWZmZWN0IHRoZSBmb3JtYXQKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLmZvcm1hdCAtIFdoYXQgc3R5bGUgb2Ygb2Zmc2V0IHRvIHJldHVybi4gQWNjZXB0cyAnbG9uZycgb3IgJ3Nob3J0Jy4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLmxvY2FsZSAtIFdoYXQgbG9jYWxlIHRvIHJldHVybiB0aGUgb2Zmc2V0IG5hbWUgaW4uCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIG9mZnNldE5hbWUodHMsIG9wdHMpIHsKICAgICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIG9mZnNldCdzIHZhbHVlIGFzIGEgc3RyaW5nCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEBwYXJhbSB7bnVtYmVyfSB0cyAtIEVwb2NoIG1pbGxpc2Vjb25kcyBmb3Igd2hpY2ggdG8gZ2V0IHRoZSBvZmZzZXQKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmb3JtYXQgLSBXaGF0IHN0eWxlIG9mIG9mZnNldCB0byByZXR1cm4uCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXB0cyAnbmFycm93JywgJ3Nob3J0Jywgb3IgJ3RlY2hpZScuIFJldHVybmluZyAnKzYnLCAnKzA2OjAwJywgb3IgJyswNjAwJyByZXNwZWN0aXZlbHkKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHsKICAgICAgdGhyb3cgbmV3IFpvbmVJc0Fic3RyYWN0RXJyb3IoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgb2Zmc2V0IGluIG1pbnV0ZXMgZm9yIHRoaXMgem9uZSBhdCB0aGUgc3BlY2lmaWVkIHRpbWVzdGFtcC4KICAgICAqIEBhYnN0cmFjdAogICAgICogQHBhcmFtIHtudW1iZXJ9IHRzIC0gRXBvY2ggbWlsbGlzZWNvbmRzIGZvciB3aGljaCB0byBjb21wdXRlIHRoZSBvZmZzZXQKICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgb2Zmc2V0KHRzKSB7CiAgICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIFpvbmUgaXMgZXF1YWwgdG8gYW5vdGhlciB6b25lCiAgICAgKiBAYWJzdHJhY3QKICAgICAqIEBwYXJhbSB7Wm9uZX0gb3RoZXJab25lIC0gdGhlIHpvbmUgdG8gY29tcGFyZQogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgZXF1YWxzKG90aGVyWm9uZSkgewogICAgICB0aHJvdyBuZXcgWm9uZUlzQWJzdHJhY3RFcnJvcigpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBab25lIGlzIHZhbGlkLgogICAgICogQGFic3RyYWN0CiAgICAgKiBAdHlwZSB7Ym9vbGVhbn0KICAgICAqLwogICAgZ2V0IGlzVmFsaWQoKSB7CiAgICAgIHRocm93IG5ldyBab25lSXNBYnN0cmFjdEVycm9yKCk7CiAgICB9CiAgfQoKICBsZXQgc2luZ2xldG9uJDEgPSBudWxsOwoKICAvKioKICAgKiBSZXByZXNlbnRzIHRoZSBsb2NhbCB6b25lIGZvciB0aGlzIEphdmFTY3JpcHQgZW52aXJvbm1lbnQuCiAgICogQGltcGxlbWVudHMge1pvbmV9CiAgICovCiAgY2xhc3MgU3lzdGVtWm9uZSBleHRlbmRzIFpvbmUgewogICAgLyoqCiAgICAgKiBHZXQgYSBzaW5nbGV0b24gaW5zdGFuY2Ugb2YgdGhlIGxvY2FsIHpvbmUKICAgICAqIEByZXR1cm4ge1N5c3RlbVpvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgaW5zdGFuY2UoKSB7CiAgICAgIGlmIChzaW5nbGV0b24kMSA9PT0gbnVsbCkgewogICAgICAgIHNpbmdsZXRvbiQxID0gbmV3IFN5c3RlbVpvbmUoKTsKICAgICAgfQogICAgICByZXR1cm4gc2luZ2xldG9uJDE7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCB0eXBlKCkgewogICAgICByZXR1cm4gInN5c3RlbSI7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCBuYW1lKCkgewogICAgICByZXR1cm4gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IGlzVW5pdmVyc2FsKCkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIG9mZnNldE5hbWUodHMsIHsgZm9ybWF0LCBsb2NhbGUgfSkgewogICAgICByZXR1cm4gcGFyc2Vab25lSW5mbyh0cywgZm9ybWF0LCBsb2NhbGUpOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBmb3JtYXRPZmZzZXQodHMsIGZvcm1hdCkgewogICAgICByZXR1cm4gZm9ybWF0T2Zmc2V0KHRoaXMub2Zmc2V0KHRzKSwgZm9ybWF0KTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgb2Zmc2V0KHRzKSB7CiAgICAgIHJldHVybiAtbmV3IERhdGUodHMpLmdldFRpbWV6b25lT2Zmc2V0KCk7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGVxdWFscyhvdGhlclpvbmUpIHsKICAgICAgcmV0dXJuIG90aGVyWm9uZS50eXBlID09PSAic3lzdGVtIjsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IGlzVmFsaWQoKSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogIH0KCiAgbGV0IGR0ZkNhY2hlID0ge307CiAgZnVuY3Rpb24gbWFrZURURih6b25lKSB7CiAgICBpZiAoIWR0ZkNhY2hlW3pvbmVdKSB7CiAgICAgIGR0ZkNhY2hlW3pvbmVdID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQoImVuLVVTIiwgewogICAgICAgIGhvdXIxMjogZmFsc2UsCiAgICAgICAgdGltZVpvbmU6IHpvbmUsCiAgICAgICAgeWVhcjogIm51bWVyaWMiLAogICAgICAgIG1vbnRoOiAiMi1kaWdpdCIsCiAgICAgICAgZGF5OiAiMi1kaWdpdCIsCiAgICAgICAgaG91cjogIjItZGlnaXQiLAogICAgICAgIG1pbnV0ZTogIjItZGlnaXQiLAogICAgICAgIHNlY29uZDogIjItZGlnaXQiLAogICAgICAgIGVyYTogInNob3J0IiwKICAgICAgfSk7CiAgICB9CiAgICByZXR1cm4gZHRmQ2FjaGVbem9uZV07CiAgfQoKICBjb25zdCB0eXBlVG9Qb3MgPSB7CiAgICB5ZWFyOiAwLAogICAgbW9udGg6IDEsCiAgICBkYXk6IDIsCiAgICBlcmE6IDMsCiAgICBob3VyOiA0LAogICAgbWludXRlOiA1LAogICAgc2Vjb25kOiA2LAogIH07CgogIGZ1bmN0aW9uIGhhY2t5T2Zmc2V0KGR0ZiwgZGF0ZSkgewogICAgY29uc3QgZm9ybWF0dGVkID0gZHRmLmZvcm1hdChkYXRlKS5yZXBsYWNlKC9cdTIwMEUvZywgIiIpLAogICAgICBwYXJzZWQgPSAvKFxkKylcLyhcZCspXC8oXGQrKSAoQUR8QkMpLD8gKFxkKyk6KFxkKyk6KFxkKykvLmV4ZWMoZm9ybWF0dGVkKSwKICAgICAgWywgZk1vbnRoLCBmRGF5LCBmWWVhciwgZmFkT3JCYywgZkhvdXIsIGZNaW51dGUsIGZTZWNvbmRdID0gcGFyc2VkOwogICAgcmV0dXJuIFtmWWVhciwgZk1vbnRoLCBmRGF5LCBmYWRPckJjLCBmSG91ciwgZk1pbnV0ZSwgZlNlY29uZF07CiAgfQoKICBmdW5jdGlvbiBwYXJ0c09mZnNldChkdGYsIGRhdGUpIHsKICAgIGNvbnN0IGZvcm1hdHRlZCA9IGR0Zi5mb3JtYXRUb1BhcnRzKGRhdGUpOwogICAgY29uc3QgZmlsbGVkID0gW107CiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZvcm1hdHRlZC5sZW5ndGg7IGkrKykgewogICAgICBjb25zdCB7IHR5cGUsIHZhbHVlIH0gPSBmb3JtYXR0ZWRbaV07CiAgICAgIGNvbnN0IHBvcyA9IHR5cGVUb1Bvc1t0eXBlXTsKCiAgICAgIGlmICh0eXBlID09PSAiZXJhIikgewogICAgICAgIGZpbGxlZFtwb3NdID0gdmFsdWU7CiAgICAgIH0gZWxzZSBpZiAoIWlzVW5kZWZpbmVkKHBvcykpIHsKICAgICAgICBmaWxsZWRbcG9zXSA9IHBhcnNlSW50KHZhbHVlLCAxMCk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBmaWxsZWQ7CiAgfQoKICBsZXQgaWFuYVpvbmVDYWNoZSA9IHt9OwogIC8qKgogICAqIEEgem9uZSBpZGVudGlmaWVkIGJ5IGFuIElBTkEgaWRlbnRpZmllciwgbGlrZSBBbWVyaWNhL05ld19Zb3JrCiAgICogQGltcGxlbWVudHMge1pvbmV9CiAgICovCiAgY2xhc3MgSUFOQVpvbmUgZXh0ZW5kcyBab25lIHsKICAgIC8qKgogICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBab25lIG5hbWUKICAgICAqIEByZXR1cm4ge0lBTkFab25lfQogICAgICovCiAgICBzdGF0aWMgY3JlYXRlKG5hbWUpIHsKICAgICAgaWYgKCFpYW5hWm9uZUNhY2hlW25hbWVdKSB7CiAgICAgICAgaWFuYVpvbmVDYWNoZVtuYW1lXSA9IG5ldyBJQU5BWm9uZShuYW1lKTsKICAgICAgfQogICAgICByZXR1cm4gaWFuYVpvbmVDYWNoZVtuYW1lXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlc2V0IGxvY2FsIGNhY2hlcy4gU2hvdWxkIG9ubHkgYmUgbmVjZXNzYXJ5IGluIHRlc3Rpbmcgc2NlbmFyaW9zLgogICAgICogQHJldHVybiB7dm9pZH0KICAgICAqLwogICAgc3RhdGljIHJlc2V0Q2FjaGUoKSB7CiAgICAgIGlhbmFab25lQ2FjaGUgPSB7fTsKICAgICAgZHRmQ2FjaGUgPSB7fTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgcHJvdmlkZWQgc3RyaW5nIGlzIGEgdmFsaWQgc3BlY2lmaWVyLiBUaGlzIG9ubHkgY2hlY2tzIHRoZSBzdHJpbmcncyBmb3JtYXQsIG5vdCB0aGF0IHRoZSBzcGVjaWZpZXIgaWRlbnRpZmllcyBhIGtub3duIHpvbmU7IHNlZSBpc1ZhbGlkWm9uZSBmb3IgdGhhdC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzIC0gVGhlIHN0cmluZyB0byBjaGVjayB2YWxpZGl0eSBvbgogICAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFNwZWNpZmllcigiQW1lcmljYS9OZXdfWW9yayIpIC8vPT4gdHJ1ZQogICAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFNwZWNpZmllcigiU3BvcnR+fmJsb3JwIikgLy89PiBmYWxzZQogICAgICogQGRlcHJlY2F0ZWQgVGhpcyBtZXRob2QgcmV0dXJucyBmYWxzZSBmb3Igc29tZSB2YWxpZCBJQU5BIG5hbWVzLiBVc2UgaXNWYWxpZFpvbmUgaW5zdGVhZC4KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc1ZhbGlkU3BlY2lmaWVyKHMpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZFpvbmUocyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHByb3ZpZGVkIHN0cmluZyBpZGVudGlmaWVzIGEgcmVhbCB6b25lCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gem9uZSAtIFRoZSBzdHJpbmcgdG8gY2hlY2sKICAgICAqIEBleGFtcGxlIElBTkFab25lLmlzVmFsaWRab25lKCJBbWVyaWNhL05ld19Zb3JrIikgLy89PiB0cnVlCiAgICAgKiBAZXhhbXBsZSBJQU5BWm9uZS5pc1ZhbGlkWm9uZSgiRmFudGFzaWEvQ2FzdGxlIikgLy89PiBmYWxzZQogICAgICogQGV4YW1wbGUgSUFOQVpvbmUuaXNWYWxpZFpvbmUoIlNwb3J0fn5ibG9ycCIpIC8vPT4gZmFsc2UKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc1ZhbGlkWm9uZSh6b25lKSB7CiAgICAgIGlmICghem9uZSkgewogICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgfQogICAgICB0cnkgewogICAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJlbi1VUyIsIHsgdGltZVpvbmU6IHpvbmUgfSkuZm9ybWF0KCk7CiAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgIH0KCiAgICBjb25zdHJ1Y3RvcihuYW1lKSB7CiAgICAgIHN1cGVyKCk7CiAgICAgIC8qKiBAcHJpdmF0ZSAqKi8KICAgICAgdGhpcy56b25lTmFtZSA9IG5hbWU7CiAgICAgIC8qKiBAcHJpdmF0ZSAqKi8KICAgICAgdGhpcy52YWxpZCA9IElBTkFab25lLmlzVmFsaWRab25lKG5hbWUpOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgdHlwZSgpIHsKICAgICAgcmV0dXJuICJpYW5hIjsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IG5hbWUoKSB7CiAgICAgIHJldHVybiB0aGlzLnpvbmVOYW1lOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgaXNVbml2ZXJzYWwoKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgb2Zmc2V0TmFtZSh0cywgeyBmb3JtYXQsIGxvY2FsZSB9KSB7CiAgICAgIHJldHVybiBwYXJzZVpvbmVJbmZvKHRzLCBmb3JtYXQsIGxvY2FsZSwgdGhpcy5uYW1lKTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZm9ybWF0T2Zmc2V0KHRzLCBmb3JtYXQpIHsKICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh0aGlzLm9mZnNldCh0cyksIGZvcm1hdCk7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIG9mZnNldCh0cykgewogICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodHMpOwoKICAgICAgaWYgKGlzTmFOKGRhdGUpKSByZXR1cm4gTmFOOwoKICAgICAgY29uc3QgZHRmID0gbWFrZURURih0aGlzLm5hbWUpOwogICAgICBsZXQgW3llYXIsIG1vbnRoLCBkYXksIGFkT3JCYywgaG91ciwgbWludXRlLCBzZWNvbmRdID0gZHRmLmZvcm1hdFRvUGFydHMKICAgICAgICA/IHBhcnRzT2Zmc2V0KGR0ZiwgZGF0ZSkKICAgICAgICA6IGhhY2t5T2Zmc2V0KGR0ZiwgZGF0ZSk7CgogICAgICBpZiAoYWRPckJjID09PSAiQkMiKSB7CiAgICAgICAgeWVhciA9IC1NYXRoLmFicyh5ZWFyKSArIDE7CiAgICAgIH0KCiAgICAgIC8vIGJlY2F1c2Ugd2UncmUgdXNpbmcgaG91cjEyIGFuZCBodHRwczovL2J1Z3MuY2hyb21pdW0ub3JnL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD0xMDI1NTY0JmNhbj0yJnE9JTIyMjQlM0EwMCUyMiUyMGRhdGV0aW1lZm9ybWF0CiAgICAgIGNvbnN0IGFkanVzdGVkSG91ciA9IGhvdXIgPT09IDI0ID8gMCA6IGhvdXI7CgogICAgICBjb25zdCBhc1VUQyA9IG9ialRvTG9jYWxUUyh7CiAgICAgICAgeWVhciwKICAgICAgICBtb250aCwKICAgICAgICBkYXksCiAgICAgICAgaG91cjogYWRqdXN0ZWRIb3VyLAogICAgICAgIG1pbnV0ZSwKICAgICAgICBzZWNvbmQsCiAgICAgICAgbWlsbGlzZWNvbmQ6IDAsCiAgICAgIH0pOwoKICAgICAgbGV0IGFzVFMgPSArZGF0ZTsKICAgICAgY29uc3Qgb3ZlciA9IGFzVFMgJSAxMDAwOwogICAgICBhc1RTIC09IG92ZXIgPj0gMCA/IG92ZXIgOiAxMDAwICsgb3ZlcjsKICAgICAgcmV0dXJuIChhc1VUQyAtIGFzVFMpIC8gKDYwICogMTAwMCk7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGVxdWFscyhvdGhlclpvbmUpIHsKICAgICAgcmV0dXJuIG90aGVyWm9uZS50eXBlID09PSAiaWFuYSIgJiYgb3RoZXJab25lLm5hbWUgPT09IHRoaXMubmFtZTsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IGlzVmFsaWQoKSB7CiAgICAgIHJldHVybiB0aGlzLnZhbGlkOwogICAgfQogIH0KCiAgLy8gdG9kbyAtIHJlbWFwIGNhY2hpbmcKCiAgbGV0IGludGxMRkNhY2hlID0ge307CiAgZnVuY3Rpb24gZ2V0Q2FjaGVkTEYobG9jU3RyaW5nLCBvcHRzID0ge30pIHsKICAgIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTsKICAgIGxldCBkdGYgPSBpbnRsTEZDYWNoZVtrZXldOwogICAgaWYgKCFkdGYpIHsKICAgICAgZHRmID0gbmV3IEludGwuTGlzdEZvcm1hdChsb2NTdHJpbmcsIG9wdHMpOwogICAgICBpbnRsTEZDYWNoZVtrZXldID0gZHRmOwogICAgfQogICAgcmV0dXJuIGR0ZjsKICB9CgogIGxldCBpbnRsRFRDYWNoZSA9IHt9OwogIGZ1bmN0aW9uIGdldENhY2hlZERURihsb2NTdHJpbmcsIG9wdHMgPSB7fSkgewogICAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoW2xvY1N0cmluZywgb3B0c10pOwogICAgbGV0IGR0ZiA9IGludGxEVENhY2hlW2tleV07CiAgICBpZiAoIWR0ZikgewogICAgICBkdGYgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdChsb2NTdHJpbmcsIG9wdHMpOwogICAgICBpbnRsRFRDYWNoZVtrZXldID0gZHRmOwogICAgfQogICAgcmV0dXJuIGR0ZjsKICB9CgogIGxldCBpbnRsTnVtQ2FjaGUgPSB7fTsKICBmdW5jdGlvbiBnZXRDYWNoZWRJTkYobG9jU3RyaW5nLCBvcHRzID0ge30pIHsKICAgIGNvbnN0IGtleSA9IEpTT04uc3RyaW5naWZ5KFtsb2NTdHJpbmcsIG9wdHNdKTsKICAgIGxldCBpbmYgPSBpbnRsTnVtQ2FjaGVba2V5XTsKICAgIGlmICghaW5mKSB7CiAgICAgIGluZiA9IG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NTdHJpbmcsIG9wdHMpOwogICAgICBpbnRsTnVtQ2FjaGVba2V5XSA9IGluZjsKICAgIH0KICAgIHJldHVybiBpbmY7CiAgfQoKICBsZXQgaW50bFJlbENhY2hlID0ge307CiAgZnVuY3Rpb24gZ2V0Q2FjaGVkUlRGKGxvY1N0cmluZywgb3B0cyA9IHt9KSB7CiAgICBjb25zdCB7IGJhc2UsIC4uLmNhY2hlS2V5T3B0cyB9ID0gb3B0czsgLy8gZXhjbHVkZSBgYmFzZWAgZnJvbSB0aGUgb3B0aW9ucwogICAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkoW2xvY1N0cmluZywgY2FjaGVLZXlPcHRzXSk7CiAgICBsZXQgaW5mID0gaW50bFJlbENhY2hlW2tleV07CiAgICBpZiAoIWluZikgewogICAgICBpbmYgPSBuZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQobG9jU3RyaW5nLCBvcHRzKTsKICAgICAgaW50bFJlbENhY2hlW2tleV0gPSBpbmY7CiAgICB9CiAgICByZXR1cm4gaW5mOwogIH0KCiAgbGV0IHN5c0xvY2FsZUNhY2hlID0gbnVsbDsKICBmdW5jdGlvbiBzeXN0ZW1Mb2NhbGUoKSB7CiAgICBpZiAoc3lzTG9jYWxlQ2FjaGUpIHsKICAgICAgcmV0dXJuIHN5c0xvY2FsZUNhY2hlOwogICAgfSBlbHNlIHsKICAgICAgc3lzTG9jYWxlQ2FjaGUgPSBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLmxvY2FsZTsKICAgICAgcmV0dXJuIHN5c0xvY2FsZUNhY2hlOwogICAgfQogIH0KCiAgZnVuY3Rpb24gcGFyc2VMb2NhbGVTdHJpbmcobG9jYWxlU3RyKSB7CiAgICAvLyBJIHJlYWxseSB3YW50IHRvIGF2b2lkIHdyaXRpbmcgYSBCQ1AgNDcgcGFyc2VyCiAgICAvLyBzZWUsIGUuZy4gaHR0cHM6Ly9naXRodWIuY29tL3dvb29ybS9iY3AtNDcKICAgIC8vIEluc3RlYWQsIHdlJ2xsIGRvIHRoaXM6CgogICAgLy8gYSkgaWYgdGhlIHN0cmluZyBoYXMgbm8gLXUgZXh0ZW5zaW9ucywganVzdCBsZWF2ZSBpdCBhbG9uZQogICAgLy8gYikgaWYgaXQgZG9lcywgdXNlIEludGwgdG8gcmVzb2x2ZSBldmVyeXRoaW5nCiAgICAvLyBjKSBpZiBJbnRsIGZhaWxzLCB0cnkgYWdhaW4gd2l0aG91dCB0aGUgLXUKCiAgICAvLyBwcml2YXRlIHN1YnRhZ3MgYW5kIHVuaWNvZGUgc3VidGFncyBoYXZlIG9yZGVyaW5nIHJlcXVpcmVtZW50cywKICAgIC8vIGFuZCB3ZSdyZSBub3QgcHJvcGVybHkgcGFyc2luZyB0aGlzLCBzbyBqdXN0IHN0cmlwIG91dCB0aGUKICAgIC8vIHByaXZhdGUgb25lcyBpZiB0aGV5IGV4aXN0LgogICAgY29uc3QgeEluZGV4ID0gbG9jYWxlU3RyLmluZGV4T2YoIi14LSIpOwogICAgaWYgKHhJbmRleCAhPT0gLTEpIHsKICAgICAgbG9jYWxlU3RyID0gbG9jYWxlU3RyLnN1YnN0cmluZygwLCB4SW5kZXgpOwogICAgfQoKICAgIGNvbnN0IHVJbmRleCA9IGxvY2FsZVN0ci5pbmRleE9mKCItdS0iKTsKICAgIGlmICh1SW5kZXggPT09IC0xKSB7CiAgICAgIHJldHVybiBbbG9jYWxlU3RyXTsKICAgIH0gZWxzZSB7CiAgICAgIGxldCBvcHRpb25zOwogICAgICBsZXQgc2VsZWN0ZWRTdHI7CiAgICAgIHRyeSB7CiAgICAgICAgb3B0aW9ucyA9IGdldENhY2hlZERURihsb2NhbGVTdHIpLnJlc29sdmVkT3B0aW9ucygpOwogICAgICAgIHNlbGVjdGVkU3RyID0gbG9jYWxlU3RyOwogICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgY29uc3Qgc21hbGxlciA9IGxvY2FsZVN0ci5zdWJzdHJpbmcoMCwgdUluZGV4KTsKICAgICAgICBvcHRpb25zID0gZ2V0Q2FjaGVkRFRGKHNtYWxsZXIpLnJlc29sdmVkT3B0aW9ucygpOwogICAgICAgIHNlbGVjdGVkU3RyID0gc21hbGxlcjsKICAgICAgfQoKICAgICAgY29uc3QgeyBudW1iZXJpbmdTeXN0ZW0sIGNhbGVuZGFyIH0gPSBvcHRpb25zOwogICAgICByZXR1cm4gW3NlbGVjdGVkU3RyLCBudW1iZXJpbmdTeXN0ZW0sIGNhbGVuZGFyXTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGludGxDb25maWdTdHJpbmcobG9jYWxlU3RyLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKSB7CiAgICBpZiAob3V0cHV0Q2FsZW5kYXIgfHwgbnVtYmVyaW5nU3lzdGVtKSB7CiAgICAgIGlmICghbG9jYWxlU3RyLmluY2x1ZGVzKCItdS0iKSkgewogICAgICAgIGxvY2FsZVN0ciArPSAiLXUiOwogICAgICB9CgogICAgICBpZiAob3V0cHV0Q2FsZW5kYXIpIHsKICAgICAgICBsb2NhbGVTdHIgKz0gYC1jYS0ke291dHB1dENhbGVuZGFyfWA7CiAgICAgIH0KCiAgICAgIGlmIChudW1iZXJpbmdTeXN0ZW0pIHsKICAgICAgICBsb2NhbGVTdHIgKz0gYC1udS0ke251bWJlcmluZ1N5c3RlbX1gOwogICAgICB9CiAgICAgIHJldHVybiBsb2NhbGVTdHI7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbG9jYWxlU3RyOwogICAgfQogIH0KCiAgZnVuY3Rpb24gbWFwTW9udGhzKGYpIHsKICAgIGNvbnN0IG1zID0gW107CiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSAxMjsgaSsrKSB7CiAgICAgIGNvbnN0IGR0ID0gRGF0ZVRpbWUudXRjKDIwMDksIGksIDEpOwogICAgICBtcy5wdXNoKGYoZHQpKTsKICAgIH0KICAgIHJldHVybiBtczsKICB9CgogIGZ1bmN0aW9uIG1hcFdlZWtkYXlzKGYpIHsKICAgIGNvbnN0IG1zID0gW107CiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSA3OyBpKyspIHsKICAgICAgY29uc3QgZHQgPSBEYXRlVGltZS51dGMoMjAxNiwgMTEsIDEzICsgaSk7CiAgICAgIG1zLnB1c2goZihkdCkpOwogICAgfQogICAgcmV0dXJuIG1zOwogIH0KCiAgZnVuY3Rpb24gbGlzdFN0dWZmKGxvYywgbGVuZ3RoLCBlbmdsaXNoRm4sIGludGxGbikgewogICAgY29uc3QgbW9kZSA9IGxvYy5saXN0aW5nTW9kZSgpOwoKICAgIGlmIChtb2RlID09PSAiZXJyb3IiKSB7CiAgICAgIHJldHVybiBudWxsOwogICAgfSBlbHNlIGlmIChtb2RlID09PSAiZW4iKSB7CiAgICAgIHJldHVybiBlbmdsaXNoRm4obGVuZ3RoKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBpbnRsRm4obGVuZ3RoKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHN1cHBvcnRzRmFzdE51bWJlcnMobG9jKSB7CiAgICBpZiAobG9jLm51bWJlcmluZ1N5c3RlbSAmJiBsb2MubnVtYmVyaW5nU3lzdGVtICE9PSAibGF0biIpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICgKICAgICAgICBsb2MubnVtYmVyaW5nU3lzdGVtID09PSAibGF0biIgfHwKICAgICAgICAhbG9jLmxvY2FsZSB8fAogICAgICAgIGxvYy5sb2NhbGUuc3RhcnRzV2l0aCgiZW4iKSB8fAogICAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxvYy5pbnRsKS5yZXNvbHZlZE9wdGlvbnMoKS5udW1iZXJpbmdTeXN0ZW0gPT09ICJsYXRuIgogICAgICApOwogICAgfQogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KCiAgY2xhc3MgUG9seU51bWJlckZvcm1hdHRlciB7CiAgICBjb25zdHJ1Y3RvcihpbnRsLCBmb3JjZVNpbXBsZSwgb3B0cykgewogICAgICB0aGlzLnBhZFRvID0gb3B0cy5wYWRUbyB8fCAwOwogICAgICB0aGlzLmZsb29yID0gb3B0cy5mbG9vciB8fCBmYWxzZTsKCiAgICAgIGNvbnN0IHsgcGFkVG8sIGZsb29yLCAuLi5vdGhlck9wdHMgfSA9IG9wdHM7CgogICAgICBpZiAoIWZvcmNlU2ltcGxlIHx8IE9iamVjdC5rZXlzKG90aGVyT3B0cykubGVuZ3RoID4gMCkgewogICAgICAgIGNvbnN0IGludGxPcHRzID0geyB1c2VHcm91cGluZzogZmFsc2UsIC4uLm9wdHMgfTsKICAgICAgICBpZiAob3B0cy5wYWRUbyA+IDApIGludGxPcHRzLm1pbmltdW1JbnRlZ2VyRGlnaXRzID0gb3B0cy5wYWRUbzsKICAgICAgICB0aGlzLmluZiA9IGdldENhY2hlZElORihpbnRsLCBpbnRsT3B0cyk7CiAgICAgIH0KICAgIH0KCiAgICBmb3JtYXQoaSkgewogICAgICBpZiAodGhpcy5pbmYpIHsKICAgICAgICBjb25zdCBmaXhlZCA9IHRoaXMuZmxvb3IgPyBNYXRoLmZsb29yKGkpIDogaTsKICAgICAgICByZXR1cm4gdGhpcy5pbmYuZm9ybWF0KGZpeGVkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICAvLyB0byBtYXRjaCB0aGUgYnJvd3NlcidzIG51bWJlcmZvcm1hdHRlciBkZWZhdWx0cwogICAgICAgIGNvbnN0IGZpeGVkID0gdGhpcy5mbG9vciA/IE1hdGguZmxvb3IoaSkgOiByb3VuZFRvKGksIDMpOwogICAgICAgIHJldHVybiBwYWRTdGFydChmaXhlZCwgdGhpcy5wYWRUbyk7CiAgICAgIH0KICAgIH0KICB9CgogIC8qKgogICAqIEBwcml2YXRlCiAgICovCgogIGNsYXNzIFBvbHlEYXRlRm9ybWF0dGVyIHsKICAgIGNvbnN0cnVjdG9yKGR0LCBpbnRsLCBvcHRzKSB7CiAgICAgIHRoaXMub3B0cyA9IG9wdHM7CiAgICAgIHRoaXMub3JpZ2luYWxab25lID0gdW5kZWZpbmVkOwoKICAgICAgbGV0IHogPSB1bmRlZmluZWQ7CiAgICAgIGlmICh0aGlzLm9wdHMudGltZVpvbmUpIHsKICAgICAgICAvLyBEb24ndCBhcHBseSBhbnkgd29ya2Fyb3VuZHMgaWYgYSB0aW1lWm9uZSBpcyBleHBsaWNpdGx5IHByb3ZpZGVkIGluIG9wdHMKICAgICAgICB0aGlzLmR0ID0gZHQ7CiAgICAgIH0gZWxzZSBpZiAoZHQuem9uZS50eXBlID09PSAiZml4ZWQiKSB7CiAgICAgICAgLy8gVVRDLTggb3IgRXRjL1VUQy04IGFyZSBub3QgcGFydCBvZiB0emRhdGEsIG9ubHkgRXRjL0dNVCs4IGFuZCB0aGUgbGlrZS4KICAgICAgICAvLyBUaGF0IGlzIHdoeSBmaXhlZC1vZmZzZXQgVFogaXMgc2V0IHRvIHRoYXQgdW5sZXNzIGl0IGlzOgogICAgICAgIC8vIDEuIFJlcHJlc2VudGluZyBvZmZzZXQgMCB3aGVuIFVUQyBpcyB1c2VkIHRvIG1haW50YWluIHByZXZpb3VzIGJlaGF2aW9yIGFuZCBkb2VzIG5vdCBiZWNvbWUgR01ULgogICAgICAgIC8vIDIuIFVuc3VwcG9ydGVkIGJ5IHRoZSBicm93c2VyOgogICAgICAgIC8vICAgIC0gc29tZSBkbyBub3Qgc3VwcG9ydCBFdGMvCiAgICAgICAgLy8gICAgLSA8IEV0Yy9HTVQtMTQsID4gRXRjL0dNVCsxMiwgYW5kIDMwLW1pbnV0ZSBvciA0NS1taW51dGUgb2Zmc2V0cyBhcmUgbm90IHBhcnQgb2YgdHpkYXRhCiAgICAgICAgY29uc3QgZ210T2Zmc2V0ID0gLTEgKiAoZHQub2Zmc2V0IC8gNjApOwogICAgICAgIGNvbnN0IG9mZnNldFogPSBnbXRPZmZzZXQgPj0gMCA/IGBFdGMvR01UKyR7Z210T2Zmc2V0fWAgOiBgRXRjL0dNVCR7Z210T2Zmc2V0fWA7CiAgICAgICAgaWYgKGR0Lm9mZnNldCAhPT0gMCAmJiBJQU5BWm9uZS5jcmVhdGUob2Zmc2V0WikudmFsaWQpIHsKICAgICAgICAgIHogPSBvZmZzZXRaOwogICAgICAgICAgdGhpcy5kdCA9IGR0OwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAvLyBOb3QgYWxsIGZpeGVkLW9mZnNldCB6b25lcyBsaWtlIEV0Yy8rNDozMCBhcmUgcHJlc2VudCBpbiB0emRhdGEgc28KICAgICAgICAgIC8vIHdlIG1hbnVhbGx5IGFwcGx5IHRoZSBvZmZzZXQgYW5kIHN1YnN0aXR1dGUgdGhlIHpvbmUgYXMgbmVlZGVkLgogICAgICAgICAgeiA9ICJVVEMiOwogICAgICAgICAgdGhpcy5kdCA9IGR0Lm9mZnNldCA9PT0gMCA/IGR0IDogZHQuc2V0Wm9uZSgiVVRDIikucGx1cyh7IG1pbnV0ZXM6IGR0Lm9mZnNldCB9KTsKICAgICAgICAgIHRoaXMub3JpZ2luYWxab25lID0gZHQuem9uZTsKICAgICAgICB9CiAgICAgIH0gZWxzZSBpZiAoZHQuem9uZS50eXBlID09PSAic3lzdGVtIikgewogICAgICAgIHRoaXMuZHQgPSBkdDsKICAgICAgfSBlbHNlIGlmIChkdC56b25lLnR5cGUgPT09ICJpYW5hIikgewogICAgICAgIHRoaXMuZHQgPSBkdDsKICAgICAgICB6ID0gZHQuem9uZS5uYW1lOwogICAgICB9IGVsc2UgewogICAgICAgIC8vIEN1c3RvbSB6b25lcyBjYW4gaGF2ZSBhbnkgb2Zmc2V0IC8gb2Zmc2V0TmFtZSBzbyB3ZSBqdXN0IG1hbnVhbGx5CiAgICAgICAgLy8gYXBwbHkgdGhlIG9mZnNldCBhbmQgc3Vic3RpdHV0ZSB0aGUgem9uZSBhcyBuZWVkZWQuCiAgICAgICAgeiA9ICJVVEMiOwogICAgICAgIHRoaXMuZHQgPSBkdC5zZXRab25lKCJVVEMiKS5wbHVzKHsgbWludXRlczogZHQub2Zmc2V0IH0pOwogICAgICAgIHRoaXMub3JpZ2luYWxab25lID0gZHQuem9uZTsKICAgICAgfQoKICAgICAgY29uc3QgaW50bE9wdHMgPSB7IC4uLnRoaXMub3B0cyB9OwogICAgICBpbnRsT3B0cy50aW1lWm9uZSA9IGludGxPcHRzLnRpbWVab25lIHx8IHo7CiAgICAgIHRoaXMuZHRmID0gZ2V0Q2FjaGVkRFRGKGludGwsIGludGxPcHRzKTsKICAgIH0KCiAgICBmb3JtYXQoKSB7CiAgICAgIGlmICh0aGlzLm9yaWdpbmFsWm9uZSkgewogICAgICAgIC8vIElmIHdlIGhhdmUgdG8gc3Vic3RpdHV0ZSBpbiB0aGUgYWN0dWFsIHpvbmUgbmFtZSwgd2UgaGF2ZSB0byB1c2UKICAgICAgICAvLyBmb3JtYXRUb1BhcnRzIHNvIHRoYXQgdGhlIHRpbWV6b25lIGNhbiBiZSByZXBsYWNlZC4KICAgICAgICByZXR1cm4gdGhpcy5mb3JtYXRUb1BhcnRzKCkKICAgICAgICAgIC5tYXAoKHsgdmFsdWUgfSkgPT4gdmFsdWUpCiAgICAgICAgICAuam9pbigiIik7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuZHRmLmZvcm1hdCh0aGlzLmR0LnRvSlNEYXRlKCkpOwogICAgfQoKICAgIGZvcm1hdFRvUGFydHMoKSB7CiAgICAgIGNvbnN0IHBhcnRzID0gdGhpcy5kdGYuZm9ybWF0VG9QYXJ0cyh0aGlzLmR0LnRvSlNEYXRlKCkpOwogICAgICBpZiAodGhpcy5vcmlnaW5hbFpvbmUpIHsKICAgICAgICByZXR1cm4gcGFydHMubWFwKChwYXJ0KSA9PiB7CiAgICAgICAgICBpZiAocGFydC50eXBlID09PSAidGltZVpvbmVOYW1lIikgewogICAgICAgICAgICBjb25zdCBvZmZzZXROYW1lID0gdGhpcy5vcmlnaW5hbFpvbmUub2Zmc2V0TmFtZSh0aGlzLmR0LnRzLCB7CiAgICAgICAgICAgICAgbG9jYWxlOiB0aGlzLmR0LmxvY2FsZSwKICAgICAgICAgICAgICBmb3JtYXQ6IHRoaXMub3B0cy50aW1lWm9uZU5hbWUsCiAgICAgICAgICAgIH0pOwogICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgIC4uLnBhcnQsCiAgICAgICAgICAgICAgdmFsdWU6IG9mZnNldE5hbWUsCiAgICAgICAgICAgIH07CiAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICByZXR1cm4gcGFydDsKICAgICAgICAgIH0KICAgICAgICB9KTsKICAgICAgfQogICAgICByZXR1cm4gcGFydHM7CiAgICB9CgogICAgcmVzb2x2ZWRPcHRpb25zKCkgewogICAgICByZXR1cm4gdGhpcy5kdGYucmVzb2x2ZWRPcHRpb25zKCk7CiAgICB9CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwogIGNsYXNzIFBvbHlSZWxGb3JtYXR0ZXIgewogICAgY29uc3RydWN0b3IoaW50bCwgaXNFbmdsaXNoLCBvcHRzKSB7CiAgICAgIHRoaXMub3B0cyA9IHsgc3R5bGU6ICJsb25nIiwgLi4ub3B0cyB9OwogICAgICBpZiAoIWlzRW5nbGlzaCAmJiBoYXNSZWxhdGl2ZSgpKSB7CiAgICAgICAgdGhpcy5ydGYgPSBnZXRDYWNoZWRSVEYoaW50bCwgb3B0cyk7CiAgICAgIH0KICAgIH0KCiAgICBmb3JtYXQoY291bnQsIHVuaXQpIHsKICAgICAgaWYgKHRoaXMucnRmKSB7CiAgICAgICAgcmV0dXJuIHRoaXMucnRmLmZvcm1hdChjb3VudCwgdW5pdCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIGZvcm1hdFJlbGF0aXZlVGltZSh1bml0LCBjb3VudCwgdGhpcy5vcHRzLm51bWVyaWMsIHRoaXMub3B0cy5zdHlsZSAhPT0gImxvbmciKTsKICAgICAgfQogICAgfQoKICAgIGZvcm1hdFRvUGFydHMoY291bnQsIHVuaXQpIHsKICAgICAgaWYgKHRoaXMucnRmKSB7CiAgICAgICAgcmV0dXJuIHRoaXMucnRmLmZvcm1hdFRvUGFydHMoY291bnQsIHVuaXQpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfQogICAgfQogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KCiAgY2xhc3MgTG9jYWxlIHsKICAgIHN0YXRpYyBmcm9tT3B0cyhvcHRzKSB7CiAgICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKG9wdHMubG9jYWxlLCBvcHRzLm51bWJlcmluZ1N5c3RlbSwgb3B0cy5vdXRwdXRDYWxlbmRhciwgb3B0cy5kZWZhdWx0VG9FTik7CiAgICB9CgogICAgc3RhdGljIGNyZWF0ZShsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIsIGRlZmF1bHRUb0VOID0gZmFsc2UpIHsKICAgICAgY29uc3Qgc3BlY2lmaWVkTG9jYWxlID0gbG9jYWxlIHx8IFNldHRpbmdzLmRlZmF1bHRMb2NhbGU7CiAgICAgIC8vIHRoZSBzeXN0ZW0gbG9jYWxlIGlzIHVzZWZ1bCBmb3IgaHVtYW4gcmVhZGFibGUgc3RyaW5ncyBidXQgYW5ub3lpbmcgZm9yIHBhcnNpbmcvZm9ybWF0dGluZyBrbm93biBmb3JtYXRzCiAgICAgIGNvbnN0IGxvY2FsZVIgPSBzcGVjaWZpZWRMb2NhbGUgfHwgKGRlZmF1bHRUb0VOID8gImVuLVVTIiA6IHN5c3RlbUxvY2FsZSgpKTsKICAgICAgY29uc3QgbnVtYmVyaW5nU3lzdGVtUiA9IG51bWJlcmluZ1N5c3RlbSB8fCBTZXR0aW5ncy5kZWZhdWx0TnVtYmVyaW5nU3lzdGVtOwogICAgICBjb25zdCBvdXRwdXRDYWxlbmRhclIgPSBvdXRwdXRDYWxlbmRhciB8fCBTZXR0aW5ncy5kZWZhdWx0T3V0cHV0Q2FsZW5kYXI7CiAgICAgIHJldHVybiBuZXcgTG9jYWxlKGxvY2FsZVIsIG51bWJlcmluZ1N5c3RlbVIsIG91dHB1dENhbGVuZGFyUiwgc3BlY2lmaWVkTG9jYWxlKTsKICAgIH0KCiAgICBzdGF0aWMgcmVzZXRDYWNoZSgpIHsKICAgICAgc3lzTG9jYWxlQ2FjaGUgPSBudWxsOwogICAgICBpbnRsRFRDYWNoZSA9IHt9OwogICAgICBpbnRsTnVtQ2FjaGUgPSB7fTsKICAgICAgaW50bFJlbENhY2hlID0ge307CiAgICB9CgogICAgc3RhdGljIGZyb21PYmplY3QoeyBsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIgfSA9IHt9KSB7CiAgICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhcik7CiAgICB9CgogICAgY29uc3RydWN0b3IobG9jYWxlLCBudW1iZXJpbmcsIG91dHB1dENhbGVuZGFyLCBzcGVjaWZpZWRMb2NhbGUpIHsKICAgICAgY29uc3QgW3BhcnNlZExvY2FsZSwgcGFyc2VkTnVtYmVyaW5nU3lzdGVtLCBwYXJzZWRPdXRwdXRDYWxlbmRhcl0gPSBwYXJzZUxvY2FsZVN0cmluZyhsb2NhbGUpOwoKICAgICAgdGhpcy5sb2NhbGUgPSBwYXJzZWRMb2NhbGU7CiAgICAgIHRoaXMubnVtYmVyaW5nU3lzdGVtID0gbnVtYmVyaW5nIHx8IHBhcnNlZE51bWJlcmluZ1N5c3RlbSB8fCBudWxsOwogICAgICB0aGlzLm91dHB1dENhbGVuZGFyID0gb3V0cHV0Q2FsZW5kYXIgfHwgcGFyc2VkT3V0cHV0Q2FsZW5kYXIgfHwgbnVsbDsKICAgICAgdGhpcy5pbnRsID0gaW50bENvbmZpZ1N0cmluZyh0aGlzLmxvY2FsZSwgdGhpcy5udW1iZXJpbmdTeXN0ZW0sIHRoaXMub3V0cHV0Q2FsZW5kYXIpOwoKICAgICAgdGhpcy53ZWVrZGF5c0NhY2hlID0geyBmb3JtYXQ6IHt9LCBzdGFuZGFsb25lOiB7fSB9OwogICAgICB0aGlzLm1vbnRoc0NhY2hlID0geyBmb3JtYXQ6IHt9LCBzdGFuZGFsb25lOiB7fSB9OwogICAgICB0aGlzLm1lcmlkaWVtQ2FjaGUgPSBudWxsOwogICAgICB0aGlzLmVyYUNhY2hlID0ge307CgogICAgICB0aGlzLnNwZWNpZmllZExvY2FsZSA9IHNwZWNpZmllZExvY2FsZTsKICAgICAgdGhpcy5mYXN0TnVtYmVyc0NhY2hlZCA9IG51bGw7CiAgICB9CgogICAgZ2V0IGZhc3ROdW1iZXJzKCkgewogICAgICBpZiAodGhpcy5mYXN0TnVtYmVyc0NhY2hlZCA9PSBudWxsKSB7CiAgICAgICAgdGhpcy5mYXN0TnVtYmVyc0NhY2hlZCA9IHN1cHBvcnRzRmFzdE51bWJlcnModGhpcyk7CiAgICAgIH0KCiAgICAgIHJldHVybiB0aGlzLmZhc3ROdW1iZXJzQ2FjaGVkOwogICAgfQoKICAgIGxpc3RpbmdNb2RlKCkgewogICAgICBjb25zdCBpc0FjdHVhbGx5RW4gPSB0aGlzLmlzRW5nbGlzaCgpOwogICAgICBjb25zdCBoYXNOb1dlaXJkbmVzcyA9CiAgICAgICAgKHRoaXMubnVtYmVyaW5nU3lzdGVtID09PSBudWxsIHx8IHRoaXMubnVtYmVyaW5nU3lzdGVtID09PSAibGF0biIpICYmCiAgICAgICAgKHRoaXMub3V0cHV0Q2FsZW5kYXIgPT09IG51bGwgfHwgdGhpcy5vdXRwdXRDYWxlbmRhciA9PT0gImdyZWdvcnkiKTsKICAgICAgcmV0dXJuIGlzQWN0dWFsbHlFbiAmJiBoYXNOb1dlaXJkbmVzcyA/ICJlbiIgOiAiaW50bCI7CiAgICB9CgogICAgY2xvbmUoYWx0cykgewogICAgICBpZiAoIWFsdHMgfHwgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoYWx0cykubGVuZ3RoID09PSAwKSB7CiAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIExvY2FsZS5jcmVhdGUoCiAgICAgICAgICBhbHRzLmxvY2FsZSB8fCB0aGlzLnNwZWNpZmllZExvY2FsZSwKICAgICAgICAgIGFsdHMubnVtYmVyaW5nU3lzdGVtIHx8IHRoaXMubnVtYmVyaW5nU3lzdGVtLAogICAgICAgICAgYWx0cy5vdXRwdXRDYWxlbmRhciB8fCB0aGlzLm91dHB1dENhbGVuZGFyLAogICAgICAgICAgYWx0cy5kZWZhdWx0VG9FTiB8fCBmYWxzZQogICAgICAgICk7CiAgICAgIH0KICAgIH0KCiAgICByZWRlZmF1bHRUb0VOKGFsdHMgPSB7fSkgewogICAgICByZXR1cm4gdGhpcy5jbG9uZSh7IC4uLmFsdHMsIGRlZmF1bHRUb0VOOiB0cnVlIH0pOwogICAgfQoKICAgIHJlZGVmYXVsdFRvU3lzdGVtKGFsdHMgPSB7fSkgewogICAgICByZXR1cm4gdGhpcy5jbG9uZSh7IC4uLmFsdHMsIGRlZmF1bHRUb0VOOiBmYWxzZSB9KTsKICAgIH0KCiAgICBtb250aHMobGVuZ3RoLCBmb3JtYXQgPSBmYWxzZSkgewogICAgICByZXR1cm4gbGlzdFN0dWZmKHRoaXMsIGxlbmd0aCwgbW9udGhzLCAoKSA9PiB7CiAgICAgICAgY29uc3QgaW50bCA9IGZvcm1hdCA/IHsgbW9udGg6IGxlbmd0aCwgZGF5OiAibnVtZXJpYyIgfSA6IHsgbW9udGg6IGxlbmd0aCB9LAogICAgICAgICAgZm9ybWF0U3RyID0gZm9ybWF0ID8gImZvcm1hdCIgOiAic3RhbmRhbG9uZSI7CiAgICAgICAgaWYgKCF0aGlzLm1vbnRoc0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXSkgewogICAgICAgICAgdGhpcy5tb250aHNDYWNoZVtmb3JtYXRTdHJdW2xlbmd0aF0gPSBtYXBNb250aHMoKGR0KSA9PiB0aGlzLmV4dHJhY3QoZHQsIGludGwsICJtb250aCIpKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIHRoaXMubW9udGhzQ2FjaGVbZm9ybWF0U3RyXVtsZW5ndGhdOwogICAgICB9KTsKICAgIH0KCiAgICB3ZWVrZGF5cyhsZW5ndGgsIGZvcm1hdCA9IGZhbHNlKSB7CiAgICAgIHJldHVybiBsaXN0U3R1ZmYodGhpcywgbGVuZ3RoLCB3ZWVrZGF5cywgKCkgPT4gewogICAgICAgIGNvbnN0IGludGwgPSBmb3JtYXQKICAgICAgICAgICAgPyB7IHdlZWtkYXk6IGxlbmd0aCwgeWVhcjogIm51bWVyaWMiLCBtb250aDogImxvbmciLCBkYXk6ICJudW1lcmljIiB9CiAgICAgICAgICAgIDogeyB3ZWVrZGF5OiBsZW5ndGggfSwKICAgICAgICAgIGZvcm1hdFN0ciA9IGZvcm1hdCA/ICJmb3JtYXQiIDogInN0YW5kYWxvbmUiOwogICAgICAgIGlmICghdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXSkgewogICAgICAgICAgdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXSA9IG1hcFdlZWtkYXlzKChkdCkgPT4KICAgICAgICAgICAgdGhpcy5leHRyYWN0KGR0LCBpbnRsLCAid2Vla2RheSIpCiAgICAgICAgICApOwogICAgICAgIH0KICAgICAgICByZXR1cm4gdGhpcy53ZWVrZGF5c0NhY2hlW2Zvcm1hdFN0cl1bbGVuZ3RoXTsKICAgICAgfSk7CiAgICB9CgogICAgbWVyaWRpZW1zKCkgewogICAgICByZXR1cm4gbGlzdFN0dWZmKAogICAgICAgIHRoaXMsCiAgICAgICAgdW5kZWZpbmVkLAogICAgICAgICgpID0+IG1lcmlkaWVtcywKICAgICAgICAoKSA9PiB7CiAgICAgICAgICAvLyBJbiB0aGVvcnkgdGhlcmUgY291bGQgYmUgYXJpYml0cmFyeSBkYXkgcGVyaW9kcy4gV2UncmUgZ29ubmEgYXNzdW1lIHRoZXJlIGFyZSBleGFjdGx5IHR3bwogICAgICAgICAgLy8gZm9yIEFNIGFuZCBQTS4gVGhpcyBpcyBwcm9iYWJseSB3cm9uZywgYnV0IGl0J3MgbWFrZXMgcGFyc2luZyB3YXkgZWFzaWVyLgogICAgICAgICAgaWYgKCF0aGlzLm1lcmlkaWVtQ2FjaGUpIHsKICAgICAgICAgICAgY29uc3QgaW50bCA9IHsgaG91cjogIm51bWVyaWMiLCBob3VyQ3ljbGU6ICJoMTIiIH07CiAgICAgICAgICAgIHRoaXMubWVyaWRpZW1DYWNoZSA9IFtEYXRlVGltZS51dGMoMjAxNiwgMTEsIDEzLCA5KSwgRGF0ZVRpbWUudXRjKDIwMTYsIDExLCAxMywgMTkpXS5tYXAoCiAgICAgICAgICAgICAgKGR0KSA9PiB0aGlzLmV4dHJhY3QoZHQsIGludGwsICJkYXlwZXJpb2QiKQogICAgICAgICAgICApOwogICAgICAgICAgfQoKICAgICAgICAgIHJldHVybiB0aGlzLm1lcmlkaWVtQ2FjaGU7CiAgICAgICAgfQogICAgICApOwogICAgfQoKICAgIGVyYXMobGVuZ3RoKSB7CiAgICAgIHJldHVybiBsaXN0U3R1ZmYodGhpcywgbGVuZ3RoLCBlcmFzLCAoKSA9PiB7CiAgICAgICAgY29uc3QgaW50bCA9IHsgZXJhOiBsZW5ndGggfTsKCiAgICAgICAgLy8gVGhpcyBpcyBwcm9ibGVtYXRpYy4gRGlmZmVyZW50IGNhbGVuZGFycyBhcmUgZ29pbmcgdG8gZGVmaW5lIGVyYXMgdG90YWxseSBkaWZmZXJlbnRseS4gV2hhdCBJIG5lZWQgaXMgdGhlIG1pbmltdW0gc2V0IG9mIGRhdGVzCiAgICAgICAgLy8gdG8gZGVmaW5pdGVseSBlbnVtZXJhdGUgdGhlbS4KICAgICAgICBpZiAoIXRoaXMuZXJhQ2FjaGVbbGVuZ3RoXSkgewogICAgICAgICAgdGhpcy5lcmFDYWNoZVtsZW5ndGhdID0gW0RhdGVUaW1lLnV0YygtNDAsIDEsIDEpLCBEYXRlVGltZS51dGMoMjAxNywgMSwgMSldLm1hcCgoZHQpID0+CiAgICAgICAgICAgIHRoaXMuZXh0cmFjdChkdCwgaW50bCwgImVyYSIpCiAgICAgICAgICApOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHRoaXMuZXJhQ2FjaGVbbGVuZ3RoXTsKICAgICAgfSk7CiAgICB9CgogICAgZXh0cmFjdChkdCwgaW50bE9wdHMsIGZpZWxkKSB7CiAgICAgIGNvbnN0IGRmID0gdGhpcy5kdEZvcm1hdHRlcihkdCwgaW50bE9wdHMpLAogICAgICAgIHJlc3VsdHMgPSBkZi5mb3JtYXRUb1BhcnRzKCksCiAgICAgICAgbWF0Y2hpbmcgPSByZXN1bHRzLmZpbmQoKG0pID0+IG0udHlwZS50b0xvd2VyQ2FzZSgpID09PSBmaWVsZCk7CiAgICAgIHJldHVybiBtYXRjaGluZyA/IG1hdGNoaW5nLnZhbHVlIDogbnVsbDsKICAgIH0KCiAgICBudW1iZXJGb3JtYXR0ZXIob3B0cyA9IHt9KSB7CiAgICAgIC8vIHRoaXMgZm9yY2VzaW1wbGUgb3B0aW9uIGlzIG5ldmVyIHVzZWQgKHRoZSBvbmx5IGNhbGxlciBzaG9ydC1jaXJjdWl0cyBvbiBpdCwgYnV0IGl0IHNlZW1zIHNhZmVyIHRvIGxlYXZlKQogICAgICAvLyAoaW4gY29udHJhc3QsIHRoZSByZXN0IG9mIHRoZSBjb25kaXRpb24gaXMgdXNlZCBoZWF2aWx5KQogICAgICByZXR1cm4gbmV3IFBvbHlOdW1iZXJGb3JtYXR0ZXIodGhpcy5pbnRsLCBvcHRzLmZvcmNlU2ltcGxlIHx8IHRoaXMuZmFzdE51bWJlcnMsIG9wdHMpOwogICAgfQoKICAgIGR0Rm9ybWF0dGVyKGR0LCBpbnRsT3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiBuZXcgUG9seURhdGVGb3JtYXR0ZXIoZHQsIHRoaXMuaW50bCwgaW50bE9wdHMpOwogICAgfQoKICAgIHJlbEZvcm1hdHRlcihvcHRzID0ge30pIHsKICAgICAgcmV0dXJuIG5ldyBQb2x5UmVsRm9ybWF0dGVyKHRoaXMuaW50bCwgdGhpcy5pc0VuZ2xpc2goKSwgb3B0cyk7CiAgICB9CgogICAgbGlzdEZvcm1hdHRlcihvcHRzID0ge30pIHsKICAgICAgcmV0dXJuIGdldENhY2hlZExGKHRoaXMuaW50bCwgb3B0cyk7CiAgICB9CgogICAgaXNFbmdsaXNoKCkgewogICAgICByZXR1cm4gKAogICAgICAgIHRoaXMubG9jYWxlID09PSAiZW4iIHx8CiAgICAgICAgdGhpcy5sb2NhbGUudG9Mb3dlckNhc2UoKSA9PT0gImVuLXVzIiB8fAogICAgICAgIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHRoaXMuaW50bCkucmVzb2x2ZWRPcHRpb25zKCkubG9jYWxlLnN0YXJ0c1dpdGgoImVuLXVzIikKICAgICAgKTsKICAgIH0KCiAgICBlcXVhbHMob3RoZXIpIHsKICAgICAgcmV0dXJuICgKICAgICAgICB0aGlzLmxvY2FsZSA9PT0gb3RoZXIubG9jYWxlICYmCiAgICAgICAgdGhpcy5udW1iZXJpbmdTeXN0ZW0gPT09IG90aGVyLm51bWJlcmluZ1N5c3RlbSAmJgogICAgICAgIHRoaXMub3V0cHV0Q2FsZW5kYXIgPT09IG90aGVyLm91dHB1dENhbGVuZGFyCiAgICAgICk7CiAgICB9CiAgfQoKICBsZXQgc2luZ2xldG9uID0gbnVsbDsKCiAgLyoqCiAgICogQSB6b25lIHdpdGggYSBmaXhlZCBvZmZzZXQgKG1lYW5pbmcgbm8gRFNUKQogICAqIEBpbXBsZW1lbnRzIHtab25lfQogICAqLwogIGNsYXNzIEZpeGVkT2Zmc2V0Wm9uZSBleHRlbmRzIFpvbmUgewogICAgLyoqCiAgICAgKiBHZXQgYSBzaW5nbGV0b24gaW5zdGFuY2Ugb2YgVVRDCiAgICAgKiBAcmV0dXJuIHtGaXhlZE9mZnNldFpvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgdXRjSW5zdGFuY2UoKSB7CiAgICAgIGlmIChzaW5nbGV0b24gPT09IG51bGwpIHsKICAgICAgICBzaW5nbGV0b24gPSBuZXcgRml4ZWRPZmZzZXRab25lKDApOwogICAgICB9CiAgICAgIHJldHVybiBzaW5nbGV0b247CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgYW4gaW5zdGFuY2Ugd2l0aCBhIHNwZWNpZmllZCBvZmZzZXQKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvZmZzZXQgLSBUaGUgb2Zmc2V0IGluIG1pbnV0ZXMKICAgICAqIEByZXR1cm4ge0ZpeGVkT2Zmc2V0Wm9uZX0KICAgICAqLwogICAgc3RhdGljIGluc3RhbmNlKG9mZnNldCkgewogICAgICByZXR1cm4gb2Zmc2V0ID09PSAwID8gRml4ZWRPZmZzZXRab25lLnV0Y0luc3RhbmNlIDogbmV3IEZpeGVkT2Zmc2V0Wm9uZShvZmZzZXQpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IGFuIGluc3RhbmNlIG9mIEZpeGVkT2Zmc2V0Wm9uZSBmcm9tIGEgVVRDIG9mZnNldCBzdHJpbmcsIGxpa2UgIlVUQys2IgogICAgICogQHBhcmFtIHtzdHJpbmd9IHMgLSBUaGUgb2Zmc2V0IHN0cmluZyB0byBwYXJzZQogICAgICogQGV4YW1wbGUgRml4ZWRPZmZzZXRab25lLnBhcnNlU3BlY2lmaWVyKCJVVEMrNiIpCiAgICAgKiBAZXhhbXBsZSBGaXhlZE9mZnNldFpvbmUucGFyc2VTcGVjaWZpZXIoIlVUQyswNiIpCiAgICAgKiBAZXhhbXBsZSBGaXhlZE9mZnNldFpvbmUucGFyc2VTcGVjaWZpZXIoIlVUQy02OjAwIikKICAgICAqIEByZXR1cm4ge0ZpeGVkT2Zmc2V0Wm9uZX0KICAgICAqLwogICAgc3RhdGljIHBhcnNlU3BlY2lmaWVyKHMpIHsKICAgICAgaWYgKHMpIHsKICAgICAgICBjb25zdCByID0gcy5tYXRjaCgvXnV0Yyg/OihbKy1dXGR7MSwyfSkoPzo6KFxkezJ9KSk/KT8kL2kpOwogICAgICAgIGlmIChyKSB7CiAgICAgICAgICByZXR1cm4gbmV3IEZpeGVkT2Zmc2V0Wm9uZShzaWduZWRPZmZzZXQoclsxXSwgclsyXSkpOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBjb25zdHJ1Y3RvcihvZmZzZXQpIHsKICAgICAgc3VwZXIoKTsKICAgICAgLyoqIEBwcml2YXRlICoqLwogICAgICB0aGlzLmZpeGVkID0gb2Zmc2V0OwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgdHlwZSgpIHsKICAgICAgcmV0dXJuICJmaXhlZCI7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCBuYW1lKCkgewogICAgICByZXR1cm4gdGhpcy5maXhlZCA9PT0gMCA/ICJVVEMiIDogYFVUQyR7Zm9ybWF0T2Zmc2V0KHRoaXMuZml4ZWQsICJuYXJyb3ciKX1gOwogICAgfQoKICAgIGdldCBpYW5hTmFtZSgpIHsKICAgICAgaWYgKHRoaXMuZml4ZWQgPT09IDApIHsKICAgICAgICByZXR1cm4gIkV0Yy9VVEMiOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBgRXRjL0dNVCR7Zm9ybWF0T2Zmc2V0KC10aGlzLmZpeGVkLCAibmFycm93Iil9YDsKICAgICAgfQogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBvZmZzZXROYW1lKCkgewogICAgICByZXR1cm4gdGhpcy5uYW1lOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBmb3JtYXRPZmZzZXQodHMsIGZvcm1hdCkgewogICAgICByZXR1cm4gZm9ybWF0T2Zmc2V0KHRoaXMuZml4ZWQsIGZvcm1hdCk7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCBpc1VuaXZlcnNhbCgpIHsKICAgICAgcmV0dXJuIHRydWU7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIG9mZnNldCgpIHsKICAgICAgcmV0dXJuIHRoaXMuZml4ZWQ7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGVxdWFscyhvdGhlclpvbmUpIHsKICAgICAgcmV0dXJuIG90aGVyWm9uZS50eXBlID09PSAiZml4ZWQiICYmIG90aGVyWm9uZS5maXhlZCA9PT0gdGhpcy5maXhlZDsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZ2V0IGlzVmFsaWQoKSB7CiAgICAgIHJldHVybiB0cnVlOwogICAgfQogIH0KCiAgLyoqCiAgICogQSB6b25lIHRoYXQgZmFpbGVkIHRvIHBhcnNlLiBZb3Ugc2hvdWxkIG5ldmVyIG5lZWQgdG8gaW5zdGFudGlhdGUgdGhpcy4KICAgKiBAaW1wbGVtZW50cyB7Wm9uZX0KICAgKi8KICBjbGFzcyBJbnZhbGlkWm9uZSBleHRlbmRzIFpvbmUgewogICAgY29uc3RydWN0b3Ioem9uZU5hbWUpIHsKICAgICAgc3VwZXIoKTsKICAgICAgLyoqICBAcHJpdmF0ZSAqLwogICAgICB0aGlzLnpvbmVOYW1lID0gem9uZU5hbWU7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCB0eXBlKCkgewogICAgICByZXR1cm4gImludmFsaWQiOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBnZXQgbmFtZSgpIHsKICAgICAgcmV0dXJuIHRoaXMuem9uZU5hbWU7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCBpc1VuaXZlcnNhbCgpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIC8qKiBAb3ZlcnJpZGUgKiovCiAgICBvZmZzZXROYW1lKCkgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZm9ybWF0T2Zmc2V0KCkgewogICAgICByZXR1cm4gIiI7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIG9mZnNldCgpIHsKICAgICAgcmV0dXJuIE5hTjsKICAgIH0KCiAgICAvKiogQG92ZXJyaWRlICoqLwogICAgZXF1YWxzKCkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgLyoqIEBvdmVycmlkZSAqKi8KICAgIGdldCBpc1ZhbGlkKCkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICBmdW5jdGlvbiBub3JtYWxpemVab25lKGlucHV0LCBkZWZhdWx0Wm9uZSkgewogICAgaWYgKGlzVW5kZWZpbmVkKGlucHV0KSB8fCBpbnB1dCA9PT0gbnVsbCkgewogICAgICByZXR1cm4gZGVmYXVsdFpvbmU7CiAgICB9IGVsc2UgaWYgKGlucHV0IGluc3RhbmNlb2YgWm9uZSkgewogICAgICByZXR1cm4gaW5wdXQ7CiAgICB9IGVsc2UgaWYgKGlzU3RyaW5nKGlucHV0KSkgewogICAgICBjb25zdCBsb3dlcmVkID0gaW5wdXQudG9Mb3dlckNhc2UoKTsKICAgICAgaWYgKGxvd2VyZWQgPT09ICJkZWZhdWx0IikgcmV0dXJuIGRlZmF1bHRab25lOwogICAgICBlbHNlIGlmIChsb3dlcmVkID09PSAibG9jYWwiIHx8IGxvd2VyZWQgPT09ICJzeXN0ZW0iKSByZXR1cm4gU3lzdGVtWm9uZS5pbnN0YW5jZTsKICAgICAgZWxzZSBpZiAobG93ZXJlZCA9PT0gInV0YyIgfHwgbG93ZXJlZCA9PT0gImdtdCIpIHJldHVybiBGaXhlZE9mZnNldFpvbmUudXRjSW5zdGFuY2U7CiAgICAgIGVsc2UgcmV0dXJuIEZpeGVkT2Zmc2V0Wm9uZS5wYXJzZVNwZWNpZmllcihsb3dlcmVkKSB8fCBJQU5BWm9uZS5jcmVhdGUoaW5wdXQpOwogICAgfSBlbHNlIGlmIChpc051bWJlcihpbnB1dCkpIHsKICAgICAgcmV0dXJuIEZpeGVkT2Zmc2V0Wm9uZS5pbnN0YW5jZShpbnB1dCk7CiAgICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dCA9PT0gIm9iamVjdCIgJiYgIm9mZnNldCIgaW4gaW5wdXQgJiYgdHlwZW9mIGlucHV0Lm9mZnNldCA9PT0gImZ1bmN0aW9uIikgewogICAgICAvLyBUaGlzIGlzIGR1bWIsIGJ1dCB0aGUgaW5zdGFuY2VvZiBjaGVjayBhYm92ZSBkb2Vzbid0IHNlZW0gdG8gcmVhbGx5IHdvcmsKICAgICAgLy8gc28gd2UncmUgZHVjayBjaGVja2luZyBpdAogICAgICByZXR1cm4gaW5wdXQ7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gbmV3IEludmFsaWRab25lKGlucHV0KTsKICAgIH0KICB9CgogIGxldCBub3cgPSAoKSA9PiBEYXRlLm5vdygpLAogICAgZGVmYXVsdFpvbmUgPSAic3lzdGVtIiwKICAgIGRlZmF1bHRMb2NhbGUgPSBudWxsLAogICAgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSA9IG51bGwsCiAgICBkZWZhdWx0T3V0cHV0Q2FsZW5kYXIgPSBudWxsLAogICAgdHdvRGlnaXRDdXRvZmZZZWFyID0gNjAsCiAgICB0aHJvd09uSW52YWxpZDsKCiAgLyoqCiAgICogU2V0dGluZ3MgY29udGFpbnMgc3RhdGljIGdldHRlcnMgYW5kIHNldHRlcnMgdGhhdCBjb250cm9sIEx1eG9uJ3Mgb3ZlcmFsbCBiZWhhdmlvci4gTHV4b24gaXMgYSBzaW1wbGUgbGlicmFyeSB3aXRoIGZldyBvcHRpb25zLCBidXQgdGhlIG9uZXMgaXQgZG9lcyBoYXZlIGxpdmUgaGVyZS4KICAgKi8KICBjbGFzcyBTZXR0aW5ncyB7CiAgICAvKioKICAgICAqIEdldCB0aGUgY2FsbGJhY2sgZm9yIHJldHVybmluZyB0aGUgY3VycmVudCB0aW1lc3RhbXAuCiAgICAgKiBAdHlwZSB7ZnVuY3Rpb259CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgbm93KCkgewogICAgICByZXR1cm4gbm93OwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBjYWxsYmFjayBmb3IgcmV0dXJuaW5nIHRoZSBjdXJyZW50IHRpbWVzdGFtcC4KICAgICAqIFRoZSBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGEgbnVtYmVyLCB3aGljaCB3aWxsIGJlIGludGVycHJldGVkIGFzIGFuIEVwb2NoIG1pbGxpc2Vjb25kIGNvdW50CiAgICAgKiBAdHlwZSB7ZnVuY3Rpb259CiAgICAgKiBAZXhhbXBsZSBTZXR0aW5ncy5ub3cgPSAoKSA9PiBEYXRlLm5vdygpICsgMzAwMCAvLyBwcmV0ZW5kIGl0IGlzIDMgc2Vjb25kcyBpbiB0aGUgZnV0dXJlCiAgICAgKiBAZXhhbXBsZSBTZXR0aW5ncy5ub3cgPSAoKSA9PiAwIC8vIGFsd2F5cyBwcmV0ZW5kIGl0J3MgSmFuIDEsIDE5NzAgYXQgbWlkbmlnaHQgaW4gVVRDIHRpbWUKICAgICAqLwogICAgc3RhdGljIHNldCBub3cobikgewogICAgICBub3cgPSBuOwogICAgfQoKICAgIC8qKgogICAgICogU2V0IHRoZSBkZWZhdWx0IHRpbWUgem9uZSB0byBjcmVhdGUgRGF0ZVRpbWVzIGluLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogVXNlIHRoZSB2YWx1ZSAic3lzdGVtIiB0byByZXNldCB0aGlzIHZhbHVlIHRvIHRoZSBzeXN0ZW0ncyB0aW1lIHpvbmUuCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBzdGF0aWMgc2V0IGRlZmF1bHRab25lKHpvbmUpIHsKICAgICAgZGVmYXVsdFpvbmUgPSB6b25lOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBkZWZhdWx0IHRpbWUgem9uZSBvYmplY3QgY3VycmVudGx5IHVzZWQgdG8gY3JlYXRlIERhdGVUaW1lcy4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy4KICAgICAqIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHRoZSBzeXN0ZW0ncyB0aW1lIHpvbmUgKHRoZSBvbmUgc2V0IG9uIHRoZSBtYWNoaW5lIHRoYXQgcnVucyB0aGlzIGNvZGUpLgogICAgICogQHR5cGUge1pvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgZGVmYXVsdFpvbmUoKSB7CiAgICAgIHJldHVybiBub3JtYWxpemVab25lKGRlZmF1bHRab25lLCBTeXN0ZW1ab25lLmluc3RhbmNlKTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGVmYXVsdCBsb2NhbGUgdG8gY3JlYXRlIERhdGVUaW1lcyB3aXRoLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIGdldCBkZWZhdWx0TG9jYWxlKCkgewogICAgICByZXR1cm4gZGVmYXVsdExvY2FsZTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZGVmYXVsdCBsb2NhbGUgdG8gY3JlYXRlIERhdGVUaW1lcyB3aXRoLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIHNldCBkZWZhdWx0TG9jYWxlKGxvY2FsZSkgewogICAgICBkZWZhdWx0TG9jYWxlID0gbG9jYWxlOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBkZWZhdWx0IG51bWJlcmluZyBzeXN0ZW0gdG8gY3JlYXRlIERhdGVUaW1lcyB3aXRoLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIGdldCBkZWZhdWx0TnVtYmVyaW5nU3lzdGVtKCkgewogICAgICByZXR1cm4gZGVmYXVsdE51bWJlcmluZ1N5c3RlbTsKICAgIH0KCiAgICAvKioKICAgICAqIFNldCB0aGUgZGVmYXVsdCBudW1iZXJpbmcgc3lzdGVtIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy4KICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIHN0YXRpYyBzZXQgZGVmYXVsdE51bWJlcmluZ1N5c3RlbShudW1iZXJpbmdTeXN0ZW0pIHsKICAgICAgZGVmYXVsdE51bWJlcmluZ1N5c3RlbSA9IG51bWJlcmluZ1N5c3RlbTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgZGVmYXVsdCBvdXRwdXQgY2FsZW5kYXIgdG8gY3JlYXRlIERhdGVUaW1lcyB3aXRoLiBEb2VzIG5vdCBhZmZlY3QgZXhpc3RpbmcgaW5zdGFuY2VzLgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgc3RhdGljIGdldCBkZWZhdWx0T3V0cHV0Q2FsZW5kYXIoKSB7CiAgICAgIHJldHVybiBkZWZhdWx0T3V0cHV0Q2FsZW5kYXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGRlZmF1bHQgb3V0cHV0IGNhbGVuZGFyIHRvIGNyZWF0ZSBEYXRlVGltZXMgd2l0aC4gRG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGluc3RhbmNlcy4KICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIHN0YXRpYyBzZXQgZGVmYXVsdE91dHB1dENhbGVuZGFyKG91dHB1dENhbGVuZGFyKSB7CiAgICAgIGRlZmF1bHRPdXRwdXRDYWxlbmRhciA9IG91dHB1dENhbGVuZGFyOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBjdXRvZmYgeWVhciBhZnRlciB3aGljaCBhIHN0cmluZyBlbmNvZGluZyBhIHllYXIgYXMgdHdvIGRpZ2l0cyBpcyBpbnRlcnByZXRlZCB0byBvY2N1ciBpbiB0aGUgY3VycmVudCBjZW50dXJ5LgogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgc3RhdGljIGdldCB0d29EaWdpdEN1dG9mZlllYXIoKSB7CiAgICAgIHJldHVybiB0d29EaWdpdEN1dG9mZlllYXI7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgdGhlIGN1dG9mZiB5ZWFyIGFmdGVyIHdoaWNoIGEgc3RyaW5nIGVuY29kaW5nIGEgeWVhciBhcyB0d28gZGlnaXRzIGlzIGludGVycHJldGVkIHRvIG9jY3VyIGluIHRoZSBjdXJyZW50IGNlbnR1cnkuCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICogQGV4YW1wbGUgU2V0dGluZ3MudHdvRGlnaXRDdXRvZmZZZWFyID0gMCAvLyBjdXQtb2ZmIHllYXIgaXMgMCwgc28gYWxsICd5eScgYXJlIGludGVycHJldGVkIGFzIGN1cnJlbnQgY2VudHVyeQogICAgICogQGV4YW1wbGUgU2V0dGluZ3MudHdvRGlnaXRDdXRvZmZZZWFyID0gNTAgLy8gJzQ5JyAtPiAxOTQ5OyAnNTAnIC0+IDIwNTAKICAgICAqIEBleGFtcGxlIFNldHRpbmdzLnR3b0RpZ2l0Q3V0b2ZmWWVhciA9IDE5NTAgLy8gaW50ZXJwcmV0ZWQgYXMgNTAKICAgICAqIEBleGFtcGxlIFNldHRpbmdzLnR3b0RpZ2l0Q3V0b2ZmWWVhciA9IDIwNTAgLy8gQUxTTyBpbnRlcnByZXRlZCBhcyA1MAogICAgICovCiAgICBzdGF0aWMgc2V0IHR3b0RpZ2l0Q3V0b2ZmWWVhcihjdXRvZmZZZWFyKSB7CiAgICAgIHR3b0RpZ2l0Q3V0b2ZmWWVhciA9IGN1dG9mZlllYXIgJSAxMDA7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgd2hldGhlciBMdXhvbiB3aWxsIHRocm93IHdoZW4gaXQgZW5jb3VudGVycyBpbnZhbGlkIERhdGVUaW1lcywgRHVyYXRpb25zLCBvciBJbnRlcnZhbHMKICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBzdGF0aWMgZ2V0IHRocm93T25JbnZhbGlkKCkgewogICAgICByZXR1cm4gdGhyb3dPbkludmFsaWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBTZXQgd2hldGhlciBMdXhvbiB3aWxsIHRocm93IHdoZW4gaXQgZW5jb3VudGVycyBpbnZhbGlkIERhdGVUaW1lcywgRHVyYXRpb25zLCBvciBJbnRlcnZhbHMKICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBzdGF0aWMgc2V0IHRocm93T25JbnZhbGlkKHQpIHsKICAgICAgdGhyb3dPbkludmFsaWQgPSB0OwogICAgfQoKICAgIC8qKgogICAgICogUmVzZXQgTHV4b24ncyBnbG9iYWwgY2FjaGVzLiBTaG91bGQgb25seSBiZSBuZWNlc3NhcnkgaW4gdGVzdGluZyBzY2VuYXJpb3MuCiAgICAgKiBAcmV0dXJuIHt2b2lkfQogICAgICovCiAgICBzdGF0aWMgcmVzZXRDYWNoZXMoKSB7CiAgICAgIExvY2FsZS5yZXNldENhY2hlKCk7CiAgICAgIElBTkFab25lLnJlc2V0Q2FjaGUoKTsKICAgIH0KICB9CgogIC8qCiAgICBUaGlzIGlzIGp1c3QgYSBqdW5rIGRyYXdlciwgY29udGFpbmluZyBhbnl0aGluZyB1c2VkIGFjcm9zcyBtdWx0aXBsZSBjbGFzc2VzLgogICAgQmVjYXVzZSBMdXhvbiBpcyBzbWFsbChpc2gpLCB0aGlzIHNob3VsZCBzdGF5IHNtYWxsIGFuZCB3ZSB3b24ndCB3b3JyeSBhYm91dCBzcGxpdHRpbmcKICAgIGl0IHVwIGludG8sIHNheSwgcGFyc2luZ1V0aWwuanMgYW5kIGJhc2ljVXRpbC5qcyBhbmQgc28gb24uIEJ1dCB0aGV5IGFyZSBkaXZpZGVkIHVwIGJ5IGZlYXR1cmUgYXJlYS4KICAqLwoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICAvLyBUWVBFUwoKICBmdW5jdGlvbiBpc1VuZGVmaW5lZChvKSB7CiAgICByZXR1cm4gdHlwZW9mIG8gPT09ICJ1bmRlZmluZWQiOwogIH0KCiAgZnVuY3Rpb24gaXNOdW1iZXIobykgewogICAgcmV0dXJuIHR5cGVvZiBvID09PSAibnVtYmVyIjsKICB9CgogIGZ1bmN0aW9uIGlzSW50ZWdlcihvKSB7CiAgICByZXR1cm4gdHlwZW9mIG8gPT09ICJudW1iZXIiICYmIG8gJSAxID09PSAwOwogIH0KCiAgZnVuY3Rpb24gaXNTdHJpbmcobykgewogICAgcmV0dXJuIHR5cGVvZiBvID09PSAic3RyaW5nIjsKICB9CgogIGZ1bmN0aW9uIGlzRGF0ZShvKSB7CiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pID09PSAiW29iamVjdCBEYXRlXSI7CiAgfQoKICAvLyBDQVBBQklMSVRJRVMKCiAgZnVuY3Rpb24gaGFzUmVsYXRpdmUoKSB7CiAgICB0cnkgewogICAgICByZXR1cm4gdHlwZW9mIEludGwgIT09ICJ1bmRlZmluZWQiICYmICEhSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQ7CiAgICB9IGNhdGNoIChlKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICB9CgogIC8vIE9CSkVDVFMgQU5EIEFSUkFZUwoKICBmdW5jdGlvbiBtYXliZUFycmF5KHRoaW5nKSB7CiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGluZykgPyB0aGluZyA6IFt0aGluZ107CiAgfQoKICBmdW5jdGlvbiBiZXN0QnkoYXJyLCBieSwgY29tcGFyZSkgewogICAgaWYgKGFyci5sZW5ndGggPT09IDApIHsKICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgIH0KICAgIHJldHVybiBhcnIucmVkdWNlKChiZXN0LCBuZXh0KSA9PiB7CiAgICAgIGNvbnN0IHBhaXIgPSBbYnkobmV4dCksIG5leHRdOwogICAgICBpZiAoIWJlc3QpIHsKICAgICAgICByZXR1cm4gcGFpcjsKICAgICAgfSBlbHNlIGlmIChjb21wYXJlKGJlc3RbMF0sIHBhaXJbMF0pID09PSBiZXN0WzBdKSB7CiAgICAgICAgcmV0dXJuIGJlc3Q7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHBhaXI7CiAgICAgIH0KICAgIH0sIG51bGwpWzFdOwogIH0KCiAgZnVuY3Rpb24gcGljayhvYmosIGtleXMpIHsKICAgIHJldHVybiBrZXlzLnJlZHVjZSgoYSwgaykgPT4gewogICAgICBhW2tdID0gb2JqW2tdOwogICAgICByZXR1cm4gYTsKICAgIH0sIHt9KTsKICB9CgogIGZ1bmN0aW9uIGhhc093blByb3BlcnR5KG9iaiwgcHJvcCkgewogICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIHByb3ApOwogIH0KCiAgLy8gTlVNQkVSUyBBTkQgU1RSSU5HUwoKICBmdW5jdGlvbiBpbnRlZ2VyQmV0d2Vlbih0aGluZywgYm90dG9tLCB0b3ApIHsKICAgIHJldHVybiBpc0ludGVnZXIodGhpbmcpICYmIHRoaW5nID49IGJvdHRvbSAmJiB0aGluZyA8PSB0b3A7CiAgfQoKICAvLyB4ICUgbiBidXQgdGFrZXMgdGhlIHNpZ24gb2YgbiBpbnN0ZWFkIG9mIHgKICBmdW5jdGlvbiBmbG9vck1vZCh4LCBuKSB7CiAgICByZXR1cm4geCAtIG4gKiBNYXRoLmZsb29yKHggLyBuKTsKICB9CgogIGZ1bmN0aW9uIHBhZFN0YXJ0KGlucHV0LCBuID0gMikgewogICAgY29uc3QgaXNOZWcgPSBpbnB1dCA8IDA7CiAgICBsZXQgcGFkZGVkOwogICAgaWYgKGlzTmVnKSB7CiAgICAgIHBhZGRlZCA9ICItIiArICgiIiArIC1pbnB1dCkucGFkU3RhcnQobiwgIjAiKTsKICAgIH0gZWxzZSB7CiAgICAgIHBhZGRlZCA9ICgiIiArIGlucHV0KS5wYWRTdGFydChuLCAiMCIpOwogICAgfQogICAgcmV0dXJuIHBhZGRlZDsKICB9CgogIGZ1bmN0aW9uIHBhcnNlSW50ZWdlcihzdHJpbmcpIHsKICAgIGlmIChpc1VuZGVmaW5lZChzdHJpbmcpIHx8IHN0cmluZyA9PT0gbnVsbCB8fCBzdHJpbmcgPT09ICIiKSB7CiAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gcGFyc2VJbnQoc3RyaW5nLCAxMCk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBwYXJzZUZsb2F0aW5nKHN0cmluZykgewogICAgaWYgKGlzVW5kZWZpbmVkKHN0cmluZykgfHwgc3RyaW5nID09PSBudWxsIHx8IHN0cmluZyA9PT0gIiIpIHsKICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBwYXJzZUZsb2F0KHN0cmluZyk7CiAgICB9CiAgfQoKICBmdW5jdGlvbiBwYXJzZU1pbGxpcyhmcmFjdGlvbikgewogICAgLy8gUmV0dXJuIHVuZGVmaW5lZCAoaW5zdGVhZCBvZiAwKSBpbiB0aGVzZSBjYXNlcywgd2hlcmUgZnJhY3Rpb24gaXMgbm90IHNldAogICAgaWYgKGlzVW5kZWZpbmVkKGZyYWN0aW9uKSB8fCBmcmFjdGlvbiA9PT0gbnVsbCB8fCBmcmFjdGlvbiA9PT0gIiIpIHsKICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgIH0gZWxzZSB7CiAgICAgIGNvbnN0IGYgPSBwYXJzZUZsb2F0KCIwLiIgKyBmcmFjdGlvbikgKiAxMDAwOwogICAgICByZXR1cm4gTWF0aC5mbG9vcihmKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHJvdW5kVG8obnVtYmVyLCBkaWdpdHMsIHRvd2FyZFplcm8gPSBmYWxzZSkgewogICAgY29uc3QgZmFjdG9yID0gMTAgKiogZGlnaXRzLAogICAgICByb3VuZGVyID0gdG93YXJkWmVybyA/IE1hdGgudHJ1bmMgOiBNYXRoLnJvdW5kOwogICAgcmV0dXJuIHJvdW5kZXIobnVtYmVyICogZmFjdG9yKSAvIGZhY3RvcjsKICB9CgogIC8vIERBVEUgQkFTSUNTCgogIGZ1bmN0aW9uIGlzTGVhcFllYXIoeWVhcikgewogICAgcmV0dXJuIHllYXIgJSA0ID09PSAwICYmICh5ZWFyICUgMTAwICE9PSAwIHx8IHllYXIgJSA0MDAgPT09IDApOwogIH0KCiAgZnVuY3Rpb24gZGF5c0luWWVhcih5ZWFyKSB7CiAgICByZXR1cm4gaXNMZWFwWWVhcih5ZWFyKSA/IDM2NiA6IDM2NTsKICB9CgogIGZ1bmN0aW9uIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSB7CiAgICBjb25zdCBtb2RNb250aCA9IGZsb29yTW9kKG1vbnRoIC0gMSwgMTIpICsgMSwKICAgICAgbW9kWWVhciA9IHllYXIgKyAobW9udGggLSBtb2RNb250aCkgLyAxMjsKCiAgICBpZiAobW9kTW9udGggPT09IDIpIHsKICAgICAgcmV0dXJuIGlzTGVhcFllYXIobW9kWWVhcikgPyAyOSA6IDI4OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIFszMSwgbnVsbCwgMzEsIDMwLCAzMSwgMzAsIDMxLCAzMSwgMzAsIDMxLCAzMCwgMzFdW21vZE1vbnRoIC0gMV07CiAgICB9CiAgfQoKICAvLyBjb252ZXJ0IGEgY2FsZW5kYXIgb2JqZWN0IHRvIGEgbG9jYWwgdGltZXN0YW1wIChlcG9jaCwgYnV0IHdpdGggdGhlIG9mZnNldCBiYWtlZCBpbikKICBmdW5jdGlvbiBvYmpUb0xvY2FsVFMob2JqKSB7CiAgICBsZXQgZCA9IERhdGUuVVRDKAogICAgICBvYmoueWVhciwKICAgICAgb2JqLm1vbnRoIC0gMSwKICAgICAgb2JqLmRheSwKICAgICAgb2JqLmhvdXIsCiAgICAgIG9iai5taW51dGUsCiAgICAgIG9iai5zZWNvbmQsCiAgICAgIG9iai5taWxsaXNlY29uZAogICAgKTsKCiAgICAvLyBmb3IgbGVnYWN5IHJlYXNvbnMsIHllYXJzIGJldHdlZW4gMCBhbmQgOTkgYXJlIGludGVycHJldGVkIGFzIDE5WFg7IHJldmVydCB0aGF0CiAgICBpZiAob2JqLnllYXIgPCAxMDAgJiYgb2JqLnllYXIgPj0gMCkgewogICAgICBkID0gbmV3IERhdGUoZCk7CiAgICAgIC8vIHNldCB0aGUgbW9udGggYW5kIGRheSBhZ2FpbiwgdGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSB5ZWFyIDIwMDAgaXMgYSBsZWFwIHllYXIsIGJ1dCB5ZWFyIDEwMCBpcyBub3QKICAgICAgLy8gc28gaWYgb2JqLnllYXIgaXMgaW4gOTksIGJ1dCBvYmouZGF5IG1ha2VzIGl0IHJvbGwgb3ZlciBpbnRvIHllYXIgMTAwLAogICAgICAvLyB0aGUgY2FsY3VsYXRpb25zIGRvbmUgYnkgRGF0ZS5VVEMgYXJlIHVzaW5nIHllYXIgMjAwMCAtIHdoaWNoIGlzIGluY29ycmVjdAogICAgICBkLnNldFVUQ0Z1bGxZZWFyKG9iai55ZWFyLCBvYmoubW9udGggLSAxLCBvYmouZGF5KTsKICAgIH0KICAgIHJldHVybiArZDsKICB9CgogIGZ1bmN0aW9uIHdlZWtzSW5XZWVrWWVhcih3ZWVrWWVhcikgewogICAgY29uc3QgcDEgPQogICAgICAgICh3ZWVrWWVhciArCiAgICAgICAgICBNYXRoLmZsb29yKHdlZWtZZWFyIC8gNCkgLQogICAgICAgICAgTWF0aC5mbG9vcih3ZWVrWWVhciAvIDEwMCkgKwogICAgICAgICAgTWF0aC5mbG9vcih3ZWVrWWVhciAvIDQwMCkpICUKICAgICAgICA3LAogICAgICBsYXN0ID0gd2Vla1llYXIgLSAxLAogICAgICBwMiA9IChsYXN0ICsgTWF0aC5mbG9vcihsYXN0IC8gNCkgLSBNYXRoLmZsb29yKGxhc3QgLyAxMDApICsgTWF0aC5mbG9vcihsYXN0IC8gNDAwKSkgJSA3OwogICAgcmV0dXJuIHAxID09PSA0IHx8IHAyID09PSAzID8gNTMgOiA1MjsKICB9CgogIGZ1bmN0aW9uIHVudHJ1bmNhdGVZZWFyKHllYXIpIHsKICAgIGlmICh5ZWFyID4gOTkpIHsKICAgICAgcmV0dXJuIHllYXI7CiAgICB9IGVsc2UgcmV0dXJuIHllYXIgPiBTZXR0aW5ncy50d29EaWdpdEN1dG9mZlllYXIgPyAxOTAwICsgeWVhciA6IDIwMDAgKyB5ZWFyOwogIH0KCiAgLy8gUEFSU0lORwoKICBmdW5jdGlvbiBwYXJzZVpvbmVJbmZvKHRzLCBvZmZzZXRGb3JtYXQsIGxvY2FsZSwgdGltZVpvbmUgPSBudWxsKSB7CiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUodHMpLAogICAgICBpbnRsT3B0cyA9IHsKICAgICAgICBob3VyQ3ljbGU6ICJoMjMiLAogICAgICAgIHllYXI6ICJudW1lcmljIiwKICAgICAgICBtb250aDogIjItZGlnaXQiLAogICAgICAgIGRheTogIjItZGlnaXQiLAogICAgICAgIGhvdXI6ICIyLWRpZ2l0IiwKICAgICAgICBtaW51dGU6ICIyLWRpZ2l0IiwKICAgICAgfTsKCiAgICBpZiAodGltZVpvbmUpIHsKICAgICAgaW50bE9wdHMudGltZVpvbmUgPSB0aW1lWm9uZTsKICAgIH0KCiAgICBjb25zdCBtb2RpZmllZCA9IHsgdGltZVpvbmVOYW1lOiBvZmZzZXRGb3JtYXQsIC4uLmludGxPcHRzIH07CgogICAgY29uc3QgcGFyc2VkID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobG9jYWxlLCBtb2RpZmllZCkKICAgICAgLmZvcm1hdFRvUGFydHMoZGF0ZSkKICAgICAgLmZpbmQoKG0pID0+IG0udHlwZS50b0xvd2VyQ2FzZSgpID09PSAidGltZXpvbmVuYW1lIik7CiAgICByZXR1cm4gcGFyc2VkID8gcGFyc2VkLnZhbHVlIDogbnVsbDsKICB9CgogIC8vIHNpZ25lZE9mZnNldCgnLTUnLCAnMzAnKSAtPiAtMzMwCiAgZnVuY3Rpb24gc2lnbmVkT2Zmc2V0KG9mZkhvdXJTdHIsIG9mZk1pbnV0ZVN0cikgewogICAgbGV0IG9mZkhvdXIgPSBwYXJzZUludChvZmZIb3VyU3RyLCAxMCk7CgogICAgLy8gZG9uJ3QgfHwgdGhpcyBiZWNhdXNlIHdlIHdhbnQgdG8gcHJlc2VydmUgLTAKICAgIGlmIChOdW1iZXIuaXNOYU4ob2ZmSG91cikpIHsKICAgICAgb2ZmSG91ciA9IDA7CiAgICB9CgogICAgY29uc3Qgb2ZmTWluID0gcGFyc2VJbnQob2ZmTWludXRlU3RyLCAxMCkgfHwgMCwKICAgICAgb2ZmTWluU2lnbmVkID0gb2ZmSG91ciA8IDAgfHwgT2JqZWN0LmlzKG9mZkhvdXIsIC0wKSA/IC1vZmZNaW4gOiBvZmZNaW47CiAgICByZXR1cm4gb2ZmSG91ciAqIDYwICsgb2ZmTWluU2lnbmVkOwogIH0KCiAgLy8gQ09FUkNJT04KCiAgZnVuY3Rpb24gYXNOdW1iZXIodmFsdWUpIHsKICAgIGNvbnN0IG51bWVyaWNWYWx1ZSA9IE51bWJlcih2YWx1ZSk7CiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAiYm9vbGVhbiIgfHwgdmFsdWUgPT09ICIiIHx8IE51bWJlci5pc05hTihudW1lcmljVmFsdWUpKQogICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoYEludmFsaWQgdW5pdCB2YWx1ZSAke3ZhbHVlfWApOwogICAgcmV0dXJuIG51bWVyaWNWYWx1ZTsKICB9CgogIGZ1bmN0aW9uIG5vcm1hbGl6ZU9iamVjdChvYmosIG5vcm1hbGl6ZXIpIHsKICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB7fTsKICAgIGZvciAoY29uc3QgdSBpbiBvYmopIHsKICAgICAgaWYgKGhhc093blByb3BlcnR5KG9iaiwgdSkpIHsKICAgICAgICBjb25zdCB2ID0gb2JqW3VdOwogICAgICAgIGlmICh2ID09PSB1bmRlZmluZWQgfHwgdiA9PT0gbnVsbCkgY29udGludWU7CiAgICAgICAgbm9ybWFsaXplZFtub3JtYWxpemVyKHUpXSA9IGFzTnVtYmVyKHYpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gbm9ybWFsaXplZDsKICB9CgogIGZ1bmN0aW9uIGZvcm1hdE9mZnNldChvZmZzZXQsIGZvcm1hdCkgewogICAgY29uc3QgaG91cnMgPSBNYXRoLnRydW5jKE1hdGguYWJzKG9mZnNldCAvIDYwKSksCiAgICAgIG1pbnV0ZXMgPSBNYXRoLnRydW5jKE1hdGguYWJzKG9mZnNldCAlIDYwKSksCiAgICAgIHNpZ24gPSBvZmZzZXQgPj0gMCA/ICIrIiA6ICItIjsKCiAgICBzd2l0Y2ggKGZvcm1hdCkgewogICAgICBjYXNlICJzaG9ydCI6CiAgICAgICAgcmV0dXJuIGAke3NpZ259JHtwYWRTdGFydChob3VycywgMil9OiR7cGFkU3RhcnQobWludXRlcywgMil9YDsKICAgICAgY2FzZSAibmFycm93IjoKICAgICAgICByZXR1cm4gYCR7c2lnbn0ke2hvdXJzfSR7bWludXRlcyA+IDAgPyBgOiR7bWludXRlc31gIDogIiJ9YDsKICAgICAgY2FzZSAidGVjaGllIjoKICAgICAgICByZXR1cm4gYCR7c2lnbn0ke3BhZFN0YXJ0KGhvdXJzLCAyKX0ke3BhZFN0YXJ0KG1pbnV0ZXMsIDIpfWA7CiAgICAgIGRlZmF1bHQ6CiAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFZhbHVlIGZvcm1hdCAke2Zvcm1hdH0gaXMgb3V0IG9mIHJhbmdlIGZvciBwcm9wZXJ0eSBmb3JtYXRgKTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIHRpbWVPYmplY3Qob2JqKSB7CiAgICByZXR1cm4gcGljayhvYmosIFsiaG91ciIsICJtaW51dGUiLCAic2Vjb25kIiwgIm1pbGxpc2Vjb25kIl0pOwogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KCiAgY29uc3QgbW9udGhzTG9uZyA9IFsKICAgICJKYW51YXJ5IiwKICAgICJGZWJydWFyeSIsCiAgICAiTWFyY2giLAogICAgIkFwcmlsIiwKICAgICJNYXkiLAogICAgIkp1bmUiLAogICAgIkp1bHkiLAogICAgIkF1Z3VzdCIsCiAgICAiU2VwdGVtYmVyIiwKICAgICJPY3RvYmVyIiwKICAgICJOb3ZlbWJlciIsCiAgICAiRGVjZW1iZXIiLAogIF07CgogIGNvbnN0IG1vbnRoc1Nob3J0ID0gWwogICAgIkphbiIsCiAgICAiRmViIiwKICAgICJNYXIiLAogICAgIkFwciIsCiAgICAiTWF5IiwKICAgICJKdW4iLAogICAgIkp1bCIsCiAgICAiQXVnIiwKICAgICJTZXAiLAogICAgIk9jdCIsCiAgICAiTm92IiwKICAgICJEZWMiLAogIF07CgogIGNvbnN0IG1vbnRoc05hcnJvdyA9IFsiSiIsICJGIiwgIk0iLCAiQSIsICJNIiwgIkoiLCAiSiIsICJBIiwgIlMiLCAiTyIsICJOIiwgIkQiXTsKCiAgZnVuY3Rpb24gbW9udGhzKGxlbmd0aCkgewogICAgc3dpdGNoIChsZW5ndGgpIHsKICAgICAgY2FzZSAibmFycm93IjoKICAgICAgICByZXR1cm4gWy4uLm1vbnRoc05hcnJvd107CiAgICAgIGNhc2UgInNob3J0IjoKICAgICAgICByZXR1cm4gWy4uLm1vbnRoc1Nob3J0XTsKICAgICAgY2FzZSAibG9uZyI6CiAgICAgICAgcmV0dXJuIFsuLi5tb250aHNMb25nXTsKICAgICAgY2FzZSAibnVtZXJpYyI6CiAgICAgICAgcmV0dXJuIFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyIsICI4IiwgIjkiLCAiMTAiLCAiMTEiLCAiMTIiXTsKICAgICAgY2FzZSAiMi1kaWdpdCI6CiAgICAgICAgcmV0dXJuIFsiMDEiLCAiMDIiLCAiMDMiLCAiMDQiLCAiMDUiLCAiMDYiLCAiMDciLCAiMDgiLCAiMDkiLCAiMTAiLCAiMTEiLCAiMTIiXTsKICAgICAgZGVmYXVsdDoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CgogIGNvbnN0IHdlZWtkYXlzTG9uZyA9IFsKICAgICJNb25kYXkiLAogICAgIlR1ZXNkYXkiLAogICAgIldlZG5lc2RheSIsCiAgICAiVGh1cnNkYXkiLAogICAgIkZyaWRheSIsCiAgICAiU2F0dXJkYXkiLAogICAgIlN1bmRheSIsCiAgXTsKCiAgY29uc3Qgd2Vla2RheXNTaG9ydCA9IFsiTW9uIiwgIlR1ZSIsICJXZWQiLCAiVGh1IiwgIkZyaSIsICJTYXQiLCAiU3VuIl07CgogIGNvbnN0IHdlZWtkYXlzTmFycm93ID0gWyJNIiwgIlQiLCAiVyIsICJUIiwgIkYiLCAiUyIsICJTIl07CgogIGZ1bmN0aW9uIHdlZWtkYXlzKGxlbmd0aCkgewogICAgc3dpdGNoIChsZW5ndGgpIHsKICAgICAgY2FzZSAibmFycm93IjoKICAgICAgICByZXR1cm4gWy4uLndlZWtkYXlzTmFycm93XTsKICAgICAgY2FzZSAic2hvcnQiOgogICAgICAgIHJldHVybiBbLi4ud2Vla2RheXNTaG9ydF07CiAgICAgIGNhc2UgImxvbmciOgogICAgICAgIHJldHVybiBbLi4ud2Vla2RheXNMb25nXTsKICAgICAgY2FzZSAibnVtZXJpYyI6CiAgICAgICAgcmV0dXJuIFsiMSIsICIyIiwgIjMiLCAiNCIsICI1IiwgIjYiLCAiNyJdOwogICAgICBkZWZhdWx0OgogICAgICAgIHJldHVybiBudWxsOwogICAgfQogIH0KCiAgY29uc3QgbWVyaWRpZW1zID0gWyJBTSIsICJQTSJdOwoKICBjb25zdCBlcmFzTG9uZyA9IFsiQmVmb3JlIENocmlzdCIsICJBbm5vIERvbWluaSJdOwoKICBjb25zdCBlcmFzU2hvcnQgPSBbIkJDIiwgIkFEIl07CgogIGNvbnN0IGVyYXNOYXJyb3cgPSBbIkIiLCAiQSJdOwoKICBmdW5jdGlvbiBlcmFzKGxlbmd0aCkgewogICAgc3dpdGNoIChsZW5ndGgpIHsKICAgICAgY2FzZSAibmFycm93IjoKICAgICAgICByZXR1cm4gWy4uLmVyYXNOYXJyb3ddOwogICAgICBjYXNlICJzaG9ydCI6CiAgICAgICAgcmV0dXJuIFsuLi5lcmFzU2hvcnRdOwogICAgICBjYXNlICJsb25nIjoKICAgICAgICByZXR1cm4gWy4uLmVyYXNMb25nXTsKICAgICAgZGVmYXVsdDoKICAgICAgICByZXR1cm4gbnVsbDsKICAgIH0KICB9CgogIGZ1bmN0aW9uIG1lcmlkaWVtRm9yRGF0ZVRpbWUoZHQpIHsKICAgIHJldHVybiBtZXJpZGllbXNbZHQuaG91ciA8IDEyID8gMCA6IDFdOwogIH0KCiAgZnVuY3Rpb24gd2Vla2RheUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpIHsKICAgIHJldHVybiB3ZWVrZGF5cyhsZW5ndGgpW2R0LndlZWtkYXkgLSAxXTsKICB9CgogIGZ1bmN0aW9uIG1vbnRoRm9yRGF0ZVRpbWUoZHQsIGxlbmd0aCkgewogICAgcmV0dXJuIG1vbnRocyhsZW5ndGgpW2R0Lm1vbnRoIC0gMV07CiAgfQoKICBmdW5jdGlvbiBlcmFGb3JEYXRlVGltZShkdCwgbGVuZ3RoKSB7CiAgICByZXR1cm4gZXJhcyhsZW5ndGgpW2R0LnllYXIgPCAwID8gMCA6IDFdOwogIH0KCiAgZnVuY3Rpb24gZm9ybWF0UmVsYXRpdmVUaW1lKHVuaXQsIGNvdW50LCBudW1lcmljID0gImFsd2F5cyIsIG5hcnJvdyA9IGZhbHNlKSB7CiAgICBjb25zdCB1bml0cyA9IHsKICAgICAgeWVhcnM6IFsieWVhciIsICJ5ci4iXSwKICAgICAgcXVhcnRlcnM6IFsicXVhcnRlciIsICJxdHIuIl0sCiAgICAgIG1vbnRoczogWyJtb250aCIsICJtby4iXSwKICAgICAgd2Vla3M6IFsid2VlayIsICJ3ay4iXSwKICAgICAgZGF5czogWyJkYXkiLCAiZGF5IiwgImRheXMiXSwKICAgICAgaG91cnM6IFsiaG91ciIsICJoci4iXSwKICAgICAgbWludXRlczogWyJtaW51dGUiLCAibWluLiJdLAogICAgICBzZWNvbmRzOiBbInNlY29uZCIsICJzZWMuIl0sCiAgICB9OwoKICAgIGNvbnN0IGxhc3RhYmxlID0gWyJob3VycyIsICJtaW51dGVzIiwgInNlY29uZHMiXS5pbmRleE9mKHVuaXQpID09PSAtMTsKCiAgICBpZiAobnVtZXJpYyA9PT0gImF1dG8iICYmIGxhc3RhYmxlKSB7CiAgICAgIGNvbnN0IGlzRGF5ID0gdW5pdCA9PT0gImRheXMiOwogICAgICBzd2l0Y2ggKGNvdW50KSB7CiAgICAgICAgY2FzZSAxOgogICAgICAgICAgcmV0dXJuIGlzRGF5ID8gInRvbW9ycm93IiA6IGBuZXh0ICR7dW5pdHNbdW5pdF1bMF19YDsKICAgICAgICBjYXNlIC0xOgogICAgICAgICAgcmV0dXJuIGlzRGF5ID8gInllc3RlcmRheSIgOiBgbGFzdCAke3VuaXRzW3VuaXRdWzBdfWA7CiAgICAgICAgY2FzZSAwOgogICAgICAgICAgcmV0dXJuIGlzRGF5ID8gInRvZGF5IiA6IGB0aGlzICR7dW5pdHNbdW5pdF1bMF19YDsKICAgICAgfQogICAgfQoKICAgIGNvbnN0IGlzSW5QYXN0ID0gT2JqZWN0LmlzKGNvdW50LCAtMCkgfHwgY291bnQgPCAwLAogICAgICBmbXRWYWx1ZSA9IE1hdGguYWJzKGNvdW50KSwKICAgICAgc2luZ3VsYXIgPSBmbXRWYWx1ZSA9PT0gMSwKICAgICAgbGlsVW5pdHMgPSB1bml0c1t1bml0XSwKICAgICAgZm10VW5pdCA9IG5hcnJvdwogICAgICAgID8gc2luZ3VsYXIKICAgICAgICAgID8gbGlsVW5pdHNbMV0KICAgICAgICAgIDogbGlsVW5pdHNbMl0gfHwgbGlsVW5pdHNbMV0KICAgICAgICA6IHNpbmd1bGFyCiAgICAgICAgPyB1bml0c1t1bml0XVswXQogICAgICAgIDogdW5pdDsKICAgIHJldHVybiBpc0luUGFzdCA/IGAke2ZtdFZhbHVlfSAke2ZtdFVuaXR9IGFnb2AgOiBgaW4gJHtmbXRWYWx1ZX0gJHtmbXRVbml0fWA7CiAgfQoKICBmdW5jdGlvbiBzdHJpbmdpZnlUb2tlbnMoc3BsaXRzLCB0b2tlblRvU3RyaW5nKSB7CiAgICBsZXQgcyA9ICIiOwogICAgZm9yIChjb25zdCB0b2tlbiBvZiBzcGxpdHMpIHsKICAgICAgaWYgKHRva2VuLmxpdGVyYWwpIHsKICAgICAgICBzICs9IHRva2VuLnZhbDsKICAgICAgfSBlbHNlIHsKICAgICAgICBzICs9IHRva2VuVG9TdHJpbmcodG9rZW4udmFsKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHM7CiAgfQoKICBjb25zdCBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzID0gewogICAgRDogREFURV9TSE9SVCwKICAgIEREOiBEQVRFX01FRCwKICAgIERERDogREFURV9GVUxMLAogICAgRERERDogREFURV9IVUdFLAogICAgdDogVElNRV9TSU1QTEUsCiAgICB0dDogVElNRV9XSVRIX1NFQ09ORFMsCiAgICB0dHQ6IFRJTUVfV0lUSF9TSE9SVF9PRkZTRVQsCiAgICB0dHR0OiBUSU1FX1dJVEhfTE9OR19PRkZTRVQsCiAgICBUOiBUSU1FXzI0X1NJTVBMRSwKICAgIFRUOiBUSU1FXzI0X1dJVEhfU0VDT05EUywKICAgIFRUVDogVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVCwKICAgIFRUVFQ6IFRJTUVfMjRfV0lUSF9MT05HX09GRlNFVCwKICAgIGY6IERBVEVUSU1FX1NIT1JULAogICAgZmY6IERBVEVUSU1FX01FRCwKICAgIGZmZjogREFURVRJTUVfRlVMTCwKICAgIGZmZmY6IERBVEVUSU1FX0hVR0UsCiAgICBGOiBEQVRFVElNRV9TSE9SVF9XSVRIX1NFQ09ORFMsCiAgICBGRjogREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUywKICAgIEZGRjogREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMsCiAgICBGRkZGOiBEQVRFVElNRV9IVUdFX1dJVEhfU0VDT05EUywKICB9OwoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICBjbGFzcyBGb3JtYXR0ZXIgewogICAgc3RhdGljIGNyZWF0ZShsb2NhbGUsIG9wdHMgPSB7fSkgewogICAgICByZXR1cm4gbmV3IEZvcm1hdHRlcihsb2NhbGUsIG9wdHMpOwogICAgfQoKICAgIHN0YXRpYyBwYXJzZUZvcm1hdChmbXQpIHsKICAgICAgLy8gd2hpdGUtc3BhY2UgaXMgYWx3YXlzIGNvbnNpZGVyZWQgYSBsaXRlcmFsIGluIHVzZXItcHJvdmlkZWQgZm9ybWF0cwogICAgICAvLyB0aGUgIiAiIHRva2VuIGhhcyBhIHNwZWNpYWwgbWVhbmluZyAoc2VlIHVuaXRGb3JUb2tlbikKCiAgICAgIGxldCBjdXJyZW50ID0gbnVsbCwKICAgICAgICBjdXJyZW50RnVsbCA9ICIiLAogICAgICAgIGJyYWNrZXRlZCA9IGZhbHNlOwogICAgICBjb25zdCBzcGxpdHMgPSBbXTsKICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmbXQubGVuZ3RoOyBpKyspIHsKICAgICAgICBjb25zdCBjID0gZm10LmNoYXJBdChpKTsKICAgICAgICBpZiAoYyA9PT0gIiciKSB7CiAgICAgICAgICBpZiAoY3VycmVudEZ1bGwubGVuZ3RoID4gMCkgewogICAgICAgICAgICBzcGxpdHMucHVzaCh7IGxpdGVyYWw6IGJyYWNrZXRlZCB8fCAvXlxzKyQvLnRlc3QoY3VycmVudEZ1bGwpLCB2YWw6IGN1cnJlbnRGdWxsIH0pOwogICAgICAgICAgfQogICAgICAgICAgY3VycmVudCA9IG51bGw7CiAgICAgICAgICBjdXJyZW50RnVsbCA9ICIiOwogICAgICAgICAgYnJhY2tldGVkID0gIWJyYWNrZXRlZDsKICAgICAgICB9IGVsc2UgaWYgKGJyYWNrZXRlZCkgewogICAgICAgICAgY3VycmVudEZ1bGwgKz0gYzsKICAgICAgICB9IGVsc2UgaWYgKGMgPT09IGN1cnJlbnQpIHsKICAgICAgICAgIGN1cnJlbnRGdWxsICs9IGM7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGlmIChjdXJyZW50RnVsbC5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgIHNwbGl0cy5wdXNoKHsgbGl0ZXJhbDogL15ccyskLy50ZXN0KGN1cnJlbnRGdWxsKSwgdmFsOiBjdXJyZW50RnVsbCB9KTsKICAgICAgICAgIH0KICAgICAgICAgIGN1cnJlbnRGdWxsID0gYzsKICAgICAgICAgIGN1cnJlbnQgPSBjOwogICAgICAgIH0KICAgICAgfQoKICAgICAgaWYgKGN1cnJlbnRGdWxsLmxlbmd0aCA+IDApIHsKICAgICAgICBzcGxpdHMucHVzaCh7IGxpdGVyYWw6IGJyYWNrZXRlZCB8fCAvXlxzKyQvLnRlc3QoY3VycmVudEZ1bGwpLCB2YWw6IGN1cnJlbnRGdWxsIH0pOwogICAgICB9CgogICAgICByZXR1cm4gc3BsaXRzOwogICAgfQoKICAgIHN0YXRpYyBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzKHRva2VuKSB7CiAgICAgIHJldHVybiBtYWNyb1Rva2VuVG9Gb3JtYXRPcHRzW3Rva2VuXTsKICAgIH0KCiAgICBjb25zdHJ1Y3Rvcihsb2NhbGUsIGZvcm1hdE9wdHMpIHsKICAgICAgdGhpcy5vcHRzID0gZm9ybWF0T3B0czsKICAgICAgdGhpcy5sb2MgPSBsb2NhbGU7CiAgICAgIHRoaXMuc3lzdGVtTG9jID0gbnVsbDsKICAgIH0KCiAgICBmb3JtYXRXaXRoU3lzdGVtRGVmYXVsdChkdCwgb3B0cykgewogICAgICBpZiAodGhpcy5zeXN0ZW1Mb2MgPT09IG51bGwpIHsKICAgICAgICB0aGlzLnN5c3RlbUxvYyA9IHRoaXMubG9jLnJlZGVmYXVsdFRvU3lzdGVtKCk7CiAgICAgIH0KICAgICAgY29uc3QgZGYgPSB0aGlzLnN5c3RlbUxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7CiAgICAgIHJldHVybiBkZi5mb3JtYXQoKTsKICAgIH0KCiAgICBkdEZvcm1hdHRlcihkdCwgb3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmxvYy5kdEZvcm1hdHRlcihkdCwgeyAuLi50aGlzLm9wdHMsIC4uLm9wdHMgfSk7CiAgICB9CgogICAgZm9ybWF0RGF0ZVRpbWUoZHQsIG9wdHMpIHsKICAgICAgcmV0dXJuIHRoaXMuZHRGb3JtYXR0ZXIoZHQsIG9wdHMpLmZvcm1hdCgpOwogICAgfQoKICAgIGZvcm1hdERhdGVUaW1lUGFydHMoZHQsIG9wdHMpIHsKICAgICAgcmV0dXJuIHRoaXMuZHRGb3JtYXR0ZXIoZHQsIG9wdHMpLmZvcm1hdFRvUGFydHMoKTsKICAgIH0KCiAgICBmb3JtYXRJbnRlcnZhbChpbnRlcnZhbCwgb3B0cykgewogICAgICBjb25zdCBkZiA9IHRoaXMuZHRGb3JtYXR0ZXIoaW50ZXJ2YWwuc3RhcnQsIG9wdHMpOwogICAgICByZXR1cm4gZGYuZHRmLmZvcm1hdFJhbmdlKGludGVydmFsLnN0YXJ0LnRvSlNEYXRlKCksIGludGVydmFsLmVuZC50b0pTRGF0ZSgpKTsKICAgIH0KCiAgICByZXNvbHZlZE9wdGlvbnMoZHQsIG9wdHMpIHsKICAgICAgcmV0dXJuIHRoaXMuZHRGb3JtYXR0ZXIoZHQsIG9wdHMpLnJlc29sdmVkT3B0aW9ucygpOwogICAgfQoKICAgIG51bShuLCBwID0gMCkgewogICAgICAvLyB3ZSBnZXQgc29tZSBwZXJmIG91dCBvZiBkb2luZyB0aGlzIGhlcmUsIGFubm95aW5nbHkKICAgICAgaWYgKHRoaXMub3B0cy5mb3JjZVNpbXBsZSkgewogICAgICAgIHJldHVybiBwYWRTdGFydChuLCBwKTsKICAgICAgfQoKICAgICAgY29uc3Qgb3B0cyA9IHsgLi4udGhpcy5vcHRzIH07CgogICAgICBpZiAocCA+IDApIHsKICAgICAgICBvcHRzLnBhZFRvID0gcDsKICAgICAgfQoKICAgICAgcmV0dXJuIHRoaXMubG9jLm51bWJlckZvcm1hdHRlcihvcHRzKS5mb3JtYXQobik7CiAgICB9CgogICAgZm9ybWF0RGF0ZVRpbWVGcm9tU3RyaW5nKGR0LCBmbXQpIHsKICAgICAgY29uc3Qga25vd25FbmdsaXNoID0gdGhpcy5sb2MubGlzdGluZ01vZGUoKSA9PT0gImVuIiwKICAgICAgICB1c2VEYXRlVGltZUZvcm1hdHRlciA9IHRoaXMubG9jLm91dHB1dENhbGVuZGFyICYmIHRoaXMubG9jLm91dHB1dENhbGVuZGFyICE9PSAiZ3JlZ29yeSIsCiAgICAgICAgc3RyaW5nID0gKG9wdHMsIGV4dHJhY3QpID0+IHRoaXMubG9jLmV4dHJhY3QoZHQsIG9wdHMsIGV4dHJhY3QpLAogICAgICAgIGZvcm1hdE9mZnNldCA9IChvcHRzKSA9PiB7CiAgICAgICAgICBpZiAoZHQuaXNPZmZzZXRGaXhlZCAmJiBkdC5vZmZzZXQgPT09IDAgJiYgb3B0cy5hbGxvd1opIHsKICAgICAgICAgICAgcmV0dXJuICJaIjsKICAgICAgICAgIH0KCiAgICAgICAgICByZXR1cm4gZHQuaXNWYWxpZCA/IGR0LnpvbmUuZm9ybWF0T2Zmc2V0KGR0LnRzLCBvcHRzLmZvcm1hdCkgOiAiIjsKICAgICAgICB9LAogICAgICAgIG1lcmlkaWVtID0gKCkgPT4KICAgICAgICAgIGtub3duRW5nbGlzaAogICAgICAgICAgICA/IG1lcmlkaWVtRm9yRGF0ZVRpbWUoZHQpCiAgICAgICAgICAgIDogc3RyaW5nKHsgaG91cjogIm51bWVyaWMiLCBob3VyQ3ljbGU6ICJoMTIiIH0sICJkYXlwZXJpb2QiKSwKICAgICAgICBtb250aCA9IChsZW5ndGgsIHN0YW5kYWxvbmUpID0+CiAgICAgICAgICBrbm93bkVuZ2xpc2gKICAgICAgICAgICAgPyBtb250aEZvckRhdGVUaW1lKGR0LCBsZW5ndGgpCiAgICAgICAgICAgIDogc3RyaW5nKHN0YW5kYWxvbmUgPyB7IG1vbnRoOiBsZW5ndGggfSA6IHsgbW9udGg6IGxlbmd0aCwgZGF5OiAibnVtZXJpYyIgfSwgIm1vbnRoIiksCiAgICAgICAgd2Vla2RheSA9IChsZW5ndGgsIHN0YW5kYWxvbmUpID0+CiAgICAgICAgICBrbm93bkVuZ2xpc2gKICAgICAgICAgICAgPyB3ZWVrZGF5Rm9yRGF0ZVRpbWUoZHQsIGxlbmd0aCkKICAgICAgICAgICAgOiBzdHJpbmcoCiAgICAgICAgICAgICAgICBzdGFuZGFsb25lID8geyB3ZWVrZGF5OiBsZW5ndGggfSA6IHsgd2Vla2RheTogbGVuZ3RoLCBtb250aDogImxvbmciLCBkYXk6ICJudW1lcmljIiB9LAogICAgICAgICAgICAgICAgIndlZWtkYXkiCiAgICAgICAgICAgICAgKSwKICAgICAgICBtYXliZU1hY3JvID0gKHRva2VuKSA9PiB7CiAgICAgICAgICBjb25zdCBmb3JtYXRPcHRzID0gRm9ybWF0dGVyLm1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHModG9rZW4pOwogICAgICAgICAgaWYgKGZvcm1hdE9wdHMpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0V2l0aFN5c3RlbURlZmF1bHQoZHQsIGZvcm1hdE9wdHMpOwogICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIHRva2VuOwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgZXJhID0gKGxlbmd0aCkgPT4KICAgICAgICAgIGtub3duRW5nbGlzaCA/IGVyYUZvckRhdGVUaW1lKGR0LCBsZW5ndGgpIDogc3RyaW5nKHsgZXJhOiBsZW5ndGggfSwgImVyYSIpLAogICAgICAgIHRva2VuVG9TdHJpbmcgPSAodG9rZW4pID0+IHsKICAgICAgICAgIC8vIFdoZXJlIHBvc3NpYmxlOiBodHRwczovL2NsZHIudW5pY29kZS5vcmcvdHJhbnNsYXRpb24vZGF0ZS10aW1lL2RhdGUtdGltZS1zeW1ib2xzCiAgICAgICAgICBzd2l0Y2ggKHRva2VuKSB7CiAgICAgICAgICAgIC8vIG1zCiAgICAgICAgICAgIGNhc2UgIlMiOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taWxsaXNlY29uZCk7CiAgICAgICAgICAgIGNhc2UgInUiOgogICAgICAgICAgICAvLyBmYWxscyB0aHJvdWdoCiAgICAgICAgICAgIGNhc2UgIlNTUyI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbGxpc2Vjb25kLCAzKTsKICAgICAgICAgICAgLy8gc2Vjb25kcwogICAgICAgICAgICBjYXNlICJzIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQuc2Vjb25kKTsKICAgICAgICAgICAgY2FzZSAic3MiOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5zZWNvbmQsIDIpOwogICAgICAgICAgICAvLyBmcmFjdGlvbmFsIHNlY29uZHMKICAgICAgICAgICAgY2FzZSAidXUiOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShNYXRoLmZsb29yKGR0Lm1pbGxpc2Vjb25kIC8gMTApLCAyKTsKICAgICAgICAgICAgY2FzZSAidXV1IjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC5taWxsaXNlY29uZCAvIDEwMCkpOwogICAgICAgICAgICAvLyBtaW51dGVzCiAgICAgICAgICAgIGNhc2UgIm0iOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5taW51dGUpOwogICAgICAgICAgICBjYXNlICJtbSI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm1pbnV0ZSwgMik7CiAgICAgICAgICAgIC8vIGhvdXJzCiAgICAgICAgICAgIGNhc2UgImgiOgogICAgICAgICAgICAgIHJldHVybiB0aGlzLm51bShkdC5ob3VyICUgMTIgPT09IDAgPyAxMiA6IGR0LmhvdXIgJSAxMik7CiAgICAgICAgICAgIGNhc2UgImhoIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQuaG91ciAlIDEyID09PSAwID8gMTIgOiBkdC5ob3VyICUgMTIsIDIpOwogICAgICAgICAgICBjYXNlICJIIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQuaG91cik7CiAgICAgICAgICAgIGNhc2UgIkhIIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQuaG91ciwgMik7CiAgICAgICAgICAgIC8vIG9mZnNldAogICAgICAgICAgICBjYXNlICJaIjoKICAgICAgICAgICAgICAvLyBsaWtlICs2CiAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh7IGZvcm1hdDogIm5hcnJvdyIsIGFsbG93WjogdGhpcy5vcHRzLmFsbG93WiB9KTsKICAgICAgICAgICAgY2FzZSAiWloiOgogICAgICAgICAgICAgIC8vIGxpa2UgKzA2OjAwCiAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdE9mZnNldCh7IGZvcm1hdDogInNob3J0IiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pOwogICAgICAgICAgICBjYXNlICJaWloiOgogICAgICAgICAgICAgIC8vIGxpa2UgKzA2MDAKICAgICAgICAgICAgICByZXR1cm4gZm9ybWF0T2Zmc2V0KHsgZm9ybWF0OiAidGVjaGllIiwgYWxsb3daOiB0aGlzLm9wdHMuYWxsb3daIH0pOwogICAgICAgICAgICBjYXNlICJaWlpaIjoKICAgICAgICAgICAgICAvLyBsaWtlIEVTVAogICAgICAgICAgICAgIHJldHVybiBkdC56b25lLm9mZnNldE5hbWUoZHQudHMsIHsgZm9ybWF0OiAic2hvcnQiLCBsb2NhbGU6IHRoaXMubG9jLmxvY2FsZSB9KTsKICAgICAgICAgICAgY2FzZSAiWlpaWloiOgogICAgICAgICAgICAgIC8vIGxpa2UgRWFzdGVybiBTdGFuZGFyZCBUaW1lCiAgICAgICAgICAgICAgcmV0dXJuIGR0LnpvbmUub2Zmc2V0TmFtZShkdC50cywgeyBmb3JtYXQ6ICJsb25nIiwgbG9jYWxlOiB0aGlzLmxvYy5sb2NhbGUgfSk7CiAgICAgICAgICAgIC8vIHpvbmUKICAgICAgICAgICAgY2FzZSAieiI6CiAgICAgICAgICAgICAgLy8gbGlrZSBBbWVyaWNhL05ld19Zb3JrCiAgICAgICAgICAgICAgcmV0dXJuIGR0LnpvbmVOYW1lOwogICAgICAgICAgICAvLyBtZXJpZGllbXMKICAgICAgICAgICAgY2FzZSAiYSI6CiAgICAgICAgICAgICAgcmV0dXJuIG1lcmlkaWVtKCk7CiAgICAgICAgICAgIC8vIGRhdGVzCiAgICAgICAgICAgIGNhc2UgImQiOgogICAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlciA/IHN0cmluZyh7IGRheTogIm51bWVyaWMiIH0sICJkYXkiKSA6IHRoaXMubnVtKGR0LmRheSk7CiAgICAgICAgICAgIGNhc2UgImRkIjoKICAgICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPyBzdHJpbmcoeyBkYXk6ICIyLWRpZ2l0IiB9LCAiZGF5IikgOiB0aGlzLm51bShkdC5kYXksIDIpOwogICAgICAgICAgICAvLyB3ZWVrZGF5cyAtIHN0YW5kYWxvbmUKICAgICAgICAgICAgY2FzZSAiYyI6CiAgICAgICAgICAgICAgLy8gbGlrZSAxCiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtkYXkpOwogICAgICAgICAgICBjYXNlICJjY2MiOgogICAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXMnCiAgICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoInNob3J0IiwgdHJ1ZSk7CiAgICAgICAgICAgIGNhc2UgImNjY2MiOgogICAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXNkYXknCiAgICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoImxvbmciLCB0cnVlKTsKICAgICAgICAgICAgY2FzZSAiY2NjY2MiOgogICAgICAgICAgICAgIC8vIGxpa2UgJ1QnCiAgICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoIm5hcnJvdyIsIHRydWUpOwogICAgICAgICAgICAvLyB3ZWVrZGF5cyAtIGZvcm1hdAogICAgICAgICAgICBjYXNlICJFIjoKICAgICAgICAgICAgICAvLyBsaWtlIDEKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQud2Vla2RheSk7CiAgICAgICAgICAgIGNhc2UgIkVFRSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAnVHVlcycKICAgICAgICAgICAgICByZXR1cm4gd2Vla2RheSgic2hvcnQiLCBmYWxzZSk7CiAgICAgICAgICAgIGNhc2UgIkVFRUUiOgogICAgICAgICAgICAgIC8vIGxpa2UgJ1R1ZXNkYXknCiAgICAgICAgICAgICAgcmV0dXJuIHdlZWtkYXkoImxvbmciLCBmYWxzZSk7CiAgICAgICAgICAgIGNhc2UgIkVFRUVFIjoKICAgICAgICAgICAgICAvLyBsaWtlICdUJwogICAgICAgICAgICAgIHJldHVybiB3ZWVrZGF5KCJuYXJyb3ciLCBmYWxzZSk7CiAgICAgICAgICAgIC8vIG1vbnRocyAtIHN0YW5kYWxvbmUKICAgICAgICAgICAgY2FzZSAiTCI6CiAgICAgICAgICAgICAgLy8gbGlrZSAxCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiAibnVtZXJpYyIsIGRheTogIm51bWVyaWMiIH0sICJtb250aCIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoKTsKICAgICAgICAgICAgY2FzZSAiTEwiOgogICAgICAgICAgICAgIC8vIGxpa2UgMDEsIGRvZXNuJ3Qgc2VlbSB0byB3b3JrCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiAiMi1kaWdpdCIsIGRheTogIm51bWVyaWMiIH0sICJtb250aCIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoLCAyKTsKICAgICAgICAgICAgY2FzZSAiTExMIjoKICAgICAgICAgICAgICAvLyBsaWtlIEphbgogICAgICAgICAgICAgIHJldHVybiBtb250aCgic2hvcnQiLCB0cnVlKTsKICAgICAgICAgICAgY2FzZSAiTExMTCI6CiAgICAgICAgICAgICAgLy8gbGlrZSBKYW51YXJ5CiAgICAgICAgICAgICAgcmV0dXJuIG1vbnRoKCJsb25nIiwgdHJ1ZSk7CiAgICAgICAgICAgIGNhc2UgIkxMTExMIjoKICAgICAgICAgICAgICAvLyBsaWtlIEoKICAgICAgICAgICAgICByZXR1cm4gbW9udGgoIm5hcnJvdyIsIHRydWUpOwogICAgICAgICAgICAvLyBtb250aHMgLSBmb3JtYXQKICAgICAgICAgICAgY2FzZSAiTSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAxCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IG1vbnRoOiAibnVtZXJpYyIgfSwgIm1vbnRoIikKICAgICAgICAgICAgICAgIDogdGhpcy5udW0oZHQubW9udGgpOwogICAgICAgICAgICBjYXNlICJNTSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAwMQogICAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlcgogICAgICAgICAgICAgICAgPyBzdHJpbmcoeyBtb250aDogIjItZGlnaXQiIH0sICJtb250aCIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0Lm1vbnRoLCAyKTsKICAgICAgICAgICAgY2FzZSAiTU1NIjoKICAgICAgICAgICAgICAvLyBsaWtlIEphbgogICAgICAgICAgICAgIHJldHVybiBtb250aCgic2hvcnQiLCBmYWxzZSk7CiAgICAgICAgICAgIGNhc2UgIk1NTU0iOgogICAgICAgICAgICAgIC8vIGxpa2UgSmFudWFyeQogICAgICAgICAgICAgIHJldHVybiBtb250aCgibG9uZyIsIGZhbHNlKTsKICAgICAgICAgICAgY2FzZSAiTU1NTU0iOgogICAgICAgICAgICAgIC8vIGxpa2UgSgogICAgICAgICAgICAgIHJldHVybiBtb250aCgibmFycm93IiwgZmFsc2UpOwogICAgICAgICAgICAvLyB5ZWFycwogICAgICAgICAgICBjYXNlICJ5IjoKICAgICAgICAgICAgICAvLyBsaWtlIDIwMTQKICAgICAgICAgICAgICByZXR1cm4gdXNlRGF0ZVRpbWVGb3JtYXR0ZXIgPyBzdHJpbmcoeyB5ZWFyOiAibnVtZXJpYyIgfSwgInllYXIiKSA6IHRoaXMubnVtKGR0LnllYXIpOwogICAgICAgICAgICBjYXNlICJ5eSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAxNAogICAgICAgICAgICAgIHJldHVybiB1c2VEYXRlVGltZUZvcm1hdHRlcgogICAgICAgICAgICAgICAgPyBzdHJpbmcoeyB5ZWFyOiAiMi1kaWdpdCIgfSwgInllYXIiKQogICAgICAgICAgICAgICAgOiB0aGlzLm51bShkdC55ZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLCAyKTsKICAgICAgICAgICAgY2FzZSAieXl5eSI6CiAgICAgICAgICAgICAgLy8gbGlrZSAwMDEyCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IHllYXI6ICJudW1lcmljIiB9LCAieWVhciIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0LnllYXIsIDQpOwogICAgICAgICAgICBjYXNlICJ5eXl5eXkiOgogICAgICAgICAgICAgIC8vIGxpa2UgMDAwMDEyCiAgICAgICAgICAgICAgcmV0dXJuIHVzZURhdGVUaW1lRm9ybWF0dGVyCiAgICAgICAgICAgICAgICA/IHN0cmluZyh7IHllYXI6ICJudW1lcmljIiB9LCAieWVhciIpCiAgICAgICAgICAgICAgICA6IHRoaXMubnVtKGR0LnllYXIsIDYpOwogICAgICAgICAgICAvLyBlcmFzCiAgICAgICAgICAgIGNhc2UgIkciOgogICAgICAgICAgICAgIC8vIGxpa2UgQUQKICAgICAgICAgICAgICByZXR1cm4gZXJhKCJzaG9ydCIpOwogICAgICAgICAgICBjYXNlICJHRyI6CiAgICAgICAgICAgICAgLy8gbGlrZSBBbm5vIERvbWluaQogICAgICAgICAgICAgIHJldHVybiBlcmEoImxvbmciKTsKICAgICAgICAgICAgY2FzZSAiR0dHR0ciOgogICAgICAgICAgICAgIHJldHVybiBlcmEoIm5hcnJvdyIpOwogICAgICAgICAgICBjYXNlICJrayI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtZZWFyLnRvU3RyaW5nKCkuc2xpY2UoLTIpLCAyKTsKICAgICAgICAgICAgY2FzZSAia2trayI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtZZWFyLCA0KTsKICAgICAgICAgICAgY2FzZSAiVyI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtOdW1iZXIpOwogICAgICAgICAgICBjYXNlICJXVyI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LndlZWtOdW1iZXIsIDIpOwogICAgICAgICAgICBjYXNlICJvIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQub3JkaW5hbCk7CiAgICAgICAgICAgIGNhc2UgIm9vbyI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0Lm9yZGluYWwsIDMpOwogICAgICAgICAgICBjYXNlICJxIjoKICAgICAgICAgICAgICAvLyBsaWtlIDEKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oZHQucXVhcnRlcik7CiAgICAgICAgICAgIGNhc2UgInFxIjoKICAgICAgICAgICAgICAvLyBsaWtlIDAxCiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnF1YXJ0ZXIsIDIpOwogICAgICAgICAgICBjYXNlICJYIjoKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5udW0oTWF0aC5mbG9vcihkdC50cyAvIDEwMDApKTsKICAgICAgICAgICAgY2FzZSAieCI6CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGR0LnRzKTsKICAgICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgICByZXR1cm4gbWF5YmVNYWNybyh0b2tlbik7CiAgICAgICAgICB9CiAgICAgICAgfTsKCiAgICAgIHJldHVybiBzdHJpbmdpZnlUb2tlbnMoRm9ybWF0dGVyLnBhcnNlRm9ybWF0KGZtdCksIHRva2VuVG9TdHJpbmcpOwogICAgfQoKICAgIGZvcm1hdER1cmF0aW9uRnJvbVN0cmluZyhkdXIsIGZtdCkgewogICAgICBjb25zdCB0b2tlblRvRmllbGQgPSAodG9rZW4pID0+IHsKICAgICAgICAgIHN3aXRjaCAodG9rZW5bMF0pIHsKICAgICAgICAgICAgY2FzZSAiUyI6CiAgICAgICAgICAgICAgcmV0dXJuICJtaWxsaXNlY29uZCI7CiAgICAgICAgICAgIGNhc2UgInMiOgogICAgICAgICAgICAgIHJldHVybiAic2Vjb25kIjsKICAgICAgICAgICAgY2FzZSAibSI6CiAgICAgICAgICAgICAgcmV0dXJuICJtaW51dGUiOwogICAgICAgICAgICBjYXNlICJoIjoKICAgICAgICAgICAgICByZXR1cm4gImhvdXIiOwogICAgICAgICAgICBjYXNlICJkIjoKICAgICAgICAgICAgICByZXR1cm4gImRheSI7CiAgICAgICAgICAgIGNhc2UgInciOgogICAgICAgICAgICAgIHJldHVybiAid2VlayI7CiAgICAgICAgICAgIGNhc2UgIk0iOgogICAgICAgICAgICAgIHJldHVybiAibW9udGgiOwogICAgICAgICAgICBjYXNlICJ5IjoKICAgICAgICAgICAgICByZXR1cm4gInllYXIiOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgdG9rZW5Ub1N0cmluZyA9IChsaWxkdXIpID0+ICh0b2tlbikgPT4gewogICAgICAgICAgY29uc3QgbWFwcGVkID0gdG9rZW5Ub0ZpZWxkKHRva2VuKTsKICAgICAgICAgIGlmIChtYXBwZWQpIHsKICAgICAgICAgICAgcmV0dXJuIHRoaXMubnVtKGxpbGR1ci5nZXQobWFwcGVkKSwgdG9rZW4ubGVuZ3RoKTsKICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIHJldHVybiB0b2tlbjsKICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIHRva2VucyA9IEZvcm1hdHRlci5wYXJzZUZvcm1hdChmbXQpLAogICAgICAgIHJlYWxUb2tlbnMgPSB0b2tlbnMucmVkdWNlKAogICAgICAgICAgKGZvdW5kLCB7IGxpdGVyYWwsIHZhbCB9KSA9PiAobGl0ZXJhbCA/IGZvdW5kIDogZm91bmQuY29uY2F0KHZhbCkpLAogICAgICAgICAgW10KICAgICAgICApLAogICAgICAgIGNvbGxhcHNlZCA9IGR1ci5zaGlmdFRvKC4uLnJlYWxUb2tlbnMubWFwKHRva2VuVG9GaWVsZCkuZmlsdGVyKCh0KSA9PiB0KSk7CiAgICAgIHJldHVybiBzdHJpbmdpZnlUb2tlbnModG9rZW5zLCB0b2tlblRvU3RyaW5nKGNvbGxhcHNlZCkpOwogICAgfQogIH0KCiAgY2xhc3MgSW52YWxpZCB7CiAgICBjb25zdHJ1Y3RvcihyZWFzb24sIGV4cGxhbmF0aW9uKSB7CiAgICAgIHRoaXMucmVhc29uID0gcmVhc29uOwogICAgICB0aGlzLmV4cGxhbmF0aW9uID0gZXhwbGFuYXRpb247CiAgICB9CgogICAgdG9NZXNzYWdlKCkgewogICAgICBpZiAodGhpcy5leHBsYW5hdGlvbikgewogICAgICAgIHJldHVybiBgJHt0aGlzLnJlYXNvbn06ICR7dGhpcy5leHBsYW5hdGlvbn1gOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiB0aGlzLnJlYXNvbjsKICAgICAgfQogICAgfQogIH0KCiAgLyoKICAgKiBUaGlzIGZpbGUgaGFuZGxlcyBwYXJzaW5nIGZvciB3ZWxsLXNwZWNpZmllZCBmb3JtYXRzLiBIZXJlJ3MgaG93IGl0IHdvcmtzOgogICAqIFR3byB0aGluZ3MgZ28gaW50byBwYXJzaW5nOiBhIHJlZ2V4IHRvIG1hdGNoIHdpdGggYW5kIGFuIGV4dHJhY3RvciB0byB0YWtlIGFwYXJ0IHRoZSBncm91cHMgaW4gdGhlIG1hdGNoLgogICAqIEFuIGV4dHJhY3RvciBpcyBqdXN0IGEgZnVuY3Rpb24gdGhhdCB0YWtlcyBhIHJlZ2V4IG1hdGNoIGFycmF5IGFuZCByZXR1cm5zIGEgeyB5ZWFyOiAuLi4sIG1vbnRoOiAuLi4gfSBvYmplY3QKICAgKiBwYXJzZSgpIGRvZXMgdGhlIHdvcmsgb2YgZXhlY3V0aW5nIHRoZSByZWdleCBhbmQgYXBwbHlpbmcgdGhlIGV4dHJhY3Rvci4gSXQgdGFrZXMgbXVsdGlwbGUgcmVnZXgvZXh0cmFjdG9yIHBhaXJzIHRvIHRyeSBpbiBzZXF1ZW5jZS4KICAgKiBFeHRyYWN0b3JzIGNhbiB0YWtlIGEgImN1cnNvciIgcmVwcmVzZW50aW5nIHRoZSBvZmZzZXQgaW4gdGhlIG1hdGNoIHRvIGxvb2sgYXQuIFRoaXMgbWFrZXMgaXQgZWFzeSB0byBjb21iaW5lIGV4dHJhY3RvcnMuCiAgICogY29tYmluZUV4dHJhY3RvcnMoKSBkb2VzIHRoZSB3b3JrIG9mIGNvbWJpbmluZyB0aGVtLCBrZWVwaW5nIHRyYWNrIG9mIHRoZSBjdXJzb3IgdGhyb3VnaCBtdWx0aXBsZSBleHRyYWN0aW9ucy4KICAgKiBTb21lIGV4dHJhY3Rpb25zIGFyZSBzdXBlciBkdW1iIGFuZCBzaW1wbGVQYXJzZSBhbmQgZnJvbVN0cmluZ3MgaGVscCBEUlkgdGhlbS4KICAgKi8KCiAgY29uc3QgaWFuYVJlZ2V4ID0gL1tBLVphLXpfKy1dezEsMjU2fSg/Ojo/XC9bQS1aYS16MC05XystXXsxLDI1Nn0oPzpcL1tBLVphLXowLTlfKy1dezEsMjU2fSk/KT8vOwoKICBmdW5jdGlvbiBjb21iaW5lUmVnZXhlcyguLi5yZWdleGVzKSB7CiAgICBjb25zdCBmdWxsID0gcmVnZXhlcy5yZWR1Y2UoKGYsIHIpID0+IGYgKyByLnNvdXJjZSwgIiIpOwogICAgcmV0dXJuIFJlZ0V4cChgXiR7ZnVsbH0kYCk7CiAgfQoKICBmdW5jdGlvbiBjb21iaW5lRXh0cmFjdG9ycyguLi5leHRyYWN0b3JzKSB7CiAgICByZXR1cm4gKG0pID0+CiAgICAgIGV4dHJhY3RvcnMKICAgICAgICAucmVkdWNlKAogICAgICAgICAgKFttZXJnZWRWYWxzLCBtZXJnZWRab25lLCBjdXJzb3JdLCBleCkgPT4gewogICAgICAgICAgICBjb25zdCBbdmFsLCB6b25lLCBuZXh0XSA9IGV4KG0sIGN1cnNvcik7CiAgICAgICAgICAgIHJldHVybiBbeyAuLi5tZXJnZWRWYWxzLCAuLi52YWwgfSwgem9uZSB8fCBtZXJnZWRab25lLCBuZXh0XTsKICAgICAgICAgIH0sCiAgICAgICAgICBbe30sIG51bGwsIDFdCiAgICAgICAgKQogICAgICAgIC5zbGljZSgwLCAyKTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlKHMsIC4uLnBhdHRlcm5zKSB7CiAgICBpZiAocyA9PSBudWxsKSB7CiAgICAgIHJldHVybiBbbnVsbCwgbnVsbF07CiAgICB9CgogICAgZm9yIChjb25zdCBbcmVnZXgsIGV4dHJhY3Rvcl0gb2YgcGF0dGVybnMpIHsKICAgICAgY29uc3QgbSA9IHJlZ2V4LmV4ZWMocyk7CiAgICAgIGlmIChtKSB7CiAgICAgICAgcmV0dXJuIGV4dHJhY3RvcihtKTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIFtudWxsLCBudWxsXTsKICB9CgogIGZ1bmN0aW9uIHNpbXBsZVBhcnNlKC4uLmtleXMpIHsKICAgIHJldHVybiAobWF0Y2gsIGN1cnNvcikgPT4gewogICAgICBjb25zdCByZXQgPSB7fTsKICAgICAgbGV0IGk7CgogICAgICBmb3IgKGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykgewogICAgICAgIHJldFtrZXlzW2ldXSA9IHBhcnNlSW50ZWdlcihtYXRjaFtjdXJzb3IgKyBpXSk7CiAgICAgIH0KICAgICAgcmV0dXJuIFtyZXQsIG51bGwsIGN1cnNvciArIGldOwogICAgfTsKICB9CgogIC8vIElTTyBhbmQgU1FMIHBhcnNpbmcKICBjb25zdCBvZmZzZXRSZWdleCA9IC8oPzooWil8KFsrLV1cZFxkKSg/Ojo/KFxkXGQpKT8pLzsKICBjb25zdCBpc29FeHRlbmRlZFpvbmUgPSBgKD86JHtvZmZzZXRSZWdleC5zb3VyY2V9Pyg/OlxcWygke2lhbmFSZWdleC5zb3VyY2V9KVxcXSk/KT9gOwogIGNvbnN0IGlzb1RpbWVCYXNlUmVnZXggPSAvKFxkXGQpKD86Oj8oXGRcZCkoPzo6PyhcZFxkKSg/OlsuLF0oXGR7MSwzMH0pKT8pPyk/LzsKICBjb25zdCBpc29UaW1lUmVnZXggPSBSZWdFeHAoYCR7aXNvVGltZUJhc2VSZWdleC5zb3VyY2V9JHtpc29FeHRlbmRlZFpvbmV9YCk7CiAgY29uc3QgaXNvVGltZUV4dGVuc2lvblJlZ2V4ID0gUmVnRXhwKGAoPzpUJHtpc29UaW1lUmVnZXguc291cmNlfSk/YCk7CiAgY29uc3QgaXNvWW1kUmVnZXggPSAvKFsrLV1cZHs2fXxcZHs0fSkoPzotPyhcZFxkKSg/Oi0/KFxkXGQpKT8pPy87CiAgY29uc3QgaXNvV2Vla1JlZ2V4ID0gLyhcZHs0fSktP1coXGRcZCkoPzotPyhcZCkpPy87CiAgY29uc3QgaXNvT3JkaW5hbFJlZ2V4ID0gLyhcZHs0fSktPyhcZHszfSkvOwogIGNvbnN0IGV4dHJhY3RJU09XZWVrRGF0YSA9IHNpbXBsZVBhcnNlKCJ3ZWVrWWVhciIsICJ3ZWVrTnVtYmVyIiwgIndlZWtEYXkiKTsKICBjb25zdCBleHRyYWN0SVNPT3JkaW5hbERhdGEgPSBzaW1wbGVQYXJzZSgieWVhciIsICJvcmRpbmFsIik7CiAgY29uc3Qgc3FsWW1kUmVnZXggPSAvKFxkezR9KS0oXGRcZCktKFxkXGQpLzsgLy8gZHVtYmVkLWRvd24gdmVyc2lvbiBvZiB0aGUgSVNPIG9uZQogIGNvbnN0IHNxbFRpbWVSZWdleCA9IFJlZ0V4cCgKICAgIGAke2lzb1RpbWVCYXNlUmVnZXguc291cmNlfSA/KD86JHtvZmZzZXRSZWdleC5zb3VyY2V9fCgke2lhbmFSZWdleC5zb3VyY2V9KSk/YAogICk7CiAgY29uc3Qgc3FsVGltZUV4dGVuc2lvblJlZ2V4ID0gUmVnRXhwKGAoPzogJHtzcWxUaW1lUmVnZXguc291cmNlfSk/YCk7CgogIGZ1bmN0aW9uIGludChtYXRjaCwgcG9zLCBmYWxsYmFjaykgewogICAgY29uc3QgbSA9IG1hdGNoW3Bvc107CiAgICByZXR1cm4gaXNVbmRlZmluZWQobSkgPyBmYWxsYmFjayA6IHBhcnNlSW50ZWdlcihtKTsKICB9CgogIGZ1bmN0aW9uIGV4dHJhY3RJU09ZbWQobWF0Y2gsIGN1cnNvcikgewogICAgY29uc3QgaXRlbSA9IHsKICAgICAgeWVhcjogaW50KG1hdGNoLCBjdXJzb3IpLAogICAgICBtb250aDogaW50KG1hdGNoLCBjdXJzb3IgKyAxLCAxKSwKICAgICAgZGF5OiBpbnQobWF0Y2gsIGN1cnNvciArIDIsIDEpLAogICAgfTsKCiAgICByZXR1cm4gW2l0ZW0sIG51bGwsIGN1cnNvciArIDNdOwogIH0KCiAgZnVuY3Rpb24gZXh0cmFjdElTT1RpbWUobWF0Y2gsIGN1cnNvcikgewogICAgY29uc3QgaXRlbSA9IHsKICAgICAgaG91cnM6IGludChtYXRjaCwgY3Vyc29yLCAwKSwKICAgICAgbWludXRlczogaW50KG1hdGNoLCBjdXJzb3IgKyAxLCAwKSwKICAgICAgc2Vjb25kczogaW50KG1hdGNoLCBjdXJzb3IgKyAyLCAwKSwKICAgICAgbWlsbGlzZWNvbmRzOiBwYXJzZU1pbGxpcyhtYXRjaFtjdXJzb3IgKyAzXSksCiAgICB9OwoKICAgIHJldHVybiBbaXRlbSwgbnVsbCwgY3Vyc29yICsgNF07CiAgfQoKICBmdW5jdGlvbiBleHRyYWN0SVNPT2Zmc2V0KG1hdGNoLCBjdXJzb3IpIHsKICAgIGNvbnN0IGxvY2FsID0gIW1hdGNoW2N1cnNvcl0gJiYgIW1hdGNoW2N1cnNvciArIDFdLAogICAgICBmdWxsT2Zmc2V0ID0gc2lnbmVkT2Zmc2V0KG1hdGNoW2N1cnNvciArIDFdLCBtYXRjaFtjdXJzb3IgKyAyXSksCiAgICAgIHpvbmUgPSBsb2NhbCA/IG51bGwgOiBGaXhlZE9mZnNldFpvbmUuaW5zdGFuY2UoZnVsbE9mZnNldCk7CiAgICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAzXTsKICB9CgogIGZ1bmN0aW9uIGV4dHJhY3RJQU5BWm9uZShtYXRjaCwgY3Vyc29yKSB7CiAgICBjb25zdCB6b25lID0gbWF0Y2hbY3Vyc29yXSA/IElBTkFab25lLmNyZWF0ZShtYXRjaFtjdXJzb3JdKSA6IG51bGw7CiAgICByZXR1cm4gW3t9LCB6b25lLCBjdXJzb3IgKyAxXTsKICB9CgogIC8vIElTTyB0aW1lIHBhcnNpbmcKCiAgY29uc3QgaXNvVGltZU9ubHkgPSBSZWdFeHAoYF5UPyR7aXNvVGltZUJhc2VSZWdleC5zb3VyY2V9JGApOwoKICAvLyBJU08gZHVyYXRpb24gcGFyc2luZwoKICBjb25zdCBpc29EdXJhdGlvbiA9CiAgICAvXi0/UCg/Oig/OigtP1xkezEsMjB9KD86XC5cZHsxLDIwfSk/KVkpPyg/OigtP1xkezEsMjB9KD86XC5cZHsxLDIwfSk/KU0pPyg/OigtP1xkezEsMjB9KD86XC5cZHsxLDIwfSk/KVcpPyg/OigtP1xkezEsMjB9KD86XC5cZHsxLDIwfSk/KUQpPyg/OlQoPzooLT9cZHsxLDIwfSg/OlwuXGR7MSwyMH0pPylIKT8oPzooLT9cZHsxLDIwfSg/OlwuXGR7MSwyMH0pPylNKT8oPzooLT9cZHsxLDIwfSkoPzpbLixdKC0/XGR7MSwyMH0pKT9TKT8pPykkLzsKCiAgZnVuY3Rpb24gZXh0cmFjdElTT0R1cmF0aW9uKG1hdGNoKSB7CiAgICBjb25zdCBbcywgeWVhclN0ciwgbW9udGhTdHIsIHdlZWtTdHIsIGRheVN0ciwgaG91clN0ciwgbWludXRlU3RyLCBzZWNvbmRTdHIsIG1pbGxpc2Vjb25kc1N0cl0gPQogICAgICBtYXRjaDsKCiAgICBjb25zdCBoYXNOZWdhdGl2ZVByZWZpeCA9IHNbMF0gPT09ICItIjsKICAgIGNvbnN0IG5lZ2F0aXZlU2Vjb25kcyA9IHNlY29uZFN0ciAmJiBzZWNvbmRTdHJbMF0gPT09ICItIjsKCiAgICBjb25zdCBtYXliZU5lZ2F0ZSA9IChudW0sIGZvcmNlID0gZmFsc2UpID0+CiAgICAgIG51bSAhPT0gdW5kZWZpbmVkICYmIChmb3JjZSB8fCAobnVtICYmIGhhc05lZ2F0aXZlUHJlZml4KSkgPyAtbnVtIDogbnVtOwoKICAgIHJldHVybiBbCiAgICAgIHsKICAgICAgICB5ZWFyczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyh5ZWFyU3RyKSksCiAgICAgICAgbW9udGhzOiBtYXliZU5lZ2F0ZShwYXJzZUZsb2F0aW5nKG1vbnRoU3RyKSksCiAgICAgICAgd2Vla3M6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcod2Vla1N0cikpLAogICAgICAgIGRheXM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoZGF5U3RyKSksCiAgICAgICAgaG91cnM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcoaG91clN0cikpLAogICAgICAgIG1pbnV0ZXM6IG1heWJlTmVnYXRlKHBhcnNlRmxvYXRpbmcobWludXRlU3RyKSksCiAgICAgICAgc2Vjb25kczogbWF5YmVOZWdhdGUocGFyc2VGbG9hdGluZyhzZWNvbmRTdHIpLCBzZWNvbmRTdHIgPT09ICItMCIpLAogICAgICAgIG1pbGxpc2Vjb25kczogbWF5YmVOZWdhdGUocGFyc2VNaWxsaXMobWlsbGlzZWNvbmRzU3RyKSwgbmVnYXRpdmVTZWNvbmRzKSwKICAgICAgfSwKICAgIF07CiAgfQoKICAvLyBUaGVzZSBhcmUgYSBsaXR0bGUgYnJhaW5kZWFkLiBFRFQgKnNob3VsZCogdGVsbCB1cyB0aGF0IHdlJ3JlIGluLCBzYXksIEFtZXJpY2EvTmV3X1lvcmsKICAvLyBhbmQgbm90IGp1c3QgdGhhdCB3ZSdyZSBpbiAtMjQwICpyaWdodCBub3cqLiBCdXQgc2luY2UgSSBkb24ndCB0aGluayB0aGVzZSBhcmUgdXNlZCB0aGF0IG9mdGVuCiAgLy8gSSdtIGp1c3QgZ29pbmcgdG8gaWdub3JlIHRoYXQKICBjb25zdCBvYnNPZmZzZXRzID0gewogICAgR01UOiAwLAogICAgRURUOiAtNCAqIDYwLAogICAgRVNUOiAtNSAqIDYwLAogICAgQ0RUOiAtNSAqIDYwLAogICAgQ1NUOiAtNiAqIDYwLAogICAgTURUOiAtNiAqIDYwLAogICAgTVNUOiAtNyAqIDYwLAogICAgUERUOiAtNyAqIDYwLAogICAgUFNUOiAtOCAqIDYwLAogIH07CgogIGZ1bmN0aW9uIGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKSB7CiAgICBjb25zdCByZXN1bHQgPSB7CiAgICAgIHllYXI6IHllYXJTdHIubGVuZ3RoID09PSAyID8gdW50cnVuY2F0ZVllYXIocGFyc2VJbnRlZ2VyKHllYXJTdHIpKSA6IHBhcnNlSW50ZWdlcih5ZWFyU3RyKSwKICAgICAgbW9udGg6IG1vbnRoc1Nob3J0LmluZGV4T2YobW9udGhTdHIpICsgMSwKICAgICAgZGF5OiBwYXJzZUludGVnZXIoZGF5U3RyKSwKICAgICAgaG91cjogcGFyc2VJbnRlZ2VyKGhvdXJTdHIpLAogICAgICBtaW51dGU6IHBhcnNlSW50ZWdlcihtaW51dGVTdHIpLAogICAgfTsKCiAgICBpZiAoc2Vjb25kU3RyKSByZXN1bHQuc2Vjb25kID0gcGFyc2VJbnRlZ2VyKHNlY29uZFN0cik7CiAgICBpZiAod2Vla2RheVN0cikgewogICAgICByZXN1bHQud2Vla2RheSA9CiAgICAgICAgd2Vla2RheVN0ci5sZW5ndGggPiAzCiAgICAgICAgICA/IHdlZWtkYXlzTG9uZy5pbmRleE9mKHdlZWtkYXlTdHIpICsgMQogICAgICAgICAgOiB3ZWVrZGF5c1Nob3J0LmluZGV4T2Yod2Vla2RheVN0cikgKyAxOwogICAgfQoKICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICAvLyBSRkMgMjgyMi81MzIyCiAgY29uc3QgcmZjMjgyMiA9CiAgICAvXig/OihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pLFxzKT8oXGR7MSwyfSlccyhKYW58RmVifE1hcnxBcHJ8TWF5fEp1bnxKdWx8QXVnfFNlcHxPY3R8Tm92fERlYylccyhcZHsyLDR9KVxzKFxkXGQpOihcZFxkKSg/OjooXGRcZCkpP1xzKD86KFVUfEdNVHxbRUNNUF1bU0RdVCl8KFtael0pfCg/OihbKy1dXGRcZCkoXGRcZCkpKSQvOwoKICBmdW5jdGlvbiBleHRyYWN0UkZDMjgyMihtYXRjaCkgewogICAgY29uc3QgWwogICAgICAgICwKICAgICAgICB3ZWVrZGF5U3RyLAogICAgICAgIGRheVN0ciwKICAgICAgICBtb250aFN0ciwKICAgICAgICB5ZWFyU3RyLAogICAgICAgIGhvdXJTdHIsCiAgICAgICAgbWludXRlU3RyLAogICAgICAgIHNlY29uZFN0ciwKICAgICAgICBvYnNPZmZzZXQsCiAgICAgICAgbWlsT2Zmc2V0LAogICAgICAgIG9mZkhvdXJTdHIsCiAgICAgICAgb2ZmTWludXRlU3RyLAogICAgICBdID0gbWF0Y2gsCiAgICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTsKCiAgICBsZXQgb2Zmc2V0OwogICAgaWYgKG9ic09mZnNldCkgewogICAgICBvZmZzZXQgPSBvYnNPZmZzZXRzW29ic09mZnNldF07CiAgICB9IGVsc2UgaWYgKG1pbE9mZnNldCkgewogICAgICBvZmZzZXQgPSAwOwogICAgfSBlbHNlIHsKICAgICAgb2Zmc2V0ID0gc2lnbmVkT2Zmc2V0KG9mZkhvdXJTdHIsIG9mZk1pbnV0ZVN0cik7CiAgICB9CgogICAgcmV0dXJuIFtyZXN1bHQsIG5ldyBGaXhlZE9mZnNldFpvbmUob2Zmc2V0KV07CiAgfQoKICBmdW5jdGlvbiBwcmVwcm9jZXNzUkZDMjgyMihzKSB7CiAgICAvLyBSZW1vdmUgY29tbWVudHMgYW5kIGZvbGRpbmcgd2hpdGVzcGFjZSBhbmQgcmVwbGFjZSBtdWx0aXBsZS1zcGFjZXMgd2l0aCBhIHNpbmdsZSBzcGFjZQogICAgcmV0dXJuIHMKICAgICAgLnJlcGxhY2UoL1woW14oKV0qXCl8W1xuXHRdL2csICIgIikKICAgICAgLnJlcGxhY2UoLyhcc1xzKykvZywgIiAiKQogICAgICAudHJpbSgpOwogIH0KCiAgLy8gaHR0cCBkYXRlCgogIGNvbnN0IHJmYzExMjMgPQogICAgICAvXihNb258VHVlfFdlZHxUaHV8RnJpfFNhdHxTdW4pLCAoXGRcZCkgKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKSAoXGR7NH0pIChcZFxkKTooXGRcZCk6KFxkXGQpIEdNVCQvLAogICAgcmZjODUwID0KICAgICAgL14oTW9uZGF5fFR1ZXNkYXl8V2VkbmVzZGF5fFRodXJzZGF5fEZyaWRheXxTYXR1cmRheXxTdW5kYXkpLCAoXGRcZCktKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKS0oXGRcZCkgKFxkXGQpOihcZFxkKTooXGRcZCkgR01UJC8sCiAgICBhc2NpaSA9CiAgICAgIC9eKE1vbnxUdWV8V2VkfFRodXxGcml8U2F0fFN1bikgKEphbnxGZWJ8TWFyfEFwcnxNYXl8SnVufEp1bHxBdWd8U2VwfE9jdHxOb3Z8RGVjKSAoIFxkfFxkXGQpIChcZFxkKTooXGRcZCk6KFxkXGQpIChcZHs0fSkkLzsKCiAgZnVuY3Rpb24gZXh0cmFjdFJGQzExMjNPcjg1MChtYXRjaCkgewogICAgY29uc3QgWywgd2Vla2RheVN0ciwgZGF5U3RyLCBtb250aFN0ciwgeWVhclN0ciwgaG91clN0ciwgbWludXRlU3RyLCBzZWNvbmRTdHJdID0gbWF0Y2gsCiAgICAgIHJlc3VsdCA9IGZyb21TdHJpbmdzKHdlZWtkYXlTdHIsIHllYXJTdHIsIG1vbnRoU3RyLCBkYXlTdHIsIGhvdXJTdHIsIG1pbnV0ZVN0ciwgc2Vjb25kU3RyKTsKICAgIHJldHVybiBbcmVzdWx0LCBGaXhlZE9mZnNldFpvbmUudXRjSW5zdGFuY2VdOwogIH0KCiAgZnVuY3Rpb24gZXh0cmFjdEFTQ0lJKG1hdGNoKSB7CiAgICBjb25zdCBbLCB3ZWVrZGF5U3RyLCBtb250aFN0ciwgZGF5U3RyLCBob3VyU3RyLCBtaW51dGVTdHIsIHNlY29uZFN0ciwgeWVhclN0cl0gPSBtYXRjaCwKICAgICAgcmVzdWx0ID0gZnJvbVN0cmluZ3Mod2Vla2RheVN0ciwgeWVhclN0ciwgbW9udGhTdHIsIGRheVN0ciwgaG91clN0ciwgbWludXRlU3RyLCBzZWNvbmRTdHIpOwogICAgcmV0dXJuIFtyZXN1bHQsIEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZV07CiAgfQoKICBjb25zdCBpc29ZbWRXaXRoVGltZUV4dGVuc2lvblJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoaXNvWW1kUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7CiAgY29uc3QgaXNvV2Vla1dpdGhUaW1lRXh0ZW5zaW9uUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29XZWVrUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7CiAgY29uc3QgaXNvT3JkaW5hbFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29PcmRpbmFsUmVnZXgsIGlzb1RpbWVFeHRlbnNpb25SZWdleCk7CiAgY29uc3QgaXNvVGltZUNvbWJpbmVkUmVnZXggPSBjb21iaW5lUmVnZXhlcyhpc29UaW1lUmVnZXgpOwoKICBjb25zdCBleHRyYWN0SVNPWW1kVGltZUFuZE9mZnNldCA9IGNvbWJpbmVFeHRyYWN0b3JzKAogICAgZXh0cmFjdElTT1ltZCwKICAgIGV4dHJhY3RJU09UaW1lLAogICAgZXh0cmFjdElTT09mZnNldCwKICAgIGV4dHJhY3RJQU5BWm9uZQogICk7CiAgY29uc3QgZXh0cmFjdElTT1dlZWtUaW1lQW5kT2Zmc2V0ID0gY29tYmluZUV4dHJhY3RvcnMoCiAgICBleHRyYWN0SVNPV2Vla0RhdGEsCiAgICBleHRyYWN0SVNPVGltZSwKICAgIGV4dHJhY3RJU09PZmZzZXQsCiAgICBleHRyYWN0SUFOQVpvbmUKICApOwogIGNvbnN0IGV4dHJhY3RJU09PcmRpbmFsRGF0ZUFuZFRpbWUgPSBjb21iaW5lRXh0cmFjdG9ycygKICAgIGV4dHJhY3RJU09PcmRpbmFsRGF0YSwKICAgIGV4dHJhY3RJU09UaW1lLAogICAgZXh0cmFjdElTT09mZnNldCwKICAgIGV4dHJhY3RJQU5BWm9uZQogICk7CiAgY29uc3QgZXh0cmFjdElTT1RpbWVBbmRPZmZzZXQgPSBjb21iaW5lRXh0cmFjdG9ycygKICAgIGV4dHJhY3RJU09UaW1lLAogICAgZXh0cmFjdElTT09mZnNldCwKICAgIGV4dHJhY3RJQU5BWm9uZQogICk7CgogIC8qCiAgICogQHByaXZhdGUKICAgKi8KCiAgZnVuY3Rpb24gcGFyc2VJU09EYXRlKHMpIHsKICAgIHJldHVybiBwYXJzZSgKICAgICAgcywKICAgICAgW2lzb1ltZFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgsIGV4dHJhY3RJU09ZbWRUaW1lQW5kT2Zmc2V0XSwKICAgICAgW2lzb1dlZWtXaXRoVGltZUV4dGVuc2lvblJlZ2V4LCBleHRyYWN0SVNPV2Vla1RpbWVBbmRPZmZzZXRdLAogICAgICBbaXNvT3JkaW5hbFdpdGhUaW1lRXh0ZW5zaW9uUmVnZXgsIGV4dHJhY3RJU09PcmRpbmFsRGF0ZUFuZFRpbWVdLAogICAgICBbaXNvVGltZUNvbWJpbmVkUmVnZXgsIGV4dHJhY3RJU09UaW1lQW5kT2Zmc2V0XQogICAgKTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlUkZDMjgyMkRhdGUocykgewogICAgcmV0dXJuIHBhcnNlKHByZXByb2Nlc3NSRkMyODIyKHMpLCBbcmZjMjgyMiwgZXh0cmFjdFJGQzI4MjJdKTsKICB9CgogIGZ1bmN0aW9uIHBhcnNlSFRUUERhdGUocykgewogICAgcmV0dXJuIHBhcnNlKAogICAgICBzLAogICAgICBbcmZjMTEyMywgZXh0cmFjdFJGQzExMjNPcjg1MF0sCiAgICAgIFtyZmM4NTAsIGV4dHJhY3RSRkMxMTIzT3I4NTBdLAogICAgICBbYXNjaWksIGV4dHJhY3RBU0NJSV0KICAgICk7CiAgfQoKICBmdW5jdGlvbiBwYXJzZUlTT0R1cmF0aW9uKHMpIHsKICAgIHJldHVybiBwYXJzZShzLCBbaXNvRHVyYXRpb24sIGV4dHJhY3RJU09EdXJhdGlvbl0pOwogIH0KCiAgY29uc3QgZXh0cmFjdElTT1RpbWVPbmx5ID0gY29tYmluZUV4dHJhY3RvcnMoZXh0cmFjdElTT1RpbWUpOwoKICBmdW5jdGlvbiBwYXJzZUlTT1RpbWVPbmx5KHMpIHsKICAgIHJldHVybiBwYXJzZShzLCBbaXNvVGltZU9ubHksIGV4dHJhY3RJU09UaW1lT25seV0pOwogIH0KCiAgY29uc3Qgc3FsWW1kV2l0aFRpbWVFeHRlbnNpb25SZWdleCA9IGNvbWJpbmVSZWdleGVzKHNxbFltZFJlZ2V4LCBzcWxUaW1lRXh0ZW5zaW9uUmVnZXgpOwogIGNvbnN0IHNxbFRpbWVDb21iaW5lZFJlZ2V4ID0gY29tYmluZVJlZ2V4ZXMoc3FsVGltZVJlZ2V4KTsKCiAgY29uc3QgZXh0cmFjdElTT1RpbWVPZmZzZXRBbmRJQU5BWm9uZSA9IGNvbWJpbmVFeHRyYWN0b3JzKAogICAgZXh0cmFjdElTT1RpbWUsCiAgICBleHRyYWN0SVNPT2Zmc2V0LAogICAgZXh0cmFjdElBTkFab25lCiAgKTsKCiAgZnVuY3Rpb24gcGFyc2VTUUwocykgewogICAgcmV0dXJuIHBhcnNlKAogICAgICBzLAogICAgICBbc3FsWW1kV2l0aFRpbWVFeHRlbnNpb25SZWdleCwgZXh0cmFjdElTT1ltZFRpbWVBbmRPZmZzZXRdLAogICAgICBbc3FsVGltZUNvbWJpbmVkUmVnZXgsIGV4dHJhY3RJU09UaW1lT2Zmc2V0QW5kSUFOQVpvbmVdCiAgICApOwogIH0KCiAgY29uc3QgSU5WQUxJRCQyID0gIkludmFsaWQgRHVyYXRpb24iOwoKICAvLyB1bml0IGNvbnZlcnNpb24gY29uc3RhbnRzCiAgY29uc3QgbG93T3JkZXJNYXRyaXggPSB7CiAgICAgIHdlZWtzOiB7CiAgICAgICAgZGF5czogNywKICAgICAgICBob3VyczogNyAqIDI0LAogICAgICAgIG1pbnV0ZXM6IDcgKiAyNCAqIDYwLAogICAgICAgIHNlY29uZHM6IDcgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiA3ICogMjQgKiA2MCAqIDYwICogMTAwMCwKICAgICAgfSwKICAgICAgZGF5czogewogICAgICAgIGhvdXJzOiAyNCwKICAgICAgICBtaW51dGVzOiAyNCAqIDYwLAogICAgICAgIHNlY29uZHM6IDI0ICogNjAgKiA2MCwKICAgICAgICBtaWxsaXNlY29uZHM6IDI0ICogNjAgKiA2MCAqIDEwMDAsCiAgICAgIH0sCiAgICAgIGhvdXJzOiB7IG1pbnV0ZXM6IDYwLCBzZWNvbmRzOiA2MCAqIDYwLCBtaWxsaXNlY29uZHM6IDYwICogNjAgKiAxMDAwIH0sCiAgICAgIG1pbnV0ZXM6IHsgc2Vjb25kczogNjAsIG1pbGxpc2Vjb25kczogNjAgKiAxMDAwIH0sCiAgICAgIHNlY29uZHM6IHsgbWlsbGlzZWNvbmRzOiAxMDAwIH0sCiAgICB9LAogICAgY2FzdWFsTWF0cml4ID0gewogICAgICB5ZWFyczogewogICAgICAgIHF1YXJ0ZXJzOiA0LAogICAgICAgIG1vbnRoczogMTIsCiAgICAgICAgd2Vla3M6IDUyLAogICAgICAgIGRheXM6IDM2NSwKICAgICAgICBob3VyczogMzY1ICogMjQsCiAgICAgICAgbWludXRlczogMzY1ICogMjQgKiA2MCwKICAgICAgICBzZWNvbmRzOiAzNjUgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiAzNjUgKiAyNCAqIDYwICogNjAgKiAxMDAwLAogICAgICB9LAogICAgICBxdWFydGVyczogewogICAgICAgIG1vbnRoczogMywKICAgICAgICB3ZWVrczogMTMsCiAgICAgICAgZGF5czogOTEsCiAgICAgICAgaG91cnM6IDkxICogMjQsCiAgICAgICAgbWludXRlczogOTEgKiAyNCAqIDYwLAogICAgICAgIHNlY29uZHM6IDkxICogMjQgKiA2MCAqIDYwLAogICAgICAgIG1pbGxpc2Vjb25kczogOTEgKiAyNCAqIDYwICogNjAgKiAxMDAwLAogICAgICB9LAogICAgICBtb250aHM6IHsKICAgICAgICB3ZWVrczogNCwKICAgICAgICBkYXlzOiAzMCwKICAgICAgICBob3VyczogMzAgKiAyNCwKICAgICAgICBtaW51dGVzOiAzMCAqIDI0ICogNjAsCiAgICAgICAgc2Vjb25kczogMzAgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiAzMCAqIDI0ICogNjAgKiA2MCAqIDEwMDAsCiAgICAgIH0sCgogICAgICAuLi5sb3dPcmRlck1hdHJpeCwKICAgIH0sCiAgICBkYXlzSW5ZZWFyQWNjdXJhdGUgPSAxNDYwOTcuMCAvIDQwMCwKICAgIGRheXNJbk1vbnRoQWNjdXJhdGUgPSAxNDYwOTcuMCAvIDQ4MDAsCiAgICBhY2N1cmF0ZU1hdHJpeCA9IHsKICAgICAgeWVhcnM6IHsKICAgICAgICBxdWFydGVyczogNCwKICAgICAgICBtb250aHM6IDEyLAogICAgICAgIHdlZWtzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgLyA3LAogICAgICAgIGRheXM6IGRheXNJblllYXJBY2N1cmF0ZSwKICAgICAgICBob3VyczogZGF5c0luWWVhckFjY3VyYXRlICogMjQsCiAgICAgICAgbWludXRlczogZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCwKICAgICAgICBzZWNvbmRzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiBkYXlzSW5ZZWFyQWNjdXJhdGUgKiAyNCAqIDYwICogNjAgKiAxMDAwLAogICAgICB9LAogICAgICBxdWFydGVyczogewogICAgICAgIG1vbnRoczogMywKICAgICAgICB3ZWVrczogZGF5c0luWWVhckFjY3VyYXRlIC8gMjgsCiAgICAgICAgZGF5czogZGF5c0luWWVhckFjY3VyYXRlIC8gNCwKICAgICAgICBob3VyczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0KSAvIDQsCiAgICAgICAgbWludXRlczogKGRheXNJblllYXJBY2N1cmF0ZSAqIDI0ICogNjApIC8gNCwKICAgICAgICBzZWNvbmRzOiAoZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCAqIDYwKSAvIDQsCiAgICAgICAgbWlsbGlzZWNvbmRzOiAoZGF5c0luWWVhckFjY3VyYXRlICogMjQgKiA2MCAqIDYwICogMTAwMCkgLyA0LAogICAgICB9LAogICAgICBtb250aHM6IHsKICAgICAgICB3ZWVrczogZGF5c0luTW9udGhBY2N1cmF0ZSAvIDcsCiAgICAgICAgZGF5czogZGF5c0luTW9udGhBY2N1cmF0ZSwKICAgICAgICBob3VyczogZGF5c0luTW9udGhBY2N1cmF0ZSAqIDI0LAogICAgICAgIG1pbnV0ZXM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwLAogICAgICAgIHNlY29uZHM6IGRheXNJbk1vbnRoQWNjdXJhdGUgKiAyNCAqIDYwICogNjAsCiAgICAgICAgbWlsbGlzZWNvbmRzOiBkYXlzSW5Nb250aEFjY3VyYXRlICogMjQgKiA2MCAqIDYwICogMTAwMCwKICAgICAgfSwKICAgICAgLi4ubG93T3JkZXJNYXRyaXgsCiAgICB9OwoKICAvLyB1bml0cyBvcmRlcmVkIGJ5IHNpemUKICBjb25zdCBvcmRlcmVkVW5pdHMkMSA9IFsKICAgICJ5ZWFycyIsCiAgICAicXVhcnRlcnMiLAogICAgIm1vbnRocyIsCiAgICAid2Vla3MiLAogICAgImRheXMiLAogICAgImhvdXJzIiwKICAgICJtaW51dGVzIiwKICAgICJzZWNvbmRzIiwKICAgICJtaWxsaXNlY29uZHMiLAogIF07CgogIGNvbnN0IHJldmVyc2VVbml0cyA9IG9yZGVyZWRVbml0cyQxLnNsaWNlKDApLnJldmVyc2UoKTsKCiAgLy8gY2xvbmUgcmVhbGx5IG1lYW5zICJjcmVhdGUgYW5vdGhlciBpbnN0YW5jZSBqdXN0IGxpa2UgdGhpcyBvbmUsIGJ1dCB3aXRoIHRoZXNlIGNoYW5nZXMiCiAgZnVuY3Rpb24gY2xvbmUkMShkdXIsIGFsdHMsIGNsZWFyID0gZmFsc2UpIHsKICAgIC8vIGRlZXAgbWVyZ2UgZm9yIHZhbHMKICAgIGNvbnN0IGNvbmYgPSB7CiAgICAgIHZhbHVlczogY2xlYXIgPyBhbHRzLnZhbHVlcyA6IHsgLi4uZHVyLnZhbHVlcywgLi4uKGFsdHMudmFsdWVzIHx8IHt9KSB9LAogICAgICBsb2M6IGR1ci5sb2MuY2xvbmUoYWx0cy5sb2MpLAogICAgICBjb252ZXJzaW9uQWNjdXJhY3k6IGFsdHMuY29udmVyc2lvbkFjY3VyYWN5IHx8IGR1ci5jb252ZXJzaW9uQWNjdXJhY3ksCiAgICAgIG1hdHJpeDogYWx0cy5tYXRyaXggfHwgZHVyLm1hdHJpeCwKICAgIH07CiAgICByZXR1cm4gbmV3IER1cmF0aW9uKGNvbmYpOwogIH0KCiAgZnVuY3Rpb24gZHVyYXRpb25Ub01pbGxpcyhtYXRyaXgsIHZhbHMpIHsKICAgIGxldCBzdW0gPSB2YWxzLm1pbGxpc2Vjb25kcyA/PyAwOwogICAgZm9yIChjb25zdCB1bml0IG9mIHJldmVyc2VVbml0cy5zbGljZSgxKSkgewogICAgICBpZiAodmFsc1t1bml0XSkgewogICAgICAgIHN1bSArPSB2YWxzW3VuaXRdICogbWF0cml4W3VuaXRdWyJtaWxsaXNlY29uZHMiXTsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHN1bTsKICB9CgogIC8vIE5COiBtdXRhdGVzIHBhcmFtZXRlcnMKICBmdW5jdGlvbiBub3JtYWxpemVWYWx1ZXMobWF0cml4LCB2YWxzKSB7CiAgICAvLyB0aGUgbG9naWMgYmVsb3cgYXNzdW1lcyB0aGUgb3ZlcmFsbCB2YWx1ZSBvZiB0aGUgZHVyYXRpb24gaXMgcG9zaXRpdmUKICAgIC8vIGlmIHRoaXMgaXMgbm90IHRoZSBjYXNlLCBmYWN0b3IgaXMgdXNlZCB0byBtYWtlIGl0IHNvCiAgICBjb25zdCBmYWN0b3IgPSBkdXJhdGlvblRvTWlsbGlzKG1hdHJpeCwgdmFscykgPCAwID8gLTEgOiAxOwoKICAgIG9yZGVyZWRVbml0cyQxLnJlZHVjZVJpZ2h0KChwcmV2aW91cywgY3VycmVudCkgPT4gewogICAgICBpZiAoIWlzVW5kZWZpbmVkKHZhbHNbY3VycmVudF0pKSB7CiAgICAgICAgaWYgKHByZXZpb3VzKSB7CiAgICAgICAgICBjb25zdCBwcmV2aW91c1ZhbCA9IHZhbHNbcHJldmlvdXNdICogZmFjdG9yOwogICAgICAgICAgY29uc3QgY29udiA9IG1hdHJpeFtjdXJyZW50XVtwcmV2aW91c107CgogICAgICAgICAgLy8gaWYgKHByZXZpb3VzVmFsIDwgMCk6CiAgICAgICAgICAvLyBsb3dlciBvcmRlciB1bml0IGlzIG5lZ2F0aXZlIChlLmcuIHsgeWVhcnM6IDIsIGRheXM6IC0yIH0pCiAgICAgICAgICAvLyBub3JtYWxpemUgdGhpcyBieSByZWR1Y2luZyB0aGUgaGlnaGVyIG9yZGVyIHVuaXQgYnkgdGhlIGFwcHJvcHJpYXRlIGFtb3VudAogICAgICAgICAgLy8gYW5kIGluY3JlYXNpbmcgdGhlIGxvd2VyIG9yZGVyIHVuaXQKICAgICAgICAgIC8vIHRoaXMgY2FuIG5ldmVyIG1ha2UgdGhlIGhpZ2hlciBvcmRlciB1bml0IG5lZ2F0aXZlLCBiZWNhdXNlIHRoaXMgZnVuY3Rpb24gb25seSBvcGVyYXRlcwogICAgICAgICAgLy8gb24gcG9zaXRpdmUgZHVyYXRpb25zLCBzbyB0aGUgYW1vdW50IG9mIHRpbWUgcmVwcmVzZW50ZWQgYnkgdGhlIGxvd2VyIG9yZGVyIHVuaXQgY2Fubm90CiAgICAgICAgICAvLyBiZSBsYXJnZXIgdGhhbiB0aGUgaGlnaGVyIG9yZGVyIHVuaXQKICAgICAgICAgIC8vIGVsc2U6CiAgICAgICAgICAvLyBsb3dlciBvcmRlciB1bml0IGlzIHBvc2l0aXZlIChlLmcuIHsgeWVhcnM6IDIsIGRheXM6IDQ1MCB9IG9yIHsgeWVhcnM6IC0yLCBkYXlzOiA0NTAgfSkKICAgICAgICAgIC8vIGluIHRoaXMgY2FzZSB3ZSBhdHRlbXB0IHRvIGNvbnZlcnQgYXMgbXVjaCBhcyBwb3NzaWJsZSBmcm9tIHRoZSBsb3dlciBvcmRlciB1bml0IGludG8KICAgICAgICAgIC8vIHRoZSBoaWdoZXIgb3JkZXIgb25lCiAgICAgICAgICAvLwogICAgICAgICAgLy8gTWF0aC5mbG9vciB0YWtlcyBjYXJlIG9mIGJvdGggb2YgdGhlc2UgY2FzZXMsIHJvdW5kaW5nIGF3YXkgZnJvbSAwCiAgICAgICAgICAvLyBpZiBwcmV2aW91c1ZhbCA8IDAgaXQgbWFrZXMgdGhlIGFic29sdXRlIHZhbHVlIGxhcmdlcgogICAgICAgICAgLy8gaWYgcHJldmlvdXNWYWwgPj0gaXQgbWFrZXMgdGhlIGFic29sdXRlIHZhbHVlIHNtYWxsZXIKICAgICAgICAgIGNvbnN0IHJvbGxVcCA9IE1hdGguZmxvb3IocHJldmlvdXNWYWwgLyBjb252KTsKICAgICAgICAgIHZhbHNbY3VycmVudF0gKz0gcm9sbFVwICogZmFjdG9yOwogICAgICAgICAgdmFsc1twcmV2aW91c10gLT0gcm9sbFVwICogY29udiAqIGZhY3RvcjsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGN1cnJlbnQ7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHByZXZpb3VzOwogICAgICB9CiAgICB9LCBudWxsKTsKCiAgICAvLyB0cnkgdG8gY29udmVydCBhbnkgZGVjaW1hbHMgaW50byBzbWFsbGVyIHVuaXRzIGlmIHBvc3NpYmxlCiAgICAvLyBmb3IgZXhhbXBsZSBmb3IgeyB5ZWFyczogMi41LCBkYXlzOiAwLCBzZWNvbmRzOiAwIH0gd2Ugd2FudCB0byBnZXQgeyB5ZWFyczogMiwgZGF5czogMTgyLCBob3VyczogMTIgfQogICAgb3JkZXJlZFVuaXRzJDEucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4gewogICAgICBpZiAoIWlzVW5kZWZpbmVkKHZhbHNbY3VycmVudF0pKSB7CiAgICAgICAgaWYgKHByZXZpb3VzKSB7CiAgICAgICAgICBjb25zdCBmcmFjdGlvbiA9IHZhbHNbcHJldmlvdXNdICUgMTsKICAgICAgICAgIHZhbHNbcHJldmlvdXNdIC09IGZyYWN0aW9uOwogICAgICAgICAgdmFsc1tjdXJyZW50XSArPSBmcmFjdGlvbiAqIG1hdHJpeFtwcmV2aW91c11bY3VycmVudF07CiAgICAgICAgfQogICAgICAgIHJldHVybiBjdXJyZW50OwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBwcmV2aW91czsKICAgICAgfQogICAgfSwgbnVsbCk7CiAgfQoKICAvLyBSZW1vdmUgYWxsIHByb3BlcnRpZXMgd2l0aCBhIHZhbHVlIG9mIDAgZnJvbSBhbiBvYmplY3QKICBmdW5jdGlvbiByZW1vdmVaZXJvZXModmFscykgewogICAgY29uc3QgbmV3VmFscyA9IHt9OwogICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModmFscykpIHsKICAgICAgaWYgKHZhbHVlICE9PSAwKSB7CiAgICAgICAgbmV3VmFsc1trZXldID0gdmFsdWU7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBuZXdWYWxzOwogIH0KCiAgLyoqCiAgICogQSBEdXJhdGlvbiBvYmplY3QgcmVwcmVzZW50cyBhIHBlcmlvZCBvZiB0aW1lLCBsaWtlICIyIG1vbnRocyIgb3IgIjEgZGF5LCAxIGhvdXIiLiBDb25jZXB0dWFsbHksIGl0J3MganVzdCBhIG1hcCBvZiB1bml0cyB0byB0aGVpciBxdWFudGl0aWVzLCBhY2NvbXBhbmllZCBieSBzb21lIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbiBhbmQgbWV0aG9kcyBmb3IgY3JlYXRpbmcsIHBhcnNpbmcsIGludGVycm9nYXRpbmcsIHRyYW5zZm9ybWluZywgYW5kIGZvcm1hdHRpbmcgdGhlbS4gVGhleSBjYW4gYmUgdXNlZCBvbiB0aGVpciBvd24gb3IgaW4gY29uanVuY3Rpb24gd2l0aCBvdGhlciBMdXhvbiB0eXBlczsgZm9yIGV4YW1wbGUsIHlvdSBjYW4gdXNlIHtAbGluayBEYXRlVGltZSNwbHVzfSB0byBhZGQgYSBEdXJhdGlvbiBvYmplY3QgdG8gYSBEYXRlVGltZSwgcHJvZHVjaW5nIGFub3RoZXIgRGF0ZVRpbWUuCiAgICoKICAgKiBIZXJlIGlzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgY29tbW9ubHkgdXNlZCBtZXRob2RzIGFuZCBnZXR0ZXJzIGluIER1cmF0aW9uOgogICAqCiAgICogKiAqKkNyZWF0aW9uKiogVG8gY3JlYXRlIGEgRHVyYXRpb24sIHVzZSB7QGxpbmsgRHVyYXRpb24uZnJvbU1pbGxpc30sIHtAbGluayBEdXJhdGlvbi5mcm9tT2JqZWN0fSwgb3Ige0BsaW5rIER1cmF0aW9uLmZyb21JU099LgogICAqICogKipVbml0IHZhbHVlcyoqIFNlZSB0aGUge0BsaW5rIER1cmF0aW9uI3llYXJzfSwge0BsaW5rIER1cmF0aW9uI21vbnRoc30sIHtAbGluayBEdXJhdGlvbiN3ZWVrc30sIHtAbGluayBEdXJhdGlvbiNkYXlzfSwge0BsaW5rIER1cmF0aW9uI2hvdXJzfSwge0BsaW5rIER1cmF0aW9uI21pbnV0ZXN9LCB7QGxpbmsgRHVyYXRpb24jc2Vjb25kc30sIHtAbGluayBEdXJhdGlvbiNtaWxsaXNlY29uZHN9IGFjY2Vzc29ycy4KICAgKiAqICoqQ29uZmlndXJhdGlvbioqIFNlZSAge0BsaW5rIER1cmF0aW9uI2xvY2FsZX0gYW5kIHtAbGluayBEdXJhdGlvbiNudW1iZXJpbmdTeXN0ZW19IGFjY2Vzc29ycy4KICAgKiAqICoqVHJhbnNmb3JtYXRpb24qKiBUbyBjcmVhdGUgbmV3IER1cmF0aW9ucyBvdXQgb2Ygb2xkIG9uZXMgdXNlIHtAbGluayBEdXJhdGlvbiNwbHVzfSwge0BsaW5rIER1cmF0aW9uI21pbnVzfSwge0BsaW5rIER1cmF0aW9uI25vcm1hbGl6ZX0sIHtAbGluayBEdXJhdGlvbiNzZXR9LCB7QGxpbmsgRHVyYXRpb24jcmVjb25maWd1cmV9LCB7QGxpbmsgRHVyYXRpb24jc2hpZnRUb30sIGFuZCB7QGxpbmsgRHVyYXRpb24jbmVnYXRlfS4KICAgKiAqICoqT3V0cHV0KiogVG8gY29udmVydCB0aGUgRHVyYXRpb24gaW50byBvdGhlciByZXByZXNlbnRhdGlvbnMsIHNlZSB7QGxpbmsgRHVyYXRpb24jYXN9LCB7QGxpbmsgRHVyYXRpb24jdG9JU099LCB7QGxpbmsgRHVyYXRpb24jdG9Gb3JtYXR9LCBhbmQge0BsaW5rIER1cmF0aW9uI3RvSlNPTn0KICAgKgogICAqIFRoZXJlJ3MgYXJlIG1vcmUgbWV0aG9kcyBkb2N1bWVudGVkIGJlbG93LiBJbiBhZGRpdGlvbiwgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc3VidGxlciB0b3BpY3MgbGlrZSBpbnRlcm5hdGlvbmFsaXphdGlvbiBhbmQgdmFsaWRpdHksIHNlZSB0aGUgZXh0ZXJuYWwgZG9jdW1lbnRhdGlvbi4KICAgKi8KICBjbGFzcyBEdXJhdGlvbiB7CiAgICAvKioKICAgICAqIEBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0cnVjdG9yKGNvbmZpZykgewogICAgICBjb25zdCBhY2N1cmF0ZSA9IGNvbmZpZy5jb252ZXJzaW9uQWNjdXJhY3kgPT09ICJsb25ndGVybSIgfHwgZmFsc2U7CiAgICAgIGxldCBtYXRyaXggPSBhY2N1cmF0ZSA/IGFjY3VyYXRlTWF0cml4IDogY2FzdWFsTWF0cml4OwoKICAgICAgaWYgKGNvbmZpZy5tYXRyaXgpIHsKICAgICAgICBtYXRyaXggPSBjb25maWcubWF0cml4OwogICAgICB9CgogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLnZhbHVlcyA9IGNvbmZpZy52YWx1ZXM7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMubG9jID0gY29uZmlnLmxvYyB8fCBMb2NhbGUuY3JlYXRlKCk7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuY29udmVyc2lvbkFjY3VyYWN5ID0gYWNjdXJhdGUgPyAibG9uZ3Rlcm0iIDogImNhc3VhbCI7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuaW52YWxpZCA9IGNvbmZpZy5pbnZhbGlkIHx8IG51bGw7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMubWF0cml4ID0gbWF0cml4OwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLmlzTHV4b25EdXJhdGlvbiA9IHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgRHVyYXRpb24gZnJvbSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMuCiAgICAgKiBAcGFyYW0ge251bWJlcn0gY291bnQgb2YgbWlsbGlzZWNvbmRzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgZm9yIHBhcnNpbmcKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSB0aGUgbG9jYWxlIHRvIHVzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuY29udmVyc2lvbkFjY3VyYWN5PSdjYXN1YWwnXSAtIHRoZSBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzdGF0aWMgZnJvbU1pbGxpcyhjb3VudCwgb3B0cykgewogICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbGxpc2Vjb25kczogY291bnQgfSwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEdXJhdGlvbiBmcm9tIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCBrZXlzIGxpa2UgJ3llYXJzJyBhbmQgJ2hvdXJzJy4KICAgICAqIElmIHRoaXMgb2JqZWN0IGlzIGVtcHR5IHRoZW4gYSB6ZXJvIG1pbGxpc2Vjb25kcyBkdXJhdGlvbiBpcyByZXR1cm5lZC4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvYmogLSB0aGUgb2JqZWN0IHRvIGNyZWF0ZSB0aGUgRGF0ZVRpbWUgZnJvbQogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai55ZWFycwogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5xdWFydGVycwogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5tb250aHMKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla3MKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmouZGF5cwogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5ob3VycwogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5taW51dGVzCiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLnNlY29uZHMKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoubWlsbGlzZWNvbmRzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdHM9W11dIC0gb3B0aW9ucyBmb3IgY3JlYXRpbmcgdGhpcyBEdXJhdGlvbgogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIHRoZSBsb2NhbGUgdG8gdXNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIHByZXNldCBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5tYXRyaXg9T2JqZWN0XSAtIHRoZSBjdXN0b20gY29udmVyc2lvbiBzeXN0ZW0gdG8gdXNlCiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgc3RhdGljIGZyb21PYmplY3Qob2JqLCBvcHRzID0ge30pIHsKICAgICAgaWYgKG9iaiA9PSBudWxsIHx8IHR5cGVvZiBvYmogIT09ICJvYmplY3QiKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKAogICAgICAgICAgYER1cmF0aW9uLmZyb21PYmplY3Q6IGFyZ3VtZW50IGV4cGVjdGVkIHRvIGJlIGFuIG9iamVjdCwgZ290ICR7CiAgICAgICAgICBvYmogPT09IG51bGwgPyAibnVsbCIgOiB0eXBlb2Ygb2JqCiAgICAgICAgfWAKICAgICAgICApOwogICAgICB9CgogICAgICByZXR1cm4gbmV3IER1cmF0aW9uKHsKICAgICAgICB2YWx1ZXM6IG5vcm1hbGl6ZU9iamVjdChvYmosIER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQpLAogICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0cyksCiAgICAgICAgY29udmVyc2lvbkFjY3VyYWN5OiBvcHRzLmNvbnZlcnNpb25BY2N1cmFjeSwKICAgICAgICBtYXRyaXg6IG9wdHMubWF0cml4LAogICAgICB9KTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIER1cmF0aW9uIGZyb20gRHVyYXRpb25MaWtlLgogICAgICoKICAgICAqIEBwYXJhbSB7T2JqZWN0IHwgbnVtYmVyIHwgRHVyYXRpb259IGR1cmF0aW9uTGlrZQogICAgICogT25lIG9mOgogICAgICogLSBvYmplY3Qgd2l0aCBrZXlzIGxpa2UgJ3llYXJzJyBhbmQgJ2hvdXJzJy4KICAgICAqIC0gbnVtYmVyIHJlcHJlc2VudGluZyBtaWxsaXNlY29uZHMKICAgICAqIC0gRHVyYXRpb24gaW5zdGFuY2UKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzdGF0aWMgZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbkxpa2UpIHsKICAgICAgaWYgKGlzTnVtYmVyKGR1cmF0aW9uTGlrZSkpIHsKICAgICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU1pbGxpcyhkdXJhdGlvbkxpa2UpOwogICAgICB9IGVsc2UgaWYgKER1cmF0aW9uLmlzRHVyYXRpb24oZHVyYXRpb25MaWtlKSkgewogICAgICAgIHJldHVybiBkdXJhdGlvbkxpa2U7CiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGR1cmF0aW9uTGlrZSA9PT0gIm9iamVjdCIpIHsKICAgICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU9iamVjdChkdXJhdGlvbkxpa2UpOwogICAgICB9IGVsc2UgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigKICAgICAgICAgIGBVbmtub3duIGR1cmF0aW9uIGFyZ3VtZW50ICR7ZHVyYXRpb25MaWtlfSBvZiB0eXBlICR7dHlwZW9mIGR1cmF0aW9uTGlrZX1gCiAgICAgICAgKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSBkdXJhdGlvbiBzdHJpbmcuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRleHQgdG8gcGFyc2UKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucyBmb3IgcGFyc2luZwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIHRoZSBsb2NhbGUgdG8gdXNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIHByZXNldCBjb252ZXJzaW9uIHN5c3RlbSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5tYXRyaXg9T2JqZWN0XSAtIHRoZSBwcmVzZXQgY29udmVyc2lvbiBzeXN0ZW0gdG8gdXNlCiAgICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI0R1cmF0aW9ucwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUDNZNk0xVzREVDEySDMwTTVTJykudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDMsIG1vbnRoczogNiwgd2Vla3M6IDEsIGRheXM6IDQsIGhvdXJzOiAxMiwgbWludXRlczogMzAsIHNlY29uZHM6IDUgfQogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUFQyM0gnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjMgfQogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTTygnUDVZM00nKS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogNSwgbW9udGhzOiAzIH0KICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBzdGF0aWMgZnJvbUlTTyh0ZXh0LCBvcHRzKSB7CiAgICAgIGNvbnN0IFtwYXJzZWRdID0gcGFyc2VJU09EdXJhdGlvbih0ZXh0KTsKICAgICAgaWYgKHBhcnNlZCkgewogICAgICAgIHJldHVybiBEdXJhdGlvbi5mcm9tT2JqZWN0KHBhcnNlZCwgb3B0cyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIER1cmF0aW9uLmludmFsaWQoInVucGFyc2FibGUiLCBgdGhlIGlucHV0ICIke3RleHR9IiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRHVyYXRpb24gZnJvbSBhbiBJU08gODYwMSB0aW1lIHN0cmluZy4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGV4dCB0byBwYXJzZQogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIGZvciBwYXJzaW5nCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdlbi1VUyddIC0gdGhlIGxvY2FsZSB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHVzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmNvbnZlcnNpb25BY2N1cmFjeT0nY2FzdWFsJ10gLSB0aGUgcHJlc2V0IGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm1hdHJpeD1PYmplY3RdIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZQogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lcwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTT1RpbWUoJzExOjIyOjMzLjQ0NCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMSwgbWludXRlczogMjIsIHNlY29uZHM6IDMzLCBtaWxsaXNlY29uZHM6IDQ0NCB9CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnMTE6MDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfQogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbUlTT1RpbWUoJ1QxMTowMCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMSwgbWludXRlczogMCwgc2Vjb25kczogMCB9CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnMTEwMCcpLnRvT2JqZWN0KCkgLy89PiB7IGhvdXJzOiAxMSwgbWludXRlczogMCwgc2Vjb25kczogMCB9CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tSVNPVGltZSgnVDExMDAnKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDAsIHNlY29uZHM6IDAgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tSVNPVGltZSh0ZXh0LCBvcHRzKSB7CiAgICAgIGNvbnN0IFtwYXJzZWRdID0gcGFyc2VJU09UaW1lT25seSh0ZXh0KTsKICAgICAgaWYgKHBhcnNlZCkgewogICAgICAgIHJldHVybiBEdXJhdGlvbi5mcm9tT2JqZWN0KHBhcnNlZCwgb3B0cyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIER1cmF0aW9uLmludmFsaWQoInVucGFyc2FibGUiLCBgdGhlIGlucHV0ICIke3RleHR9IiBjYW4ndCBiZSBwYXJzZWQgYXMgSVNPIDg2MDFgKTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIGludmFsaWQgRHVyYXRpb24uCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmVhc29uIC0gc2ltcGxlIHN0cmluZyBvZiB3aHkgdGhpcyBkYXRldGltZSBpcyBpbnZhbGlkLiBTaG91bGQgbm90IGNvbnRhaW4gcGFyYW1ldGVycyBvciBhbnl0aGluZyBlbHNlIGRhdGEtZGVwZW5kZW50CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGxhbmF0aW9uPW51bGxdIC0gbG9uZ2VyIGV4cGxhbmF0aW9uLCBtYXkgaW5jbHVkZSBwYXJhbWV0ZXJzIGFuZCBvdGhlciB1c2VmdWwgZGVidWdnaW5nIGluZm9ybWF0aW9uCiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgc3RhdGljIGludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbiA9IG51bGwpIHsKICAgICAgaWYgKCFyZWFzb24pIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoIm5lZWQgdG8gc3BlY2lmeSBhIHJlYXNvbiB0aGUgRHVyYXRpb24gaXMgaW52YWxpZCIpOwogICAgICB9CgogICAgICBjb25zdCBpbnZhbGlkID0gcmVhc29uIGluc3RhbmNlb2YgSW52YWxpZCA/IHJlYXNvbiA6IG5ldyBJbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24pOwoKICAgICAgaWYgKFNldHRpbmdzLnRocm93T25JbnZhbGlkKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWREdXJhdGlvbkVycm9yKGludmFsaWQpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBuZXcgRHVyYXRpb24oeyBpbnZhbGlkIH0pOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBzdGF0aWMgbm9ybWFsaXplVW5pdCh1bml0KSB7CiAgICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB7CiAgICAgICAgeWVhcjogInllYXJzIiwKICAgICAgICB5ZWFyczogInllYXJzIiwKICAgICAgICBxdWFydGVyOiAicXVhcnRlcnMiLAogICAgICAgIHF1YXJ0ZXJzOiAicXVhcnRlcnMiLAogICAgICAgIG1vbnRoOiAibW9udGhzIiwKICAgICAgICBtb250aHM6ICJtb250aHMiLAogICAgICAgIHdlZWs6ICJ3ZWVrcyIsCiAgICAgICAgd2Vla3M6ICJ3ZWVrcyIsCiAgICAgICAgZGF5OiAiZGF5cyIsCiAgICAgICAgZGF5czogImRheXMiLAogICAgICAgIGhvdXI6ICJob3VycyIsCiAgICAgICAgaG91cnM6ICJob3VycyIsCiAgICAgICAgbWludXRlOiAibWludXRlcyIsCiAgICAgICAgbWludXRlczogIm1pbnV0ZXMiLAogICAgICAgIHNlY29uZDogInNlY29uZHMiLAogICAgICAgIHNlY29uZHM6ICJzZWNvbmRzIiwKICAgICAgICBtaWxsaXNlY29uZDogIm1pbGxpc2Vjb25kcyIsCiAgICAgICAgbWlsbGlzZWNvbmRzOiAibWlsbGlzZWNvbmRzIiwKICAgICAgfVt1bml0ID8gdW5pdC50b0xvd2VyQ2FzZSgpIDogdW5pdF07CgogICAgICBpZiAoIW5vcm1hbGl6ZWQpIHRocm93IG5ldyBJbnZhbGlkVW5pdEVycm9yKHVuaXQpOwoKICAgICAgcmV0dXJuIG5vcm1hbGl6ZWQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBDaGVjayBpZiBhbiBvYmplY3QgaXMgYSBEdXJhdGlvbi4gV29ya3MgYWNyb3NzIGNvbnRleHQgYm91bmRhcmllcwogICAgICogQHBhcmFtIHtvYmplY3R9IG8KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBpc0R1cmF0aW9uKG8pIHsKICAgICAgcmV0dXJuIChvICYmIG8uaXNMdXhvbkR1cmF0aW9uKSB8fCBmYWxzZTsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCAgdGhlIGxvY2FsZSBvZiBhIER1cmF0aW9uLCBzdWNoICdlbi1HQicKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBsb2NhbGUoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5sb2NhbGUgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBudW1iZXJpbmcgc3lzdGVtIG9mIGEgRHVyYXRpb24sIHN1Y2ggJ2JlbmcnLiBUaGUgbnVtYmVyaW5nIHN5c3RlbSBpcyB1c2VkIHdoZW4gZm9ybWF0dGluZyB0aGUgRHVyYXRpb24KICAgICAqCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgbnVtYmVyaW5nU3lzdGVtKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5sb2MubnVtYmVyaW5nU3lzdGVtIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEdXJhdGlvbiBmb3JtYXR0ZWQgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgZm9ybWF0IHN0cmluZy4gWW91IG1heSB1c2UgdGhlc2UgdG9rZW5zOgogICAgICogKiBgU2AgZm9yIG1pbGxpc2Vjb25kcwogICAgICogKiBgc2AgZm9yIHNlY29uZHMKICAgICAqICogYG1gIGZvciBtaW51dGVzCiAgICAgKiAqIGBoYCBmb3IgaG91cnMKICAgICAqICogYGRgIGZvciBkYXlzCiAgICAgKiAqIGB3YCBmb3Igd2Vla3MKICAgICAqICogYE1gIGZvciBtb250aHMKICAgICAqICogYHlgIGZvciB5ZWFycwogICAgICogTm90ZXM6CiAgICAgKiAqIEFkZCBwYWRkaW5nIGJ5IHJlcGVhdGluZyB0aGUgdG9rZW4sIGUuZy4gInl5IiBwYWRzIHRoZSB5ZWFycyB0byB0d28gZGlnaXRzLCAiaGhoaCIgcGFkcyB0aGUgaG91cnMgb3V0IHRvIGZvdXIgZGlnaXRzCiAgICAgKiAqIFRva2VucyBjYW4gYmUgZXNjYXBlZCBieSB3cmFwcGluZyB3aXRoIHNpbmdsZSBxdW90ZXMuCiAgICAgKiAqIFRoZSBkdXJhdGlvbiB3aWxsIGJlIGNvbnZlcnRlZCB0byB0aGUgc2V0IG9mIHVuaXRzIGluIHRoZSBmb3JtYXQgc3RyaW5nIHVzaW5nIHtAbGluayBEdXJhdGlvbiNzaGlmdFRvfSBhbmQgdGhlIER1cmF0aW9ucydzIGNvbnZlcnNpb24gYWNjdXJhY3kgc2V0dGluZy4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmbXQgLSB0aGUgZm9ybWF0IHN0cmluZwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmZsb29yPXRydWVdIC0gZmxvb3IgbnVtZXJpY2FsIHZhbHVlcwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KCJ5IGQgcyIpIC8vPT4gIjEgNiAyIgogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxLCBkYXlzOiA2LCBzZWNvbmRzOiAyIH0pLnRvRm9ybWF0KCJ5eSBkZCBzc3MiKSAvLz0+ICIwMSAwNiAwMDIiCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEsIGRheXM6IDYsIHNlY29uZHM6IDIgfSkudG9Gb3JtYXQoIk0gUyIpIC8vPT4gIjEyIDUxODQwMjAwMCIKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9Gb3JtYXQoZm10LCBvcHRzID0ge30pIHsKICAgICAgLy8gcmV2ZXJzZS1jb21wYXQgc2luY2UgMS4yOyB3ZSBhbHdheXMgcm91bmQgZG93biBub3csIG5ldmVyIHVwLCBhbmQgd2UgZG8gaXQgYnkgZGVmYXVsdAogICAgICBjb25zdCBmbXRPcHRzID0gewogICAgICAgIC4uLm9wdHMsCiAgICAgICAgZmxvb3I6IG9wdHMucm91bmQgIT09IGZhbHNlICYmIG9wdHMuZmxvb3IgIT09IGZhbHNlLAogICAgICB9OwogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkCiAgICAgICAgPyBGb3JtYXR0ZXIuY3JlYXRlKHRoaXMubG9jLCBmbXRPcHRzKS5mb3JtYXREdXJhdGlvbkZyb21TdHJpbmcodGhpcywgZm10KQogICAgICAgIDogSU5WQUxJRCQyOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIER1cmF0aW9uIHdpdGggYWxsIHVuaXRzIGluY2x1ZGVkLgogICAgICogVG8gbW9kaWZ5IGl0cyBiZWhhdmlvciB1c2UgdGhlIGBsaXN0U3R5bGVgIGFuZCBhbnkgSW50bC5OdW1iZXJGb3JtYXQgb3B0aW9uLCB0aG91Z2ggYHVuaXREaXNwbGF5YCBpcyBlc3BlY2lhbGx5IHJlbGV2YW50LgogICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9JbnRsL051bWJlckZvcm1hdAogICAgICogQHBhcmFtIG9wdHMgLSBPbiBvcHRpb24gb2JqZWN0IHRvIG92ZXJyaWRlIHRoZSBmb3JtYXR0aW5nLiBBY2NlcHRzIHRoZSBzYW1lIGtleXMgYXMgdGhlIG9wdGlvbnMgcGFyYW1ldGVyIG9mIHRoZSBuYXRpdmUgYEludC5OdW1iZXJGb3JtYXRgIGNvbnN0cnVjdG9yLCBhcyB3ZWxsIGFzIGBsaXN0U3R5bGVgLgogICAgICogQGV4YW1wbGUKICAgICAqIGBgYGpzCiAgICAgKiB2YXIgZHVyID0gRHVyYXRpb24uZnJvbU9iamVjdCh7IGRheXM6IDEsIGhvdXJzOiA1LCBtaW51dGVzOiA2IH0pCiAgICAgKiBkdXIudG9IdW1hbigpIC8vPT4gJzEgZGF5LCA1IGhvdXJzLCA2IG1pbnV0ZXMnCiAgICAgKiBkdXIudG9IdW1hbih7IGxpc3RTdHlsZTogImxvbmciIH0pIC8vPT4gJzEgZGF5LCA1IGhvdXJzLCBhbmQgNiBtaW51dGVzJwogICAgICogZHVyLnRvSHVtYW4oeyB1bml0RGlzcGxheTogInNob3J0IiB9KSAvLz0+ICcxIGRheSwgNSBociwgNiBtaW4nCiAgICAgKiBgYGAKICAgICAqLwogICAgdG9IdW1hbihvcHRzID0ge30pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEJDI7CgogICAgICBjb25zdCBsID0gb3JkZXJlZFVuaXRzJDEKICAgICAgICAubWFwKCh1bml0KSA9PiB7CiAgICAgICAgICBjb25zdCB2YWwgPSB0aGlzLnZhbHVlc1t1bml0XTsKICAgICAgICAgIGlmIChpc1VuZGVmaW5lZCh2YWwpKSB7CiAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHRoaXMubG9jCiAgICAgICAgICAgIC5udW1iZXJGb3JtYXR0ZXIoeyBzdHlsZTogInVuaXQiLCB1bml0RGlzcGxheTogImxvbmciLCAuLi5vcHRzLCB1bml0OiB1bml0LnNsaWNlKDAsIC0xKSB9KQogICAgICAgICAgICAuZm9ybWF0KHZhbCk7CiAgICAgICAgfSkKICAgICAgICAuZmlsdGVyKChuKSA9PiBuKTsKCiAgICAgIHJldHVybiB0aGlzLmxvYwogICAgICAgIC5saXN0Rm9ybWF0dGVyKHsgdHlwZTogImNvbmp1bmN0aW9uIiwgc3R5bGU6IG9wdHMubGlzdFN0eWxlIHx8ICJuYXJyb3ciLCAuLi5vcHRzIH0pCiAgICAgICAgLmZvcm1hdChsKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIHRoaXMgRHVyYXRpb24ncyB2YWx1ZXMuCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgeWVhcnM6IDEsIGRheXM6IDYsIHNlY29uZHM6IDIgfSkudG9PYmplY3QoKSAvLz0+IHsgeWVhcnM6IDEsIGRheXM6IDYsIHNlY29uZHM6IDIgfQogICAgICogQHJldHVybiB7T2JqZWN0fQogICAgICovCiAgICB0b09iamVjdCgpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB7fTsKICAgICAgcmV0dXJuIHsgLi4udGhpcy52YWx1ZXMgfTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIER1cmF0aW9uLgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNEdXJhdGlvbnMKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMywgc2Vjb25kczogNDUgfSkudG9JU08oKSAvLz0+ICdQM1lUNDVTJwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogNCwgc2Vjb25kczogNDUgfSkudG9JU08oKSAvLz0+ICdQNE1UNDVTJwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogNSB9KS50b0lTTygpIC8vPT4gJ1A1TScKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtaW51dGVzOiA1IH0pLnRvSVNPKCkgLy89PiAnUFQ1TScKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtaWxsaXNlY29uZHM6IDYgfSkudG9JU08oKSAvLz0+ICdQVDAuMDA2UycKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9JU08oKSB7CiAgICAgIC8vIHdlIGNvdWxkIHVzZSB0aGUgZm9ybWF0dGVyLCBidXQgdGhpcyBpcyBhbiBlYXNpZXIgd2F5IHRvIGdldCB0aGUgbWluaW11bSBzdHJpbmcKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBudWxsOwoKICAgICAgbGV0IHMgPSAiUCI7CiAgICAgIGlmICh0aGlzLnllYXJzICE9PSAwKSBzICs9IHRoaXMueWVhcnMgKyAiWSI7CiAgICAgIGlmICh0aGlzLm1vbnRocyAhPT0gMCB8fCB0aGlzLnF1YXJ0ZXJzICE9PSAwKSBzICs9IHRoaXMubW9udGhzICsgdGhpcy5xdWFydGVycyAqIDMgKyAiTSI7CiAgICAgIGlmICh0aGlzLndlZWtzICE9PSAwKSBzICs9IHRoaXMud2Vla3MgKyAiVyI7CiAgICAgIGlmICh0aGlzLmRheXMgIT09IDApIHMgKz0gdGhpcy5kYXlzICsgIkQiOwogICAgICBpZiAodGhpcy5ob3VycyAhPT0gMCB8fCB0aGlzLm1pbnV0ZXMgIT09IDAgfHwgdGhpcy5zZWNvbmRzICE9PSAwIHx8IHRoaXMubWlsbGlzZWNvbmRzICE9PSAwKQogICAgICAgIHMgKz0gIlQiOwogICAgICBpZiAodGhpcy5ob3VycyAhPT0gMCkgcyArPSB0aGlzLmhvdXJzICsgIkgiOwogICAgICBpZiAodGhpcy5taW51dGVzICE9PSAwKSBzICs9IHRoaXMubWludXRlcyArICJNIjsKICAgICAgaWYgKHRoaXMuc2Vjb25kcyAhPT0gMCB8fCB0aGlzLm1pbGxpc2Vjb25kcyAhPT0gMCkKICAgICAgICAvLyB0aGlzIHdpbGwgaGFuZGxlICJmbG9hdGluZyBwb2ludCBtYWRuZXNzIiBieSByZW1vdmluZyBleHRyYSBkZWNpbWFsIHBsYWNlcwogICAgICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzU4ODAwNC9pcy1mbG9hdGluZy1wb2ludC1tYXRoLWJyb2tlbgogICAgICAgIHMgKz0gcm91bmRUbyh0aGlzLnNlY29uZHMgKyB0aGlzLm1pbGxpc2Vjb25kcyAvIDEwMDAsIDMpICsgIlMiOwogICAgICBpZiAocyA9PT0gIlAiKSBzICs9ICJUMFMiOwogICAgICByZXR1cm4gczsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIER1cmF0aW9uLCBmb3JtYXR0ZWQgYXMgYSB0aW1lIG9mIGRheS4KICAgICAqIE5vdGUgdGhhdCB0aGlzIHdpbGwgcmV0dXJuIG51bGwgaWYgdGhlIGR1cmF0aW9uIGlzIGludmFsaWQsIG5lZ2F0aXZlLCBvciBlcXVhbCB0byBvciBncmVhdGVyIHRoYW4gMjQgaG91cnMuCiAgICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NNaWxsaXNlY29uZHM9ZmFsc2VdIC0gZXhjbHVkZSBtaWxsaXNlY29uZHMgZnJvbSB0aGUgZm9ybWF0IGlmIHRoZXkncmUgMAogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zdXBwcmVzc1NlY29uZHM9ZmFsc2VdIC0gZXhjbHVkZSBzZWNvbmRzIGZyb20gdGhlIGZvcm1hdCBpZiB0aGV5J3JlIDAKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVByZWZpeD1mYWxzZV0gLSBpbmNsdWRlIHRoZSBgVGAgcHJlZml4CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXQKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKCkgLy89PiAnMTE6MDA6MDAuMDAwJwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMSB9KS50b0lTT1RpbWUoeyBzdXBwcmVzc01pbGxpc2Vjb25kczogdHJ1ZSB9KSAvLz0+ICcxMTowMDowMCcKICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTEgfSkudG9JU09UaW1lKHsgc3VwcHJlc3NTZWNvbmRzOiB0cnVlIH0pIC8vPT4gJzExOjAwJwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxMSB9KS50b0lTT1RpbWUoeyBpbmNsdWRlUHJlZml4OiB0cnVlIH0pIC8vPT4gJ1QxMTowMDowMC4wMDAnCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDExIH0pLnRvSVNPVGltZSh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcxMTAwMDAuMDAwJwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0lTT1RpbWUob3B0cyA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gbnVsbDsKCiAgICAgIGNvbnN0IG1pbGxpcyA9IHRoaXMudG9NaWxsaXMoKTsKICAgICAgaWYgKG1pbGxpcyA8IDAgfHwgbWlsbGlzID49IDg2NDAwMDAwKSByZXR1cm4gbnVsbDsKCiAgICAgIG9wdHMgPSB7CiAgICAgICAgc3VwcHJlc3NNaWxsaXNlY29uZHM6IGZhbHNlLAogICAgICAgIHN1cHByZXNzU2Vjb25kczogZmFsc2UsCiAgICAgICAgaW5jbHVkZVByZWZpeDogZmFsc2UsCiAgICAgICAgZm9ybWF0OiAiZXh0ZW5kZWQiLAogICAgICAgIC4uLm9wdHMsCiAgICAgICAgaW5jbHVkZU9mZnNldDogZmFsc2UsCiAgICAgIH07CgogICAgICBjb25zdCBkYXRlVGltZSA9IERhdGVUaW1lLmZyb21NaWxsaXMobWlsbGlzLCB7IHpvbmU6ICJVVEMiIH0pOwogICAgICByZXR1cm4gZGF0ZVRpbWUudG9JU09UaW1lKG9wdHMpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBJU08gODYwMSByZXByZXNlbnRhdGlvbiBvZiB0aGlzIER1cmF0aW9uIGFwcHJvcHJpYXRlIGZvciB1c2UgaW4gSlNPTi4KICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9KU09OKCkgewogICAgICByZXR1cm4gdGhpcy50b0lTTygpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBJU08gODYwMSByZXByZXNlbnRhdGlvbiBvZiB0aGlzIER1cmF0aW9uIGFwcHJvcHJpYXRlIGZvciB1c2UgaW4gZGVidWdnaW5nLgogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b1N0cmluZygpIHsKICAgICAgcmV0dXJuIHRoaXMudG9JU08oKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gbWlsbGlzZWNvbmRzIHZhbHVlIG9mIHRoaXMgRHVyYXRpb24uCiAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgICAgKi8KICAgIHRvTWlsbGlzKCkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIE5hTjsKCiAgICAgIHJldHVybiBkdXJhdGlvblRvTWlsbGlzKHRoaXMubWF0cml4LCB0aGlzLnZhbHVlcyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIG1pbGxpc2Vjb25kcyB2YWx1ZSBvZiB0aGlzIER1cmF0aW9uLiBBbGlhcyBvZiB7QGxpbmsgdG9NaWxsaXN9CiAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgICAgKi8KICAgIHZhbHVlT2YoKSB7CiAgICAgIHJldHVybiB0aGlzLnRvTWlsbGlzKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBNYWtlIHRoaXMgRHVyYXRpb24gbG9uZ2VyIGJ5IHRoZSBzcGVjaWZpZWQgYW1vdW50LiBSZXR1cm4gYSBuZXdseS1jb25zdHJ1Y3RlZCBEdXJhdGlvbi4KICAgICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgYW1vdW50IHRvIGFkZC4gRWl0aGVyIGEgTHV4b24gRHVyYXRpb24sIGEgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcywgdGhlIG9iamVjdCBhcmd1bWVudCB0byBEdXJhdGlvbi5mcm9tT2JqZWN0KCkKICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBwbHVzKGR1cmF0aW9uKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKCiAgICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pLAogICAgICAgIHJlc3VsdCA9IHt9OwoKICAgICAgZm9yIChjb25zdCBrIG9mIG9yZGVyZWRVbml0cyQxKSB7CiAgICAgICAgaWYgKGhhc093blByb3BlcnR5KGR1ci52YWx1ZXMsIGspIHx8IGhhc093blByb3BlcnR5KHRoaXMudmFsdWVzLCBrKSkgewogICAgICAgICAgcmVzdWx0W2tdID0gZHVyLmdldChrKSArIHRoaXMuZ2V0KGspOwogICAgICAgIH0KICAgICAgfQoKICAgICAgcmV0dXJuIGNsb25lJDEodGhpcywgeyB2YWx1ZXM6IHJlc3VsdCB9LCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIE1ha2UgdGhpcyBEdXJhdGlvbiBzaG9ydGVyIGJ5IHRoZSBzcGVjaWZpZWQgYW1vdW50LiBSZXR1cm4gYSBuZXdseS1jb25zdHJ1Y3RlZCBEdXJhdGlvbi4KICAgICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgYW1vdW50IHRvIHN1YnRyYWN0LiBFaXRoZXIgYSBMdXhvbiBEdXJhdGlvbiwgYSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLCB0aGUgb2JqZWN0IGFyZ3VtZW50IHRvIER1cmF0aW9uLmZyb21PYmplY3QoKQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIG1pbnVzKGR1cmF0aW9uKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKCiAgICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pOwogICAgICByZXR1cm4gdGhpcy5wbHVzKGR1ci5uZWdhdGUoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTY2FsZSB0aGlzIER1cmF0aW9uIGJ5IHRoZSBzcGVjaWZpZWQgYW1vdW50LiBSZXR1cm4gYSBuZXdseS1jb25zdHJ1Y3RlZCBEdXJhdGlvbi4KICAgICAqIEBwYXJhbSB7ZnVuY3Rpb259IGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGFwcGx5IHRvIGVhY2ggdW5pdC4gQXJpdHkgaXMgMSBvciAyOiB0aGUgdmFsdWUgb2YgdGhlIHVuaXQgYW5kLCBvcHRpb25hbGx5LCB0aGUgdW5pdCBuYW1lLiBNdXN0IHJldHVybiBhIG51bWJlci4KICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSwgbWludXRlczogMzAgfSkubWFwVW5pdHMoeCA9PiB4ICogMikgLy89PiB7IGhvdXJzOiAyLCBtaW51dGVzOiA2MCB9CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEsIG1pbnV0ZXM6IDMwIH0pLm1hcFVuaXRzKCh4LCB1KSA9PiB1ID09PSAiaG91cnMiID8geCAqIDIgOiB4KSAvLz0+IHsgaG91cnM6IDIsIG1pbnV0ZXM6IDMwIH0KICAgICAqIEByZXR1cm4ge0R1cmF0aW9ufQogICAgICovCiAgICBtYXBVbml0cyhmbikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CiAgICAgIGNvbnN0IHJlc3VsdCA9IHt9OwogICAgICBmb3IgKGNvbnN0IGsgb2YgT2JqZWN0LmtleXModGhpcy52YWx1ZXMpKSB7CiAgICAgICAgcmVzdWx0W2tdID0gYXNOdW1iZXIoZm4odGhpcy52YWx1ZXNba10sIGspKTsKICAgICAgfQogICAgICByZXR1cm4gY2xvbmUkMSh0aGlzLCB7IHZhbHVlczogcmVzdWx0IH0sIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB2YWx1ZSBvZiB1bml0LgogICAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBhIHVuaXQgc3VjaCBhcyAnbWludXRlJyBvciAnZGF5JwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7eWVhcnM6IDIsIGRheXM6IDN9KS5nZXQoJ3llYXJzJykgLy89PiAyCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMiwgZGF5czogM30pLmdldCgnbW9udGhzJykgLy89PiAwCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMiwgZGF5czogM30pLmdldCgnZGF5cycpIC8vPT4gMwogICAgICogQHJldHVybiB7bnVtYmVyfQogICAgICovCiAgICBnZXQodW5pdCkgewogICAgICByZXR1cm4gdGhpc1tEdXJhdGlvbi5ub3JtYWxpemVVbml0KHVuaXQpXTsKICAgIH0KCiAgICAvKioKICAgICAqICJTZXQiIHRoZSB2YWx1ZXMgb2Ygc3BlY2lmaWVkIHVuaXRzLiBSZXR1cm4gYSBuZXdseS1jb25zdHJ1Y3RlZCBEdXJhdGlvbi4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSB2YWx1ZXMgLSBhIG1hcHBpbmcgb2YgdW5pdHMgdG8gbnVtYmVycwogICAgICogQGV4YW1wbGUgZHVyLnNldCh7IHllYXJzOiAyMDE3IH0pCiAgICAgKiBAZXhhbXBsZSBkdXIuc2V0KHsgaG91cnM6IDgsIG1pbnV0ZXM6IDMwIH0pCiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgc2V0KHZhbHVlcykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CgogICAgICBjb25zdCBtaXhlZCA9IHsgLi4udGhpcy52YWx1ZXMsIC4uLm5vcm1hbGl6ZU9iamVjdCh2YWx1ZXMsIER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQpIH07CiAgICAgIHJldHVybiBjbG9uZSQxKHRoaXMsIHsgdmFsdWVzOiBtaXhlZCB9KTsKICAgIH0KCiAgICAvKioKICAgICAqICJTZXQiIHRoZSBsb2NhbGUgYW5kL29yIG51bWJlcmluZ1N5c3RlbS4gIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEdXJhdGlvbi4KICAgICAqIEBleGFtcGxlIGR1ci5yZWNvbmZpZ3VyZSh7IGxvY2FsZTogJ2VuLUdCJyB9KQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHJlY29uZmlndXJlKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIGNvbnZlcnNpb25BY2N1cmFjeSwgbWF0cml4IH0gPSB7fSkgewogICAgICBjb25zdCBsb2MgPSB0aGlzLmxvYy5jbG9uZSh7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtIH0pOwogICAgICBjb25zdCBvcHRzID0geyBsb2MsIG1hdHJpeCwgY29udmVyc2lvbkFjY3VyYWN5IH07CiAgICAgIHJldHVybiBjbG9uZSQxKHRoaXMsIG9wdHMpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIGR1cmF0aW9uIGluIHRoZSBzcGVjaWZpZWQgdW5pdC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1bml0IC0gYSB1bml0IHN1Y2ggYXMgJ21pbnV0ZXMnIG9yICdkYXlzJwogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7eWVhcnM6IDF9KS5hcygnZGF5cycpIC8vPT4gMzY1CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHt5ZWFyczogMX0pLmFzKCdtb250aHMnKSAvLz0+IDEyCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHtob3VyczogNjB9KS5hcygnZGF5cycpIC8vPT4gMi41CiAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgICAgKi8KICAgIGFzKHVuaXQpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuc2hpZnRUbyh1bml0KS5nZXQodW5pdCkgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBSZWR1Y2UgdGhpcyBEdXJhdGlvbiB0byBpdHMgY2Fub25pY2FsIHJlcHJlc2VudGF0aW9uIGluIGl0cyBjdXJyZW50IHVuaXRzLgogICAgICogQXNzdW1pbmcgdGhlIG92ZXJhbGwgdmFsdWUgb2YgdGhlIER1cmF0aW9uIGlzIHBvc2l0aXZlLCB0aGlzIG1lYW5zOgogICAgICogLSBleGNlc3NpdmUgdmFsdWVzIGZvciBsb3dlci1vcmRlciB1bml0cyBhcmUgY29udmVydGVkIHRvIGhpZ2hlci1vcmRlciB1bml0cyAoaWYgcG9zc2libGUsIHNlZSBmaXJzdCBhbmQgc2Vjb25kIGV4YW1wbGUpCiAgICAgKiAtIG5lZ2F0aXZlIGxvd2VyLW9yZGVyIHVuaXRzIGFyZSBjb252ZXJ0ZWQgdG8gaGlnaGVyIG9yZGVyIHVuaXRzICh0aGVyZSBtdXN0IGJlIHN1Y2ggYSBoaWdoZXIgb3JkZXIgdW5pdCwgb3RoZXJ3aXNlCiAgICAgKiAgIHRoZSBvdmVyYWxsIHZhbHVlIHdvdWxkIGJlIG5lZ2F0aXZlLCBzZWUgc2Vjb25kIGV4YW1wbGUpCiAgICAgKiAtIGZyYWN0aW9uYWwgdmFsdWVzIGZvciBoaWdoZXItb3JkZXIgdW5pdHMgYXJlIGNvbnZlcnRlZCB0byBsb3dlci1vcmRlciB1bml0cyAoaWYgcG9zc2libGUsIHNlZSBmb3VydGggZXhhbXBsZSkKICAgICAqCiAgICAgKiBJZiB0aGUgb3ZlcmFsbCB2YWx1ZSBpcyBuZWdhdGl2ZSwgdGhlIHJlc3VsdCBvZiB0aGlzIG1ldGhvZCBpcyBlcXVpdmFsZW50IHRvIGB0aGlzLm5lZ2F0ZSgpLm5vcm1hbGl6ZSgpLm5lZ2F0ZSgpYC4KICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMiwgZGF5czogNTAwMCB9KS5ub3JtYWxpemUoKS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogMTUsIGRheXM6IDI1NSB9CiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogNTAwMCB9KS5ub3JtYWxpemUoKS50b09iamVjdCgpIC8vPT4geyBkYXlzOiA1MDAwIH0KICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMTIsIG1pbnV0ZXM6IC00NSB9KS5ub3JtYWxpemUoKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMTEsIG1pbnV0ZXM6IDE1IH0KICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMi41LCBkYXlzOiAwLCBob3VyczogMCB9KS5ub3JtYWxpemUoKS50b09iamVjdCgpIC8vPT4geyB5ZWFyczogMiwgZGF5czogMTgyLCBob3VyczogMTIgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIG5vcm1hbGl6ZSgpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwogICAgICBjb25zdCB2YWxzID0gdGhpcy50b09iamVjdCgpOwogICAgICBub3JtYWxpemVWYWx1ZXModGhpcy5tYXRyaXgsIHZhbHMpOwogICAgICByZXR1cm4gY2xvbmUkMSh0aGlzLCB7IHZhbHVlczogdmFscyB9LCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJlc2NhbGUgdW5pdHMgdG8gaXRzIGxhcmdlc3QgcmVwcmVzZW50YXRpb24KICAgICAqIEBleGFtcGxlIER1cmF0aW9uLmZyb21PYmplY3QoeyBtaWxsaXNlY29uZHM6IDkwMDAwIH0pLnJlc2NhbGUoKS50b09iamVjdCgpIC8vPT4geyBtaW51dGVzOiAxLCBzZWNvbmRzOiAzMCB9CiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgcmVzY2FsZSgpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwogICAgICBjb25zdCB2YWxzID0gcmVtb3ZlWmVyb2VzKHRoaXMubm9ybWFsaXplKCkuc2hpZnRUb0FsbCgpLnRvT2JqZWN0KCkpOwogICAgICByZXR1cm4gY2xvbmUkMSh0aGlzLCB7IHZhbHVlczogdmFscyB9LCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnQgdGhpcyBEdXJhdGlvbiBpbnRvIGl0cyByZXByZXNlbnRhdGlvbiBpbiBhIGRpZmZlcmVudCBzZXQgb2YgdW5pdHMuCiAgICAgKiBAZXhhbXBsZSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEsIHNlY29uZHM6IDMwIH0pLnNoaWZ0VG8oJ21pbnV0ZXMnLCAnbWlsbGlzZWNvbmRzJykudG9PYmplY3QoKSAvLz0+IHsgbWludXRlczogNjAsIG1pbGxpc2Vjb25kczogMzAwMDAgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHNoaWZ0VG8oLi4udW5pdHMpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwoKICAgICAgaWYgKHVuaXRzLmxlbmd0aCA9PT0gMCkgewogICAgICAgIHJldHVybiB0aGlzOwogICAgICB9CgogICAgICB1bml0cyA9IHVuaXRzLm1hcCgodSkgPT4gRHVyYXRpb24ubm9ybWFsaXplVW5pdCh1KSk7CgogICAgICBjb25zdCBidWlsdCA9IHt9LAogICAgICAgIGFjY3VtdWxhdGVkID0ge30sCiAgICAgICAgdmFscyA9IHRoaXMudG9PYmplY3QoKTsKICAgICAgbGV0IGxhc3RVbml0OwoKICAgICAgZm9yIChjb25zdCBrIG9mIG9yZGVyZWRVbml0cyQxKSB7CiAgICAgICAgaWYgKHVuaXRzLmluZGV4T2YoaykgPj0gMCkgewogICAgICAgICAgbGFzdFVuaXQgPSBrOwoKICAgICAgICAgIGxldCBvd24gPSAwOwoKICAgICAgICAgIC8vIGFueXRoaW5nIHdlIGhhdmVuJ3QgYm9pbGVkIGRvd24geWV0IHNob3VsZCBnZXQgYm9pbGVkIHRvIHRoaXMgdW5pdAogICAgICAgICAgZm9yIChjb25zdCBhayBpbiBhY2N1bXVsYXRlZCkgewogICAgICAgICAgICBvd24gKz0gdGhpcy5tYXRyaXhbYWtdW2tdICogYWNjdW11bGF0ZWRbYWtdOwogICAgICAgICAgICBhY2N1bXVsYXRlZFtha10gPSAwOwogICAgICAgICAgfQoKICAgICAgICAgIC8vIHBsdXMgYW55dGhpbmcgdGhhdCdzIGFscmVhZHkgaW4gdGhpcyB1bml0CiAgICAgICAgICBpZiAoaXNOdW1iZXIodmFsc1trXSkpIHsKICAgICAgICAgICAgb3duICs9IHZhbHNba107CiAgICAgICAgICB9CgogICAgICAgICAgLy8gb25seSBrZWVwIHRoZSBpbnRlZ2VyIHBhcnQgZm9yIG5vdyBpbiB0aGUgaG9wZXMgb2YgcHV0dGluZyBhbnkgZGVjaW1hbCBwYXJ0CiAgICAgICAgICAvLyBpbnRvIGEgc21hbGxlciB1bml0IGxhdGVyCiAgICAgICAgICBjb25zdCBpID0gTWF0aC50cnVuYyhvd24pOwogICAgICAgICAgYnVpbHRba10gPSBpOwogICAgICAgICAgYWNjdW11bGF0ZWRba10gPSAob3duICogMTAwMCAtIGkgKiAxMDAwKSAvIDEwMDA7CgogICAgICAgICAgLy8gb3RoZXJ3aXNlLCBrZWVwIGl0IGluIHRoZSB3aW5ncyB0byBib2lsIGl0IGxhdGVyCiAgICAgICAgfSBlbHNlIGlmIChpc051bWJlcih2YWxzW2tdKSkgewogICAgICAgICAgYWNjdW11bGF0ZWRba10gPSB2YWxzW2tdOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLy8gYW55dGhpbmcgbGVmdG92ZXIgYmVjb21lcyB0aGUgZGVjaW1hbCBmb3IgdGhlIGxhc3QgdW5pdAogICAgICAvLyBsYXN0VW5pdCBtdXN0IGJlIGRlZmluZWQgc2luY2UgdW5pdHMgaXMgbm90IGVtcHR5CiAgICAgIGZvciAoY29uc3Qga2V5IGluIGFjY3VtdWxhdGVkKSB7CiAgICAgICAgaWYgKGFjY3VtdWxhdGVkW2tleV0gIT09IDApIHsKICAgICAgICAgIGJ1aWx0W2xhc3RVbml0XSArPQogICAgICAgICAgICBrZXkgPT09IGxhc3RVbml0ID8gYWNjdW11bGF0ZWRba2V5XSA6IGFjY3VtdWxhdGVkW2tleV0gLyB0aGlzLm1hdHJpeFtsYXN0VW5pdF1ba2V5XTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIG5vcm1hbGl6ZVZhbHVlcyh0aGlzLm1hdHJpeCwgYnVpbHQpOwogICAgICByZXR1cm4gY2xvbmUkMSh0aGlzLCB7IHZhbHVlczogYnVpbHQgfSwgdHJ1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTaGlmdCB0aGlzIER1cmF0aW9uIHRvIGFsbCBhdmFpbGFibGUgdW5pdHMuCiAgICAgKiBTYW1lIGFzIHNoaWZ0VG8oInllYXJzIiwgIm1vbnRocyIsICJ3ZWVrcyIsICJkYXlzIiwgImhvdXJzIiwgIm1pbnV0ZXMiLCAic2Vjb25kcyIsICJtaWxsaXNlY29uZHMiKQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHNoaWZ0VG9BbGwoKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKICAgICAgcmV0dXJuIHRoaXMuc2hpZnRUbygKICAgICAgICAieWVhcnMiLAogICAgICAgICJtb250aHMiLAogICAgICAgICJ3ZWVrcyIsCiAgICAgICAgImRheXMiLAogICAgICAgICJob3VycyIsCiAgICAgICAgIm1pbnV0ZXMiLAogICAgICAgICJzZWNvbmRzIiwKICAgICAgICAibWlsbGlzZWNvbmRzIgogICAgICApOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHRoZSBuZWdhdGl2ZSBvZiB0aGlzIER1cmF0aW9uLgogICAgICogQGV4YW1wbGUgRHVyYXRpb24uZnJvbU9iamVjdCh7IGhvdXJzOiAxLCBzZWNvbmRzOiAzMCB9KS5uZWdhdGUoKS50b09iamVjdCgpIC8vPT4geyBob3VyczogLTEsIHNlY29uZHM6IC0zMCB9CiAgICAgKiBAcmV0dXJuIHtEdXJhdGlvbn0KICAgICAqLwogICAgbmVnYXRlKCkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CiAgICAgIGNvbnN0IG5lZ2F0ZWQgPSB7fTsKICAgICAgZm9yIChjb25zdCBrIG9mIE9iamVjdC5rZXlzKHRoaXMudmFsdWVzKSkgewogICAgICAgIG5lZ2F0ZWRba10gPSB0aGlzLnZhbHVlc1trXSA9PT0gMCA/IDAgOiAtdGhpcy52YWx1ZXNba107CiAgICAgIH0KICAgICAgcmV0dXJuIGNsb25lJDEodGhpcywgeyB2YWx1ZXM6IG5lZ2F0ZWQgfSwgdHJ1ZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHllYXJzLgogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IHllYXJzKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMueWVhcnMgfHwgMCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcXVhcnRlcnMuCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgcXVhcnRlcnMoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5xdWFydGVycyB8fCAwIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBtb250aHMuCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgbW9udGhzKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMubW9udGhzIHx8IDAgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHdlZWtzCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgd2Vla3MoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy53ZWVrcyB8fCAwIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBkYXlzLgogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IGRheXMoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnZhbHVlcy5kYXlzIHx8IDAgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGhvdXJzLgogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IGhvdXJzKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMuaG91cnMgfHwgMCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbWludXRlcy4KICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBtaW51dGVzKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMubWludXRlcyB8fCAwIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBzZWNvbmRzLgogICAgICogQHJldHVybiB7bnVtYmVyfQogICAgICovCiAgICBnZXQgc2Vjb25kcygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudmFsdWVzLnNlY29uZHMgfHwgMCA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbWlsbGlzZWNvbmRzLgogICAgICogQHJldHVybiB7bnVtYmVyfQogICAgICovCiAgICBnZXQgbWlsbGlzZWNvbmRzKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy52YWx1ZXMubWlsbGlzZWNvbmRzIHx8IDAgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhlIER1cmF0aW9uIGlzIGludmFsaWQuIEludmFsaWQgZHVyYXRpb25zIGFyZSByZXR1cm5lZCBieSBkaWZmIG9wZXJhdGlvbnMKICAgICAqIG9uIGludmFsaWQgRGF0ZVRpbWVzIG9yIEludGVydmFscy4KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGdldCBpc1ZhbGlkKCkgewogICAgICByZXR1cm4gdGhpcy5pbnZhbGlkID09PSBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBlcnJvciBjb2RlIGlmIHRoaXMgRHVyYXRpb24gYmVjYW1lIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIER1cmF0aW9uIGlzIHZhbGlkCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBpbnZhbGlkUmVhc29uKCkgewogICAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gdGhpcy5pbnZhbGlkLnJlYXNvbiA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIER1cmF0aW9uIGJlY2FtZSBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBEdXJhdGlvbiBpcyB2YWxpZAogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IGludmFsaWRFeHBsYW5hdGlvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5leHBsYW5hdGlvbiA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBFcXVhbGl0eSBjaGVjawogICAgICogVHdvIER1cmF0aW9ucyBhcmUgZXF1YWwgaWZmIHRoZXkgaGF2ZSB0aGUgc2FtZSB1bml0cyBhbmQgdGhlIHNhbWUgdmFsdWVzIGZvciBlYWNoIHVuaXQuCiAgICAgKiBAcGFyYW0ge0R1cmF0aW9ufSBvdGhlcgogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgZXF1YWxzKG90aGVyKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkIHx8ICFvdGhlci5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgICBpZiAoIXRoaXMubG9jLmVxdWFscyhvdGhlci5sb2MpKSB7CiAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgICBmdW5jdGlvbiBlcSh2MSwgdjIpIHsKICAgICAgICAvLyBDb25zaWRlciAwIGFuZCB1bmRlZmluZWQgYXMgZXF1YWwKICAgICAgICBpZiAodjEgPT09IHVuZGVmaW5lZCB8fCB2MSA9PT0gMCkgcmV0dXJuIHYyID09PSB1bmRlZmluZWQgfHwgdjIgPT09IDA7CiAgICAgICAgcmV0dXJuIHYxID09PSB2MjsKICAgICAgfQoKICAgICAgZm9yIChjb25zdCB1IG9mIG9yZGVyZWRVbml0cyQxKSB7CiAgICAgICAgaWYgKCFlcSh0aGlzLnZhbHVlc1t1XSwgb3RoZXIudmFsdWVzW3VdKSkgewogICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KICB9CgogIGNvbnN0IElOVkFMSUQkMSA9ICJJbnZhbGlkIEludGVydmFsIjsKCiAgLy8gY2hlY2tzIGlmIHRoZSBzdGFydCBpcyBlcXVhbCB0byBvciBiZWZvcmUgdGhlIGVuZAogIGZ1bmN0aW9uIHZhbGlkYXRlU3RhcnRFbmQoc3RhcnQsIGVuZCkgewogICAgaWYgKCFzdGFydCB8fCAhc3RhcnQuaXNWYWxpZCkgewogICAgICByZXR1cm4gSW50ZXJ2YWwuaW52YWxpZCgibWlzc2luZyBvciBpbnZhbGlkIHN0YXJ0Iik7CiAgICB9IGVsc2UgaWYgKCFlbmQgfHwgIWVuZC5pc1ZhbGlkKSB7CiAgICAgIHJldHVybiBJbnRlcnZhbC5pbnZhbGlkKCJtaXNzaW5nIG9yIGludmFsaWQgZW5kIik7CiAgICB9IGVsc2UgaWYgKGVuZCA8IHN0YXJ0KSB7CiAgICAgIHJldHVybiBJbnRlcnZhbC5pbnZhbGlkKAogICAgICAgICJlbmQgYmVmb3JlIHN0YXJ0IiwKICAgICAgICBgVGhlIGVuZCBvZiBhbiBpbnRlcnZhbCBtdXN0IGJlIGFmdGVyIGl0cyBzdGFydCwgYnV0IHlvdSBoYWQgc3RhcnQ9JHtzdGFydC50b0lTTygpfSBhbmQgZW5kPSR7ZW5kLnRvSVNPKCl9YAogICAgICApOwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9CiAgfQoKICAvKioKICAgKiBBbiBJbnRlcnZhbCBvYmplY3QgcmVwcmVzZW50cyBhIGhhbGYtb3BlbiBpbnRlcnZhbCBvZiB0aW1lLCB3aGVyZSBlYWNoIGVuZHBvaW50IGlzIGEge0BsaW5rIERhdGVUaW1lfS4gQ29uY2VwdHVhbGx5LCBpdCdzIGEgY29udGFpbmVyIGZvciB0aG9zZSB0d28gZW5kcG9pbnRzLCBhY2NvbXBhbmllZCBieSBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgY29tcGFyaW5nLCB0cmFuc2Zvcm1pbmcsIGFuZCBmb3JtYXR0aW5nIHRoZW0uCiAgICoKICAgKiBIZXJlIGlzIGEgYnJpZWYgb3ZlcnZpZXcgb2YgdGhlIG1vc3QgY29tbW9ubHkgdXNlZCBtZXRob2RzIGFuZCBnZXR0ZXJzIGluIEludGVydmFsOgogICAqCiAgICogKiAqKkNyZWF0aW9uKiogVG8gY3JlYXRlIGFuIEludGVydmFsLCB1c2Uge0BsaW5rIEludGVydmFsLmZyb21EYXRlVGltZXN9LCB7QGxpbmsgSW50ZXJ2YWwuYWZ0ZXJ9LCB7QGxpbmsgSW50ZXJ2YWwuYmVmb3JlfSwgb3Ige0BsaW5rIEludGVydmFsLmZyb21JU099LgogICAqICogKipBY2Nlc3NvcnMqKiBVc2Uge0BsaW5rIEludGVydmFsI3N0YXJ0fSBhbmQge0BsaW5rIEludGVydmFsI2VuZH0gdG8gZ2V0IHRoZSBzdGFydCBhbmQgZW5kLgogICAqICogKipJbnRlcnJvZ2F0aW9uKiogVG8gYW5hbHl6ZSB0aGUgSW50ZXJ2YWwsIHVzZSB7QGxpbmsgSW50ZXJ2YWwjY291bnR9LCB7QGxpbmsgSW50ZXJ2YWwjbGVuZ3RofSwge0BsaW5rIEludGVydmFsI2hhc1NhbWV9LCB7QGxpbmsgSW50ZXJ2YWwjY29udGFpbnN9LCB7QGxpbmsgSW50ZXJ2YWwjaXNBZnRlcn0sIG9yIHtAbGluayBJbnRlcnZhbCNpc0JlZm9yZX0uCiAgICogKiAqKlRyYW5zZm9ybWF0aW9uKiogVG8gY3JlYXRlIG90aGVyIEludGVydmFscyBvdXQgb2YgdGhpcyBvbmUsIHVzZSB7QGxpbmsgSW50ZXJ2YWwjc2V0fSwge0BsaW5rIEludGVydmFsI3NwbGl0QXR9LCB7QGxpbmsgSW50ZXJ2YWwjc3BsaXRCeX0sIHtAbGluayBJbnRlcnZhbCNkaXZpZGVFcXVhbGx5fSwge0BsaW5rIEludGVydmFsLm1lcmdlfSwge0BsaW5rIEludGVydmFsLnhvcn0sIHtAbGluayBJbnRlcnZhbCN1bmlvbn0sIHtAbGluayBJbnRlcnZhbCNpbnRlcnNlY3Rpb259LCBvciB7QGxpbmsgSW50ZXJ2YWwjZGlmZmVyZW5jZX0uCiAgICogKiAqKkNvbXBhcmlzb24qKiBUbyBjb21wYXJlIHRoaXMgSW50ZXJ2YWwgdG8gYW5vdGhlciBvbmUsIHVzZSB7QGxpbmsgSW50ZXJ2YWwjZXF1YWxzfSwge0BsaW5rIEludGVydmFsI292ZXJsYXBzfSwge0BsaW5rIEludGVydmFsI2FidXRzU3RhcnR9LCB7QGxpbmsgSW50ZXJ2YWwjYWJ1dHNFbmR9LCB7QGxpbmsgSW50ZXJ2YWwjZW5ndWxmc30KICAgKiAqICoqT3V0cHV0KiogVG8gY29udmVydCB0aGUgSW50ZXJ2YWwgaW50byBvdGhlciByZXByZXNlbnRhdGlvbnMsIHNlZSB7QGxpbmsgSW50ZXJ2YWwjdG9TdHJpbmd9LCB7QGxpbmsgSW50ZXJ2YWwjdG9Mb2NhbGVTdHJpbmd9LCB7QGxpbmsgSW50ZXJ2YWwjdG9JU099LCB7QGxpbmsgSW50ZXJ2YWwjdG9JU09EYXRlfSwge0BsaW5rIEludGVydmFsI3RvSVNPVGltZX0sIHtAbGluayBJbnRlcnZhbCN0b0Zvcm1hdH0sIGFuZCB7QGxpbmsgSW50ZXJ2YWwjdG9EdXJhdGlvbn0uCiAgICovCiAgY2xhc3MgSW50ZXJ2YWwgewogICAgLyoqCiAgICAgKiBAcHJpdmF0ZQogICAgICovCiAgICBjb25zdHJ1Y3Rvcihjb25maWcpIHsKICAgICAgLyoqCiAgICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICAgKi8KICAgICAgdGhpcy5zID0gY29uZmlnLnN0YXJ0OwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLmUgPSBjb25maWcuZW5kOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLmludmFsaWQgPSBjb25maWcuaW52YWxpZCB8fCBudWxsOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLmlzTHV4b25JbnRlcnZhbCA9IHRydWU7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYW4gaW52YWxpZCBJbnRlcnZhbC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSByZWFzb24gLSBzaW1wbGUgc3RyaW5nIG9mIHdoeSB0aGlzIEludGVydmFsIGlzIGludmFsaWQuIFNob3VsZCBub3QgY29udGFpbiBwYXJhbWV0ZXJzIG9yIGFueXRoaW5nIGVsc2UgZGF0YS1kZXBlbmRlbnQKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbZXhwbGFuYXRpb249bnVsbF0gLSBsb25nZXIgZXhwbGFuYXRpb24sIG1heSBpbmNsdWRlIHBhcmFtZXRlcnMgYW5kIG90aGVyIHVzZWZ1bCBkZWJ1Z2dpbmcgaW5mb3JtYXRpb24KICAgICAqIEByZXR1cm4ge0ludGVydmFsfQogICAgICovCiAgICBzdGF0aWMgaW52YWxpZChyZWFzb24sIGV4cGxhbmF0aW9uID0gbnVsbCkgewogICAgICBpZiAoIXJlYXNvbikgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigibmVlZCB0byBzcGVjaWZ5IGEgcmVhc29uIHRoZSBJbnRlcnZhbCBpcyBpbnZhbGlkIik7CiAgICAgIH0KCiAgICAgIGNvbnN0IGludmFsaWQgPSByZWFzb24gaW5zdGFuY2VvZiBJbnZhbGlkID8gcmVhc29uIDogbmV3IEludmFsaWQocmVhc29uLCBleHBsYW5hdGlvbik7CgogICAgICBpZiAoU2V0dGluZ3MudGhyb3dPbkludmFsaWQpIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEludGVydmFsRXJyb3IoaW52YWxpZCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIG5ldyBJbnRlcnZhbCh7IGludmFsaWQgfSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGEgc3RhcnQgRGF0ZVRpbWUgYW5kIGFuIGVuZCBEYXRlVGltZS4gSW5jbHVzaXZlIG9mIHRoZSBzdGFydCBidXQgbm90IHRoZSBlbmQuCiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfERhdGV8T2JqZWN0fSBzdGFydAogICAgICogQHBhcmFtIHtEYXRlVGltZXxEYXRlfE9iamVjdH0gZW5kCiAgICAgKiBAcmV0dXJuIHtJbnRlcnZhbH0KICAgICAqLwogICAgc3RhdGljIGZyb21EYXRlVGltZXMoc3RhcnQsIGVuZCkgewogICAgICBjb25zdCBidWlsdFN0YXJ0ID0gZnJpZW5kbHlEYXRlVGltZShzdGFydCksCiAgICAgICAgYnVpbHRFbmQgPSBmcmllbmRseURhdGVUaW1lKGVuZCk7CgogICAgICBjb25zdCB2YWxpZGF0ZUVycm9yID0gdmFsaWRhdGVTdGFydEVuZChidWlsdFN0YXJ0LCBidWlsdEVuZCk7CgogICAgICBpZiAodmFsaWRhdGVFcnJvciA9PSBudWxsKSB7CiAgICAgICAgcmV0dXJuIG5ldyBJbnRlcnZhbCh7CiAgICAgICAgICBzdGFydDogYnVpbHRTdGFydCwKICAgICAgICAgIGVuZDogYnVpbHRFbmQsCiAgICAgICAgfSk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHZhbGlkYXRlRXJyb3I7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGEgc3RhcnQgRGF0ZVRpbWUgYW5kIGEgRHVyYXRpb24gdG8gZXh0ZW5kIHRvLgogICAgICogQHBhcmFtIHtEYXRlVGltZXxEYXRlfE9iamVjdH0gc3RhcnQKICAgICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSB0aGUgbGVuZ3RoIG9mIHRoZSBJbnRlcnZhbC4KICAgICAqIEByZXR1cm4ge0ludGVydmFsfQogICAgICovCiAgICBzdGF0aWMgYWZ0ZXIoc3RhcnQsIGR1cmF0aW9uKSB7CiAgICAgIGNvbnN0IGR1ciA9IER1cmF0aW9uLmZyb21EdXJhdGlvbkxpa2UoZHVyYXRpb24pLAogICAgICAgIGR0ID0gZnJpZW5kbHlEYXRlVGltZShzdGFydCk7CiAgICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0LCBkdC5wbHVzKGR1cikpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIEludGVydmFsIGZyb20gYW4gZW5kIERhdGVUaW1lIGFuZCBhIER1cmF0aW9uIHRvIGV4dGVuZCBiYWNrd2FyZHMgdG8uCiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfERhdGV8T2JqZWN0fSBlbmQKICAgICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSB0aGUgbGVuZ3RoIG9mIHRoZSBJbnRlcnZhbC4KICAgICAqIEByZXR1cm4ge0ludGVydmFsfQogICAgICovCiAgICBzdGF0aWMgYmVmb3JlKGVuZCwgZHVyYXRpb24pIHsKICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbiksCiAgICAgICAgZHQgPSBmcmllbmRseURhdGVUaW1lKGVuZCk7CiAgICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0Lm1pbnVzKGR1ciksIGR0KTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhbiBJbnRlcnZhbCBmcm9tIGFuIElTTyA4NjAxIHN0cmluZy4KICAgICAqIEFjY2VwdHMgYDxzdGFydD4vPGVuZD5gLCBgPHN0YXJ0Pi88ZHVyYXRpb24+YCwgYW5kIGA8ZHVyYXRpb24+LzxlbmQ+YCBmb3JtYXRzLgogICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgSVNPIHN0cmluZyB0byBwYXJzZQogICAgICogQHBhcmFtIHtPYmplY3R9IFtvcHRzXSAtIG9wdGlvbnMgdG8gcGFzcyB7QGxpbmsgRGF0ZVRpbWUjZnJvbUlTT30gYW5kIG9wdGlvbmFsbHkge0BsaW5rIER1cmF0aW9uI2Zyb21JU099CiAgICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzCiAgICAgKiBAcmV0dXJuIHtJbnRlcnZhbH0KICAgICAqLwogICAgc3RhdGljIGZyb21JU08odGV4dCwgb3B0cykgewogICAgICBjb25zdCBbcywgZV0gPSAodGV4dCB8fCAiIikuc3BsaXQoIi8iLCAyKTsKICAgICAgaWYgKHMgJiYgZSkgewogICAgICAgIGxldCBzdGFydCwgc3RhcnRJc1ZhbGlkOwogICAgICAgIHRyeSB7CiAgICAgICAgICBzdGFydCA9IERhdGVUaW1lLmZyb21JU08ocywgb3B0cyk7CiAgICAgICAgICBzdGFydElzVmFsaWQgPSBzdGFydC5pc1ZhbGlkOwogICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgIHN0YXJ0SXNWYWxpZCA9IGZhbHNlOwogICAgICAgIH0KCiAgICAgICAgbGV0IGVuZCwgZW5kSXNWYWxpZDsKICAgICAgICB0cnkgewogICAgICAgICAgZW5kID0gRGF0ZVRpbWUuZnJvbUlTTyhlLCBvcHRzKTsKICAgICAgICAgIGVuZElzVmFsaWQgPSBlbmQuaXNWYWxpZDsKICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICBlbmRJc1ZhbGlkID0gZmFsc2U7CiAgICAgICAgfQoKICAgICAgICBpZiAoc3RhcnRJc1ZhbGlkICYmIGVuZElzVmFsaWQpIHsKICAgICAgICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHN0YXJ0LCBlbmQpOwogICAgICAgIH0KCiAgICAgICAgaWYgKHN0YXJ0SXNWYWxpZCkgewogICAgICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUlTTyhlLCBvcHRzKTsKICAgICAgICAgIGlmIChkdXIuaXNWYWxpZCkgewogICAgICAgICAgICByZXR1cm4gSW50ZXJ2YWwuYWZ0ZXIoc3RhcnQsIGR1cik7CiAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIGlmIChlbmRJc1ZhbGlkKSB7CiAgICAgICAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tSVNPKHMsIG9wdHMpOwogICAgICAgICAgaWYgKGR1ci5pc1ZhbGlkKSB7CiAgICAgICAgICAgIHJldHVybiBJbnRlcnZhbC5iZWZvcmUoZW5kLCBkdXIpOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gSW50ZXJ2YWwuaW52YWxpZCgidW5wYXJzYWJsZSIsIGB0aGUgaW5wdXQgIiR7dGV4dH0iIGNhbid0IGJlIHBhcnNlZCBhcyBJU08gODYwMWApOwogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgYW4gb2JqZWN0IGlzIGFuIEludGVydmFsLiBXb3JrcyBhY3Jvc3MgY29udGV4dCBib3VuZGFyaWVzCiAgICAgKiBAcGFyYW0ge29iamVjdH0gbwogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgc3RhdGljIGlzSW50ZXJ2YWwobykgewogICAgICByZXR1cm4gKG8gJiYgby5pc0x1eG9uSW50ZXJ2YWwpIHx8IGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgc3RhcnQgb2YgdGhlIEludGVydmFsCiAgICAgKiBAdHlwZSB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIGdldCBzdGFydCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMucyA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBlbmQgb2YgdGhlIEludGVydmFsCiAgICAgKiBAdHlwZSB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIGdldCBlbmQoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmUgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBlbmQgaXMgYXQgbGVhc3QgaXRzIHN0YXJ0LCBtZWFuaW5nIHRoYXQgdGhlIEludGVydmFsIGlzbid0ICdiYWNrd2FyZHMnLgogICAgICogQHR5cGUge2Jvb2xlYW59CiAgICAgKi8KICAgIGdldCBpc1ZhbGlkKCkgewogICAgICByZXR1cm4gdGhpcy5pbnZhbGlkUmVhc29uID09PSBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBlcnJvciBjb2RlIGlmIHRoaXMgSW50ZXJ2YWwgaXMgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgSW50ZXJ2YWwgaXMgdmFsaWQKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBpbnZhbGlkUmVhc29uKCkgewogICAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gdGhpcy5pbnZhbGlkLnJlYXNvbiA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIEludGVydmFsIGJlY2FtZSBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBJbnRlcnZhbCBpcyB2YWxpZAogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IGludmFsaWRFeHBsYW5hdGlvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5leHBsYW5hdGlvbiA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBsZW5ndGggb2YgdGhlIEludGVydmFsIGluIHRoZSBzcGVjaWZpZWQgdW5pdC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1bml0IC0gdGhlIHVuaXQgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIHJldHVybiB0aGUgbGVuZ3RoIGluLgogICAgICogQHJldHVybiB7bnVtYmVyfQogICAgICovCiAgICBsZW5ndGgodW5pdCA9ICJtaWxsaXNlY29uZHMiKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnRvRHVyYXRpb24oLi4uW3VuaXRdKS5nZXQodW5pdCkgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBjb3VudCBvZiBtaW51dGVzLCBob3VycywgZGF5cywgbW9udGhzLCBvciB5ZWFycyBpbmNsdWRlZCBpbiB0aGUgSW50ZXJ2YWwsIGV2ZW4gaW4gcGFydC4KICAgICAqIFVubGlrZSB7QGxpbmsgSW50ZXJ2YWwjbGVuZ3RofSB0aGlzIGNvdW50cyBzZWN0aW9ucyBvZiB0aGUgY2FsZW5kYXIsIG5vdCBwZXJpb2RzIG9mIHRpbWUsIGUuZy4gc3BlY2lmeWluZyAnZGF5JwogICAgICogYXNrcyAnd2hhdCBkYXRlcyBhcmUgaW5jbHVkZWQgaW4gdGhpcyBpbnRlcnZhbD8nLCBub3QgJ2hvdyBtYW55IGRheXMgbG9uZyBpcyB0aGlzIGludGVydmFsPycKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbdW5pdD0nbWlsbGlzZWNvbmRzJ10gLSB0aGUgdW5pdCBvZiB0aW1lIHRvIGNvdW50LgogICAgICogQHJldHVybiB7bnVtYmVyfQogICAgICovCiAgICBjb3VudCh1bml0ID0gIm1pbGxpc2Vjb25kcyIpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBOYU47CiAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGFydC5zdGFydE9mKHVuaXQpLAogICAgICAgIGVuZCA9IHRoaXMuZW5kLnN0YXJ0T2YodW5pdCk7CiAgICAgIHJldHVybiBNYXRoLmZsb29yKGVuZC5kaWZmKHN0YXJ0LCB1bml0KS5nZXQodW5pdCkpICsgKGVuZC52YWx1ZU9mKCkgIT09IHRoaXMuZW5kLnZhbHVlT2YoKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIHN0YXJ0IGFuZCBlbmQgYXJlIGJvdGggaW4gdGhlIHNhbWUgdW5pdCBvZiB0aW1lCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IG9mIHRpbWUgdG8gY2hlY2sgc2FtZW5lc3Mgb24KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGhhc1NhbWUodW5pdCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5pc0VtcHR5KCkgfHwgdGhpcy5lLm1pbnVzKDEpLmhhc1NhbWUodGhpcy5zLCB1bml0KSA6IGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBoYXMgdGhlIHNhbWUgc3RhcnQgYW5kIGVuZCBEYXRlVGltZXMuCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBpc0VtcHR5KCkgewogICAgICByZXR1cm4gdGhpcy5zLnZhbHVlT2YoKSA9PT0gdGhpcy5lLnZhbHVlT2YoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwncyBzdGFydCBpcyBhZnRlciB0aGUgc3BlY2lmaWVkIERhdGVUaW1lLgogICAgICogQHBhcmFtIHtEYXRlVGltZX0gZGF0ZVRpbWUKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGlzQWZ0ZXIoZGF0ZVRpbWUpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBmYWxzZTsKICAgICAgcmV0dXJuIHRoaXMucyA+IGRhdGVUaW1lOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBiZWZvcmUgdGhlIHNwZWNpZmllZCBEYXRlVGltZS4KICAgICAqIEBwYXJhbSB7RGF0ZVRpbWV9IGRhdGVUaW1lCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBpc0JlZm9yZShkYXRlVGltZSkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlOwogICAgICByZXR1cm4gdGhpcy5lIDw9IGRhdGVUaW1lOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBjb250YWlucyB0aGUgc3BlY2lmaWVkIERhdGVUaW1lLgogICAgICogQHBhcmFtIHtEYXRlVGltZX0gZGF0ZVRpbWUKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGNvbnRhaW5zKGRhdGVUaW1lKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7CiAgICAgIHJldHVybiB0aGlzLnMgPD0gZGF0ZVRpbWUgJiYgdGhpcy5lID4gZGF0ZVRpbWU7CiAgICB9CgogICAgLyoqCiAgICAgKiAiU2V0cyIgdGhlIHN0YXJ0IGFuZC9vciBlbmQgZGF0ZXMuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBJbnRlcnZhbC4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSB2YWx1ZXMgLSB0aGUgdmFsdWVzIHRvIHNldAogICAgICogQHBhcmFtIHtEYXRlVGltZX0gdmFsdWVzLnN0YXJ0IC0gdGhlIHN0YXJ0aW5nIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSB2YWx1ZXMuZW5kIC0gdGhlIGVuZGluZyBEYXRlVGltZQogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKi8KICAgIHNldCh7IHN0YXJ0LCBlbmQgfSA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gdGhpczsKICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMoc3RhcnQgfHwgdGhpcy5zLCBlbmQgfHwgdGhpcy5lKTsKICAgIH0KCiAgICAvKioKICAgICAqIFNwbGl0IHRoaXMgSW50ZXJ2YWwgYXQgZWFjaCBvZiB0aGUgc3BlY2lmaWVkIERhdGVUaW1lcwogICAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIHVuaXQgb2YgdGltZSB0byBjb3VudC4KICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzcGxpdEF0KC4uLmRhdGVUaW1lcykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIFtdOwogICAgICBjb25zdCBzb3J0ZWQgPSBkYXRlVGltZXMKICAgICAgICAgIC5tYXAoZnJpZW5kbHlEYXRlVGltZSkKICAgICAgICAgIC5maWx0ZXIoKGQpID0+IHRoaXMuY29udGFpbnMoZCkpCiAgICAgICAgICAuc29ydCgpLAogICAgICAgIHJlc3VsdHMgPSBbXTsKICAgICAgbGV0IHsgcyB9ID0gdGhpcywKICAgICAgICBpID0gMDsKCiAgICAgIHdoaWxlIChzIDwgdGhpcy5lKSB7CiAgICAgICAgY29uc3QgYWRkZWQgPSBzb3J0ZWRbaV0gfHwgdGhpcy5lLAogICAgICAgICAgbmV4dCA9ICthZGRlZCA+ICt0aGlzLmUgPyB0aGlzLmUgOiBhZGRlZDsKICAgICAgICByZXN1bHRzLnB1c2goSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhzLCBuZXh0KSk7CiAgICAgICAgcyA9IG5leHQ7CiAgICAgICAgaSArPSAxOwogICAgICB9CgogICAgICByZXR1cm4gcmVzdWx0czsKICAgIH0KCiAgICAvKioKICAgICAqIFNwbGl0IHRoaXMgSW50ZXJ2YWwgaW50byBzbWFsbGVyIEludGVydmFscywgZWFjaCBvZiB0aGUgc3BlY2lmaWVkIGxlbmd0aC4KICAgICAqIExlZnQgb3ZlciB0aW1lIGlzIGdyb3VwZWQgaW50byBhIHNtYWxsZXIgaW50ZXJ2YWwKICAgICAqIEBwYXJhbSB7RHVyYXRpb258T2JqZWN0fG51bWJlcn0gZHVyYXRpb24gLSBUaGUgbGVuZ3RoIG9mIGVhY2ggcmVzdWx0aW5nIGludGVydmFsLgogICAgICogQHJldHVybiB7QXJyYXl9CiAgICAgKi8KICAgIHNwbGl0QnkoZHVyYXRpb24pIHsKICAgICAgY29uc3QgZHVyID0gRHVyYXRpb24uZnJvbUR1cmF0aW9uTGlrZShkdXJhdGlvbik7CgogICAgICBpZiAoIXRoaXMuaXNWYWxpZCB8fCAhZHVyLmlzVmFsaWQgfHwgZHVyLmFzKCJtaWxsaXNlY29uZHMiKSA9PT0gMCkgewogICAgICAgIHJldHVybiBbXTsKICAgICAgfQoKICAgICAgbGV0IHsgcyB9ID0gdGhpcywKICAgICAgICBpZHggPSAxLAogICAgICAgIG5leHQ7CgogICAgICBjb25zdCByZXN1bHRzID0gW107CiAgICAgIHdoaWxlIChzIDwgdGhpcy5lKSB7CiAgICAgICAgY29uc3QgYWRkZWQgPSB0aGlzLnN0YXJ0LnBsdXMoZHVyLm1hcFVuaXRzKCh4KSA9PiB4ICogaWR4KSk7CiAgICAgICAgbmV4dCA9ICthZGRlZCA+ICt0aGlzLmUgPyB0aGlzLmUgOiBhZGRlZDsKICAgICAgICByZXN1bHRzLnB1c2goSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhzLCBuZXh0KSk7CiAgICAgICAgcyA9IG5leHQ7CiAgICAgICAgaWR4ICs9IDE7CiAgICAgIH0KCiAgICAgIHJldHVybiByZXN1bHRzOwogICAgfQoKICAgIC8qKgogICAgICogU3BsaXQgdGhpcyBJbnRlcnZhbCBpbnRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIHNtYWxsZXIgaW50ZXJ2YWxzLgogICAgICogQHBhcmFtIHtudW1iZXJ9IG51bWJlck9mUGFydHMgLSBUaGUgbnVtYmVyIG9mIEludGVydmFscyB0byBkaXZpZGUgdGhlIEludGVydmFsIGludG8uCiAgICAgKiBAcmV0dXJuIHtBcnJheX0KICAgICAqLwogICAgZGl2aWRlRXF1YWxseShudW1iZXJPZlBhcnRzKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gW107CiAgICAgIHJldHVybiB0aGlzLnNwbGl0QnkodGhpcy5sZW5ndGgoKSAvIG51bWJlck9mUGFydHMpLnNsaWNlKDAsIG51bWJlck9mUGFydHMpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCBvdmVybGFwcyB3aXRoIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwKICAgICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBvdmVybGFwcyhvdGhlcikgewogICAgICByZXR1cm4gdGhpcy5lID4gb3RoZXIucyAmJiB0aGlzLnMgPCBvdGhlci5lOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIHdoZXRoZXIgdGhpcyBJbnRlcnZhbCdzIGVuZCBpcyBhZGphY2VudCB0byB0aGUgc3BlY2lmaWVkIEludGVydmFsJ3Mgc3RhcnQuCiAgICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlcgogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgYWJ1dHNTdGFydChvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlOwogICAgICByZXR1cm4gK3RoaXMuZSA9PT0gK290aGVyLnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIEludGVydmFsJ3Mgc3RhcnQgaXMgYWRqYWNlbnQgdG8gdGhlIHNwZWNpZmllZCBJbnRlcnZhbCdzIGVuZC4KICAgICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBhYnV0c0VuZChvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIGZhbHNlOwogICAgICByZXR1cm4gK290aGVyLmUgPT09ICt0aGlzLnM7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGlzIEludGVydmFsIGVuZ3VsZnMgdGhlIHN0YXJ0IGFuZCBlbmQgb2YgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC4KICAgICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBlbmd1bGZzKG90aGVyKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7CiAgICAgIHJldHVybiB0aGlzLnMgPD0gb3RoZXIucyAmJiB0aGlzLmUgPj0gb3RoZXIuZTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB3aGV0aGVyIHRoaXMgSW50ZXJ2YWwgaGFzIHRoZSBzYW1lIHN0YXJ0IGFuZCBlbmQgYXMgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC4KICAgICAqIEBwYXJhbSB7SW50ZXJ2YWx9IG90aGVyCiAgICAgKiBAcmV0dXJuIHtib29sZWFufQogICAgICovCiAgICBlcXVhbHMob3RoZXIpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQgfHwgIW90aGVyLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAgIHJldHVybiB0aGlzLnMuZXF1YWxzKG90aGVyLnMpICYmIHRoaXMuZS5lcXVhbHMob3RoZXIuZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gSW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBpbnRlcnNlY3Rpb24gb2YgdGhpcyBJbnRlcnZhbCBhbmQgdGhlIHNwZWNpZmllZCBJbnRlcnZhbC4KICAgICAqIFNwZWNpZmljYWxseSwgdGhlIHJlc3VsdGluZyBJbnRlcnZhbCBoYXMgdGhlIG1heGltdW0gc3RhcnQgdGltZSBhbmQgdGhlIG1pbmltdW0gZW5kIHRpbWUgb2YgdGhlIHR3byBJbnRlcnZhbHMuCiAgICAgKiBSZXR1cm5zIG51bGwgaWYgdGhlIGludGVyc2VjdGlvbiBpcyBlbXB0eSwgbWVhbmluZywgdGhlIGludGVydmFscyBkb24ndCBpbnRlcnNlY3QuCiAgICAgKiBAcGFyYW0ge0ludGVydmFsfSBvdGhlcgogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKi8KICAgIGludGVyc2VjdGlvbihvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CiAgICAgIGNvbnN0IHMgPSB0aGlzLnMgPiBvdGhlci5zID8gdGhpcy5zIDogb3RoZXIucywKICAgICAgICBlID0gdGhpcy5lIDwgb3RoZXIuZSA/IHRoaXMuZSA6IG90aGVyLmU7CgogICAgICBpZiAocyA+PSBlKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIEludGVydmFsLmZyb21EYXRlVGltZXMocywgZSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBhbiBJbnRlcnZhbCByZXByZXNlbnRpbmcgdGhlIHVuaW9uIG9mIHRoaXMgSW50ZXJ2YWwgYW5kIHRoZSBzcGVjaWZpZWQgSW50ZXJ2YWwuCiAgICAgKiBTcGVjaWZpY2FsbHksIHRoZSByZXN1bHRpbmcgSW50ZXJ2YWwgaGFzIHRoZSBtaW5pbXVtIHN0YXJ0IHRpbWUgYW5kIHRoZSBtYXhpbXVtIGVuZCB0aW1lIG9mIHRoZSB0d28gSW50ZXJ2YWxzLgogICAgICogQHBhcmFtIHtJbnRlcnZhbH0gb3RoZXIKICAgICAqIEByZXR1cm4ge0ludGVydmFsfQogICAgICovCiAgICB1bmlvbihvdGhlcikgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CiAgICAgIGNvbnN0IHMgPSB0aGlzLnMgPCBvdGhlci5zID8gdGhpcy5zIDogb3RoZXIucywKICAgICAgICBlID0gdGhpcy5lID4gb3RoZXIuZSA/IHRoaXMuZSA6IG90aGVyLmU7CiAgICAgIHJldHVybiBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHMsIGUpOwogICAgfQoKICAgIC8qKgogICAgICogTWVyZ2UgYW4gYXJyYXkgb2YgSW50ZXJ2YWxzIGludG8gYSBlcXVpdmFsZW50IG1pbmltYWwgc2V0IG9mIEludGVydmFscy4KICAgICAqIENvbWJpbmVzIG92ZXJsYXBwaW5nIGFuZCBhZGphY2VudCBJbnRlcnZhbHMuCiAgICAgKiBAcGFyYW0ge0FycmF5fSBpbnRlcnZhbHMKICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzdGF0aWMgbWVyZ2UoaW50ZXJ2YWxzKSB7CiAgICAgIGNvbnN0IFtmb3VuZCwgZmluYWxdID0gaW50ZXJ2YWxzCiAgICAgICAgLnNvcnQoKGEsIGIpID0+IGEucyAtIGIucykKICAgICAgICAucmVkdWNlKAogICAgICAgICAgKFtzb2ZhciwgY3VycmVudF0sIGl0ZW0pID0+IHsKICAgICAgICAgICAgaWYgKCFjdXJyZW50KSB7CiAgICAgICAgICAgICAgcmV0dXJuIFtzb2ZhciwgaXRlbV07CiAgICAgICAgICAgIH0gZWxzZSBpZiAoY3VycmVudC5vdmVybGFwcyhpdGVtKSB8fCBjdXJyZW50LmFidXRzU3RhcnQoaXRlbSkpIHsKICAgICAgICAgICAgICByZXR1cm4gW3NvZmFyLCBjdXJyZW50LnVuaW9uKGl0ZW0pXTsKICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gW3NvZmFyLmNvbmNhdChbY3VycmVudF0pLCBpdGVtXTsKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIFtbXSwgbnVsbF0KICAgICAgICApOwogICAgICBpZiAoZmluYWwpIHsKICAgICAgICBmb3VuZC5wdXNoKGZpbmFsKTsKICAgICAgfQogICAgICByZXR1cm4gZm91bmQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgSW50ZXJ2YWxzIHJlcHJlc2VudGluZyB0aGUgc3BhbnMgb2YgdGltZSB0aGF0IG9ubHkgYXBwZWFyIGluIG9uZSBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFscy4KICAgICAqIEBwYXJhbSB7QXJyYXl9IGludGVydmFscwogICAgICogQHJldHVybiB7QXJyYXl9CiAgICAgKi8KICAgIHN0YXRpYyB4b3IoaW50ZXJ2YWxzKSB7CiAgICAgIGxldCBzdGFydCA9IG51bGwsCiAgICAgICAgY3VycmVudENvdW50ID0gMDsKICAgICAgY29uc3QgcmVzdWx0cyA9IFtdLAogICAgICAgIGVuZHMgPSBpbnRlcnZhbHMubWFwKChpKSA9PiBbCiAgICAgICAgICB7IHRpbWU6IGkucywgdHlwZTogInMiIH0sCiAgICAgICAgICB7IHRpbWU6IGkuZSwgdHlwZTogImUiIH0sCiAgICAgICAgXSksCiAgICAgICAgZmxhdHRlbmVkID0gQXJyYXkucHJvdG90eXBlLmNvbmNhdCguLi5lbmRzKSwKICAgICAgICBhcnIgPSBmbGF0dGVuZWQuc29ydCgoYSwgYikgPT4gYS50aW1lIC0gYi50aW1lKTsKCiAgICAgIGZvciAoY29uc3QgaSBvZiBhcnIpIHsKICAgICAgICBjdXJyZW50Q291bnQgKz0gaS50eXBlID09PSAicyIgPyAxIDogLTE7CgogICAgICAgIGlmIChjdXJyZW50Q291bnQgPT09IDEpIHsKICAgICAgICAgIHN0YXJ0ID0gaS50aW1lOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICBpZiAoc3RhcnQgJiYgK3N0YXJ0ICE9PSAraS50aW1lKSB7CiAgICAgICAgICAgIHJlc3VsdHMucHVzaChJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHN0YXJ0LCBpLnRpbWUpKTsKICAgICAgICAgIH0KCiAgICAgICAgICBzdGFydCA9IG51bGw7CiAgICAgICAgfQogICAgICB9CgogICAgICByZXR1cm4gSW50ZXJ2YWwubWVyZ2UocmVzdWx0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gSW50ZXJ2YWwgcmVwcmVzZW50aW5nIHRoZSBzcGFuIG9mIHRpbWUgaW4gdGhpcyBJbnRlcnZhbCB0aGF0IGRvZXNuJ3Qgb3ZlcmxhcCB3aXRoIGFueSBvZiB0aGUgc3BlY2lmaWVkIEludGVydmFscy4KICAgICAqIEBwYXJhbSB7Li4uSW50ZXJ2YWx9IGludGVydmFscwogICAgICogQHJldHVybiB7QXJyYXl9CiAgICAgKi8KICAgIGRpZmZlcmVuY2UoLi4uaW50ZXJ2YWxzKSB7CiAgICAgIHJldHVybiBJbnRlcnZhbC54b3IoW3RoaXNdLmNvbmNhdChpbnRlcnZhbHMpKQogICAgICAgIC5tYXAoKGkpID0+IHRoaXMuaW50ZXJzZWN0aW9uKGkpKQogICAgICAgIC5maWx0ZXIoKGkpID0+IGkgJiYgIWkuaXNFbXB0eSgpKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBJbnRlcnZhbCBhcHByb3ByaWF0ZSBmb3IgZGVidWdnaW5nLgogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b1N0cmluZygpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBJTlZBTElEJDE7CiAgICAgIHJldHVybiBgWyR7dGhpcy5zLnRvSVNPKCl9IOKAkyAke3RoaXMuZS50b0lTTygpfSlgOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIGxvY2FsaXplZCBzdHJpbmcgcmVwcmVzZW50aW5nIHRoaXMgSW50ZXJ2YWwuIEFjY2VwdHMgdGhlIHNhbWUgb3B0aW9ucyBhcyB0aGUKICAgICAqIEludGwuRGF0ZVRpbWVGb3JtYXQgY29uc3RydWN0b3IgYW5kIGFueSBwcmVzZXRzIGRlZmluZWQgYnkgTHV4b24sIHN1Y2ggYXMKICAgICAqIHtAbGluayBEYXRlVGltZS5EQVRFX0ZVTEx9IG9yIHtAbGluayBEYXRlVGltZS5USU1FX1NJTVBMRX0uIFRoZSBleGFjdCBiZWhhdmlvciBvZiB0aGlzIG1ldGhvZAogICAgICogaXMgYnJvd3Nlci1zcGVjaWZpYywgYnV0IGluIGdlbmVyYWwgaXQgd2lsbCByZXR1cm4gYW4gYXBwcm9wcmlhdGUgcmVwcmVzZW50YXRpb24gb2YgdGhlCiAgICAgKiBJbnRlcnZhbCBpbiB0aGUgYXNzaWduZWQgbG9jYWxlLiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbgogICAgICogc3BlY2lmaWVkLgogICAgICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9EYXRlVGltZUZvcm1hdAogICAgICogQHBhcmFtIHtPYmplY3R9IFtmb3JtYXRPcHRzPURhdGVUaW1lLkRBVEVfU0hPUlRdIC0gRWl0aGVyIGEgRGF0ZVRpbWUgcHJlc2V0IG9yCiAgICAgKiBJbnRsLkRhdGVUaW1lRm9ybWF0IGNvbnN0cnVjdG9yIG9wdGlvbnMuCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMgdG8gb3ZlcnJpZGUgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHN0YXJ0IERhdGVUaW1lLgogICAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbUlTTygnMjAyMi0xMS0wN1QwOTowMFovMjAyMi0xMS0wOFQwOTowMFonKS50b0xvY2FsZVN0cmluZygpOyAvLz0+IDExLzcvMjAyMiDigJMgMTEvOC8yMDIyCiAgICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tSVNPKCcyMDIyLTExLTA3VDA5OjAwWi8yMDIyLTExLTA4VDA5OjAwWicpLnRvTG9jYWxlU3RyaW5nKERhdGVUaW1lLkRBVEVfRlVMTCk7IC8vPT4gTm92ZW1iZXIgNyDigJMgOCwgMjAyMgogICAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbUlTTygnMjAyMi0xMS0wN1QwOTowMFovMjAyMi0xMS0wOFQwOTowMFonKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5EQVRFX0ZVTEwsIHsgbG9jYWxlOiAnZnItRlInIH0pOyAvLz0+IDfigJM4IG5vdmVtYnJlIDIwMjIKICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21JU08oJzIwMjItMTEtMDdUMTc6MDBaLzIwMjItMTEtMDdUMTk6MDBaJykudG9Mb2NhbGVTdHJpbmcoRGF0ZVRpbWUuVElNRV9TSU1QTEUpOyAvLz0+IDY6MDAg4oCTIDg6MDAgUE0KICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21JU08oJzIwMjItMTEtMDdUMTc6MDBaLzIwMjItMTEtMDdUMTk6MDBaJykudG9Mb2NhbGVTdHJpbmcoeyB3ZWVrZGF5OiAnc2hvcnQnLCBtb250aDogJ3Nob3J0JywgZGF5OiAnMi1kaWdpdCcsIGhvdXI6ICcyLWRpZ2l0JywgbWludXRlOiAnMi1kaWdpdCcgfSk7IC8vPT4gTW9uLCBOb3YgMDcsIDY6MDAg4oCTIDg6MDAgcAogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0xvY2FsZVN0cmluZyhmb3JtYXRPcHRzID0gREFURV9TSE9SVCwgb3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQKICAgICAgICA/IEZvcm1hdHRlci5jcmVhdGUodGhpcy5zLmxvYy5jbG9uZShvcHRzKSwgZm9ybWF0T3B0cykuZm9ybWF0SW50ZXJ2YWwodGhpcykKICAgICAgICA6IElOVkFMSUQkMTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEludGVydmFsLgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lX2ludGVydmFscwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBUaGUgc2FtZSBvcHRpb25zIGFzIHtAbGluayBEYXRlVGltZSN0b0lTT30KICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9JU08ob3B0cykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQkMTsKICAgICAgcmV0dXJuIGAke3RoaXMucy50b0lTTyhvcHRzKX0vJHt0aGlzLmUudG9JU08ob3B0cyl9YDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gSVNPIDg2MDEtY29tcGxpYW50IHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBkYXRlIG9mIHRoaXMgSW50ZXJ2YWwuCiAgICAgKiBUaGUgdGltZSBjb21wb25lbnRzIGFyZSBpZ25vcmVkLgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fODYwMSNUaW1lX2ludGVydmFscwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0lTT0RhdGUoKSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gSU5WQUxJRCQxOwogICAgICByZXR1cm4gYCR7dGhpcy5zLnRvSVNPRGF0ZSgpfS8ke3RoaXMuZS50b0lTT0RhdGUoKX1gOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRpbWUgb2YgdGhpcyBJbnRlcnZhbC4KICAgICAqIFRoZSBkYXRlIGNvbXBvbmVudHMgYXJlIGlnbm9yZWQuCiAgICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT184NjAxI1RpbWVfaW50ZXJ2YWxzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIFRoZSBzYW1lIG9wdGlvbnMgYXMge0BsaW5rIERhdGVUaW1lI3RvSVNPfQogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0lTT1RpbWUob3B0cykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIElOVkFMSUQkMTsKICAgICAgcmV0dXJuIGAke3RoaXMucy50b0lTT1RpbWUob3B0cyl9LyR7dGhpcy5lLnRvSVNPVGltZShvcHRzKX1gOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIEludGVydmFsIGZvcm1hdHRlZCBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmllZCBmb3JtYXQKICAgICAqIHN0cmluZy4gKipZb3UgbWF5IG5vdCB3YW50IHRoaXMuKiogU2VlIHtAbGluayBJbnRlcnZhbCN0b0xvY2FsZVN0cmluZ30gZm9yIGEgbW9yZSBmbGV4aWJsZQogICAgICogZm9ybWF0dGluZyB0b29sLgogICAgICogQHBhcmFtIHtzdHJpbmd9IGRhdGVGb3JtYXQgLSBUaGUgZm9ybWF0IHN0cmluZy4gVGhpcyBzdHJpbmcgZm9ybWF0cyB0aGUgc3RhcnQgYW5kIGVuZCB0aW1lLgogICAgICogU2VlIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0gZm9yIGRldGFpbHMuCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIE9wdGlvbnMuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuc2VwYXJhdG9yID0gICcg4oCTICddIC0gQSBzZXBhcmF0b3IgdG8gcGxhY2UgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZAogICAgICogcmVwcmVzZW50YXRpb25zLgogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0Zvcm1hdChkYXRlRm9ybWF0LCB7IHNlcGFyYXRvciA9ICIg4oCTICIgfSA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gSU5WQUxJRCQxOwogICAgICByZXR1cm4gYCR7dGhpcy5zLnRvRm9ybWF0KGRhdGVGb3JtYXQpfSR7c2VwYXJhdG9yfSR7dGhpcy5lLnRvRm9ybWF0KGRhdGVGb3JtYXQpfWA7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYSBEdXJhdGlvbiByZXByZXNlbnRpbmcgdGhlIHRpbWUgc3Bhbm5lZCBieSB0aGlzIGludGVydmFsLgogICAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IFt1bml0PVsnbWlsbGlzZWNvbmRzJ11dIC0gdGhlIHVuaXQgb3IgdW5pdHMgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIGluY2x1ZGUgaW4gdGhlIGR1cmF0aW9uLgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRoYXQgYWZmZWN0IHRoZSBjcmVhdGlvbiBvZiB0aGUgRHVyYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZQogICAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikudG9EdXJhdGlvbigpLnRvT2JqZWN0KCkgLy89PiB7IG1pbGxpc2Vjb25kczogODg0ODkyNTcgfQogICAgICogQGV4YW1wbGUgSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhkdDEsIGR0MikudG9EdXJhdGlvbignZGF5cycpLnRvT2JqZWN0KCkgLy89PiB7IGRheXM6IDEuMDI0MTgxMjE1Mjc3Nzc3OCB9CiAgICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS50b0R1cmF0aW9uKFsnaG91cnMnLCAnbWludXRlcyddKS50b09iamVjdCgpIC8vPT4geyBob3VyczogMjQsIG1pbnV0ZXM6IDM0LjgyMDk1IH0KICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLnRvRHVyYXRpb24oWydob3VycycsICdtaW51dGVzJywgJ3NlY29uZHMnXSkudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IDI0LCBtaW51dGVzOiAzNCwgc2Vjb25kczogNDkuMjU3IH0KICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLnRvRHVyYXRpb24oJ3NlY29uZHMnKS50b09iamVjdCgpIC8vPT4geyBzZWNvbmRzOiA4ODQ4OS4yNTcgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIHRvRHVyYXRpb24odW5pdCwgb3B0cykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgewogICAgICAgIHJldHVybiBEdXJhdGlvbi5pbnZhbGlkKHRoaXMuaW52YWxpZFJlYXNvbik7CiAgICAgIH0KICAgICAgcmV0dXJuIHRoaXMuZS5kaWZmKHRoaXMucywgdW5pdCwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSdW4gbWFwRm4gb24gdGhlIGludGVydmFsIHN0YXJ0IGFuZCBlbmQsIHJldHVybmluZyBhIG5ldyBJbnRlcnZhbCBmcm9tIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWVzCiAgICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBtYXBGbgogICAgICogQHJldHVybiB7SW50ZXJ2YWx9CiAgICAgKiBAZXhhbXBsZSBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKGR0MSwgZHQyKS5tYXBFbmRwb2ludHMoZW5kcG9pbnQgPT4gZW5kcG9pbnQudG9VVEMoKSkKICAgICAqIEBleGFtcGxlIEludGVydmFsLmZyb21EYXRlVGltZXMoZHQxLCBkdDIpLm1hcEVuZHBvaW50cyhlbmRwb2ludCA9PiBlbmRwb2ludC5wbHVzKHsgaG91cnM6IDIgfSkpCiAgICAgKi8KICAgIG1hcEVuZHBvaW50cyhtYXBGbikgewogICAgICByZXR1cm4gSW50ZXJ2YWwuZnJvbURhdGVUaW1lcyhtYXBGbih0aGlzLnMpLCBtYXBGbih0aGlzLmUpKTsKICAgIH0KICB9CgogIC8qKgogICAqIFRoZSBJbmZvIGNsYXNzIGNvbnRhaW5zIHN0YXRpYyBtZXRob2RzIGZvciByZXRyaWV2aW5nIGdlbmVyYWwgdGltZSBhbmQgZGF0ZSByZWxhdGVkIGRhdGEuIEZvciBleGFtcGxlLCBpdCBoYXMgbWV0aG9kcyBmb3IgZmluZGluZyBvdXQgaWYgYSB0aW1lIHpvbmUgaGFzIGEgRFNULCBmb3IgbGlzdGluZyB0aGUgbW9udGhzIGluIGFueSBzdXBwb3J0ZWQgbG9jYWxlLCBhbmQgZm9yIGRpc2NvdmVyaW5nIHdoaWNoIG9mIEx1eG9uIGZlYXR1cmVzIGFyZSBhdmFpbGFibGUgaW4gdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQuCiAgICovCiAgY2xhc3MgSW5mbyB7CiAgICAvKioKICAgICAqIFJldHVybiB3aGV0aGVyIHRoZSBzcGVjaWZpZWQgem9uZSBjb250YWlucyBhIERTVC4KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFt6b25lPSdsb2NhbCddIC0gWm9uZSB0byBjaGVjay4gRGVmYXVsdHMgdG8gdGhlIGVudmlyb25tZW50J3MgbG9jYWwgem9uZS4KICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIHN0YXRpYyBoYXNEU1Qoem9uZSA9IFNldHRpbmdzLmRlZmF1bHRab25lKSB7CiAgICAgIGNvbnN0IHByb3RvID0gRGF0ZVRpbWUubm93KCkuc2V0Wm9uZSh6b25lKS5zZXQoeyBtb250aDogMTIgfSk7CgogICAgICByZXR1cm4gIXpvbmUuaXNVbml2ZXJzYWwgJiYgcHJvdG8ub2Zmc2V0ICE9PSBwcm90by5zZXQoeyBtb250aDogNiB9KS5vZmZzZXQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gd2hldGhlciB0aGUgc3BlY2lmaWVkIHpvbmUgaXMgYSB2YWxpZCBJQU5BIHNwZWNpZmllci4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSB6b25lIC0gWm9uZSB0byBjaGVjawogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgc3RhdGljIGlzVmFsaWRJQU5BWm9uZSh6b25lKSB7CiAgICAgIHJldHVybiBJQU5BWm9uZS5pc1ZhbGlkWm9uZSh6b25lKTsKICAgIH0KCiAgICAvKioKICAgICAqIENvbnZlcnRzIHRoZSBpbnB1dCBpbnRvIGEge0BsaW5rIFpvbmV9IGluc3RhbmNlLgogICAgICoKICAgICAqICogSWYgYGlucHV0YCBpcyBhbHJlYWR5IGEgWm9uZSBpbnN0YW5jZSwgaXQgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLgogICAgICogKiBJZiBgaW5wdXRgIGlzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSB2YWxpZCB0aW1lIHpvbmUgbmFtZSwgYSBab25lIGluc3RhbmNlCiAgICAgKiAgIHdpdGggdGhhdCBuYW1lIGlzIHJldHVybmVkLgogICAgICogKiBJZiBgaW5wdXRgIGlzIGEgc3RyaW5nIHRoYXQgZG9lc24ndCByZWZlciB0byBhIGtub3duIHRpbWUgem9uZSwgYSBab25lCiAgICAgKiAgIGluc3RhbmNlIHdpdGgge0BsaW5rIFpvbmUjaXNWYWxpZH0gPT0gZmFsc2UgaXMgcmV0dXJuZWQuCiAgICAgKiAqIElmIGBpbnB1dCBpcyBhIG51bWJlciwgYSBab25lIGluc3RhbmNlIHdpdGggdGhlIHNwZWNpZmllZCBmaXhlZCBvZmZzZXQKICAgICAqICAgaW4gbWludXRlcyBpcyByZXR1cm5lZC4KICAgICAqICogSWYgYGlucHV0YCBpcyBgbnVsbGAgb3IgYHVuZGVmaW5lZGAsIHRoZSBkZWZhdWx0IHpvbmUgaXMgcmV0dXJuZWQuCiAgICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfG51bWJlcn0gW2lucHV0XSAtIHRoZSB2YWx1ZSB0byBiZSBjb252ZXJ0ZWQKICAgICAqIEByZXR1cm4ge1pvbmV9CiAgICAgKi8KICAgIHN0YXRpYyBub3JtYWxpemVab25lKGlucHV0KSB7CiAgICAgIHJldHVybiBub3JtYWxpemVab25lKGlucHV0LCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgb2Ygc3RhbmRhbG9uZSBtb250aCBuYW1lcy4KICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZVRpbWVGb3JtYXQKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbbGVuZ3RoPSdsb25nJ10gLSB0aGUgbGVuZ3RoIG9mIHRoZSBtb250aCByZXByZXNlbnRhdGlvbiwgc3VjaCBhcyAibnVtZXJpYyIsICIyLWRpZ2l0IiwgIm5hcnJvdyIsICJzaG9ydCIsICJsb25nIgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlXSAtIHRoZSBsb2NhbGUgY29kZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5vdXRwdXRDYWxlbmRhcj0nZ3JlZ29yeSddIC0gdGhlIGNhbGVuZGFyCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygpWzBdIC8vPT4gJ0phbnVhcnknCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnc2hvcnQnKVswXSAvLz0+ICdKYW4nCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnbnVtZXJpYycpWzBdIC8vPT4gJzEnCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnc2hvcnQnLCB7IGxvY2FsZTogJ2ZyLUNBJyB9IClbMF0gLy89PiAnamFudi4nCiAgICAgKiBAZXhhbXBsZSBJbmZvLm1vbnRocygnbnVtZXJpYycsIHsgbG9jYWxlOiAnYXInIH0pWzBdIC8vPT4gJ9mhJwogICAgICogQGV4YW1wbGUgSW5mby5tb250aHMoJ2xvbmcnLCB7IG91dHB1dENhbGVuZGFyOiAnaXNsYW1pYycgfSlbMF0gLy89PiAnUmFiacq7IEknCiAgICAgKiBAcmV0dXJuIHtBcnJheX0KICAgICAqLwogICAgc3RhdGljIG1vbnRocygKICAgICAgbGVuZ3RoID0gImxvbmciLAogICAgICB7IGxvY2FsZSA9IG51bGwsIG51bWJlcmluZ1N5c3RlbSA9IG51bGwsIGxvY09iaiA9IG51bGwsIG91dHB1dENhbGVuZGFyID0gImdyZWdvcnkiIH0gPSB7fQogICAgKSB7CiAgICAgIHJldHVybiAobG9jT2JqIHx8IExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyKSkubW9udGhzKGxlbmd0aCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgZm9ybWF0IG1vbnRoIG5hbWVzLgogICAgICogRm9ybWF0IG1vbnRocyBkaWZmZXIgZnJvbSBzdGFuZGFsb25lIG1vbnRocyBpbiB0aGF0IHRoZXkncmUgbWVhbnQgdG8gYXBwZWFyIG5leHQgdG8gdGhlIGRheSBvZiB0aGUgbW9udGguIEluIHNvbWUgbGFuZ3VhZ2VzLCB0aGF0CiAgICAgKiBjaGFuZ2VzIHRoZSBzdHJpbmcuCiAgICAgKiBTZWUge0BsaW5rIEluZm8jbW9udGhzfQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtsZW5ndGg9J2xvbmcnXSAtIHRoZSBsZW5ndGggb2YgdGhlIG1vbnRoIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzICJudW1lcmljIiwgIjItZGlnaXQiLCAibmFycm93IiwgInNob3J0IiwgImxvbmciCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGVdIC0gdGhlIGxvY2FsZSBjb2RlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubnVtYmVyaW5nU3lzdGVtPW51bGxdIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NPYmo9bnVsbF0gLSBhbiBleGlzdGluZyBsb2NhbGUgb2JqZWN0IHRvIHVzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm91dHB1dENhbGVuZGFyPSdncmVnb3J5J10gLSB0aGUgY2FsZW5kYXIKICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzdGF0aWMgbW9udGhzRm9ybWF0KAogICAgICBsZW5ndGggPSAibG9uZyIsCiAgICAgIHsgbG9jYWxlID0gbnVsbCwgbnVtYmVyaW5nU3lzdGVtID0gbnVsbCwgbG9jT2JqID0gbnVsbCwgb3V0cHV0Q2FsZW5kYXIgPSAiZ3JlZ29yeSIgfSA9IHt9CiAgICApIHsKICAgICAgcmV0dXJuIChsb2NPYmogfHwgTG9jYWxlLmNyZWF0ZShsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIpKS5tb250aHMobGVuZ3RoLCB0cnVlKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBhbiBhcnJheSBvZiBzdGFuZGFsb25lIHdlZWsgbmFtZXMuCiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2xlbmd0aD0nbG9uZyddIC0gdGhlIGxlbmd0aCBvZiB0aGUgd2Vla2RheSByZXByZXNlbnRhdGlvbiwgc3VjaCBhcyAibmFycm93IiwgInNob3J0IiwgImxvbmciLgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlXSAtIHRoZSBsb2NhbGUgY29kZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2UKICAgICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoKVswXSAvLz0+ICdNb25kYXknCiAgICAgKiBAZXhhbXBsZSBJbmZvLndlZWtkYXlzKCdzaG9ydCcpWzBdIC8vPT4gJ01vbicKICAgICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoJ3Nob3J0JywgeyBsb2NhbGU6ICdmci1DQScgfSlbMF0gLy89PiAnbHVuLicKICAgICAqIEBleGFtcGxlIEluZm8ud2Vla2RheXMoJ3Nob3J0JywgeyBsb2NhbGU6ICdhcicgfSlbMF0gLy89PiAn2KfZhNin2KvZhtmK2YYnCiAgICAgKiBAcmV0dXJuIHtBcnJheX0KICAgICAqLwogICAgc3RhdGljIHdlZWtkYXlzKGxlbmd0aCA9ICJsb25nIiwgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsIH0gPSB7fSkgewogICAgICByZXR1cm4gKGxvY09iaiB8fCBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBudWxsKSkud2Vla2RheXMobGVuZ3RoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiBhbiBhcnJheSBvZiBmb3JtYXQgd2VlayBuYW1lcy4KICAgICAqIEZvcm1hdCB3ZWVrZGF5cyBkaWZmZXIgZnJvbSBzdGFuZGFsb25lIHdlZWtkYXlzIGluIHRoYXQgdGhleSdyZSBtZWFudCB0byBhcHBlYXIgbmV4dCB0byBtb3JlIGRhdGUgaW5mb3JtYXRpb24uIEluIHNvbWUgbGFuZ3VhZ2VzLCB0aGF0CiAgICAgKiBjaGFuZ2VzIHRoZSBzdHJpbmcuCiAgICAgKiBTZWUge0BsaW5rIEluZm8jd2Vla2RheXN9CiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2xlbmd0aD0nbG9uZyddIC0gdGhlIGxlbmd0aCBvZiB0aGUgbW9udGggcmVwcmVzZW50YXRpb24sIHN1Y2ggYXMgIm5hcnJvdyIsICJzaG9ydCIsICJsb25nIi4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT1udWxsXSAtIHRoZSBsb2NhbGUgY29kZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLm51bWJlcmluZ1N5c3RlbT1udWxsXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jT2JqPW51bGxdIC0gYW4gZXhpc3RpbmcgbG9jYWxlIG9iamVjdCB0byB1c2UKICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzdGF0aWMgd2Vla2RheXNGb3JtYXQoCiAgICAgIGxlbmd0aCA9ICJsb25nIiwKICAgICAgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsLCBsb2NPYmogPSBudWxsIH0gPSB7fQogICAgKSB7CiAgICAgIHJldHVybiAobG9jT2JqIHx8IExvY2FsZS5jcmVhdGUobG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG51bGwpKS53ZWVrZGF5cyhsZW5ndGgsIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJuIGFuIGFycmF5IG9mIG1lcmlkaWVtcy4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZV0gLSB0aGUgbG9jYWxlIGNvZGUKICAgICAqIEBleGFtcGxlIEluZm8ubWVyaWRpZW1zKCkgLy89PiBbICdBTScsICdQTScgXQogICAgICogQGV4YW1wbGUgSW5mby5tZXJpZGllbXMoeyBsb2NhbGU6ICdteScgfSkgLy89PiBbICfhgJThgLbhgJThgIDhgLonLCAn4YCK4YCU4YCxJyBdCiAgICAgKiBAcmV0dXJuIHtBcnJheX0KICAgICAqLwogICAgc3RhdGljIG1lcmlkaWVtcyh7IGxvY2FsZSA9IG51bGwgfSA9IHt9KSB7CiAgICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSkubWVyaWRpZW1zKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gYXJyYXkgb2YgZXJhcywgc3VjaCBhcyBbJ0JDJywgJ0FEJ10uIFRoZSBsb2NhbGUgY2FuIGJlIHNwZWNpZmllZCwgYnV0IHRoZSBjYWxlbmRhciBzeXN0ZW0gaXMgYWx3YXlzIEdyZWdvcmlhbi4KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbbGVuZ3RoPSdzaG9ydCddIC0gdGhlIGxlbmd0aCBvZiB0aGUgZXJhIHJlcHJlc2VudGF0aW9uLCBzdWNoIGFzICJzaG9ydCIgb3IgImxvbmciLgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlXSAtIHRoZSBsb2NhbGUgY29kZQogICAgICogQGV4YW1wbGUgSW5mby5lcmFzKCkgLy89PiBbICdCQycsICdBRCcgXQogICAgICogQGV4YW1wbGUgSW5mby5lcmFzKCdsb25nJykgLy89PiBbICdCZWZvcmUgQ2hyaXN0JywgJ0Fubm8gRG9taW5pJyBdCiAgICAgKiBAZXhhbXBsZSBJbmZvLmVyYXMoJ2xvbmcnLCB7IGxvY2FsZTogJ2ZyJyB9KSAvLz0+IFsgJ2F2YW50IErDqXN1cy1DaHJpc3QnLCAnYXByw6hzIErDqXN1cy1DaHJpc3QnIF0KICAgICAqIEByZXR1cm4ge0FycmF5fQogICAgICovCiAgICBzdGF0aWMgZXJhcyhsZW5ndGggPSAic2hvcnQiLCB7IGxvY2FsZSA9IG51bGwgfSA9IHt9KSB7CiAgICAgIHJldHVybiBMb2NhbGUuY3JlYXRlKGxvY2FsZSwgbnVsbCwgImdyZWdvcnkiKS5lcmFzKGxlbmd0aCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIHNldCBvZiBhdmFpbGFibGUgZmVhdHVyZXMgaW4gdGhpcyBlbnZpcm9ubWVudC4KICAgICAqIFNvbWUgZmVhdHVyZXMgb2YgTHV4b24gYXJlIG5vdCBhdmFpbGFibGUgaW4gYWxsIGVudmlyb25tZW50cy4gRm9yIGV4YW1wbGUsIG9uIG9sZGVyIGJyb3dzZXJzLCByZWxhdGl2ZSB0aW1lIGZvcm1hdHRpbmcgc3VwcG9ydCBpcyBub3QgYXZhaWxhYmxlLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBmaWd1cmUgb3V0IGlmIHRoYXQncyB0aGUgY2FzZS4KICAgICAqIEtleXM6CiAgICAgKiAqIGByZWxhdGl2ZWA6IHdoZXRoZXIgdGhpcyBlbnZpcm9ubWVudCBzdXBwb3J0cyByZWxhdGl2ZSB0aW1lIGZvcm1hdHRpbmcKICAgICAqIEBleGFtcGxlIEluZm8uZmVhdHVyZXMoKSAvLz0+IHsgcmVsYXRpdmU6IGZhbHNlIH0KICAgICAqIEByZXR1cm4ge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGZlYXR1cmVzKCkgewogICAgICByZXR1cm4geyByZWxhdGl2ZTogaGFzUmVsYXRpdmUoKSB9OwogICAgfQogIH0KCiAgZnVuY3Rpb24gZGF5RGlmZihlYXJsaWVyLCBsYXRlcikgewogICAgY29uc3QgdXRjRGF5U3RhcnQgPSAoZHQpID0+IGR0LnRvVVRDKDAsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KS5zdGFydE9mKCJkYXkiKS52YWx1ZU9mKCksCiAgICAgIG1zID0gdXRjRGF5U3RhcnQobGF0ZXIpIC0gdXRjRGF5U3RhcnQoZWFybGllcik7CiAgICByZXR1cm4gTWF0aC5mbG9vcihEdXJhdGlvbi5mcm9tTWlsbGlzKG1zKS5hcygiZGF5cyIpKTsKICB9CgogIGZ1bmN0aW9uIGhpZ2hPcmRlckRpZmZzKGN1cnNvciwgbGF0ZXIsIHVuaXRzKSB7CiAgICBjb25zdCBkaWZmZXJzID0gWwogICAgICBbInllYXJzIiwgKGEsIGIpID0+IGIueWVhciAtIGEueWVhcl0sCiAgICAgIFsicXVhcnRlcnMiLCAoYSwgYikgPT4gYi5xdWFydGVyIC0gYS5xdWFydGVyICsgKGIueWVhciAtIGEueWVhcikgKiA0XSwKICAgICAgWyJtb250aHMiLCAoYSwgYikgPT4gYi5tb250aCAtIGEubW9udGggKyAoYi55ZWFyIC0gYS55ZWFyKSAqIDEyXSwKICAgICAgWwogICAgICAgICJ3ZWVrcyIsCiAgICAgICAgKGEsIGIpID0+IHsKICAgICAgICAgIGNvbnN0IGRheXMgPSBkYXlEaWZmKGEsIGIpOwogICAgICAgICAgcmV0dXJuIChkYXlzIC0gKGRheXMgJSA3KSkgLyA3OwogICAgICAgIH0sCiAgICAgIF0sCiAgICAgIFsiZGF5cyIsIGRheURpZmZdLAogICAgXTsKCiAgICBjb25zdCByZXN1bHRzID0ge307CiAgICBjb25zdCBlYXJsaWVyID0gY3Vyc29yOwogICAgbGV0IGxvd2VzdE9yZGVyLCBoaWdoV2F0ZXI7CgogICAgLyogVGhpcyBsb29wIHRyaWVzIHRvIGRpZmYgdXNpbmcgbGFyZ2VyIHVuaXRzIGZpcnN0LgogICAgICAgSWYgd2Ugb3ZlcnNob290LCB3ZSBiYWNrdHJhY2sgYW5kIHRyeSB0aGUgbmV4dCBzbWFsbGVyIHVuaXQuCiAgICAgICAiY3Vyc29yIiBzdGFydHMgb3V0IGF0IHRoZSBlYXJsaWVyIHRpbWVzdGFtcCBhbmQgbW92ZXMgY2xvc2VyIGFuZCBjbG9zZXIgdG8gImxhdGVyIgogICAgICAgYXMgd2UgdXNlIHNtYWxsZXIgYW5kIHNtYWxsZXIgdW5pdHMuCiAgICAgICBoaWdoV2F0ZXIga2VlcHMgdHJhY2sgb2Ygd2hlcmUgd2Ugd291bGQgYmUgaWYgd2UgYWRkZWQgb25lIG1vcmUgb2YgdGhlIHNtYWxsZXN0IHVuaXQsCiAgICAgICB0aGlzIGlzIHVzZWQgbGF0ZXIgdG8gcG90ZW50aWFsbHkgY29udmVydCBhbnkgZGlmZmVyZW5jZSBzbWFsbGVyIHRoYW4gdGhlIHNtYWxsZXN0IGhpZ2hlciBvcmRlciB1bml0CiAgICAgICBpbnRvIGEgZnJhY3Rpb24gb2YgdGhhdCBzbWFsbGVzdCBoaWdoZXIgb3JkZXIgdW5pdAogICAgKi8KICAgIGZvciAoY29uc3QgW3VuaXQsIGRpZmZlcl0gb2YgZGlmZmVycykgewogICAgICBpZiAodW5pdHMuaW5kZXhPZih1bml0KSA+PSAwKSB7CiAgICAgICAgbG93ZXN0T3JkZXIgPSB1bml0OwoKICAgICAgICByZXN1bHRzW3VuaXRdID0gZGlmZmVyKGN1cnNvciwgbGF0ZXIpOwogICAgICAgIGhpZ2hXYXRlciA9IGVhcmxpZXIucGx1cyhyZXN1bHRzKTsKCiAgICAgICAgaWYgKGhpZ2hXYXRlciA+IGxhdGVyKSB7CiAgICAgICAgICAvLyB3ZSBvdmVyc2hvdCB0aGUgZW5kIHBvaW50LCBiYWNrdHJhY2sgY3Vyc29yIGJ5IDEKICAgICAgICAgIHJlc3VsdHNbdW5pdF0tLTsKICAgICAgICAgIGN1cnNvciA9IGVhcmxpZXIucGx1cyhyZXN1bHRzKTsKCiAgICAgICAgICAvLyBpZiB3ZSBhcmUgc3RpbGwgb3ZlcnNob290aW5nIG5vdywgd2UgbmVlZCB0byBiYWNrdHJhY2sgYWdhaW4KICAgICAgICAgIC8vIHRoaXMgaGFwcGVucyBpbiBjZXJ0YWluIHNpdHVhdGlvbnMgd2hlbiBkaWZmaW5nIHRpbWVzIGluIGRpZmZlcmVudCB6b25lcywKICAgICAgICAgIC8vIGJlY2F1c2UgdGhpcyBjYWxjdWxhdGlvbiBpZ25vcmVzIHRpbWUgem9uZXMKICAgICAgICAgIGlmIChjdXJzb3IgPiBsYXRlcikgewogICAgICAgICAgICAvLyBrZWVwIHRoZSAib3ZlcnNob3QgYnkgMSIgYXJvdW5kIGFzIGhpZ2hXYXRlcgogICAgICAgICAgICBoaWdoV2F0ZXIgPSBjdXJzb3I7CiAgICAgICAgICAgIC8vIGJhY2t0cmFjayBjdXJzb3IgYnkgMQogICAgICAgICAgICByZXN1bHRzW3VuaXRdLS07CiAgICAgICAgICAgIGN1cnNvciA9IGVhcmxpZXIucGx1cyhyZXN1bHRzKTsKICAgICAgICAgIH0KICAgICAgICB9IGVsc2UgewogICAgICAgICAgY3Vyc29yID0gaGlnaFdhdGVyOwogICAgICAgIH0KICAgICAgfQogICAgfQoKICAgIHJldHVybiBbY3Vyc29yLCByZXN1bHRzLCBoaWdoV2F0ZXIsIGxvd2VzdE9yZGVyXTsKICB9CgogIGZ1bmN0aW9uIGRpZmYgKGVhcmxpZXIsIGxhdGVyLCB1bml0cywgb3B0cykgewogICAgbGV0IFtjdXJzb3IsIHJlc3VsdHMsIGhpZ2hXYXRlciwgbG93ZXN0T3JkZXJdID0gaGlnaE9yZGVyRGlmZnMoZWFybGllciwgbGF0ZXIsIHVuaXRzKTsKCiAgICBjb25zdCByZW1haW5pbmdNaWxsaXMgPSBsYXRlciAtIGN1cnNvcjsKCiAgICBjb25zdCBsb3dlck9yZGVyVW5pdHMgPSB1bml0cy5maWx0ZXIoCiAgICAgICh1KSA9PiBbImhvdXJzIiwgIm1pbnV0ZXMiLCAic2Vjb25kcyIsICJtaWxsaXNlY29uZHMiXS5pbmRleE9mKHUpID49IDAKICAgICk7CgogICAgaWYgKGxvd2VyT3JkZXJVbml0cy5sZW5ndGggPT09IDApIHsKICAgICAgaWYgKGhpZ2hXYXRlciA8IGxhdGVyKSB7CiAgICAgICAgaGlnaFdhdGVyID0gY3Vyc29yLnBsdXMoeyBbbG93ZXN0T3JkZXJdOiAxIH0pOwogICAgICB9CgogICAgICBpZiAoaGlnaFdhdGVyICE9PSBjdXJzb3IpIHsKICAgICAgICByZXN1bHRzW2xvd2VzdE9yZGVyXSA9IChyZXN1bHRzW2xvd2VzdE9yZGVyXSB8fCAwKSArIHJlbWFpbmluZ01pbGxpcyAvIChoaWdoV2F0ZXIgLSBjdXJzb3IpOwogICAgICB9CiAgICB9CgogICAgY29uc3QgZHVyYXRpb24gPSBEdXJhdGlvbi5mcm9tT2JqZWN0KHJlc3VsdHMsIG9wdHMpOwoKICAgIGlmIChsb3dlck9yZGVyVW5pdHMubGVuZ3RoID4gMCkgewogICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU1pbGxpcyhyZW1haW5pbmdNaWxsaXMsIG9wdHMpCiAgICAgICAgLnNoaWZ0VG8oLi4ubG93ZXJPcmRlclVuaXRzKQogICAgICAgIC5wbHVzKGR1cmF0aW9uKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBkdXJhdGlvbjsKICAgIH0KICB9CgogIGNvbnN0IG51bWJlcmluZ1N5c3RlbXMgPSB7CiAgICBhcmFiOiAiW1x1MDY2MC1cdTA2NjldIiwKICAgIGFyYWJleHQ6ICJbXHUwNkYwLVx1MDZGOV0iLAogICAgYmFsaTogIltcdTFCNTAtXHUxQjU5XSIsCiAgICBiZW5nOiAiW1x1MDlFNi1cdTA5RUZdIiwKICAgIGRldmE6ICJbXHUwOTY2LVx1MDk2Rl0iLAogICAgZnVsbHdpZGU6ICJbXHVGRjEwLVx1RkYxOV0iLAogICAgZ3VqcjogIltcdTBBRTYtXHUwQUVGXSIsCiAgICBoYW5pZGVjOiAiW+OAh3zkuIB85LqMfOS4iXzlm5t85LqUfOWFrXzkuIN85YWrfOS5nV0iLAogICAga2htcjogIltcdTE3RTAtXHUxN0U5XSIsCiAgICBrbmRhOiAiW1x1MENFNi1cdTBDRUZdIiwKICAgIGxhb286ICJbXHUwRUQwLVx1MEVEOV0iLAogICAgbGltYjogIltcdTE5NDYtXHUxOTRGXSIsCiAgICBtbHltOiAiW1x1MEQ2Ni1cdTBENkZdIiwKICAgIG1vbmc6ICJbXHUxODEwLVx1MTgxOV0iLAogICAgbXltcjogIltcdTEwNDAtXHUxMDQ5XSIsCiAgICBvcnlhOiAiW1x1MEI2Ni1cdTBCNkZdIiwKICAgIHRhbWxkZWM6ICJbXHUwQkU2LVx1MEJFRl0iLAogICAgdGVsdTogIltcdTBDNjYtXHUwQzZGXSIsCiAgICB0aGFpOiAiW1x1MEU1MC1cdTBFNTldIiwKICAgIHRpYnQ6ICJbXHUwRjIwLVx1MEYyOV0iLAogICAgbGF0bjogIlxcZCIsCiAgfTsKCiAgY29uc3QgbnVtYmVyaW5nU3lzdGVtc1VURjE2ID0gewogICAgYXJhYjogWzE2MzIsIDE2NDFdLAogICAgYXJhYmV4dDogWzE3NzYsIDE3ODVdLAogICAgYmFsaTogWzY5OTIsIDcwMDFdLAogICAgYmVuZzogWzI1MzQsIDI1NDNdLAogICAgZGV2YTogWzI0MDYsIDI0MTVdLAogICAgZnVsbHdpZGU6IFs2NTI5NiwgNjUzMDNdLAogICAgZ3VqcjogWzI3OTAsIDI3OTldLAogICAga2htcjogWzYxMTIsIDYxMjFdLAogICAga25kYTogWzMzMDIsIDMzMTFdLAogICAgbGFvbzogWzM3OTIsIDM4MDFdLAogICAgbGltYjogWzY0NzAsIDY0NzldLAogICAgbWx5bTogWzM0MzAsIDM0MzldLAogICAgbW9uZzogWzYxNjAsIDYxNjldLAogICAgbXltcjogWzQxNjAsIDQxNjldLAogICAgb3J5YTogWzI5MTgsIDI5MjddLAogICAgdGFtbGRlYzogWzMwNDYsIDMwNTVdLAogICAgdGVsdTogWzMxNzQsIDMxODNdLAogICAgdGhhaTogWzM2NjQsIDM2NzNdLAogICAgdGlidDogWzM4NzIsIDM4ODFdLAogIH07CgogIGNvbnN0IGhhbmlkZWNDaGFycyA9IG51bWJlcmluZ1N5c3RlbXMuaGFuaWRlYy5yZXBsYWNlKC9bXFt8XF1dL2csICIiKS5zcGxpdCgiIik7CgogIGZ1bmN0aW9uIHBhcnNlRGlnaXRzKHN0cikgewogICAgbGV0IHZhbHVlID0gcGFyc2VJbnQoc3RyLCAxMCk7CiAgICBpZiAoaXNOYU4odmFsdWUpKSB7CiAgICAgIHZhbHVlID0gIiI7CiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgY29uc3QgY29kZSA9IHN0ci5jaGFyQ29kZUF0KGkpOwoKICAgICAgICBpZiAoc3RyW2ldLnNlYXJjaChudW1iZXJpbmdTeXN0ZW1zLmhhbmlkZWMpICE9PSAtMSkgewogICAgICAgICAgdmFsdWUgKz0gaGFuaWRlY0NoYXJzLmluZGV4T2Yoc3RyW2ldKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gbnVtYmVyaW5nU3lzdGVtc1VURjE2KSB7CiAgICAgICAgICAgIGNvbnN0IFttaW4sIG1heF0gPSBudW1iZXJpbmdTeXN0ZW1zVVRGMTZba2V5XTsKICAgICAgICAgICAgaWYgKGNvZGUgPj0gbWluICYmIGNvZGUgPD0gbWF4KSB7CiAgICAgICAgICAgICAgdmFsdWUgKz0gY29kZSAtIG1pbjsKICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUsIDEwKTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiB2YWx1ZTsKICAgIH0KICB9CgogIGZ1bmN0aW9uIGRpZ2l0UmVnZXgoeyBudW1iZXJpbmdTeXN0ZW0gfSwgYXBwZW5kID0gIiIpIHsKICAgIHJldHVybiBuZXcgUmVnRXhwKGAke251bWJlcmluZ1N5c3RlbXNbbnVtYmVyaW5nU3lzdGVtIHx8ICJsYXRuIl19JHthcHBlbmR9YCk7CiAgfQoKICBjb25zdCBNSVNTSU5HX0ZUUCA9ICJtaXNzaW5nIEludGwuRGF0ZVRpbWVGb3JtYXQuZm9ybWF0VG9QYXJ0cyBzdXBwb3J0IjsKCiAgZnVuY3Rpb24gaW50VW5pdChyZWdleCwgcG9zdCA9IChpKSA9PiBpKSB7CiAgICByZXR1cm4geyByZWdleCwgZGVzZXI6IChbc10pID0+IHBvc3QocGFyc2VEaWdpdHMocykpIH07CiAgfQoKICBjb25zdCBOQlNQID0gU3RyaW5nLmZyb21DaGFyQ29kZSgxNjApOwogIGNvbnN0IHNwYWNlT3JOQlNQID0gYFsgJHtOQlNQfV1gOwogIGNvbnN0IHNwYWNlT3JOQlNQUmVnRXhwID0gbmV3IFJlZ0V4cChzcGFjZU9yTkJTUCwgImciKTsKCiAgZnVuY3Rpb24gZml4TGlzdFJlZ2V4KHMpIHsKICAgIC8vIG1ha2UgZG90cyBvcHRpb25hbCBhbmQgYWxzbyBtYWtlIHRoZW0gbGl0ZXJhbAogICAgLy8gbWFrZSBzcGFjZSBhbmQgbm9uIGJyZWFrYWJsZSBzcGFjZSBjaGFyYWN0ZXJzIGludGVyY2hhbmdlYWJsZQogICAgcmV0dXJuIHMucmVwbGFjZSgvXC4vZywgIlxcLj8iKS5yZXBsYWNlKHNwYWNlT3JOQlNQUmVnRXhwLCBzcGFjZU9yTkJTUCk7CiAgfQoKICBmdW5jdGlvbiBzdHJpcEluc2Vuc2l0aXZpdGllcyhzKSB7CiAgICByZXR1cm4gcwogICAgICAucmVwbGFjZSgvXC4vZywgIiIpIC8vIGlnbm9yZSBkb3RzIHRoYXQgd2VyZSBtYWRlIG9wdGlvbmFsCiAgICAgIC5yZXBsYWNlKHNwYWNlT3JOQlNQUmVnRXhwLCAiICIpIC8vIGludGVyY2hhbmdlIHNwYWNlIGFuZCBuYnNwCiAgICAgIC50b0xvd2VyQ2FzZSgpOwogIH0KCiAgZnVuY3Rpb24gb25lT2Yoc3RyaW5ncywgc3RhcnRJbmRleCkgewogICAgaWYgKHN0cmluZ3MgPT09IG51bGwpIHsKICAgICAgcmV0dXJuIG51bGw7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gewogICAgICAgIHJlZ2V4OiBSZWdFeHAoc3RyaW5ncy5tYXAoZml4TGlzdFJlZ2V4KS5qb2luKCJ8IikpLAogICAgICAgIGRlc2VyOiAoW3NdKSA9PgogICAgICAgICAgc3RyaW5ncy5maW5kSW5kZXgoKGkpID0+IHN0cmlwSW5zZW5zaXRpdml0aWVzKHMpID09PSBzdHJpcEluc2Vuc2l0aXZpdGllcyhpKSkgKyBzdGFydEluZGV4LAogICAgICB9OwogICAgfQogIH0KCiAgZnVuY3Rpb24gb2Zmc2V0KHJlZ2V4LCBncm91cHMpIHsKICAgIHJldHVybiB7IHJlZ2V4LCBkZXNlcjogKFssIGgsIG1dKSA9PiBzaWduZWRPZmZzZXQoaCwgbSksIGdyb3VwcyB9OwogIH0KCiAgZnVuY3Rpb24gc2ltcGxlKHJlZ2V4KSB7CiAgICByZXR1cm4geyByZWdleCwgZGVzZXI6IChbc10pID0+IHMgfTsKICB9CgogIGZ1bmN0aW9uIGVzY2FwZVRva2VuKHZhbHVlKSB7CiAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvW1wtXFtcXXt9KCkqKz8uLFxcXF4kfCNcc10vZywgIlxcJCYiKTsKICB9CgogIC8qKgogICAqIEBwYXJhbSB0b2tlbgogICAqIEBwYXJhbSB7TG9jYWxlfSBsb2MKICAgKi8KICBmdW5jdGlvbiB1bml0Rm9yVG9rZW4odG9rZW4sIGxvYykgewogICAgY29uc3Qgb25lID0gZGlnaXRSZWdleChsb2MpLAogICAgICB0d28gPSBkaWdpdFJlZ2V4KGxvYywgInsyfSIpLAogICAgICB0aHJlZSA9IGRpZ2l0UmVnZXgobG9jLCAiezN9IiksCiAgICAgIGZvdXIgPSBkaWdpdFJlZ2V4KGxvYywgIns0fSIpLAogICAgICBzaXggPSBkaWdpdFJlZ2V4KGxvYywgIns2fSIpLAogICAgICBvbmVPclR3byA9IGRpZ2l0UmVnZXgobG9jLCAiezEsMn0iKSwKICAgICAgb25lVG9UaHJlZSA9IGRpZ2l0UmVnZXgobG9jLCAiezEsM30iKSwKICAgICAgb25lVG9TaXggPSBkaWdpdFJlZ2V4KGxvYywgInsxLDZ9IiksCiAgICAgIG9uZVRvTmluZSA9IGRpZ2l0UmVnZXgobG9jLCAiezEsOX0iKSwKICAgICAgdHdvVG9Gb3VyID0gZGlnaXRSZWdleChsb2MsICJ7Miw0fSIpLAogICAgICBmb3VyVG9TaXggPSBkaWdpdFJlZ2V4KGxvYywgIns0LDZ9IiksCiAgICAgIGxpdGVyYWwgPSAodCkgPT4gKHsgcmVnZXg6IFJlZ0V4cChlc2NhcGVUb2tlbih0LnZhbCkpLCBkZXNlcjogKFtzXSkgPT4gcywgbGl0ZXJhbDogdHJ1ZSB9KSwKICAgICAgdW5pdGF0ZSA9ICh0KSA9PiB7CiAgICAgICAgaWYgKHRva2VuLmxpdGVyYWwpIHsKICAgICAgICAgIHJldHVybiBsaXRlcmFsKHQpOwogICAgICAgIH0KICAgICAgICBzd2l0Y2ggKHQudmFsKSB7CiAgICAgICAgICAvLyBlcmEKICAgICAgICAgIGNhc2UgIkciOgogICAgICAgICAgICByZXR1cm4gb25lT2YobG9jLmVyYXMoInNob3J0IiksIDApOwogICAgICAgICAgY2FzZSAiR0ciOgogICAgICAgICAgICByZXR1cm4gb25lT2YobG9jLmVyYXMoImxvbmciKSwgMCk7CiAgICAgICAgICAvLyB5ZWFycwogICAgICAgICAgY2FzZSAieSI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZVRvU2l4KTsKICAgICAgICAgIGNhc2UgInl5IjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvVG9Gb3VyLCB1bnRydW5jYXRlWWVhcik7CiAgICAgICAgICBjYXNlICJ5eXl5IjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQoZm91cik7CiAgICAgICAgICBjYXNlICJ5eXl5eSI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KGZvdXJUb1NpeCk7CiAgICAgICAgICBjYXNlICJ5eXl5eXkiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChzaXgpOwogICAgICAgICAgLy8gbW9udGhzCiAgICAgICAgICBjYXNlICJNIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pOwogICAgICAgICAgY2FzZSAiTU0iOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pOwogICAgICAgICAgY2FzZSAiTU1NIjoKICAgICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy5tb250aHMoInNob3J0IiwgdHJ1ZSksIDEpOwogICAgICAgICAgY2FzZSAiTU1NTSI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKCJsb25nIiwgdHJ1ZSksIDEpOwogICAgICAgICAgY2FzZSAiTCI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgIkxMIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIGNhc2UgIkxMTCI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubW9udGhzKCJzaG9ydCIsIGZhbHNlKSwgMSk7CiAgICAgICAgICBjYXNlICJMTExMIjoKICAgICAgICAgICAgcmV0dXJuIG9uZU9mKGxvYy5tb250aHMoImxvbmciLCBmYWxzZSksIDEpOwogICAgICAgICAgLy8gZGF0ZXMKICAgICAgICAgIGNhc2UgImQiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7CiAgICAgICAgICBjYXNlICJkZCI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7CiAgICAgICAgICAvLyBvcmRpbmFscwogICAgICAgICAgY2FzZSAibyI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZVRvVGhyZWUpOwogICAgICAgICAgY2FzZSAib29vIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodGhyZWUpOwogICAgICAgICAgLy8gdGltZQogICAgICAgICAgY2FzZSAiSEgiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdCh0d28pOwogICAgICAgICAgY2FzZSAiSCI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgImhoIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIGNhc2UgImgiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7CiAgICAgICAgICBjYXNlICJtbSI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7CiAgICAgICAgICBjYXNlICJtIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQob25lT3JUd28pOwogICAgICAgICAgY2FzZSAicSI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgInFxIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQodHdvKTsKICAgICAgICAgIGNhc2UgInMiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7CiAgICAgICAgICBjYXNlICJzcyI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7CiAgICAgICAgICBjYXNlICJTIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQob25lVG9UaHJlZSk7CiAgICAgICAgICBjYXNlICJTU1MiOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdCh0aHJlZSk7CiAgICAgICAgICBjYXNlICJ1IjoKICAgICAgICAgICAgcmV0dXJuIHNpbXBsZShvbmVUb05pbmUpOwogICAgICAgICAgY2FzZSAidXUiOgogICAgICAgICAgICByZXR1cm4gc2ltcGxlKG9uZU9yVHdvKTsKICAgICAgICAgIGNhc2UgInV1dSI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KG9uZSk7CiAgICAgICAgICAvLyBtZXJpZGllbQogICAgICAgICAgY2FzZSAiYSI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2MubWVyaWRpZW1zKCksIDApOwogICAgICAgICAgLy8gd2Vla1llYXIgKGspCiAgICAgICAgICBjYXNlICJra2trIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQoZm91cik7CiAgICAgICAgICBjYXNlICJrayI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3b1RvRm91ciwgdW50cnVuY2F0ZVllYXIpOwogICAgICAgICAgLy8gd2Vla051bWJlciAoVykKICAgICAgICAgIGNhc2UgIlciOgogICAgICAgICAgICByZXR1cm4gaW50VW5pdChvbmVPclR3byk7CiAgICAgICAgICBjYXNlICJXVyI6CiAgICAgICAgICAgIHJldHVybiBpbnRVbml0KHR3byk7CiAgICAgICAgICAvLyB3ZWVrZGF5cwogICAgICAgICAgY2FzZSAiRSI6CiAgICAgICAgICBjYXNlICJjIjoKICAgICAgICAgICAgcmV0dXJuIGludFVuaXQob25lKTsKICAgICAgICAgIGNhc2UgIkVFRSI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2Mud2Vla2RheXMoInNob3J0IiwgZmFsc2UpLCAxKTsKICAgICAgICAgIGNhc2UgIkVFRUUiOgogICAgICAgICAgICByZXR1cm4gb25lT2YobG9jLndlZWtkYXlzKCJsb25nIiwgZmFsc2UpLCAxKTsKICAgICAgICAgIGNhc2UgImNjYyI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2Mud2Vla2RheXMoInNob3J0IiwgdHJ1ZSksIDEpOwogICAgICAgICAgY2FzZSAiY2NjYyI6CiAgICAgICAgICAgIHJldHVybiBvbmVPZihsb2Mud2Vla2RheXMoImxvbmciLCB0cnVlKSwgMSk7CiAgICAgICAgICAvLyBvZmZzZXQvem9uZQogICAgICAgICAgY2FzZSAiWiI6CiAgICAgICAgICBjYXNlICJaWiI6CiAgICAgICAgICAgIHJldHVybiBvZmZzZXQobmV3IFJlZ0V4cChgKFsrLV0ke29uZU9yVHdvLnNvdXJjZX0pKD86Oigke3R3by5zb3VyY2V9KSk/YCksIDIpOwogICAgICAgICAgY2FzZSAiWlpaIjoKICAgICAgICAgICAgcmV0dXJuIG9mZnNldChuZXcgUmVnRXhwKGAoWystXSR7b25lT3JUd28uc291cmNlfSkoJHt0d28uc291cmNlfSk/YCksIDIpOwogICAgICAgICAgLy8gd2UgZG9uJ3Qgc3VwcG9ydCBaWlpaIChQU1QpIG9yIFpaWlpaIChQYWNpZmljIFN0YW5kYXJkIFRpbWUpIGluIHBhcnNpbmcKICAgICAgICAgIC8vIGJlY2F1c2Ugd2UgZG9uJ3QgaGF2ZSBhbnkgd2F5IHRvIGZpZ3VyZSBvdXQgd2hhdCB0aGV5IGFyZQogICAgICAgICAgY2FzZSAieiI6CiAgICAgICAgICAgIHJldHVybiBzaW1wbGUoL1thLXpfKy0vXXsxLDI1Nn0/L2kpOwogICAgICAgICAgLy8gdGhpcyBzcGVjaWFsLWNhc2UgInRva2VuIiByZXByZXNlbnRzIGEgcGxhY2Ugd2hlcmUgYSBtYWNyby10b2tlbiBleHBhbmRlZCBpbnRvIGEgd2hpdGUtc3BhY2UgbGl0ZXJhbAogICAgICAgICAgLy8gaW4gdGhpcyBjYXNlIHdlIGFjY2VwdCBhbnkgbm9uLW5ld2xpbmUgd2hpdGUtc3BhY2UKICAgICAgICAgIGNhc2UgIiAiOgogICAgICAgICAgICByZXR1cm4gc2ltcGxlKC9bXlxTXG5ccl0vKTsKICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgIHJldHVybiBsaXRlcmFsKHQpOwogICAgICAgIH0KICAgICAgfTsKCiAgICBjb25zdCB1bml0ID0gdW5pdGF0ZSh0b2tlbikgfHwgewogICAgICBpbnZhbGlkUmVhc29uOiBNSVNTSU5HX0ZUUCwKICAgIH07CgogICAgdW5pdC50b2tlbiA9IHRva2VuOwoKICAgIHJldHVybiB1bml0OwogIH0KCiAgY29uc3QgcGFydFR5cGVTdHlsZVRvVG9rZW5WYWwgPSB7CiAgICB5ZWFyOiB7CiAgICAgICIyLWRpZ2l0IjogInl5IiwKICAgICAgbnVtZXJpYzogInl5eXl5IiwKICAgIH0sCiAgICBtb250aDogewogICAgICBudW1lcmljOiAiTSIsCiAgICAgICIyLWRpZ2l0IjogIk1NIiwKICAgICAgc2hvcnQ6ICJNTU0iLAogICAgICBsb25nOiAiTU1NTSIsCiAgICB9LAogICAgZGF5OiB7CiAgICAgIG51bWVyaWM6ICJkIiwKICAgICAgIjItZGlnaXQiOiAiZGQiLAogICAgfSwKICAgIHdlZWtkYXk6IHsKICAgICAgc2hvcnQ6ICJFRUUiLAogICAgICBsb25nOiAiRUVFRSIsCiAgICB9LAogICAgZGF5cGVyaW9kOiAiYSIsCiAgICBkYXlQZXJpb2Q6ICJhIiwKICAgIGhvdXIxMjogewogICAgICBudW1lcmljOiAiaCIsCiAgICAgICIyLWRpZ2l0IjogImhoIiwKICAgIH0sCiAgICBob3VyMjQ6IHsKICAgICAgbnVtZXJpYzogIkgiLAogICAgICAiMi1kaWdpdCI6ICJISCIsCiAgICB9LAogICAgbWludXRlOiB7CiAgICAgIG51bWVyaWM6ICJtIiwKICAgICAgIjItZGlnaXQiOiAibW0iLAogICAgfSwKICAgIHNlY29uZDogewogICAgICBudW1lcmljOiAicyIsCiAgICAgICIyLWRpZ2l0IjogInNzIiwKICAgIH0sCiAgICB0aW1lWm9uZU5hbWU6IHsKICAgICAgbG9uZzogIlpaWlpaIiwKICAgICAgc2hvcnQ6ICJaWloiLAogICAgfSwKICB9OwoKICBmdW5jdGlvbiB0b2tlbkZvclBhcnQocGFydCwgZm9ybWF0T3B0cywgcmVzb2x2ZWRPcHRzKSB7CiAgICBjb25zdCB7IHR5cGUsIHZhbHVlIH0gPSBwYXJ0OwoKICAgIGlmICh0eXBlID09PSAibGl0ZXJhbCIpIHsKICAgICAgY29uc3QgaXNTcGFjZSA9IC9eXHMrJC8udGVzdCh2YWx1ZSk7CiAgICAgIHJldHVybiB7CiAgICAgICAgbGl0ZXJhbDogIWlzU3BhY2UsCiAgICAgICAgdmFsOiBpc1NwYWNlID8gIiAiIDogdmFsdWUsCiAgICAgIH07CiAgICB9CgogICAgY29uc3Qgc3R5bGUgPSBmb3JtYXRPcHRzW3R5cGVdOwoKICAgIC8vIFRoZSB1c2VyIG1pZ2h0IGhhdmUgZXhwbGljaXRseSBzcGVjaWZpZWQgaG91cjEyIG9yIGhvdXJDeWNsZQogICAgLy8gaWYgc28sIHJlc3BlY3QgdGhlaXIgZGVjaXNpb24KICAgIC8vIGlmIG5vdCwgcmVmZXIgYmFjayB0byB0aGUgcmVzb2x2ZWRPcHRzLCB3aGljaCBhcmUgYmFzZWQgb24gdGhlIGxvY2FsZQogICAgbGV0IGFjdHVhbFR5cGUgPSB0eXBlOwogICAgaWYgKHR5cGUgPT09ICJob3VyIikgewogICAgICBpZiAoZm9ybWF0T3B0cy5ob3VyMTIgIT0gbnVsbCkgewogICAgICAgIGFjdHVhbFR5cGUgPSBmb3JtYXRPcHRzLmhvdXIxMiA/ICJob3VyMTIiIDogImhvdXIyNCI7CiAgICAgIH0gZWxzZSBpZiAoZm9ybWF0T3B0cy5ob3VyQ3ljbGUgIT0gbnVsbCkgewogICAgICAgIGlmIChmb3JtYXRPcHRzLmhvdXJDeWNsZSA9PT0gImgxMSIgfHwgZm9ybWF0T3B0cy5ob3VyQ3ljbGUgPT09ICJoMTIiKSB7CiAgICAgICAgICBhY3R1YWxUeXBlID0gImhvdXIxMiI7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIGFjdHVhbFR5cGUgPSAiaG91cjI0IjsKICAgICAgICB9CiAgICAgIH0gZWxzZSB7CiAgICAgICAgLy8gdG9rZW5zIG9ubHkgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIDI0IGhvdXJzIG9yIG5vdCwKICAgICAgICAvLyBzbyB3ZSBkbyBub3QgbmVlZCB0byBjaGVjayBob3VyQ3ljbGUgaGVyZSwgd2hpY2ggaXMgbGVzcyBzdXBwb3J0ZWQgYW55d2F5cwogICAgICAgIGFjdHVhbFR5cGUgPSByZXNvbHZlZE9wdHMuaG91cjEyID8gImhvdXIxMiIgOiAiaG91cjI0IjsKICAgICAgfQogICAgfQogICAgbGV0IHZhbCA9IHBhcnRUeXBlU3R5bGVUb1Rva2VuVmFsW2FjdHVhbFR5cGVdOwogICAgaWYgKHR5cGVvZiB2YWwgPT09ICJvYmplY3QiKSB7CiAgICAgIHZhbCA9IHZhbFtzdHlsZV07CiAgICB9CgogICAgaWYgKHZhbCkgewogICAgICByZXR1cm4gewogICAgICAgIGxpdGVyYWw6IGZhbHNlLAogICAgICAgIHZhbCwKICAgICAgfTsKICAgIH0KCiAgICByZXR1cm4gdW5kZWZpbmVkOwogIH0KCiAgZnVuY3Rpb24gYnVpbGRSZWdleCh1bml0cykgewogICAgY29uc3QgcmUgPSB1bml0cy5tYXAoKHUpID0+IHUucmVnZXgpLnJlZHVjZSgoZiwgcikgPT4gYCR7Zn0oJHtyLnNvdXJjZX0pYCwgIiIpOwogICAgcmV0dXJuIFtgXiR7cmV9JGAsIHVuaXRzXTsKICB9CgogIGZ1bmN0aW9uIG1hdGNoKGlucHV0LCByZWdleCwgaGFuZGxlcnMpIHsKICAgIGNvbnN0IG1hdGNoZXMgPSBpbnB1dC5tYXRjaChyZWdleCk7CgogICAgaWYgKG1hdGNoZXMpIHsKICAgICAgY29uc3QgYWxsID0ge307CiAgICAgIGxldCBtYXRjaEluZGV4ID0gMTsKICAgICAgZm9yIChjb25zdCBpIGluIGhhbmRsZXJzKSB7CiAgICAgICAgaWYgKGhhc093blByb3BlcnR5KGhhbmRsZXJzLCBpKSkgewogICAgICAgICAgY29uc3QgaCA9IGhhbmRsZXJzW2ldLAogICAgICAgICAgICBncm91cHMgPSBoLmdyb3VwcyA/IGguZ3JvdXBzICsgMSA6IDE7CiAgICAgICAgICBpZiAoIWgubGl0ZXJhbCAmJiBoLnRva2VuKSB7CiAgICAgICAgICAgIGFsbFtoLnRva2VuLnZhbFswXV0gPSBoLmRlc2VyKG1hdGNoZXMuc2xpY2UobWF0Y2hJbmRleCwgbWF0Y2hJbmRleCArIGdyb3VwcykpOwogICAgICAgICAgfQogICAgICAgICAgbWF0Y2hJbmRleCArPSBncm91cHM7CiAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBbbWF0Y2hlcywgYWxsXTsKICAgIH0gZWxzZSB7CiAgICAgIHJldHVybiBbbWF0Y2hlcywge31dOwogICAgfQogIH0KCiAgZnVuY3Rpb24gZGF0ZVRpbWVGcm9tTWF0Y2hlcyhtYXRjaGVzKSB7CiAgICBjb25zdCB0b0ZpZWxkID0gKHRva2VuKSA9PiB7CiAgICAgIHN3aXRjaCAodG9rZW4pIHsKICAgICAgICBjYXNlICJTIjoKICAgICAgICAgIHJldHVybiAibWlsbGlzZWNvbmQiOwogICAgICAgIGNhc2UgInMiOgogICAgICAgICAgcmV0dXJuICJzZWNvbmQiOwogICAgICAgIGNhc2UgIm0iOgogICAgICAgICAgcmV0dXJuICJtaW51dGUiOwogICAgICAgIGNhc2UgImgiOgogICAgICAgIGNhc2UgIkgiOgogICAgICAgICAgcmV0dXJuICJob3VyIjsKICAgICAgICBjYXNlICJkIjoKICAgICAgICAgIHJldHVybiAiZGF5IjsKICAgICAgICBjYXNlICJvIjoKICAgICAgICAgIHJldHVybiAib3JkaW5hbCI7CiAgICAgICAgY2FzZSAiTCI6CiAgICAgICAgY2FzZSAiTSI6CiAgICAgICAgICByZXR1cm4gIm1vbnRoIjsKICAgICAgICBjYXNlICJ5IjoKICAgICAgICAgIHJldHVybiAieWVhciI7CiAgICAgICAgY2FzZSAiRSI6CiAgICAgICAgY2FzZSAiYyI6CiAgICAgICAgICByZXR1cm4gIndlZWtkYXkiOwogICAgICAgIGNhc2UgIlciOgogICAgICAgICAgcmV0dXJuICJ3ZWVrTnVtYmVyIjsKICAgICAgICBjYXNlICJrIjoKICAgICAgICAgIHJldHVybiAid2Vla1llYXIiOwogICAgICAgIGNhc2UgInEiOgogICAgICAgICAgcmV0dXJuICJxdWFydGVyIjsKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KICAgIH07CgogICAgbGV0IHpvbmUgPSBudWxsOwogICAgbGV0IHNwZWNpZmljT2Zmc2V0OwogICAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLnopKSB7CiAgICAgIHpvbmUgPSBJQU5BWm9uZS5jcmVhdGUobWF0Y2hlcy56KTsKICAgIH0KCiAgICBpZiAoIWlzVW5kZWZpbmVkKG1hdGNoZXMuWikpIHsKICAgICAgaWYgKCF6b25lKSB7CiAgICAgICAgem9uZSA9IG5ldyBGaXhlZE9mZnNldFpvbmUobWF0Y2hlcy5aKTsKICAgICAgfQogICAgICBzcGVjaWZpY09mZnNldCA9IG1hdGNoZXMuWjsKICAgIH0KCiAgICBpZiAoIWlzVW5kZWZpbmVkKG1hdGNoZXMucSkpIHsKICAgICAgbWF0Y2hlcy5NID0gKG1hdGNoZXMucSAtIDEpICogMyArIDE7CiAgICB9CgogICAgaWYgKCFpc1VuZGVmaW5lZChtYXRjaGVzLmgpKSB7CiAgICAgIGlmIChtYXRjaGVzLmggPCAxMiAmJiBtYXRjaGVzLmEgPT09IDEpIHsKICAgICAgICBtYXRjaGVzLmggKz0gMTI7CiAgICAgIH0gZWxzZSBpZiAobWF0Y2hlcy5oID09PSAxMiAmJiBtYXRjaGVzLmEgPT09IDApIHsKICAgICAgICBtYXRjaGVzLmggPSAwOwogICAgICB9CiAgICB9CgogICAgaWYgKG1hdGNoZXMuRyA9PT0gMCAmJiBtYXRjaGVzLnkpIHsKICAgICAgbWF0Y2hlcy55ID0gLW1hdGNoZXMueTsKICAgIH0KCiAgICBpZiAoIWlzVW5kZWZpbmVkKG1hdGNoZXMudSkpIHsKICAgICAgbWF0Y2hlcy5TID0gcGFyc2VNaWxsaXMobWF0Y2hlcy51KTsKICAgIH0KCiAgICBjb25zdCB2YWxzID0gT2JqZWN0LmtleXMobWF0Y2hlcykucmVkdWNlKChyLCBrKSA9PiB7CiAgICAgIGNvbnN0IGYgPSB0b0ZpZWxkKGspOwogICAgICBpZiAoZikgewogICAgICAgIHJbZl0gPSBtYXRjaGVzW2tdOwogICAgICB9CgogICAgICByZXR1cm4gcjsKICAgIH0sIHt9KTsKCiAgICByZXR1cm4gW3ZhbHMsIHpvbmUsIHNwZWNpZmljT2Zmc2V0XTsKICB9CgogIGxldCBkdW1teURhdGVUaW1lQ2FjaGUgPSBudWxsOwoKICBmdW5jdGlvbiBnZXREdW1teURhdGVUaW1lKCkgewogICAgaWYgKCFkdW1teURhdGVUaW1lQ2FjaGUpIHsKICAgICAgZHVtbXlEYXRlVGltZUNhY2hlID0gRGF0ZVRpbWUuZnJvbU1pbGxpcygxNTU1NTU1NTU1NTU1KTsKICAgIH0KCiAgICByZXR1cm4gZHVtbXlEYXRlVGltZUNhY2hlOwogIH0KCiAgZnVuY3Rpb24gbWF5YmVFeHBhbmRNYWNyb1Rva2VuKHRva2VuLCBsb2NhbGUpIHsKICAgIGlmICh0b2tlbi5saXRlcmFsKSB7CiAgICAgIHJldHVybiB0b2tlbjsKICAgIH0KCiAgICBjb25zdCBmb3JtYXRPcHRzID0gRm9ybWF0dGVyLm1hY3JvVG9rZW5Ub0Zvcm1hdE9wdHModG9rZW4udmFsKTsKICAgIGNvbnN0IHRva2VucyA9IGZvcm1hdE9wdHNUb1Rva2Vucyhmb3JtYXRPcHRzLCBsb2NhbGUpOwoKICAgIGlmICh0b2tlbnMgPT0gbnVsbCB8fCB0b2tlbnMuaW5jbHVkZXModW5kZWZpbmVkKSkgewogICAgICByZXR1cm4gdG9rZW47CiAgICB9CgogICAgcmV0dXJuIHRva2VuczsKICB9CgogIGZ1bmN0aW9uIGV4cGFuZE1hY3JvVG9rZW5zKHRva2VucywgbG9jYWxlKSB7CiAgICByZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdCguLi50b2tlbnMubWFwKCh0KSA9PiBtYXliZUV4cGFuZE1hY3JvVG9rZW4odCwgbG9jYWxlKSkpOwogIH0KCiAgLyoqCiAgICogQHByaXZhdGUKICAgKi8KCiAgZnVuY3Rpb24gZXhwbGFpbkZyb21Ub2tlbnMobG9jYWxlLCBpbnB1dCwgZm9ybWF0KSB7CiAgICBjb25zdCB0b2tlbnMgPSBleHBhbmRNYWNyb1Rva2VucyhGb3JtYXR0ZXIucGFyc2VGb3JtYXQoZm9ybWF0KSwgbG9jYWxlKSwKICAgICAgdW5pdHMgPSB0b2tlbnMubWFwKCh0KSA9PiB1bml0Rm9yVG9rZW4odCwgbG9jYWxlKSksCiAgICAgIGRpc3F1YWxpZnlpbmdVbml0ID0gdW5pdHMuZmluZCgodCkgPT4gdC5pbnZhbGlkUmVhc29uKTsKCiAgICBpZiAoZGlzcXVhbGlmeWluZ1VuaXQpIHsKICAgICAgcmV0dXJuIHsgaW5wdXQsIHRva2VucywgaW52YWxpZFJlYXNvbjogZGlzcXVhbGlmeWluZ1VuaXQuaW52YWxpZFJlYXNvbiB9OwogICAgfSBlbHNlIHsKICAgICAgY29uc3QgW3JlZ2V4U3RyaW5nLCBoYW5kbGVyc10gPSBidWlsZFJlZ2V4KHVuaXRzKSwKICAgICAgICByZWdleCA9IFJlZ0V4cChyZWdleFN0cmluZywgImkiKSwKICAgICAgICBbcmF3TWF0Y2hlcywgbWF0Y2hlc10gPSBtYXRjaChpbnB1dCwgcmVnZXgsIGhhbmRsZXJzKSwKICAgICAgICBbcmVzdWx0LCB6b25lLCBzcGVjaWZpY09mZnNldF0gPSBtYXRjaGVzCiAgICAgICAgICA/IGRhdGVUaW1lRnJvbU1hdGNoZXMobWF0Y2hlcykKICAgICAgICAgIDogW251bGwsIG51bGwsIHVuZGVmaW5lZF07CiAgICAgIGlmIChoYXNPd25Qcm9wZXJ0eShtYXRjaGVzLCAiYSIpICYmIGhhc093blByb3BlcnR5KG1hdGNoZXMsICJIIikpIHsKICAgICAgICB0aHJvdyBuZXcgQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IoCiAgICAgICAgICAiQ2FuJ3QgaW5jbHVkZSBtZXJpZGllbSB3aGVuIHNwZWNpZnlpbmcgMjQtaG91ciBmb3JtYXQiCiAgICAgICAgKTsKICAgICAgfQogICAgICByZXR1cm4geyBpbnB1dCwgdG9rZW5zLCByZWdleCwgcmF3TWF0Y2hlcywgbWF0Y2hlcywgcmVzdWx0LCB6b25lLCBzcGVjaWZpY09mZnNldCB9OwogICAgfQogIH0KCiAgZnVuY3Rpb24gcGFyc2VGcm9tVG9rZW5zKGxvY2FsZSwgaW5wdXQsIGZvcm1hdCkgewogICAgY29uc3QgeyByZXN1bHQsIHpvbmUsIHNwZWNpZmljT2Zmc2V0LCBpbnZhbGlkUmVhc29uIH0gPSBleHBsYWluRnJvbVRva2Vucyhsb2NhbGUsIGlucHV0LCBmb3JtYXQpOwogICAgcmV0dXJuIFtyZXN1bHQsIHpvbmUsIHNwZWNpZmljT2Zmc2V0LCBpbnZhbGlkUmVhc29uXTsKICB9CgogIGZ1bmN0aW9uIGZvcm1hdE9wdHNUb1Rva2Vucyhmb3JtYXRPcHRzLCBsb2NhbGUpIHsKICAgIGlmICghZm9ybWF0T3B0cykgewogICAgICByZXR1cm4gbnVsbDsKICAgIH0KCiAgICBjb25zdCBmb3JtYXR0ZXIgPSBGb3JtYXR0ZXIuY3JlYXRlKGxvY2FsZSwgZm9ybWF0T3B0cyk7CiAgICBjb25zdCBkZiA9IGZvcm1hdHRlci5kdEZvcm1hdHRlcihnZXREdW1teURhdGVUaW1lKCkpOwogICAgY29uc3QgcGFydHMgPSBkZi5mb3JtYXRUb1BhcnRzKCk7CiAgICBjb25zdCByZXNvbHZlZE9wdHMgPSBkZi5yZXNvbHZlZE9wdGlvbnMoKTsKICAgIHJldHVybiBwYXJ0cy5tYXAoKHApID0+IHRva2VuRm9yUGFydChwLCBmb3JtYXRPcHRzLCByZXNvbHZlZE9wdHMpKTsKICB9CgogIGNvbnN0IG5vbkxlYXBMYWRkZXIgPSBbMCwgMzEsIDU5LCA5MCwgMTIwLCAxNTEsIDE4MSwgMjEyLCAyNDMsIDI3MywgMzA0LCAzMzRdLAogICAgbGVhcExhZGRlciA9IFswLCAzMSwgNjAsIDkxLCAxMjEsIDE1MiwgMTgyLCAyMTMsIDI0NCwgMjc0LCAzMDUsIDMzNV07CgogIGZ1bmN0aW9uIHVuaXRPdXRPZlJhbmdlKHVuaXQsIHZhbHVlKSB7CiAgICByZXR1cm4gbmV3IEludmFsaWQoCiAgICAgICJ1bml0IG91dCBvZiByYW5nZSIsCiAgICAgIGB5b3Ugc3BlY2lmaWVkICR7dmFsdWV9IChvZiB0eXBlICR7dHlwZW9mIHZhbHVlfSkgYXMgYSAke3VuaXR9LCB3aGljaCBpcyBpbnZhbGlkYAogICAgKTsKICB9CgogIGZ1bmN0aW9uIGRheU9mV2Vlayh5ZWFyLCBtb250aCwgZGF5KSB7CiAgICBjb25zdCBkID0gbmV3IERhdGUoRGF0ZS5VVEMoeWVhciwgbW9udGggLSAxLCBkYXkpKTsKCiAgICBpZiAoeWVhciA8IDEwMCAmJiB5ZWFyID49IDApIHsKICAgICAgZC5zZXRVVENGdWxsWWVhcihkLmdldFVUQ0Z1bGxZZWFyKCkgLSAxOTAwKTsKICAgIH0KCiAgICBjb25zdCBqcyA9IGQuZ2V0VVRDRGF5KCk7CgogICAgcmV0dXJuIGpzID09PSAwID8gNyA6IGpzOwogIH0KCiAgZnVuY3Rpb24gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSkgewogICAgcmV0dXJuIGRheSArIChpc0xlYXBZZWFyKHllYXIpID8gbGVhcExhZGRlciA6IG5vbkxlYXBMYWRkZXIpW21vbnRoIC0gMV07CiAgfQoKICBmdW5jdGlvbiB1bmNvbXB1dGVPcmRpbmFsKHllYXIsIG9yZGluYWwpIHsKICAgIGNvbnN0IHRhYmxlID0gaXNMZWFwWWVhcih5ZWFyKSA/IGxlYXBMYWRkZXIgOiBub25MZWFwTGFkZGVyLAogICAgICBtb250aDAgPSB0YWJsZS5maW5kSW5kZXgoKGkpID0+IGkgPCBvcmRpbmFsKSwKICAgICAgZGF5ID0gb3JkaW5hbCAtIHRhYmxlW21vbnRoMF07CiAgICByZXR1cm4geyBtb250aDogbW9udGgwICsgMSwgZGF5IH07CiAgfQoKICAvKioKICAgKiBAcHJpdmF0ZQogICAqLwoKICBmdW5jdGlvbiBncmVnb3JpYW5Ub1dlZWsoZ3JlZ09iaikgewogICAgY29uc3QgeyB5ZWFyLCBtb250aCwgZGF5IH0gPSBncmVnT2JqLAogICAgICBvcmRpbmFsID0gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSksCiAgICAgIHdlZWtkYXkgPSBkYXlPZldlZWsoeWVhciwgbW9udGgsIGRheSk7CgogICAgbGV0IHdlZWtOdW1iZXIgPSBNYXRoLmZsb29yKChvcmRpbmFsIC0gd2Vla2RheSArIDEwKSAvIDcpLAogICAgICB3ZWVrWWVhcjsKCiAgICBpZiAod2Vla051bWJlciA8IDEpIHsKICAgICAgd2Vla1llYXIgPSB5ZWFyIC0gMTsKICAgICAgd2Vla051bWJlciA9IHdlZWtzSW5XZWVrWWVhcih3ZWVrWWVhcik7CiAgICB9IGVsc2UgaWYgKHdlZWtOdW1iZXIgPiB3ZWVrc0luV2Vla1llYXIoeWVhcikpIHsKICAgICAgd2Vla1llYXIgPSB5ZWFyICsgMTsKICAgICAgd2Vla051bWJlciA9IDE7CiAgICB9IGVsc2UgewogICAgICB3ZWVrWWVhciA9IHllYXI7CiAgICB9CgogICAgcmV0dXJuIHsgd2Vla1llYXIsIHdlZWtOdW1iZXIsIHdlZWtkYXksIC4uLnRpbWVPYmplY3QoZ3JlZ09iaikgfTsKICB9CgogIGZ1bmN0aW9uIHdlZWtUb0dyZWdvcmlhbih3ZWVrRGF0YSkgewogICAgY29uc3QgeyB3ZWVrWWVhciwgd2Vla051bWJlciwgd2Vla2RheSB9ID0gd2Vla0RhdGEsCiAgICAgIHdlZWtkYXlPZkphbjQgPSBkYXlPZldlZWsod2Vla1llYXIsIDEsIDQpLAogICAgICB5ZWFySW5EYXlzID0gZGF5c0luWWVhcih3ZWVrWWVhcik7CgogICAgbGV0IG9yZGluYWwgPSB3ZWVrTnVtYmVyICogNyArIHdlZWtkYXkgLSB3ZWVrZGF5T2ZKYW40IC0gMywKICAgICAgeWVhcjsKCiAgICBpZiAob3JkaW5hbCA8IDEpIHsKICAgICAgeWVhciA9IHdlZWtZZWFyIC0gMTsKICAgICAgb3JkaW5hbCArPSBkYXlzSW5ZZWFyKHllYXIpOwogICAgfSBlbHNlIGlmIChvcmRpbmFsID4geWVhckluRGF5cykgewogICAgICB5ZWFyID0gd2Vla1llYXIgKyAxOwogICAgICBvcmRpbmFsIC09IGRheXNJblllYXIod2Vla1llYXIpOwogICAgfSBlbHNlIHsKICAgICAgeWVhciA9IHdlZWtZZWFyOwogICAgfQoKICAgIGNvbnN0IHsgbW9udGgsIGRheSB9ID0gdW5jb21wdXRlT3JkaW5hbCh5ZWFyLCBvcmRpbmFsKTsKICAgIHJldHVybiB7IHllYXIsIG1vbnRoLCBkYXksIC4uLnRpbWVPYmplY3Qod2Vla0RhdGEpIH07CiAgfQoKICBmdW5jdGlvbiBncmVnb3JpYW5Ub09yZGluYWwoZ3JlZ0RhdGEpIHsKICAgIGNvbnN0IHsgeWVhciwgbW9udGgsIGRheSB9ID0gZ3JlZ0RhdGE7CiAgICBjb25zdCBvcmRpbmFsID0gY29tcHV0ZU9yZGluYWwoeWVhciwgbW9udGgsIGRheSk7CiAgICByZXR1cm4geyB5ZWFyLCBvcmRpbmFsLCAuLi50aW1lT2JqZWN0KGdyZWdEYXRhKSB9OwogIH0KCiAgZnVuY3Rpb24gb3JkaW5hbFRvR3JlZ29yaWFuKG9yZGluYWxEYXRhKSB7CiAgICBjb25zdCB7IHllYXIsIG9yZGluYWwgfSA9IG9yZGluYWxEYXRhOwogICAgY29uc3QgeyBtb250aCwgZGF5IH0gPSB1bmNvbXB1dGVPcmRpbmFsKHllYXIsIG9yZGluYWwpOwogICAgcmV0dXJuIHsgeWVhciwgbW9udGgsIGRheSwgLi4udGltZU9iamVjdChvcmRpbmFsRGF0YSkgfTsKICB9CgogIGZ1bmN0aW9uIGhhc0ludmFsaWRXZWVrRGF0YShvYmopIHsKICAgIGNvbnN0IHZhbGlkWWVhciA9IGlzSW50ZWdlcihvYmoud2Vla1llYXIpLAogICAgICB2YWxpZFdlZWsgPSBpbnRlZ2VyQmV0d2VlbihvYmoud2Vla051bWJlciwgMSwgd2Vla3NJbldlZWtZZWFyKG9iai53ZWVrWWVhcikpLAogICAgICB2YWxpZFdlZWtkYXkgPSBpbnRlZ2VyQmV0d2VlbihvYmoud2Vla2RheSwgMSwgNyk7CgogICAgaWYgKCF2YWxpZFllYXIpIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJ3ZWVrWWVhciIsIG9iai53ZWVrWWVhcik7CiAgICB9IGVsc2UgaWYgKCF2YWxpZFdlZWspIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJ3ZWVrIiwgb2JqLndlZWspOwogICAgfSBlbHNlIGlmICghdmFsaWRXZWVrZGF5KSB7CiAgICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZSgid2Vla2RheSIsIG9iai53ZWVrZGF5KTsKICAgIH0gZWxzZSByZXR1cm4gZmFsc2U7CiAgfQoKICBmdW5jdGlvbiBoYXNJbnZhbGlkT3JkaW5hbERhdGEob2JqKSB7CiAgICBjb25zdCB2YWxpZFllYXIgPSBpc0ludGVnZXIob2JqLnllYXIpLAogICAgICB2YWxpZE9yZGluYWwgPSBpbnRlZ2VyQmV0d2VlbihvYmoub3JkaW5hbCwgMSwgZGF5c0luWWVhcihvYmoueWVhcikpOwoKICAgIGlmICghdmFsaWRZZWFyKSB7CiAgICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZSgieWVhciIsIG9iai55ZWFyKTsKICAgIH0gZWxzZSBpZiAoIXZhbGlkT3JkaW5hbCkgewogICAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoIm9yZGluYWwiLCBvYmoub3JkaW5hbCk7CiAgICB9IGVsc2UgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gaGFzSW52YWxpZEdyZWdvcmlhbkRhdGEob2JqKSB7CiAgICBjb25zdCB2YWxpZFllYXIgPSBpc0ludGVnZXIob2JqLnllYXIpLAogICAgICB2YWxpZE1vbnRoID0gaW50ZWdlckJldHdlZW4ob2JqLm1vbnRoLCAxLCAxMiksCiAgICAgIHZhbGlkRGF5ID0gaW50ZWdlckJldHdlZW4ob2JqLmRheSwgMSwgZGF5c0luTW9udGgob2JqLnllYXIsIG9iai5tb250aCkpOwoKICAgIGlmICghdmFsaWRZZWFyKSB7CiAgICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZSgieWVhciIsIG9iai55ZWFyKTsKICAgIH0gZWxzZSBpZiAoIXZhbGlkTW9udGgpIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJtb250aCIsIG9iai5tb250aCk7CiAgICB9IGVsc2UgaWYgKCF2YWxpZERheSkgewogICAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoImRheSIsIG9iai5kYXkpOwogICAgfSBlbHNlIHJldHVybiBmYWxzZTsKICB9CgogIGZ1bmN0aW9uIGhhc0ludmFsaWRUaW1lRGF0YShvYmopIHsKICAgIGNvbnN0IHsgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kIH0gPSBvYmo7CiAgICBjb25zdCB2YWxpZEhvdXIgPQogICAgICAgIGludGVnZXJCZXR3ZWVuKGhvdXIsIDAsIDIzKSB8fAogICAgICAgIChob3VyID09PSAyNCAmJiBtaW51dGUgPT09IDAgJiYgc2Vjb25kID09PSAwICYmIG1pbGxpc2Vjb25kID09PSAwKSwKICAgICAgdmFsaWRNaW51dGUgPSBpbnRlZ2VyQmV0d2VlbihtaW51dGUsIDAsIDU5KSwKICAgICAgdmFsaWRTZWNvbmQgPSBpbnRlZ2VyQmV0d2VlbihzZWNvbmQsIDAsIDU5KSwKICAgICAgdmFsaWRNaWxsaXNlY29uZCA9IGludGVnZXJCZXR3ZWVuKG1pbGxpc2Vjb25kLCAwLCA5OTkpOwoKICAgIGlmICghdmFsaWRIb3VyKSB7CiAgICAgIHJldHVybiB1bml0T3V0T2ZSYW5nZSgiaG91ciIsIGhvdXIpOwogICAgfSBlbHNlIGlmICghdmFsaWRNaW51dGUpIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJtaW51dGUiLCBtaW51dGUpOwogICAgfSBlbHNlIGlmICghdmFsaWRTZWNvbmQpIHsKICAgICAgcmV0dXJuIHVuaXRPdXRPZlJhbmdlKCJzZWNvbmQiLCBzZWNvbmQpOwogICAgfSBlbHNlIGlmICghdmFsaWRNaWxsaXNlY29uZCkgewogICAgICByZXR1cm4gdW5pdE91dE9mUmFuZ2UoIm1pbGxpc2Vjb25kIiwgbWlsbGlzZWNvbmQpOwogICAgfSBlbHNlIHJldHVybiBmYWxzZTsKICB9CgogIGNvbnN0IElOVkFMSUQgPSAiSW52YWxpZCBEYXRlVGltZSI7CiAgY29uc3QgTUFYX0RBVEUgPSA4LjY0ZTE1OwoKICBmdW5jdGlvbiB1bnN1cHBvcnRlZFpvbmUoem9uZSkgewogICAgcmV0dXJuIG5ldyBJbnZhbGlkKCJ1bnN1cHBvcnRlZCB6b25lIiwgYHRoZSB6b25lICIke3pvbmUubmFtZX0iIGlzIG5vdCBzdXBwb3J0ZWRgKTsKICB9CgogIC8vIHdlIGNhY2hlIHdlZWsgZGF0YSBvbiB0aGUgRFQgb2JqZWN0IGFuZCB0aGlzIGludGVybWVkaWF0ZXMgdGhlIGNhY2hlCiAgZnVuY3Rpb24gcG9zc2libHlDYWNoZWRXZWVrRGF0YShkdCkgewogICAgaWYgKGR0LndlZWtEYXRhID09PSBudWxsKSB7CiAgICAgIGR0LndlZWtEYXRhID0gZ3JlZ29yaWFuVG9XZWVrKGR0LmMpOwogICAgfQogICAgcmV0dXJuIGR0LndlZWtEYXRhOwogIH0KCiAgLy8gY2xvbmUgcmVhbGx5IG1lYW5zLCAibWFrZSBhIG5ldyBvYmplY3Qgd2l0aCB0aGVzZSBtb2RpZmljYXRpb25zIi4gYWxsICJzZXR0ZXJzIiByZWFsbHkgdXNlIHRoaXMKICAvLyB0byBjcmVhdGUgYSBuZXcgb2JqZWN0IHdoaWxlIG9ubHkgY2hhbmdpbmcgc29tZSBvZiB0aGUgcHJvcGVydGllcwogIGZ1bmN0aW9uIGNsb25lKGluc3QsIGFsdHMpIHsKICAgIGNvbnN0IGN1cnJlbnQgPSB7CiAgICAgIHRzOiBpbnN0LnRzLAogICAgICB6b25lOiBpbnN0LnpvbmUsCiAgICAgIGM6IGluc3QuYywKICAgICAgbzogaW5zdC5vLAogICAgICBsb2M6IGluc3QubG9jLAogICAgICBpbnZhbGlkOiBpbnN0LmludmFsaWQsCiAgICB9OwogICAgcmV0dXJuIG5ldyBEYXRlVGltZSh7IC4uLmN1cnJlbnQsIC4uLmFsdHMsIG9sZDogY3VycmVudCB9KTsKICB9CgogIC8vIGZpbmQgdGhlIHJpZ2h0IG9mZnNldCBhIGdpdmVuIGxvY2FsIHRpbWUuIFRoZSBvIGlucHV0IGlzIG91ciBndWVzcywgd2hpY2ggZGV0ZXJtaW5lcyB3aGljaAogIC8vIG9mZnNldCB3ZSdsbCBwaWNrIGluIGFtYmlndW91cyBjYXNlcyAoZS5nLiB0aGVyZSBhcmUgdHdvIDMgQU1zIGIvYyBGYWxsYmFjayBEU1QpCiAgZnVuY3Rpb24gZml4T2Zmc2V0KGxvY2FsVFMsIG8sIHR6KSB7CiAgICAvLyBPdXIgVVRDIHRpbWUgaXMganVzdCBhIGd1ZXNzIGJlY2F1c2Ugb3VyIG9mZnNldCBpcyBqdXN0IGEgZ3Vlc3MKICAgIGxldCB1dGNHdWVzcyA9IGxvY2FsVFMgLSBvICogNjAgKiAxMDAwOwoKICAgIC8vIFRlc3Qgd2hldGhlciB0aGUgem9uZSBtYXRjaGVzIHRoZSBvZmZzZXQgZm9yIHRoaXMgdHMKICAgIGNvbnN0IG8yID0gdHoub2Zmc2V0KHV0Y0d1ZXNzKTsKCiAgICAvLyBJZiBzbywgb2Zmc2V0IGRpZG4ndCBjaGFuZ2UgYW5kIHdlJ3JlIGRvbmUKICAgIGlmIChvID09PSBvMikgewogICAgICByZXR1cm4gW3V0Y0d1ZXNzLCBvXTsKICAgIH0KCiAgICAvLyBJZiBub3QsIGNoYW5nZSB0aGUgdHMgYnkgdGhlIGRpZmZlcmVuY2UgaW4gdGhlIG9mZnNldAogICAgdXRjR3Vlc3MgLT0gKG8yIC0gbykgKiA2MCAqIDEwMDA7CgogICAgLy8gSWYgdGhhdCBnaXZlcyB1cyB0aGUgbG9jYWwgdGltZSB3ZSB3YW50LCB3ZSdyZSBkb25lCiAgICBjb25zdCBvMyA9IHR6Lm9mZnNldCh1dGNHdWVzcyk7CiAgICBpZiAobzIgPT09IG8zKSB7CiAgICAgIHJldHVybiBbdXRjR3Vlc3MsIG8yXTsKICAgIH0KCiAgICAvLyBJZiBpdCdzIGRpZmZlcmVudCwgd2UncmUgaW4gYSBob2xlIHRpbWUuIFRoZSBvZmZzZXQgaGFzIGNoYW5nZWQsIGJ1dCB0aGUgd2UgZG9uJ3QgYWRqdXN0IHRoZSB0aW1lCiAgICByZXR1cm4gW2xvY2FsVFMgLSBNYXRoLm1pbihvMiwgbzMpICogNjAgKiAxMDAwLCBNYXRoLm1heChvMiwgbzMpXTsKICB9CgogIC8vIGNvbnZlcnQgYW4gZXBvY2ggdGltZXN0YW1wIGludG8gYSBjYWxlbmRhciBvYmplY3Qgd2l0aCB0aGUgZ2l2ZW4gb2Zmc2V0CiAgZnVuY3Rpb24gdHNUb09iaih0cywgb2Zmc2V0KSB7CiAgICB0cyArPSBvZmZzZXQgKiA2MCAqIDEwMDA7CgogICAgY29uc3QgZCA9IG5ldyBEYXRlKHRzKTsKCiAgICByZXR1cm4gewogICAgICB5ZWFyOiBkLmdldFVUQ0Z1bGxZZWFyKCksCiAgICAgIG1vbnRoOiBkLmdldFVUQ01vbnRoKCkgKyAxLAogICAgICBkYXk6IGQuZ2V0VVRDRGF0ZSgpLAogICAgICBob3VyOiBkLmdldFVUQ0hvdXJzKCksCiAgICAgIG1pbnV0ZTogZC5nZXRVVENNaW51dGVzKCksCiAgICAgIHNlY29uZDogZC5nZXRVVENTZWNvbmRzKCksCiAgICAgIG1pbGxpc2Vjb25kOiBkLmdldFVUQ01pbGxpc2Vjb25kcygpLAogICAgfTsKICB9CgogIC8vIGNvbnZlcnQgYSBjYWxlbmRhciBvYmplY3QgdG8gYSBlcG9jaCB0aW1lc3RhbXAKICBmdW5jdGlvbiBvYmpUb1RTKG9iaiwgb2Zmc2V0LCB6b25lKSB7CiAgICByZXR1cm4gZml4T2Zmc2V0KG9ialRvTG9jYWxUUyhvYmopLCBvZmZzZXQsIHpvbmUpOwogIH0KCiAgLy8gY3JlYXRlIGEgbmV3IERUIGluc3RhbmNlIGJ5IGFkZGluZyBhIGR1cmF0aW9uLCBhZGp1c3RpbmcgZm9yIERTVHMKICBmdW5jdGlvbiBhZGp1c3RUaW1lKGluc3QsIGR1cikgewogICAgY29uc3Qgb1ByZSA9IGluc3QubywKICAgICAgeWVhciA9IGluc3QuYy55ZWFyICsgTWF0aC50cnVuYyhkdXIueWVhcnMpLAogICAgICBtb250aCA9IGluc3QuYy5tb250aCArIE1hdGgudHJ1bmMoZHVyLm1vbnRocykgKyBNYXRoLnRydW5jKGR1ci5xdWFydGVycykgKiAzLAogICAgICBjID0gewogICAgICAgIC4uLmluc3QuYywKICAgICAgICB5ZWFyLAogICAgICAgIG1vbnRoLAogICAgICAgIGRheToKICAgICAgICAgIE1hdGgubWluKGluc3QuYy5kYXksIGRheXNJbk1vbnRoKHllYXIsIG1vbnRoKSkgKwogICAgICAgICAgTWF0aC50cnVuYyhkdXIuZGF5cykgKwogICAgICAgICAgTWF0aC50cnVuYyhkdXIud2Vla3MpICogNywKICAgICAgfSwKICAgICAgbWlsbGlzVG9BZGQgPSBEdXJhdGlvbi5mcm9tT2JqZWN0KHsKICAgICAgICB5ZWFyczogZHVyLnllYXJzIC0gTWF0aC50cnVuYyhkdXIueWVhcnMpLAogICAgICAgIHF1YXJ0ZXJzOiBkdXIucXVhcnRlcnMgLSBNYXRoLnRydW5jKGR1ci5xdWFydGVycyksCiAgICAgICAgbW9udGhzOiBkdXIubW9udGhzIC0gTWF0aC50cnVuYyhkdXIubW9udGhzKSwKICAgICAgICB3ZWVrczogZHVyLndlZWtzIC0gTWF0aC50cnVuYyhkdXIud2Vla3MpLAogICAgICAgIGRheXM6IGR1ci5kYXlzIC0gTWF0aC50cnVuYyhkdXIuZGF5cyksCiAgICAgICAgaG91cnM6IGR1ci5ob3VycywKICAgICAgICBtaW51dGVzOiBkdXIubWludXRlcywKICAgICAgICBzZWNvbmRzOiBkdXIuc2Vjb25kcywKICAgICAgICBtaWxsaXNlY29uZHM6IGR1ci5taWxsaXNlY29uZHMsCiAgICAgIH0pLmFzKCJtaWxsaXNlY29uZHMiKSwKICAgICAgbG9jYWxUUyA9IG9ialRvTG9jYWxUUyhjKTsKCiAgICBsZXQgW3RzLCBvXSA9IGZpeE9mZnNldChsb2NhbFRTLCBvUHJlLCBpbnN0LnpvbmUpOwoKICAgIGlmIChtaWxsaXNUb0FkZCAhPT0gMCkgewogICAgICB0cyArPSBtaWxsaXNUb0FkZDsKICAgICAgLy8gdGhhdCBjb3VsZCBoYXZlIGNoYW5nZWQgdGhlIG9mZnNldCBieSBnb2luZyBvdmVyIGEgRFNULCBidXQgd2Ugd2FudCB0byBrZWVwIHRoZSB0cyB0aGUgc2FtZQogICAgICBvID0gaW5zdC56b25lLm9mZnNldCh0cyk7CiAgICB9CgogICAgcmV0dXJuIHsgdHMsIG8gfTsKICB9CgogIC8vIGhlbHBlciB1c2VmdWwgaW4gdHVybmluZyB0aGUgcmVzdWx0cyBvZiBwYXJzaW5nIGludG8gcmVhbCBkYXRlcwogIC8vIGJ5IGhhbmRsaW5nIHRoZSB6b25lIG9wdGlvbnMKICBmdW5jdGlvbiBwYXJzZURhdGFUb0RhdGVUaW1lKHBhcnNlZCwgcGFyc2VkWm9uZSwgb3B0cywgZm9ybWF0LCB0ZXh0LCBzcGVjaWZpY09mZnNldCkgewogICAgY29uc3QgeyBzZXRab25lLCB6b25lIH0gPSBvcHRzOwogICAgaWYgKChwYXJzZWQgJiYgT2JqZWN0LmtleXMocGFyc2VkKS5sZW5ndGggIT09IDApIHx8IHBhcnNlZFpvbmUpIHsKICAgICAgY29uc3QgaW50ZXJwcmV0YXRpb25ab25lID0gcGFyc2VkWm9uZSB8fCB6b25lLAogICAgICAgIGluc3QgPSBEYXRlVGltZS5mcm9tT2JqZWN0KHBhcnNlZCwgewogICAgICAgICAgLi4ub3B0cywKICAgICAgICAgIHpvbmU6IGludGVycHJldGF0aW9uWm9uZSwKICAgICAgICAgIHNwZWNpZmljT2Zmc2V0LAogICAgICAgIH0pOwogICAgICByZXR1cm4gc2V0Wm9uZSA/IGluc3QgOiBpbnN0LnNldFpvbmUoem9uZSk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCgKICAgICAgICBuZXcgSW52YWxpZCgidW5wYXJzYWJsZSIsIGB0aGUgaW5wdXQgIiR7dGV4dH0iIGNhbid0IGJlIHBhcnNlZCBhcyAke2Zvcm1hdH1gKQogICAgICApOwogICAgfQogIH0KCiAgLy8gaWYgeW91IHdhbnQgdG8gb3V0cHV0IGEgdGVjaG5pY2FsIGZvcm1hdCAoZS5nLiBSRkMgMjgyMiksIHRoaXMgaGVscGVyCiAgLy8gaGVscHMgaGFuZGxlIHRoZSBkZXRhaWxzCiAgZnVuY3Rpb24gdG9UZWNoRm9ybWF0KGR0LCBmb3JtYXQsIGFsbG93WiA9IHRydWUpIHsKICAgIHJldHVybiBkdC5pc1ZhbGlkCiAgICAgID8gRm9ybWF0dGVyLmNyZWF0ZShMb2NhbGUuY3JlYXRlKCJlbi1VUyIpLCB7CiAgICAgICAgICBhbGxvd1osCiAgICAgICAgICBmb3JjZVNpbXBsZTogdHJ1ZSwKICAgICAgICB9KS5mb3JtYXREYXRlVGltZUZyb21TdHJpbmcoZHQsIGZvcm1hdCkKICAgICAgOiBudWxsOwogIH0KCiAgZnVuY3Rpb24gdG9JU09EYXRlKG8sIGV4dGVuZGVkKSB7CiAgICBjb25zdCBsb25nRm9ybWF0ID0gby5jLnllYXIgPiA5OTk5IHx8IG8uYy55ZWFyIDwgMDsKICAgIGxldCBjID0gIiI7CiAgICBpZiAobG9uZ0Zvcm1hdCAmJiBvLmMueWVhciA+PSAwKSBjICs9ICIrIjsKICAgIGMgKz0gcGFkU3RhcnQoby5jLnllYXIsIGxvbmdGb3JtYXQgPyA2IDogNCk7CgogICAgaWYgKGV4dGVuZGVkKSB7CiAgICAgIGMgKz0gIi0iOwogICAgICBjICs9IHBhZFN0YXJ0KG8uYy5tb250aCk7CiAgICAgIGMgKz0gIi0iOwogICAgICBjICs9IHBhZFN0YXJ0KG8uYy5kYXkpOwogICAgfSBlbHNlIHsKICAgICAgYyArPSBwYWRTdGFydChvLmMubW9udGgpOwogICAgICBjICs9IHBhZFN0YXJ0KG8uYy5kYXkpOwogICAgfQogICAgcmV0dXJuIGM7CiAgfQoKICBmdW5jdGlvbiB0b0lTT1RpbWUoCiAgICBvLAogICAgZXh0ZW5kZWQsCiAgICBzdXBwcmVzc1NlY29uZHMsCiAgICBzdXBwcmVzc01pbGxpc2Vjb25kcywKICAgIGluY2x1ZGVPZmZzZXQsCiAgICBleHRlbmRlZFpvbmUKICApIHsKICAgIGxldCBjID0gcGFkU3RhcnQoby5jLmhvdXIpOwogICAgaWYgKGV4dGVuZGVkKSB7CiAgICAgIGMgKz0gIjoiOwogICAgICBjICs9IHBhZFN0YXJ0KG8uYy5taW51dGUpOwogICAgICBpZiAoby5jLm1pbGxpc2Vjb25kICE9PSAwIHx8IG8uYy5zZWNvbmQgIT09IDAgfHwgIXN1cHByZXNzU2Vjb25kcykgewogICAgICAgIGMgKz0gIjoiOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBjICs9IHBhZFN0YXJ0KG8uYy5taW51dGUpOwogICAgfQoKICAgIGlmIChvLmMubWlsbGlzZWNvbmQgIT09IDAgfHwgby5jLnNlY29uZCAhPT0gMCB8fCAhc3VwcHJlc3NTZWNvbmRzKSB7CiAgICAgIGMgKz0gcGFkU3RhcnQoby5jLnNlY29uZCk7CgogICAgICBpZiAoby5jLm1pbGxpc2Vjb25kICE9PSAwIHx8ICFzdXBwcmVzc01pbGxpc2Vjb25kcykgewogICAgICAgIGMgKz0gIi4iOwogICAgICAgIGMgKz0gcGFkU3RhcnQoby5jLm1pbGxpc2Vjb25kLCAzKTsKICAgICAgfQogICAgfQoKICAgIGlmIChpbmNsdWRlT2Zmc2V0KSB7CiAgICAgIGlmIChvLmlzT2Zmc2V0Rml4ZWQgJiYgby5vZmZzZXQgPT09IDAgJiYgIWV4dGVuZGVkWm9uZSkgewogICAgICAgIGMgKz0gIloiOwogICAgICB9IGVsc2UgaWYgKG8ubyA8IDApIHsKICAgICAgICBjICs9ICItIjsKICAgICAgICBjICs9IHBhZFN0YXJ0KE1hdGgudHJ1bmMoLW8ubyAvIDYwKSk7CiAgICAgICAgYyArPSAiOiI7CiAgICAgICAgYyArPSBwYWRTdGFydChNYXRoLnRydW5jKC1vLm8gJSA2MCkpOwogICAgICB9IGVsc2UgewogICAgICAgIGMgKz0gIisiOwogICAgICAgIGMgKz0gcGFkU3RhcnQoTWF0aC50cnVuYyhvLm8gLyA2MCkpOwogICAgICAgIGMgKz0gIjoiOwogICAgICAgIGMgKz0gcGFkU3RhcnQoTWF0aC50cnVuYyhvLm8gJSA2MCkpOwogICAgICB9CiAgICB9CgogICAgaWYgKGV4dGVuZGVkWm9uZSkgewogICAgICBjICs9ICJbIiArIG8uem9uZS5pYW5hTmFtZSArICJdIjsKICAgIH0KICAgIHJldHVybiBjOwogIH0KCiAgLy8gZGVmYXVsdHMgZm9yIHVuc3BlY2lmaWVkIHVuaXRzIGluIHRoZSBzdXBwb3J0ZWQgY2FsZW5kYXJzCiAgY29uc3QgZGVmYXVsdFVuaXRWYWx1ZXMgPSB7CiAgICAgIG1vbnRoOiAxLAogICAgICBkYXk6IDEsCiAgICAgIGhvdXI6IDAsCiAgICAgIG1pbnV0ZTogMCwKICAgICAgc2Vjb25kOiAwLAogICAgICBtaWxsaXNlY29uZDogMCwKICAgIH0sCiAgICBkZWZhdWx0V2Vla1VuaXRWYWx1ZXMgPSB7CiAgICAgIHdlZWtOdW1iZXI6IDEsCiAgICAgIHdlZWtkYXk6IDEsCiAgICAgIGhvdXI6IDAsCiAgICAgIG1pbnV0ZTogMCwKICAgICAgc2Vjb25kOiAwLAogICAgICBtaWxsaXNlY29uZDogMCwKICAgIH0sCiAgICBkZWZhdWx0T3JkaW5hbFVuaXRWYWx1ZXMgPSB7CiAgICAgIG9yZGluYWw6IDEsCiAgICAgIGhvdXI6IDAsCiAgICAgIG1pbnV0ZTogMCwKICAgICAgc2Vjb25kOiAwLAogICAgICBtaWxsaXNlY29uZDogMCwKICAgIH07CgogIC8vIFVuaXRzIGluIHRoZSBzdXBwb3J0ZWQgY2FsZW5kYXJzLCBzb3J0ZWQgYnkgYmlnbmVzcwogIGNvbnN0IG9yZGVyZWRVbml0cyA9IFsieWVhciIsICJtb250aCIsICJkYXkiLCAiaG91ciIsICJtaW51dGUiLCAic2Vjb25kIiwgIm1pbGxpc2Vjb25kIl0sCiAgICBvcmRlcmVkV2Vla1VuaXRzID0gWwogICAgICAid2Vla1llYXIiLAogICAgICAid2Vla051bWJlciIsCiAgICAgICJ3ZWVrZGF5IiwKICAgICAgImhvdXIiLAogICAgICAibWludXRlIiwKICAgICAgInNlY29uZCIsCiAgICAgICJtaWxsaXNlY29uZCIsCiAgICBdLAogICAgb3JkZXJlZE9yZGluYWxVbml0cyA9IFsieWVhciIsICJvcmRpbmFsIiwgImhvdXIiLCAibWludXRlIiwgInNlY29uZCIsICJtaWxsaXNlY29uZCJdOwoKICAvLyBzdGFuZGFyZGl6ZSBjYXNlIGFuZCBwbHVyYWxpdHkgaW4gdW5pdHMKICBmdW5jdGlvbiBub3JtYWxpemVVbml0KHVuaXQpIHsKICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB7CiAgICAgIHllYXI6ICJ5ZWFyIiwKICAgICAgeWVhcnM6ICJ5ZWFyIiwKICAgICAgbW9udGg6ICJtb250aCIsCiAgICAgIG1vbnRoczogIm1vbnRoIiwKICAgICAgZGF5OiAiZGF5IiwKICAgICAgZGF5czogImRheSIsCiAgICAgIGhvdXI6ICJob3VyIiwKICAgICAgaG91cnM6ICJob3VyIiwKICAgICAgbWludXRlOiAibWludXRlIiwKICAgICAgbWludXRlczogIm1pbnV0ZSIsCiAgICAgIHF1YXJ0ZXI6ICJxdWFydGVyIiwKICAgICAgcXVhcnRlcnM6ICJxdWFydGVyIiwKICAgICAgc2Vjb25kOiAic2Vjb25kIiwKICAgICAgc2Vjb25kczogInNlY29uZCIsCiAgICAgIG1pbGxpc2Vjb25kOiAibWlsbGlzZWNvbmQiLAogICAgICBtaWxsaXNlY29uZHM6ICJtaWxsaXNlY29uZCIsCiAgICAgIHdlZWtkYXk6ICJ3ZWVrZGF5IiwKICAgICAgd2Vla2RheXM6ICJ3ZWVrZGF5IiwKICAgICAgd2Vla251bWJlcjogIndlZWtOdW1iZXIiLAogICAgICB3ZWVrc251bWJlcjogIndlZWtOdW1iZXIiLAogICAgICB3ZWVrbnVtYmVyczogIndlZWtOdW1iZXIiLAogICAgICB3ZWVreWVhcjogIndlZWtZZWFyIiwKICAgICAgd2Vla3llYXJzOiAid2Vla1llYXIiLAogICAgICBvcmRpbmFsOiAib3JkaW5hbCIsCiAgICB9W3VuaXQudG9Mb3dlckNhc2UoKV07CgogICAgaWYgKCFub3JtYWxpemVkKSB0aHJvdyBuZXcgSW52YWxpZFVuaXRFcnJvcih1bml0KTsKCiAgICByZXR1cm4gbm9ybWFsaXplZDsKICB9CgogIC8vIHRoaXMgaXMgYSBkdW1iZWQgZG93biB2ZXJzaW9uIG9mIGZyb21PYmplY3QoKSB0aGF0IHJ1bnMgYWJvdXQgNjAlIGZhc3RlcgogIC8vIGJ1dCBkb2Vzbid0IGRvIGFueSB2YWxpZGF0aW9uLCBtYWtlcyBhIGJ1bmNoIG9mIGFzc3VtcHRpb25zIGFib3V0IHdoYXQgdW5pdHMKICAvLyBhcmUgcHJlc2VudCwgYW5kIHNvIG9uLgogIGZ1bmN0aW9uIHF1aWNrRFQob2JqLCBvcHRzKSB7CiAgICBjb25zdCB6b25lID0gbm9ybWFsaXplWm9uZShvcHRzLnpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKSwKICAgICAgbG9jID0gTG9jYWxlLmZyb21PYmplY3Qob3B0cyksCiAgICAgIHRzTm93ID0gU2V0dGluZ3Mubm93KCk7CgogICAgbGV0IHRzLCBvOwoKICAgIC8vIGFzc3VtZSB3ZSBoYXZlIHRoZSBoaWdoZXItb3JkZXIgdW5pdHMKICAgIGlmICghaXNVbmRlZmluZWQob2JqLnllYXIpKSB7CiAgICAgIGZvciAoY29uc3QgdSBvZiBvcmRlcmVkVW5pdHMpIHsKICAgICAgICBpZiAoaXNVbmRlZmluZWQob2JqW3VdKSkgewogICAgICAgICAgb2JqW3VdID0gZGVmYXVsdFVuaXRWYWx1ZXNbdV07CiAgICAgICAgfQogICAgICB9CgogICAgICBjb25zdCBpbnZhbGlkID0gaGFzSW52YWxpZEdyZWdvcmlhbkRhdGEob2JqKSB8fCBoYXNJbnZhbGlkVGltZURhdGEob2JqKTsKICAgICAgaWYgKGludmFsaWQpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChpbnZhbGlkKTsKICAgICAgfQoKICAgICAgY29uc3Qgb2Zmc2V0UHJvdmlzID0gem9uZS5vZmZzZXQodHNOb3cpOwogICAgICBbdHMsIG9dID0gb2JqVG9UUyhvYmosIG9mZnNldFByb3Zpcywgem9uZSk7CiAgICB9IGVsc2UgewogICAgICB0cyA9IHRzTm93OwogICAgfQoKICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoeyB0cywgem9uZSwgbG9jLCBvIH0pOwogIH0KCiAgZnVuY3Rpb24gZGlmZlJlbGF0aXZlKHN0YXJ0LCBlbmQsIG9wdHMpIHsKICAgIGNvbnN0IHJvdW5kID0gaXNVbmRlZmluZWQob3B0cy5yb3VuZCkgPyB0cnVlIDogb3B0cy5yb3VuZCwKICAgICAgZm9ybWF0ID0gKGMsIHVuaXQpID0+IHsKICAgICAgICBjID0gcm91bmRUbyhjLCByb3VuZCB8fCBvcHRzLmNhbGVuZGFyeSA/IDAgOiAyLCB0cnVlKTsKICAgICAgICBjb25zdCBmb3JtYXR0ZXIgPSBlbmQubG9jLmNsb25lKG9wdHMpLnJlbEZvcm1hdHRlcihvcHRzKTsKICAgICAgICByZXR1cm4gZm9ybWF0dGVyLmZvcm1hdChjLCB1bml0KTsKICAgICAgfSwKICAgICAgZGlmZmVyID0gKHVuaXQpID0+IHsKICAgICAgICBpZiAob3B0cy5jYWxlbmRhcnkpIHsKICAgICAgICAgIGlmICghZW5kLmhhc1NhbWUoc3RhcnQsIHVuaXQpKSB7CiAgICAgICAgICAgIHJldHVybiBlbmQuc3RhcnRPZih1bml0KS5kaWZmKHN0YXJ0LnN0YXJ0T2YodW5pdCksIHVuaXQpLmdldCh1bml0KTsKICAgICAgICAgIH0gZWxzZSByZXR1cm4gMDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgcmV0dXJuIGVuZC5kaWZmKHN0YXJ0LCB1bml0KS5nZXQodW5pdCk7CiAgICAgICAgfQogICAgICB9OwoKICAgIGlmIChvcHRzLnVuaXQpIHsKICAgICAgcmV0dXJuIGZvcm1hdChkaWZmZXIob3B0cy51bml0KSwgb3B0cy51bml0KTsKICAgIH0KCiAgICBmb3IgKGNvbnN0IHVuaXQgb2Ygb3B0cy51bml0cykgewogICAgICBjb25zdCBjb3VudCA9IGRpZmZlcih1bml0KTsKICAgICAgaWYgKE1hdGguYWJzKGNvdW50KSA+PSAxKSB7CiAgICAgICAgcmV0dXJuIGZvcm1hdChjb3VudCwgdW5pdCk7CiAgICAgIH0KICAgIH0KICAgIHJldHVybiBmb3JtYXQoc3RhcnQgPiBlbmQgPyAtMCA6IDAsIG9wdHMudW5pdHNbb3B0cy51bml0cy5sZW5ndGggLSAxXSk7CiAgfQoKICBmdW5jdGlvbiBsYXN0T3B0cyhhcmdMaXN0KSB7CiAgICBsZXQgb3B0cyA9IHt9LAogICAgICBhcmdzOwogICAgaWYgKGFyZ0xpc3QubGVuZ3RoID4gMCAmJiB0eXBlb2YgYXJnTGlzdFthcmdMaXN0Lmxlbmd0aCAtIDFdID09PSAib2JqZWN0IikgewogICAgICBvcHRzID0gYXJnTGlzdFthcmdMaXN0Lmxlbmd0aCAtIDFdOwogICAgICBhcmdzID0gQXJyYXkuZnJvbShhcmdMaXN0KS5zbGljZSgwLCBhcmdMaXN0Lmxlbmd0aCAtIDEpOwogICAgfSBlbHNlIHsKICAgICAgYXJncyA9IEFycmF5LmZyb20oYXJnTGlzdCk7CiAgICB9CiAgICByZXR1cm4gW29wdHMsIGFyZ3NdOwogIH0KCiAgLyoqCiAgICogQSBEYXRlVGltZSBpcyBhbiBpbW11dGFibGUgZGF0YSBzdHJ1Y3R1cmUgcmVwcmVzZW50aW5nIGEgc3BlY2lmaWMgZGF0ZSBhbmQgdGltZSBhbmQgYWNjb21wYW55aW5nIG1ldGhvZHMuIEl0IGNvbnRhaW5zIGNsYXNzIGFuZCBpbnN0YW5jZSBtZXRob2RzIGZvciBjcmVhdGluZywgcGFyc2luZywgaW50ZXJyb2dhdGluZywgdHJhbnNmb3JtaW5nLCBhbmQgZm9ybWF0dGluZyB0aGVtLgogICAqCiAgICogQSBEYXRlVGltZSBjb21wcmlzZXMgb2Y6CiAgICogKiBBIHRpbWVzdGFtcC4gRWFjaCBEYXRlVGltZSBpbnN0YW5jZSByZWZlcnMgdG8gYSBzcGVjaWZpYyBtaWxsaXNlY29uZCBvZiB0aGUgVW5peCBlcG9jaC4KICAgKiAqIEEgdGltZSB6b25lLiBFYWNoIGluc3RhbmNlIGlzIGNvbnNpZGVyZWQgaW4gdGhlIGNvbnRleHQgb2YgYSBzcGVjaWZpYyB6b25lIChieSBkZWZhdWx0IHRoZSBsb2NhbCBzeXN0ZW0ncyB6b25lKS4KICAgKiAqIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyB0aGF0IGVmZmVjdCBob3cgb3V0cHV0IHN0cmluZ3MgYXJlIGZvcm1hdHRlZCwgc3VjaCBhcyBgbG9jYWxlYCwgYG51bWJlcmluZ1N5c3RlbWAsIGFuZCBgb3V0cHV0Q2FsZW5kYXJgLgogICAqCiAgICogSGVyZSBpcyBhIGJyaWVmIG92ZXJ2aWV3IG9mIHRoZSBtb3N0IGNvbW1vbmx5IHVzZWQgZnVuY3Rpb25hbGl0eSBpdCBwcm92aWRlczoKICAgKgogICAqICogKipDcmVhdGlvbioqOiBUbyBjcmVhdGUgYSBEYXRlVGltZSBmcm9tIGl0cyBjb21wb25lbnRzLCB1c2Ugb25lIG9mIGl0cyBmYWN0b3J5IGNsYXNzIG1ldGhvZHM6IHtAbGluayBEYXRlVGltZS5sb2NhbH0sIHtAbGluayBEYXRlVGltZS51dGN9LCBhbmQgKG1vc3QgZmxleGlibHkpIHtAbGluayBEYXRlVGltZS5mcm9tT2JqZWN0fS4gVG8gY3JlYXRlIG9uZSBmcm9tIGEgc3RhbmRhcmQgc3RyaW5nIGZvcm1hdCwgdXNlIHtAbGluayBEYXRlVGltZS5mcm9tSVNPfSwge0BsaW5rIERhdGVUaW1lLmZyb21IVFRQfSwgYW5kIHtAbGluayBEYXRlVGltZS5mcm9tUkZDMjgyMn0uIFRvIGNyZWF0ZSBvbmUgZnJvbSBhIGN1c3RvbSBzdHJpbmcgZm9ybWF0LCB1c2Uge0BsaW5rIERhdGVUaW1lLmZyb21Gb3JtYXR9LiBUbyBjcmVhdGUgb25lIGZyb20gYSBuYXRpdmUgSlMgZGF0ZSwgdXNlIHtAbGluayBEYXRlVGltZS5mcm9tSlNEYXRlfS4KICAgKiAqICoqR3JlZ29yaWFuIGNhbGVuZGFyIGFuZCB0aW1lKio6IFRvIGV4YW1pbmUgdGhlIEdyZWdvcmlhbiBwcm9wZXJ0aWVzIG9mIGEgRGF0ZVRpbWUgaW5kaXZpZHVhbGx5IChpLmUgYXMgb3Bwb3NlZCB0byBjb2xsZWN0aXZlbHkgdGhyb3VnaCB7QGxpbmsgRGF0ZVRpbWUjdG9PYmplY3R9KSwgdXNlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjeWVhcn0sIHtAbGluayBEYXRlVGltZSNtb250aH0sCiAgICoge0BsaW5rIERhdGVUaW1lI2RheX0sIHtAbGluayBEYXRlVGltZSNob3VyfSwge0BsaW5rIERhdGVUaW1lI21pbnV0ZX0sIHtAbGluayBEYXRlVGltZSNzZWNvbmR9LCB7QGxpbmsgRGF0ZVRpbWUjbWlsbGlzZWNvbmR9IGFjY2Vzc29ycy4KICAgKiAqICoqV2VlayBjYWxlbmRhcioqOiBGb3IgSVNPIHdlZWsgY2FsZW5kYXIgYXR0cmlidXRlcywgc2VlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjd2Vla1llYXJ9LCB7QGxpbmsgRGF0ZVRpbWUjd2Vla051bWJlcn0sIGFuZCB7QGxpbmsgRGF0ZVRpbWUjd2Vla2RheX0gYWNjZXNzb3JzLgogICAqICogKipDb25maWd1cmF0aW9uKiogU2VlIHRoZSB7QGxpbmsgRGF0ZVRpbWUjbG9jYWxlfSBhbmQge0BsaW5rIERhdGVUaW1lI251bWJlcmluZ1N5c3RlbX0gYWNjZXNzb3JzLgogICAqICogKipUcmFuc2Zvcm1hdGlvbioqOiBUbyB0cmFuc2Zvcm0gdGhlIERhdGVUaW1lIGludG8gb3RoZXIgRGF0ZVRpbWVzLCB1c2Uge0BsaW5rIERhdGVUaW1lI3NldH0sIHtAbGluayBEYXRlVGltZSNyZWNvbmZpZ3VyZX0sIHtAbGluayBEYXRlVGltZSNzZXRab25lfSwge0BsaW5rIERhdGVUaW1lI3NldExvY2FsZX0sIHtAbGluayBEYXRlVGltZS5wbHVzfSwge0BsaW5rIERhdGVUaW1lI21pbnVzfSwge0BsaW5rIERhdGVUaW1lI2VuZE9mfSwge0BsaW5rIERhdGVUaW1lI3N0YXJ0T2Z9LCB7QGxpbmsgRGF0ZVRpbWUjdG9VVEN9LCBhbmQge0BsaW5rIERhdGVUaW1lI3RvTG9jYWx9LgogICAqICogKipPdXRwdXQqKjogVG8gY29udmVydCB0aGUgRGF0ZVRpbWUgdG8gb3RoZXIgcmVwcmVzZW50YXRpb25zLCB1c2UgdGhlIHtAbGluayBEYXRlVGltZSN0b1JlbGF0aXZlfSwge0BsaW5rIERhdGVUaW1lI3RvUmVsYXRpdmVDYWxlbmRhcn0sIHtAbGluayBEYXRlVGltZSN0b0pTT059LCB7QGxpbmsgRGF0ZVRpbWUjdG9JU099LCB7QGxpbmsgRGF0ZVRpbWUjdG9IVFRQfSwge0BsaW5rIERhdGVUaW1lI3RvT2JqZWN0fSwge0BsaW5rIERhdGVUaW1lI3RvUkZDMjgyMn0sIHtAbGluayBEYXRlVGltZSN0b1N0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30sIHtAbGluayBEYXRlVGltZSN0b0Zvcm1hdH0sIHtAbGluayBEYXRlVGltZSN0b01pbGxpc30gYW5kIHtAbGluayBEYXRlVGltZSN0b0pTRGF0ZX0uCiAgICoKICAgKiBUaGVyZSdzIHBsZW50eSBvdGhlcnMgZG9jdW1lbnRlZCBiZWxvdy4gSW4gYWRkaXRpb24sIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHN1YnRsZXIgdG9waWNzIGxpa2UgaW50ZXJuYXRpb25hbGl6YXRpb24sIHRpbWUgem9uZXMsIGFsdGVybmF0aXZlIGNhbGVuZGFycywgdmFsaWRpdHksIGFuZCBzbyBvbiwgc2VlIHRoZSBleHRlcm5hbCBkb2N1bWVudGF0aW9uLgogICAqLwogIGNsYXNzIERhdGVUaW1lIHsKICAgIC8qKgogICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgKi8KICAgIGNvbnN0cnVjdG9yKGNvbmZpZykgewogICAgICBjb25zdCB6b25lID0gY29uZmlnLnpvbmUgfHwgU2V0dGluZ3MuZGVmYXVsdFpvbmU7CgogICAgICBsZXQgaW52YWxpZCA9CiAgICAgICAgY29uZmlnLmludmFsaWQgfHwKICAgICAgICAoTnVtYmVyLmlzTmFOKGNvbmZpZy50cykgPyBuZXcgSW52YWxpZCgiaW52YWxpZCBpbnB1dCIpIDogbnVsbCkgfHwKICAgICAgICAoIXpvbmUuaXNWYWxpZCA/IHVuc3VwcG9ydGVkWm9uZSh6b25lKSA6IG51bGwpOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLnRzID0gaXNVbmRlZmluZWQoY29uZmlnLnRzKSA/IFNldHRpbmdzLm5vdygpIDogY29uZmlnLnRzOwoKICAgICAgbGV0IGMgPSBudWxsLAogICAgICAgIG8gPSBudWxsOwogICAgICBpZiAoIWludmFsaWQpIHsKICAgICAgICBjb25zdCB1bmNoYW5nZWQgPSBjb25maWcub2xkICYmIGNvbmZpZy5vbGQudHMgPT09IHRoaXMudHMgJiYgY29uZmlnLm9sZC56b25lLmVxdWFscyh6b25lKTsKCiAgICAgICAgaWYgKHVuY2hhbmdlZCkgewogICAgICAgICAgW2MsIG9dID0gW2NvbmZpZy5vbGQuYywgY29uZmlnLm9sZC5vXTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgY29uc3Qgb3QgPSB6b25lLm9mZnNldCh0aGlzLnRzKTsKICAgICAgICAgIGMgPSB0c1RvT2JqKHRoaXMudHMsIG90KTsKICAgICAgICAgIGludmFsaWQgPSBOdW1iZXIuaXNOYU4oYy55ZWFyKSA/IG5ldyBJbnZhbGlkKCJpbnZhbGlkIGlucHV0IikgOiBudWxsOwogICAgICAgICAgYyA9IGludmFsaWQgPyBudWxsIDogYzsKICAgICAgICAgIG8gPSBpbnZhbGlkID8gbnVsbCA6IG90OwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyoqCiAgICAgICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAgICAgKi8KICAgICAgdGhpcy5fem9uZSA9IHpvbmU7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMubG9jID0gY29uZmlnLmxvYyB8fCBMb2NhbGUuY3JlYXRlKCk7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMuaW52YWxpZCA9IGludmFsaWQ7CiAgICAgIC8qKgogICAgICAgKiBAYWNjZXNzIHByaXZhdGUKICAgICAgICovCiAgICAgIHRoaXMud2Vla0RhdGEgPSBudWxsOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLmMgPSBjOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLm8gPSBvOwogICAgICAvKioKICAgICAgICogQGFjY2VzcyBwcml2YXRlCiAgICAgICAqLwogICAgICB0aGlzLmlzTHV4b25EYXRlVGltZSA9IHRydWU7CiAgICB9CgogICAgLy8gQ09OU1RSVUNUCgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmb3IgdGhlIGN1cnJlbnQgaW5zdGFudCwgaW4gdGhlIHN5c3RlbSdzIHRpbWUgem9uZS4KICAgICAqCiAgICAgKiBVc2UgU2V0dGluZ3MgdG8gb3ZlcnJpZGUgdGhlc2UgZGVmYXVsdCB2YWx1ZXMgaWYgbmVlZGVkLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9JU08oKSAvL34+IG5vdyBpbiB0aGUgSVNPIGZvcm1hdAogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBub3coKSB7CiAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoe30pOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgbG9jYWwgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbeWVhcl0gLSBUaGUgY2FsZW5kYXIgeWVhci4gSWYgb21pdHRlZCAoYXMgaW4sIGNhbGwgYGxvY2FsKClgIHdpdGggbm8gYXJndW1lbnRzKSwgdGhlIGN1cnJlbnQgdGltZSB3aWxsIGJlIHVzZWQKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbW9udGg9MV0gLSBUaGUgbW9udGgsIDEtaW5kZXhlZAogICAgICogQHBhcmFtIHtudW1iZXJ9IFtkYXk9MV0gLSBUaGUgZGF5IG9mIHRoZSBtb250aCwgMS1pbmRleGVkCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2hvdXI9MF0gLSBUaGUgaG91ciBvZiB0aGUgZGF5LCBpbiAyNC1ob3VyIHRpbWUKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbWludXRlPTBdIC0gVGhlIG1pbnV0ZSBvZiB0aGUgaG91ciwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5CiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3NlY29uZD0wXSAtIFRoZSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5CiAgICAgKiBAcGFyYW0ge251bWJlcn0gW21pbGxpc2Vjb25kPTBdIC0gVGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA5OTkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiBub3cKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKHsgem9uZTogIkFtZXJpY2EvTmV3X1lvcmsiIH0pICAgICAgLy9+PiBub3csIGluIFVTIGVhc3QgY29hc3QgdGltZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNykgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IDIwMTctMDEtMDFUMDA6MDA6MDAKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTAxVDAwOjAwOjAwCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgeyBsb2NhbGU6ICJmciIgfSkgICAgIC8vfj4gMjAxNy0wMy0xMlQwMDowMDowMCwgd2l0aCBhIEZyZW5jaCBsb2NhbGUKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDMsIDEyLCA1KSAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjAwOjAwCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSwgeyB6b25lOiAidXRjIiB9KSAgIC8vfj4gMjAxNy0wMy0xMlQwNTowMDowMCwgaW4gVVRDCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCAzLCAxMiwgNSwgNDUpICAgICAgICAgICAgICAgIC8vfj4gMjAxNy0wMy0xMlQwNTo0NTowMAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMywgMTIsIDUsIDQ1LCAxMCkgICAgICAgICAgICAvL34+IDIwMTctMDMtMTJUMDU6NDU6MTAKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTAsIDc2NSkgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjEwLjc2NQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBsb2NhbCgpIHsKICAgICAgY29uc3QgW29wdHMsIGFyZ3NdID0gbGFzdE9wdHMoYXJndW1lbnRzKSwKICAgICAgICBbeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kXSA9IGFyZ3M7CiAgICAgIHJldHVybiBxdWlja0RUKHsgeWVhciwgbW9udGgsIGRheSwgaG91ciwgbWludXRlLCBzZWNvbmQsIG1pbGxpc2Vjb25kIH0sIG9wdHMpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgaW4gVVRDCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3llYXJdIC0gVGhlIGNhbGVuZGFyIHllYXIuIElmIG9taXR0ZWQgKGFzIGluLCBjYWxsIGB1dGMoKWAgd2l0aCBubyBhcmd1bWVudHMpLCB0aGUgY3VycmVudCB0aW1lIHdpbGwgYmUgdXNlZAogICAgICogQHBhcmFtIHtudW1iZXJ9IFttb250aD0xXSAtIFRoZSBtb250aCwgMS1pbmRleGVkCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2RheT0xXSAtIFRoZSBkYXkgb2YgdGhlIG1vbnRoCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2hvdXI9MF0gLSBUaGUgaG91ciBvZiB0aGUgZGF5LCBpbiAyNC1ob3VyIHRpbWUKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbWludXRlPTBdIC0gVGhlIG1pbnV0ZSBvZiB0aGUgaG91ciwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5CiAgICAgKiBAcGFyYW0ge251bWJlcn0gW3NlY29uZD0wXSAtIFRoZSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgbWVhbmluZyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5CiAgICAgKiBAcGFyYW0ge251bWJlcn0gW21pbGxpc2Vjb25kPTBdIC0gVGhlIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIG1lYW5pbmcgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCA5OTkKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5sb2NhbGVdIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0aW9ucy5vdXRwdXRDYWxlbmRhcl0gLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMubnVtYmVyaW5nU3lzdGVtXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL34+IG5vdwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAxLTAxVDAwOjAwOjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTAxVDAwOjAwOjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDAwOjAwOjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1KSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjAwOjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjAwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgeyBsb2NhbGU6ICJmciIgfSkgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjAwWiB3aXRoIGEgRnJlbmNoIGxvY2FsZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTApICAgICAgICAgICAgICAgICAgICAgICAgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjEwWgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTcsIDMsIDEyLCA1LCA0NSwgMTAsIDc2NSwgeyBsb2NhbGU6ICJmciIgfSkgLy9+PiAyMDE3LTAzLTEyVDA1OjQ1OjEwLjc2NVogd2l0aCBhIEZyZW5jaCBsb2NhbGUKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgdXRjKCkgewogICAgICBjb25zdCBbb3B0cywgYXJnc10gPSBsYXN0T3B0cyhhcmd1bWVudHMpLAogICAgICAgIFt5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmRdID0gYXJnczsKCiAgICAgIG9wdHMuem9uZSA9IEZpeGVkT2Zmc2V0Wm9uZS51dGNJbnN0YW5jZTsKICAgICAgcmV0dXJuIHF1aWNrRFQoeyB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQgfSwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGEgSmF2YVNjcmlwdCBEYXRlIG9iamVjdC4gVXNlcyB0aGUgZGVmYXVsdCB6b25lLgogICAgICogQHBhcmFtIHtEYXRlfSBkYXRlIC0gYSBKYXZhU2NyaXB0IERhdGUgb2JqZWN0CiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge3N0cmluZ3xab25lfSBbb3B0aW9ucy56b25lPSdsb2NhbCddIC0gdGhlIHpvbmUgdG8gcGxhY2UgdGhlIERhdGVUaW1lIGludG8KICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgZnJvbUpTRGF0ZShkYXRlLCBvcHRpb25zID0ge30pIHsKICAgICAgY29uc3QgdHMgPSBpc0RhdGUoZGF0ZSkgPyBkYXRlLnZhbHVlT2YoKSA6IE5hTjsKICAgICAgaWYgKE51bWJlci5pc05hTih0cykpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCgiaW52YWxpZCBpbnB1dCIpOwogICAgICB9CgogICAgICBjb25zdCB6b25lVG9Vc2UgPSBub3JtYWxpemVab25lKG9wdGlvbnMuem9uZSwgU2V0dGluZ3MuZGVmYXVsdFpvbmUpOwogICAgICBpZiAoIXpvbmVUb1VzZS5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQodW5zdXBwb3J0ZWRab25lKHpvbmVUb1VzZSkpOwogICAgICB9CgogICAgICByZXR1cm4gbmV3IERhdGVUaW1lKHsKICAgICAgICB0czogdHMsCiAgICAgICAgem9uZTogem9uZVRvVXNlLAogICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0aW9ucyksCiAgICAgIH0pOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc2luY2UgdGhlIGVwb2NoIChtZWFuaW5nIHNpbmNlIDEgSmFudWFyeSAxOTcwIDAwOjAwOjAwIFVUQykuIFVzZXMgdGhlIGRlZmF1bHQgem9uZS4KICAgICAqIEBwYXJhbSB7bnVtYmVyfSBtaWxsaXNlY29uZHMgLSBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMgc2luY2UgMTk3MCBVVEMKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gY29uZmlndXJhdGlvbiBvcHRpb25zIGZvciB0aGUgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRpb25zLnpvbmU9J2xvY2FsJ10gLSB0aGUgem9uZSB0byBwbGFjZSB0aGUgRGF0ZVRpbWUgaW50bwogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRpb25zLmxvY2FsZV0gLSBhIGxvY2FsZSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5udW1iZXJpbmdTeXN0ZW0gLSB0aGUgbnVtYmVyaW5nIHN5c3RlbSB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tTWlsbGlzKG1pbGxpc2Vjb25kcywgb3B0aW9ucyA9IHt9KSB7CiAgICAgIGlmICghaXNOdW1iZXIobWlsbGlzZWNvbmRzKSkgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigKICAgICAgICAgIGBmcm9tTWlsbGlzIHJlcXVpcmVzIGEgbnVtZXJpY2FsIGlucHV0LCBidXQgcmVjZWl2ZWQgYSAke3R5cGVvZiBtaWxsaXNlY29uZHN9IHdpdGggdmFsdWUgJHttaWxsaXNlY29uZHN9YAogICAgICAgICk7CiAgICAgIH0gZWxzZSBpZiAobWlsbGlzZWNvbmRzIDwgLU1BWF9EQVRFIHx8IG1pbGxpc2Vjb25kcyA+IE1BWF9EQVRFKSB7CiAgICAgICAgLy8gdGhpcyBpc24ndCBwZXJmZWN0IGJlY2F1c2UgYmVjYXVzZSB3ZSBjYW4gc3RpbGwgZW5kIHVwIG91dCBvZiByYW5nZSBiZWNhdXNlIG9mIGFkZGl0aW9uYWwgc2hpZnRpbmcsIGJ1dCBpdCdzIGEgc3RhcnQKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCgiVGltZXN0YW1wIG91dCBvZiByYW5nZSIpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoewogICAgICAgICAgdHM6IG1pbGxpc2Vjb25kcywKICAgICAgICAgIHpvbmU6IG5vcm1hbGl6ZVpvbmUob3B0aW9ucy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSksCiAgICAgICAgICBsb2M6IExvY2FsZS5mcm9tT2JqZWN0KG9wdGlvbnMpLAogICAgICAgIH0pOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGEgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgdGhlIGVwb2NoIChtZWFuaW5nIHNpbmNlIDEgSmFudWFyeSAxOTcwIDAwOjAwOjAwIFVUQykuIFVzZXMgdGhlIGRlZmF1bHQgem9uZS4KICAgICAqIEBwYXJhbSB7bnVtYmVyfSBzZWNvbmRzIC0gYSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSAxOTcwIFVUQwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBjb25maWd1cmF0aW9uIG9wdGlvbnMgZm9yIHRoZSBEYXRlVGltZQogICAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdGlvbnMuem9uZT0nbG9jYWwnXSAtIHRoZSB6b25lIHRvIHBsYWNlIHRoZSBEYXRlVGltZSBpbnRvCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMubG9jYWxlXSAtIGEgbG9jYWxlIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcmV0dXJuIHtEYXRlVGltZX0KICAgICAqLwogICAgc3RhdGljIGZyb21TZWNvbmRzKHNlY29uZHMsIG9wdGlvbnMgPSB7fSkgewogICAgICBpZiAoIWlzTnVtYmVyKHNlY29uZHMpKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCJmcm9tU2Vjb25kcyByZXF1aXJlcyBhIG51bWVyaWNhbCBpbnB1dCIpOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBuZXcgRGF0ZVRpbWUoewogICAgICAgICAgdHM6IHNlY29uZHMgKiAxMDAwLAogICAgICAgICAgem9uZTogbm9ybWFsaXplWm9uZShvcHRpb25zLnpvbmUsIFNldHRpbmdzLmRlZmF1bHRab25lKSwKICAgICAgICAgIGxvYzogTG9jYWxlLmZyb21PYmplY3Qob3B0aW9ucyksCiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBKYXZhU2NyaXB0IG9iamVjdCB3aXRoIGtleXMgbGlrZSAneWVhcicgYW5kICdob3VyJyB3aXRoIHJlYXNvbmFibGUgZGVmYXVsdHMuCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb2JqIC0gdGhlIG9iamVjdCB0byBjcmVhdGUgdGhlIERhdGVUaW1lIGZyb20KICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoueWVhciAtIGEgeWVhciwgc3VjaCBhcyAxOTg3CiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1vbnRoIC0gYSBtb250aCwgMS0xMgogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5kYXkgLSBhIGRheSBvZiB0aGUgbW9udGgsIDEtMzEsIGRlcGVuZGluZyBvbiB0aGUgbW9udGgKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoub3JkaW5hbCAtIGRheSBvZiB0aGUgeWVhciwgMS0zNjUgb3IgMzY2CiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLndlZWtZZWFyIC0gYW4gSVNPIHdlZWsgeWVhcgogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai53ZWVrTnVtYmVyIC0gYW4gSVNPIHdlZWsgbnVtYmVyLCBiZXR3ZWVuIDEgYW5kIDUyIG9yIDUzLCBkZXBlbmRpbmcgb24gdGhlIHllYXIKICAgICAqIEBwYXJhbSB7bnVtYmVyfSBvYmoud2Vla2RheSAtIGFuIElTTyB3ZWVrZGF5LCAxLTcsIHdoZXJlIDEgaXMgTW9uZGF5IGFuZCA3IGlzIFN1bmRheQogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5ob3VyIC0gaG91ciBvZiB0aGUgZGF5LCAwLTIzCiAgICAgKiBAcGFyYW0ge251bWJlcn0gb2JqLm1pbnV0ZSAtIG1pbnV0ZSBvZiB0aGUgaG91ciwgMC01OQogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5zZWNvbmQgLSBzZWNvbmQgb2YgdGhlIG1pbnV0ZSwgMC01OQogICAgICogQHBhcmFtIHtudW1iZXJ9IG9iai5taWxsaXNlY29uZCAtIG1pbGxpc2Vjb25kIG9mIHRoZSBzZWNvbmQsIDAtOTk5CiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgZm9yIGNyZWF0aW5nIHRoaXMgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBpbnRlcnByZXQgdGhlIG51bWJlcnMgaW4gdGhlIGNvbnRleHQgb2YgYSBwYXJ0aWN1bGFyIHpvbmUuIENhbiB0YWtlIGFueSB2YWx1ZSB0YWtlbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQgdG8gc2V0Wm9uZSgpCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdzeXN0ZW0ncyBsb2NhbGUnXSAtIGEgbG9jYWxlIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tT2JqZWN0KHsgeWVhcjogMTk4MiwgbW9udGg6IDUsIGRheTogMjV9KS50b0lTT0RhdGUoKSAvLz0+ICcxOTgyLTA1LTI1JwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbU9iamVjdCh7IHllYXI6IDE5ODIgfSkudG9JU09EYXRlKCkgLy89PiAnMTk4Mi0wMS0wMScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0pIC8vfj4gdG9kYXkgYXQgMTA6MjY6MDYKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0sIHsgem9uZTogJ3V0YycgfSksCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tT2JqZWN0KHsgaG91cjogMTAsIG1pbnV0ZTogMjYsIHNlY29uZDogNiB9LCB7IHpvbmU6ICdsb2NhbCcgfSkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21PYmplY3QoeyBob3VyOiAxMCwgbWludXRlOiAyNiwgc2Vjb25kOiA2IH0sIHsgem9uZTogJ0FtZXJpY2EvTmV3X1lvcmsnIH0pCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tT2JqZWN0KHsgd2Vla1llYXI6IDIwMTYsIHdlZWtOdW1iZXI6IDIsIHdlZWtkYXk6IDMgfSkudG9JU09EYXRlKCkgLy89PiAnMjAxNi0wMS0xMycKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgZnJvbU9iamVjdChvYmosIG9wdHMgPSB7fSkgewogICAgICBvYmogPSBvYmogfHwge307CiAgICAgIGNvbnN0IHpvbmVUb1VzZSA9IG5vcm1hbGl6ZVpvbmUob3B0cy56b25lLCBTZXR0aW5ncy5kZWZhdWx0Wm9uZSk7CiAgICAgIGlmICghem9uZVRvVXNlLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCh1bnN1cHBvcnRlZFpvbmUoem9uZVRvVXNlKSk7CiAgICAgIH0KCiAgICAgIGNvbnN0IHRzTm93ID0gU2V0dGluZ3Mubm93KCksCiAgICAgICAgb2Zmc2V0UHJvdmlzID0gIWlzVW5kZWZpbmVkKG9wdHMuc3BlY2lmaWNPZmZzZXQpCiAgICAgICAgICA/IG9wdHMuc3BlY2lmaWNPZmZzZXQKICAgICAgICAgIDogem9uZVRvVXNlLm9mZnNldCh0c05vdyksCiAgICAgICAgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZU9iamVjdChvYmosIG5vcm1hbGl6ZVVuaXQpLAogICAgICAgIGNvbnRhaW5zT3JkaW5hbCA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLm9yZGluYWwpLAogICAgICAgIGNvbnRhaW5zR3JlZ29yWWVhciA9ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLnllYXIpLAogICAgICAgIGNvbnRhaW5zR3JlZ29yTUQgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5tb250aCkgfHwgIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQuZGF5KSwKICAgICAgICBjb250YWluc0dyZWdvciA9IGNvbnRhaW5zR3JlZ29yWWVhciB8fCBjb250YWluc0dyZWdvck1ELAogICAgICAgIGRlZmluaXRlV2Vla0RlZiA9IG5vcm1hbGl6ZWQud2Vla1llYXIgfHwgbm9ybWFsaXplZC53ZWVrTnVtYmVyLAogICAgICAgIGxvYyA9IExvY2FsZS5mcm9tT2JqZWN0KG9wdHMpOwoKICAgICAgLy8gY2FzZXM6CiAgICAgIC8vIGp1c3QgYSB3ZWVrZGF5IC0+IHRoaXMgd2VlaydzIGluc3RhbmNlIG9mIHRoYXQgd2Vla2RheSwgbm8gd29ycmllcwogICAgICAvLyAoZ3JlZ29yaWFuIGRhdGEgb3Igb3JkaW5hbCkgKyAod2Vla1llYXIgb3Igd2Vla051bWJlcikgLT4gZXJyb3IKICAgICAgLy8gKGdyZWdvcmlhbiBtb250aCBvciBkYXkpICsgb3JkaW5hbCAtPiBlcnJvcgogICAgICAvLyBvdGhlcndpc2UganVzdCB1c2Ugd2Vla3Mgb3Igb3JkaW5hbHMgb3IgZ3JlZ29yaWFuLCBkZXBlbmRpbmcgb24gd2hhdCdzIHNwZWNpZmllZAoKICAgICAgaWYgKChjb250YWluc0dyZWdvciB8fCBjb250YWluc09yZGluYWwpICYmIGRlZmluaXRlV2Vla0RlZikgewogICAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcigKICAgICAgICAgICJDYW4ndCBtaXggd2Vla1llYXIvd2Vla051bWJlciB1bml0cyB3aXRoIHllYXIvbW9udGgvZGF5IG9yIG9yZGluYWxzIgogICAgICAgICk7CiAgICAgIH0KCiAgICAgIGlmIChjb250YWluc0dyZWdvck1EICYmIGNvbnRhaW5zT3JkaW5hbCkgewogICAgICAgIHRocm93IG5ldyBDb25mbGljdGluZ1NwZWNpZmljYXRpb25FcnJvcigiQ2FuJ3QgbWl4IG9yZGluYWwgZGF0ZXMgd2l0aCBtb250aC9kYXkiKTsKICAgICAgfQoKICAgICAgY29uc3QgdXNlV2Vla0RhdGEgPSBkZWZpbml0ZVdlZWtEZWYgfHwgKG5vcm1hbGl6ZWQud2Vla2RheSAmJiAhY29udGFpbnNHcmVnb3IpOwoKICAgICAgLy8gY29uZmlndXJlIG91cnNlbHZlcyB0byBkZWFsIHdpdGggZ3JlZ29yaWFuIGRhdGVzIG9yIHdlZWsgc3R1ZmYKICAgICAgbGV0IHVuaXRzLAogICAgICAgIGRlZmF1bHRWYWx1ZXMsCiAgICAgICAgb2JqTm93ID0gdHNUb09iaih0c05vdywgb2Zmc2V0UHJvdmlzKTsKICAgICAgaWYgKHVzZVdlZWtEYXRhKSB7CiAgICAgICAgdW5pdHMgPSBvcmRlcmVkV2Vla1VuaXRzOwogICAgICAgIGRlZmF1bHRWYWx1ZXMgPSBkZWZhdWx0V2Vla1VuaXRWYWx1ZXM7CiAgICAgICAgb2JqTm93ID0gZ3JlZ29yaWFuVG9XZWVrKG9iak5vdyk7CiAgICAgIH0gZWxzZSBpZiAoY29udGFpbnNPcmRpbmFsKSB7CiAgICAgICAgdW5pdHMgPSBvcmRlcmVkT3JkaW5hbFVuaXRzOwogICAgICAgIGRlZmF1bHRWYWx1ZXMgPSBkZWZhdWx0T3JkaW5hbFVuaXRWYWx1ZXM7CiAgICAgICAgb2JqTm93ID0gZ3JlZ29yaWFuVG9PcmRpbmFsKG9iak5vdyk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgdW5pdHMgPSBvcmRlcmVkVW5pdHM7CiAgICAgICAgZGVmYXVsdFZhbHVlcyA9IGRlZmF1bHRVbml0VmFsdWVzOwogICAgICB9CgogICAgICAvLyBzZXQgZGVmYXVsdCB2YWx1ZXMgZm9yIG1pc3Npbmcgc3R1ZmYKICAgICAgbGV0IGZvdW5kRmlyc3QgPSBmYWxzZTsKICAgICAgZm9yIChjb25zdCB1IG9mIHVuaXRzKSB7CiAgICAgICAgY29uc3QgdiA9IG5vcm1hbGl6ZWRbdV07CiAgICAgICAgaWYgKCFpc1VuZGVmaW5lZCh2KSkgewogICAgICAgICAgZm91bmRGaXJzdCA9IHRydWU7CiAgICAgICAgfSBlbHNlIGlmIChmb3VuZEZpcnN0KSB7CiAgICAgICAgICBub3JtYWxpemVkW3VdID0gZGVmYXVsdFZhbHVlc1t1XTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgbm9ybWFsaXplZFt1XSA9IG9iak5vd1t1XTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC8vIG1ha2Ugc3VyZSB0aGUgdmFsdWVzIHdlIGhhdmUgYXJlIGluIHJhbmdlCiAgICAgIGNvbnN0IGhpZ2hlck9yZGVySW52YWxpZCA9IHVzZVdlZWtEYXRhCiAgICAgICAgICA/IGhhc0ludmFsaWRXZWVrRGF0YShub3JtYWxpemVkKQogICAgICAgICAgOiBjb250YWluc09yZGluYWwKICAgICAgICAgID8gaGFzSW52YWxpZE9yZGluYWxEYXRhKG5vcm1hbGl6ZWQpCiAgICAgICAgICA6IGhhc0ludmFsaWRHcmVnb3JpYW5EYXRhKG5vcm1hbGl6ZWQpLAogICAgICAgIGludmFsaWQgPSBoaWdoZXJPcmRlckludmFsaWQgfHwgaGFzSW52YWxpZFRpbWVEYXRhKG5vcm1hbGl6ZWQpOwoKICAgICAgaWYgKGludmFsaWQpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZChpbnZhbGlkKTsKICAgICAgfQoKICAgICAgLy8gY29tcHV0ZSB0aGUgYWN0dWFsIHRpbWUKICAgICAgY29uc3QgZ3JlZ29yaWFuID0gdXNlV2Vla0RhdGEKICAgICAgICAgID8gd2Vla1RvR3JlZ29yaWFuKG5vcm1hbGl6ZWQpCiAgICAgICAgICA6IGNvbnRhaW5zT3JkaW5hbAogICAgICAgICAgPyBvcmRpbmFsVG9HcmVnb3JpYW4obm9ybWFsaXplZCkKICAgICAgICAgIDogbm9ybWFsaXplZCwKICAgICAgICBbdHNGaW5hbCwgb2Zmc2V0RmluYWxdID0gb2JqVG9UUyhncmVnb3JpYW4sIG9mZnNldFByb3Zpcywgem9uZVRvVXNlKSwKICAgICAgICBpbnN0ID0gbmV3IERhdGVUaW1lKHsKICAgICAgICAgIHRzOiB0c0ZpbmFsLAogICAgICAgICAgem9uZTogem9uZVRvVXNlLAogICAgICAgICAgbzogb2Zmc2V0RmluYWwsCiAgICAgICAgICBsb2MsCiAgICAgICAgfSk7CgogICAgICAvLyBncmVnb3JpYW4gZGF0YSArIHdlZWtkYXkgc2VydmVzIG9ubHkgdG8gdmFsaWRhdGUKICAgICAgaWYgKG5vcm1hbGl6ZWQud2Vla2RheSAmJiBjb250YWluc0dyZWdvciAmJiBvYmoud2Vla2RheSAhPT0gaW5zdC53ZWVrZGF5KSB7CiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQoCiAgICAgICAgICAibWlzbWF0Y2hlZCB3ZWVrZGF5IiwKICAgICAgICAgIGB5b3UgY2FuJ3Qgc3BlY2lmeSBib3RoIGEgd2Vla2RheSBvZiAke25vcm1hbGl6ZWQud2Vla2RheX0gYW5kIGEgZGF0ZSBvZiAke2luc3QudG9JU08oKX1gCiAgICAgICAgKTsKICAgICAgfQoKICAgICAgcmV0dXJuIGluc3Q7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIElTTyA4NjAxIHN0cmluZwogICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgSVNPIHN0cmluZwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSB1c2UgdGhpcyB6b25lIGlmIG5vIG9mZnNldCBpcyBzcGVjaWZpZWQgaW4gdGhlIGlucHV0IHN0cmluZyBpdHNlbGYuIFdpbGwgYWxzbyBjb252ZXJ0IHRoZSB0aW1lIHRvIHRoaXMgem9uZQogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSBmaXhlZC1vZmZzZXQgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5vdXRwdXRDYWxlbmRhcl0gLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubnVtYmVyaW5nU3lzdGVtXSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMycpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMyswNjowMCcpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSVNPKCcyMDE2LTA1LTI1VDA5OjA4OjM0LjEyMyswNjowMCcsIHtzZXRab25lOiB0cnVlfSkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21JU08oJzIwMTYtMDUtMjVUMDk6MDg6MzQuMTIzJywge3pvbmU6ICd1dGMnfSkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21JU08oJzIwMTYtVzA1LTQnKQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tSVNPKHRleHQsIG9wdHMgPSB7fSkgewogICAgICBjb25zdCBbdmFscywgcGFyc2VkWm9uZV0gPSBwYXJzZUlTT0RhdGUodGV4dCk7CiAgICAgIHJldHVybiBwYXJzZURhdGFUb0RhdGVUaW1lKHZhbHMsIHBhcnNlZFpvbmUsIG9wdHMsICJJU08gODYwMSIsIHRleHQpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGEgRGF0ZVRpbWUgZnJvbSBhbiBSRkMgMjgyMiBzdHJpbmcKICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIFJGQyAyODIyIHN0cmluZwogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSBjb252ZXJ0IHRoZSB0aW1lIHRvIHRoaXMgem9uZS4gU2luY2UgdGhlIG9mZnNldCBpcyBhbHdheXMgc3BlY2lmaWVkIGluIHRoZSBzdHJpbmcgaXRzZWxmLCB0aGlzIGhhcyBubyBlZmZlY3Qgb24gdGhlIGludGVycHJldGF0aW9uIG9mIHN0cmluZywgbWVyZWx5IHRoZSB6b25lIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaXMgZXhwcmVzc2VkIGluLgogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSBmaXhlZC1vZmZzZXQgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J3N5c3RlbSdzIGxvY2FsZSddIC0gYSBsb2NhbGUgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm91dHB1dENhbGVuZGFyIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21SRkMyODIyKCcyNSBOb3YgMjAxNiAxMzoyMzoxMiBHTVQnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVJGQzI4MjIoJ0ZyaSwgMjUgTm92IDIwMTYgMTM6MjM6MTIgKzA2MDAnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVJGQzI4MjIoJzI1IE5vdiAyMDE2IDEzOjIzIFonKQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tUkZDMjgyMih0ZXh0LCBvcHRzID0ge30pIHsKICAgICAgY29uc3QgW3ZhbHMsIHBhcnNlZFpvbmVdID0gcGFyc2VSRkMyODIyRGF0ZSh0ZXh0KTsKICAgICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgIlJGQyAyODIyIiwgdGV4dCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIEhUVFAgaGVhZGVyIGRhdGUKICAgICAqIEBzZWUgaHR0cHM6Ly93d3cudzMub3JnL1Byb3RvY29scy9yZmMyNjE2L3JmYzI2MTYtc2VjMy5odG1sI3NlYzMuMy4xCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIHRoZSBIVFRQIGhlYWRlciBkYXRlCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvbgogICAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIGNvbnZlcnQgdGhlIHRpbWUgdG8gdGhpcyB6b25lLiBTaW5jZSBIVFRQIGRhdGVzIGFyZSBhbHdheXMgaW4gVVRDLCB0aGlzIGhhcyBubyBlZmZlY3Qgb24gdGhlIGludGVycHJldGF0aW9uIG9mIHN0cmluZywgbWVyZWx5IHRoZSB6b25lIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaXMgZXhwcmVzc2VkIGluLgogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggdGhlIGZpeGVkLW9mZnNldCB6b25lIHNwZWNpZmllZCBpbiB0aGUgc3RyaW5nLiBGb3IgSFRUUCBkYXRlcywgdGhpcyBpcyBhbHdheXMgVVRDLCBzbyB0aGlzIG9wdGlvbiBpcyBlcXVpdmFsZW50IHRvIHNldHRpbmcgdGhlIGB6b25lYCBvcHRpb24gdG8gJ3V0YycsIGJ1dCB0aGlzIG9wdGlvbiBpcyBpbmNsdWRlZCBmb3IgY29uc2lzdGVuY3kgd2l0aCBzaW1pbGFyIG1ldGhvZHMuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMubG9jYWxlPSdzeXN0ZW0ncyBsb2NhbGUnXSAtIGEgbG9jYWxlIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0cy5vdXRwdXRDYWxlbmRhciAtIHRoZSBvdXRwdXQgY2FsZW5kYXIgdG8gc2V0IG9uIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUgaW5zdGFuY2UKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSFRUUCgnU3VuLCAwNiBOb3YgMTk5NCAwODo0OTozNyBHTVQnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbUhUVFAoJ1N1bmRheSwgMDYtTm92LTk0IDA4OjQ5OjM3IEdNVCcpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tSFRUUCgnU3VuIE5vdiAgNiAwODo0OTozNyAxOTk0JykKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzdGF0aWMgZnJvbUhUVFAodGV4dCwgb3B0cyA9IHt9KSB7CiAgICAgIGNvbnN0IFt2YWxzLCBwYXJzZWRab25lXSA9IHBhcnNlSFRUUERhdGUodGV4dCk7CiAgICAgIHJldHVybiBwYXJzZURhdGFUb0RhdGVUaW1lKHZhbHMsIHBhcnNlZFpvbmUsIG9wdHMsICJIVFRQIiwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBDcmVhdGUgYSBEYXRlVGltZSBmcm9tIGFuIGlucHV0IHN0cmluZyBhbmQgZm9ybWF0IHN0cmluZy4KICAgICAqIERlZmF1bHRzIHRvIGVuLVVTIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN5c3RlbSdzIGxvY2FsZS4gRm9yIGEgdGFibGUgb2YgdG9rZW5zIGFuZCB0aGVpciBpbnRlcnByZXRhdGlvbnMsIHNlZSBbaGVyZV0oaHR0cHM6Ly9tb21lbnQuZ2l0aHViLmlvL2x1eG9uLyMvcGFyc2luZz9pZD10YWJsZS1vZi10b2tlbnMpLgogICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgc3RyaW5nIHRvIHBhcnNlCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZm10IC0gdGhlIGZvcm1hdCB0aGUgc3RyaW5nIGlzIGV4cGVjdGVkIHRvIGJlIGluIChzZWUgdGhlIGxpbmsgYmVsb3cgZm9yIHRoZSBmb3JtYXRzKQogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRvIGFmZmVjdCB0aGUgY3JlYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFtvcHRzLnpvbmU9J2xvY2FsJ10gLSB1c2UgdGhpcyB6b25lIGlmIG5vIG9mZnNldCBpcyBzcGVjaWZpZWQgaW4gdGhlIGlucHV0IHN0cmluZyBpdHNlbGYuIFdpbGwgYWxzbyBjb252ZXJ0IHRoZSBEYXRlVGltZSB0byB0aGlzIHpvbmUKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc2V0Wm9uZT1mYWxzZV0gLSBvdmVycmlkZSB0aGUgem9uZSB3aXRoIGEgem9uZSBzcGVjaWZpZWQgaW4gdGhlIHN0cmluZyBpdHNlbGYsIGlmIGl0IHNwZWNpZmllcyBvbmUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5sb2NhbGU9J2VuLVVTJ10gLSBhIGxvY2FsZSBzdHJpbmcgdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgRGF0ZVRpbWUgdG8gdGhpcyBsb2NhbGUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm51bWJlcmluZ1N5c3RlbSAtIHRoZSBudW1iZXJpbmcgc3lzdGVtIHRvIHVzZSB3aGVuIHBhcnNpbmcuIFdpbGwgYWxzbyBzZXQgdGhlIHJlc3VsdGluZyBEYXRlVGltZSB0byB0aGlzIG51bWJlcmluZyBzeXN0ZW0KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRzLm91dHB1dENhbGVuZGFyIC0gdGhlIG91dHB1dCBjYWxlbmRhciB0byBzZXQgb24gdGhlIHJlc3VsdGluZyBEYXRlVGltZSBpbnN0YW5jZQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tRm9ybWF0KHRleHQsIGZtdCwgb3B0cyA9IHt9KSB7CiAgICAgIGlmIChpc1VuZGVmaW5lZCh0ZXh0KSB8fCBpc1VuZGVmaW5lZChmbXQpKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCJmcm9tRm9ybWF0IHJlcXVpcmVzIGFuIGlucHV0IHN0cmluZyBhbmQgYSBmb3JtYXQiKTsKICAgICAgfQoKICAgICAgY29uc3QgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsIH0gPSBvcHRzLAogICAgICAgIGxvY2FsZVRvVXNlID0gTG9jYWxlLmZyb21PcHRzKHsKICAgICAgICAgIGxvY2FsZSwKICAgICAgICAgIG51bWJlcmluZ1N5c3RlbSwKICAgICAgICAgIGRlZmF1bHRUb0VOOiB0cnVlLAogICAgICAgIH0pLAogICAgICAgIFt2YWxzLCBwYXJzZWRab25lLCBzcGVjaWZpY09mZnNldCwgaW52YWxpZF0gPSBwYXJzZUZyb21Ub2tlbnMobG9jYWxlVG9Vc2UsIHRleHQsIGZtdCk7CiAgICAgIGlmIChpbnZhbGlkKSB7CiAgICAgICAgcmV0dXJuIERhdGVUaW1lLmludmFsaWQoaW52YWxpZCk7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgYGZvcm1hdCAke2ZtdH1gLCB0ZXh0LCBzcGVjaWZpY09mZnNldCk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEBkZXByZWNhdGVkIHVzZSBmcm9tRm9ybWF0IGluc3RlYWQKICAgICAqLwogICAgc3RhdGljIGZyb21TdHJpbmcodGV4dCwgZm10LCBvcHRzID0ge30pIHsKICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21Gb3JtYXQodGV4dCwgZm10LCBvcHRzKTsKICAgIH0KCiAgICAvKioKICAgICAqIENyZWF0ZSBhIERhdGVUaW1lIGZyb20gYSBTUUwgZGF0ZSwgdGltZSwgb3IgZGF0ZXRpbWUKICAgICAqIERlZmF1bHRzIHRvIGVuLVVTIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHJlZ2FyZGxlc3Mgb2YgdGhlIHN5c3RlbSdzIGxvY2FsZQogICAgICogQHBhcmFtIHtzdHJpbmd9IHRleHQgLSB0aGUgc3RyaW5nIHRvIHBhcnNlCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMgdG8gYWZmZWN0IHRoZSBjcmVhdGlvbgogICAgICogQHBhcmFtIHtzdHJpbmd8Wm9uZX0gW29wdHMuem9uZT0nbG9jYWwnXSAtIHVzZSB0aGlzIHpvbmUgaWYgbm8gb2Zmc2V0IGlzIHNwZWNpZmllZCBpbiB0aGUgaW5wdXQgc3RyaW5nIGl0c2VsZi4gV2lsbCBhbHNvIGNvbnZlcnQgdGhlIERhdGVUaW1lIHRvIHRoaXMgem9uZQogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zZXRab25lPWZhbHNlXSAtIG92ZXJyaWRlIHRoZSB6b25lIHdpdGggYSB6b25lIHNwZWNpZmllZCBpbiB0aGUgc3RyaW5nIGl0c2VsZiwgaWYgaXQgc3BlY2lmaWVzIG9uZQogICAgICogQHBhcmFtIHtzdHJpbmd9IFtvcHRzLmxvY2FsZT0nZW4tVVMnXSAtIGEgbG9jYWxlIHN0cmluZyB0byB1c2Ugd2hlbiBwYXJzaW5nLiBXaWxsIGFsc28gc2V0IHRoZSBEYXRlVGltZSB0byB0aGlzIGxvY2FsZQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMubnVtYmVyaW5nU3lzdGVtIC0gdGhlIG51bWJlcmluZyBzeXN0ZW0gdG8gdXNlIHdoZW4gcGFyc2luZy4gV2lsbCBhbHNvIHNldCB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIHRvIHRoaXMgbnVtYmVyaW5nIHN5c3RlbQogICAgICogQHBhcmFtIHtzdHJpbmd9IG9wdHMub3V0cHV0Q2FsZW5kYXIgLSB0aGUgb3V0cHV0IGNhbGVuZGFyIHRvIHNldCBvbiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lIGluc3RhbmNlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1JykKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmZyb21TUUwoJzIwMTctMDUtMTUgMDk6MTI6MzQnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDInKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIrMDY6MDAnKQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUuZnJvbVNRTCgnMjAxNy0wNS0xNSAwOToxMjozNC4zNDIgQW1lcmljYS9Mb3NfQW5nZWxlcycpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MiBBbWVyaWNhL0xvc19BbmdlbGVzJywgeyBzZXRab25lOiB0cnVlIH0pCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcyMDE3LTA1LTE1IDA5OjEyOjM0LjM0MicsIHsgem9uZTogJ0FtZXJpY2EvTG9zX0FuZ2VsZXMnIH0pCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5mcm9tU1FMKCcwOToxMjozNC4zNDInKQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBmcm9tU1FMKHRleHQsIG9wdHMgPSB7fSkgewogICAgICBjb25zdCBbdmFscywgcGFyc2VkWm9uZV0gPSBwYXJzZVNRTCh0ZXh0KTsKICAgICAgcmV0dXJuIHBhcnNlRGF0YVRvRGF0ZVRpbWUodmFscywgcGFyc2VkWm9uZSwgb3B0cywgIlNRTCIsIHRleHQpOwogICAgfQoKICAgIC8qKgogICAgICogQ3JlYXRlIGFuIGludmFsaWQgRGF0ZVRpbWUuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcmVhc29uIC0gc2ltcGxlIHN0cmluZyBvZiB3aHkgdGhpcyBEYXRlVGltZSBpcyBpbnZhbGlkLiBTaG91bGQgbm90IGNvbnRhaW4gcGFyYW1ldGVycyBvciBhbnl0aGluZyBlbHNlIGRhdGEtZGVwZW5kZW50LgogICAgICogQHBhcmFtIHtzdHJpbmd9IFtleHBsYW5hdGlvbj1udWxsXSAtIGxvbmdlciBleHBsYW5hdGlvbiwgbWF5IGluY2x1ZGUgcGFyYW1ldGVycyBhbmQgb3RoZXIgdXNlZnVsIGRlYnVnZ2luZyBpbmZvcm1hdGlvbgogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXRpYyBpbnZhbGlkKHJlYXNvbiwgZXhwbGFuYXRpb24gPSBudWxsKSB7CiAgICAgIGlmICghcmVhc29uKSB7CiAgICAgICAgdGhyb3cgbmV3IEludmFsaWRBcmd1bWVudEVycm9yKCJuZWVkIHRvIHNwZWNpZnkgYSByZWFzb24gdGhlIERhdGVUaW1lIGlzIGludmFsaWQiKTsKICAgICAgfQoKICAgICAgY29uc3QgaW52YWxpZCA9IHJlYXNvbiBpbnN0YW5jZW9mIEludmFsaWQgPyByZWFzb24gOiBuZXcgSW52YWxpZChyZWFzb24sIGV4cGxhbmF0aW9uKTsKCiAgICAgIGlmIChTZXR0aW5ncy50aHJvd09uSW52YWxpZCkgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkRGF0ZVRpbWVFcnJvcihpbnZhbGlkKTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbmV3IERhdGVUaW1lKHsgaW52YWxpZCB9KTsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogQ2hlY2sgaWYgYW4gb2JqZWN0IGlzIGFuIGluc3RhbmNlIG9mIERhdGVUaW1lLiBXb3JrcyBhY3Jvc3MgY29udGV4dCBib3VuZGFyaWVzCiAgICAgKiBAcGFyYW0ge29iamVjdH0gbwogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgc3RhdGljIGlzRGF0ZVRpbWUobykgewogICAgICByZXR1cm4gKG8gJiYgby5pc0x1eG9uRGF0ZVRpbWUpIHx8IGZhbHNlOwogICAgfQoKICAgIC8qKgogICAgICogUHJvZHVjZSB0aGUgZm9ybWF0IHN0cmluZyBmb3IgYSBzZXQgb2Ygb3B0aW9ucwogICAgICogQHBhcmFtIGZvcm1hdE9wdHMKICAgICAqIEBwYXJhbSBsb2NhbGVPcHRzCiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfQogICAgICovCiAgICBzdGF0aWMgcGFyc2VGb3JtYXRGb3JPcHRzKGZvcm1hdE9wdHMsIGxvY2FsZU9wdHMgPSB7fSkgewogICAgICBjb25zdCB0b2tlbkxpc3QgPSBmb3JtYXRPcHRzVG9Ub2tlbnMoZm9ybWF0T3B0cywgTG9jYWxlLmZyb21PYmplY3QobG9jYWxlT3B0cykpOwogICAgICByZXR1cm4gIXRva2VuTGlzdCA/IG51bGwgOiB0b2tlbkxpc3QubWFwKCh0KSA9PiAodCA/IHQudmFsIDogbnVsbCkpLmpvaW4oIiIpOwogICAgfQoKICAgIC8qKgogICAgICogUHJvZHVjZSB0aGUgdGhlIGZ1bGx5IGV4cGFuZGVkIGZvcm1hdCB0b2tlbiBmb3IgdGhlIGxvY2FsZQogICAgICogRG9lcyBOT1QgcXVvdGUgY2hhcmFjdGVycywgc28gcXVvdGVkIHRva2VucyB3aWxsIG5vdCByb3VuZCB0cmlwIGNvcnJlY3RseQogICAgICogQHBhcmFtIGZtdAogICAgICogQHBhcmFtIGxvY2FsZU9wdHMKICAgICAqIEByZXR1cm5zIHtzdHJpbmd9CiAgICAgKi8KICAgIHN0YXRpYyBleHBhbmRGb3JtYXQoZm10LCBsb2NhbGVPcHRzID0ge30pIHsKICAgICAgY29uc3QgZXhwYW5kZWQgPSBleHBhbmRNYWNyb1Rva2VucyhGb3JtYXR0ZXIucGFyc2VGb3JtYXQoZm10KSwgTG9jYWxlLmZyb21PYmplY3QobG9jYWxlT3B0cykpOwogICAgICByZXR1cm4gZXhwYW5kZWQubWFwKCh0KSA9PiB0LnZhbCkuam9pbigiIik7CiAgICB9CgogICAgLy8gSU5GTwoKICAgIC8qKgogICAgICogR2V0IHRoZSB2YWx1ZSBvZiB1bml0LgogICAgICogQHBhcmFtIHtzdHJpbmd9IHVuaXQgLSBhIHVuaXQgc3VjaCBhcyAnbWludXRlJyBvciAnZGF5JwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNywgNCkuZ2V0KCdtb250aCcpOyAvLz0+IDcKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDcsIDQpLmdldCgnZGF5Jyk7IC8vPT4gNAogICAgICogQHJldHVybiB7bnVtYmVyfQogICAgICovCiAgICBnZXQodW5pdCkgewogICAgICByZXR1cm4gdGhpc1t1bml0XTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgd2hldGhlciB0aGUgRGF0ZVRpbWUgaXMgdmFsaWQuIEludmFsaWQgRGF0ZVRpbWVzIG9jY3VyIHdoZW46CiAgICAgKiAqIFRoZSBEYXRlVGltZSB3YXMgY3JlYXRlZCBmcm9tIGludmFsaWQgY2FsZW5kYXIgaW5mb3JtYXRpb24sIHN1Y2ggYXMgdGhlIDEzdGggbW9udGggb3IgRmVicnVhcnkgMzAKICAgICAqICogVGhlIERhdGVUaW1lIHdhcyBjcmVhdGVkIGJ5IGFuIG9wZXJhdGlvbiBvbiBhbm90aGVyIGludmFsaWQgZGF0ZQogICAgICogQHR5cGUge2Jvb2xlYW59CiAgICAgKi8KICAgIGdldCBpc1ZhbGlkKCkgewogICAgICByZXR1cm4gdGhpcy5pbnZhbGlkID09PSBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBlcnJvciBjb2RlIGlmIHRoaXMgRGF0ZVRpbWUgaXMgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgRGF0ZVRpbWUgaXMgdmFsaWQKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBpbnZhbGlkUmVhc29uKCkgewogICAgICByZXR1cm4gdGhpcy5pbnZhbGlkID8gdGhpcy5pbnZhbGlkLnJlYXNvbiA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIGV4cGxhbmF0aW9uIG9mIHdoeSB0aGlzIERhdGVUaW1lIGJlY2FtZSBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSBEYXRlVGltZSBpcyB2YWxpZAogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IGludmFsaWRFeHBsYW5hdGlvbigpIHsKICAgICAgcmV0dXJuIHRoaXMuaW52YWxpZCA/IHRoaXMuaW52YWxpZC5leHBsYW5hdGlvbiA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGxvY2FsZSBvZiBhIERhdGVUaW1lLCBzdWNoICdlbi1HQicuIFRoZSBsb2NhbGUgaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIERhdGVUaW1lCiAgICAgKgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IGxvY2FsZSgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMubG9jLmxvY2FsZSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG51bWJlcmluZyBzeXN0ZW0gb2YgYSBEYXRlVGltZSwgc3VjaCAnYmVuZycuIFRoZSBudW1iZXJpbmcgc3lzdGVtIGlzIHVzZWQgd2hlbiBmb3JtYXR0aW5nIHRoZSBEYXRlVGltZQogICAgICoKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBudW1iZXJpbmdTeXN0ZW0oKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmxvYy5udW1iZXJpbmdTeXN0ZW0gOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBvdXRwdXQgY2FsZW5kYXIgb2YgYSBEYXRlVGltZSwgc3VjaCAnaXNsYW1pYycuIFRoZSBvdXRwdXQgY2FsZW5kYXIgaXMgdXNlZCB3aGVuIGZvcm1hdHRpbmcgdGhlIERhdGVUaW1lCiAgICAgKgogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IG91dHB1dENhbGVuZGFyKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5sb2Mub3V0cHV0Q2FsZW5kYXIgOiBudWxsOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSB0aW1lIHpvbmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgRGF0ZVRpbWUuCiAgICAgKiBAdHlwZSB7Wm9uZX0KICAgICAqLwogICAgZ2V0IHpvbmUoKSB7CiAgICAgIHJldHVybiB0aGlzLl96b25lOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBuYW1lIG9mIHRoZSB0aW1lIHpvbmUuCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgem9uZU5hbWUoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnpvbmUubmFtZSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHllYXIKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS55ZWFyIC8vPT4gMjAxNwogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IHllYXIoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMueWVhciA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgcXVhcnRlcgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLnF1YXJ0ZXIgLy89PiAyCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgcXVhcnRlcigpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IE1hdGguY2VpbCh0aGlzLmMubW9udGggLyAzKSA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgbW9udGggKDEtMTIpLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLm1vbnRoIC8vPT4gNQogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IG1vbnRoKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLm1vbnRoIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBkYXkgb2YgdGhlIG1vbnRoICgxLTMwaXNoKS4KICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5kYXkgLy89PiAyNQogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IGRheSgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuYy5kYXkgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGhvdXIgb2YgdGhlIGRheSAoMC0yMykuCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSwgOSkuaG91ciAvLz0+IDkKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBob3VyKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLmhvdXIgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG1pbnV0ZSBvZiB0aGUgaG91ciAoMC01OSkuCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSwgOSwgMzApLm1pbnV0ZSAvLz0+IDMwCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgbWludXRlKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gdGhpcy5jLm1pbnV0ZSA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgc2Vjb25kIG9mIHRoZSBtaW51dGUgKDAtNTkpLgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUsIDksIDMwLCA1Mikuc2Vjb25kIC8vPT4gNTIKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCBzZWNvbmQoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMuc2Vjb25kIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBtaWxsaXNlY29uZCBvZiB0aGUgc2Vjb25kICgwLTk5OSkuCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE3LCA1LCAyNSwgOSwgMzAsIDUyLCA2NTQpLm1pbGxpc2Vjb25kIC8vPT4gNjU0CiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgbWlsbGlzZWNvbmQoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLmMubWlsbGlzZWNvbmQgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIHdlZWsgeWVhcgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAxMiwgMzEpLndlZWtZZWFyIC8vPT4gMjAxNQogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IHdlZWtZZWFyKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gcG9zc2libHlDYWNoZWRXZWVrRGF0YSh0aGlzKS53ZWVrWWVhciA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgd2VlayBudW1iZXIgb2YgdGhlIHdlZWsgeWVhciAoMS01MmlzaCkuCiAgICAgKiBAc2VlIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0lTT193ZWVrX2RhdGUKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS53ZWVrTnVtYmVyIC8vPT4gMjEKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCB3ZWVrTnVtYmVyKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gcG9zc2libHlDYWNoZWRXZWVrRGF0YSh0aGlzKS53ZWVrTnVtYmVyIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBkYXkgb2YgdGhlIHdlZWsuCiAgICAgKiAxIGlzIE1vbmRheSBhbmQgNyBpcyBTdW5kYXkKICAgICAqIEBzZWUgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSVNPX3dlZWtfZGF0ZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMTEsIDMxKS53ZWVrZGF5IC8vPT4gNAogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IHdlZWtkYXkoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBwb3NzaWJseUNhY2hlZFdlZWtEYXRhKHRoaXMpLndlZWtkYXkgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIG9yZGluYWwgKG1lYW5pbmcgdGhlIGRheSBvZiB0aGUgeWVhcikKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5vcmRpbmFsIC8vPT4gMTQ1CiAgICAgKiBAdHlwZSB7bnVtYmVyfERhdGVUaW1lfQogICAgICovCiAgICBnZXQgb3JkaW5hbCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IGdyZWdvcmlhblRvT3JkaW5hbCh0aGlzLmMpLm9yZGluYWwgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGh1bWFuIHJlYWRhYmxlIHNob3J0IG1vbnRoIG5hbWUsIHN1Y2ggYXMgJ09jdCcuCiAgICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDEwLCAzMCkubW9udGhTaG9ydCAvLz0+IE9jdAogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IG1vbnRoU2hvcnQoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbmZvLm1vbnRocygic2hvcnQiLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy5tb250aCAtIDFdIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgaHVtYW4gcmVhZGFibGUgbG9uZyBtb250aCBuYW1lLCBzdWNoIGFzICdPY3RvYmVyJy4KICAgICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS5tb250aExvbmcgLy89PiBPY3RvYmVyCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgbW9udGhMb25nKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gSW5mby5tb250aHMoImxvbmciLCB7IGxvY09iajogdGhpcy5sb2MgfSlbdGhpcy5tb250aCAtIDFdIDogbnVsbDsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgaHVtYW4gcmVhZGFibGUgc2hvcnQgd2Vla2RheSwgc3VjaCBhcyAnTW9uJy4KICAgICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS53ZWVrZGF5U2hvcnQgLy89PiBNb24KICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCB3ZWVrZGF5U2hvcnQoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbmZvLndlZWtkYXlzKCJzaG9ydCIsIHsgbG9jT2JqOiB0aGlzLmxvYyB9KVt0aGlzLndlZWtkYXkgLSAxXSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIGh1bWFuIHJlYWRhYmxlIGxvbmcgd2Vla2RheSwgc3VjaCBhcyAnTW9uZGF5Jy4KICAgICAqIERlZmF1bHRzIHRvIHRoZSBzeXN0ZW0ncyBsb2NhbGUgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgMTAsIDMwKS53ZWVrZGF5TG9uZyAvLz0+IE1vbmRheQogICAgICogQHR5cGUge3N0cmluZ30KICAgICAqLwogICAgZ2V0IHdlZWtkYXlMb25nKCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gSW5mby53ZWVrZGF5cygibG9uZyIsIHsgbG9jT2JqOiB0aGlzLmxvYyB9KVt0aGlzLndlZWtkYXkgLSAxXSA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgdGhlIFVUQyBvZmZzZXQgb2YgdGhpcyBEYXRlVGltZSBpbiBtaW51dGVzCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5vZmZzZXQgLy89PiAtMjQwCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5vZmZzZXQgLy89PiAwCiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgb2Zmc2V0KCkgewogICAgICByZXR1cm4gdGhpcy5pc1ZhbGlkID8gK3RoaXMubyA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aGUgc2hvcnQgaHVtYW4gbmFtZSBmb3IgdGhlIHpvbmUncyBjdXJyZW50IG9mZnNldCwgZm9yIGV4YW1wbGUgIkVTVCIgb3IgIkVEVCIuCiAgICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQKICAgICAqIEB0eXBlIHtzdHJpbmd9CiAgICAgKi8KICAgIGdldCBvZmZzZXROYW1lU2hvcnQoKSB7CiAgICAgIGlmICh0aGlzLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gdGhpcy56b25lLm9mZnNldE5hbWUodGhpcy50cywgewogICAgICAgICAgZm9ybWF0OiAic2hvcnQiLAogICAgICAgICAgbG9jYWxlOiB0aGlzLmxvY2FsZSwKICAgICAgICB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogR2V0IHRoZSBsb25nIGh1bWFuIG5hbWUgZm9yIHRoZSB6b25lJ3MgY3VycmVudCBvZmZzZXQsIGZvciBleGFtcGxlICJFYXN0ZXJuIFN0YW5kYXJkIFRpbWUiIG9yICJFYXN0ZXJuIERheWxpZ2h0IFRpbWUiLgogICAgICogRGVmYXVsdHMgdG8gdGhlIHN5c3RlbSdzIGxvY2FsZSBpZiBubyBsb2NhbGUgaGFzIGJlZW4gc3BlY2lmaWVkCiAgICAgKiBAdHlwZSB7c3RyaW5nfQogICAgICovCiAgICBnZXQgb2Zmc2V0TmFtZUxvbmcoKSB7CiAgICAgIGlmICh0aGlzLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gdGhpcy56b25lLm9mZnNldE5hbWUodGhpcy50cywgewogICAgICAgICAgZm9ybWF0OiAibG9uZyIsCiAgICAgICAgICBsb2NhbGU6IHRoaXMubG9jYWxlLAogICAgICAgIH0pOwogICAgICB9IGVsc2UgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgd2hldGhlciB0aGlzIHpvbmUncyBvZmZzZXQgZXZlciBjaGFuZ2VzLCBhcyBpbiBhIERTVC4KICAgICAqIEB0eXBlIHtib29sZWFufQogICAgICovCiAgICBnZXQgaXNPZmZzZXRGaXhlZCgpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMuem9uZS5pc1VuaXZlcnNhbCA6IG51bGw7CiAgICB9CgogICAgLyoqCiAgICAgKiBHZXQgd2hldGhlciB0aGUgRGF0ZVRpbWUgaXMgaW4gYSBEU1QuCiAgICAgKiBAdHlwZSB7Ym9vbGVhbn0KICAgICAqLwogICAgZ2V0IGlzSW5EU1QoKSB7CiAgICAgIGlmICh0aGlzLmlzT2Zmc2V0Rml4ZWQpIHsKICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgIH0gZWxzZSB7CiAgICAgICAgcmV0dXJuICgKICAgICAgICAgIHRoaXMub2Zmc2V0ID4gdGhpcy5zZXQoeyBtb250aDogMSwgZGF5OiAxIH0pLm9mZnNldCB8fAogICAgICAgICAgdGhpcy5vZmZzZXQgPiB0aGlzLnNldCh7IG1vbnRoOiA1IH0pLm9mZnNldAogICAgICAgICk7CiAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIEdldCB0aG9zZSBEYXRlVGltZXMgd2hpY2ggaGF2ZSB0aGUgc2FtZSBsb2NhbCB0aW1lIGFzIHRoaXMgRGF0ZVRpbWUsIGJ1dCBhIGRpZmZlcmVudCBvZmZzZXQgZnJvbSBVVEMKICAgICAqIGluIHRoaXMgRGF0ZVRpbWUncyB6b25lLiBEdXJpbmcgRFNUIGNoYW5nZXMgbG9jYWwgdGltZSBjYW4gYmUgYW1iaWd1b3VzLCBmb3IgZXhhbXBsZQogICAgICogYDIwMjMtMTAtMjlUMDI6MzA6MDBgIGluIGBFdXJvcGUvQmVybGluYCBjYW4gaGF2ZSBvZmZzZXQgYCswMTowMGAgb3IgYCswMjowMGAuCiAgICAgKiBUaGlzIG1ldGhvZCB3aWxsIHJldHVybiBib3RoIHBvc3NpYmxlIERhdGVUaW1lcyBpZiB0aGlzIERhdGVUaW1lJ3MgbG9jYWwgdGltZSBpcyBhbWJpZ3VvdXMuCiAgICAgKiBAcmV0dXJucyB7RGF0ZVRpbWVbXX0KICAgICAqLwogICAgZ2V0UG9zc2libGVPZmZzZXRzKCkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCB8fCB0aGlzLmlzT2Zmc2V0Rml4ZWQpIHsKICAgICAgICByZXR1cm4gW3RoaXNdOwogICAgICB9CiAgICAgIGNvbnN0IGRheU1zID0gODY0MDAwMDA7CiAgICAgIGNvbnN0IG1pbnV0ZU1zID0gNjAwMDA7CiAgICAgIGNvbnN0IGxvY2FsVFMgPSBvYmpUb0xvY2FsVFModGhpcy5jKTsKICAgICAgY29uc3Qgb0VhcmxpZXIgPSB0aGlzLnpvbmUub2Zmc2V0KGxvY2FsVFMgLSBkYXlNcyk7CiAgICAgIGNvbnN0IG9MYXRlciA9IHRoaXMuem9uZS5vZmZzZXQobG9jYWxUUyArIGRheU1zKTsKCiAgICAgIGNvbnN0IG8xID0gdGhpcy56b25lLm9mZnNldChsb2NhbFRTIC0gb0VhcmxpZXIgKiBtaW51dGVNcyk7CiAgICAgIGNvbnN0IG8yID0gdGhpcy56b25lLm9mZnNldChsb2NhbFRTIC0gb0xhdGVyICogbWludXRlTXMpOwogICAgICBpZiAobzEgPT09IG8yKSB7CiAgICAgICAgcmV0dXJuIFt0aGlzXTsKICAgICAgfQogICAgICBjb25zdCB0czEgPSBsb2NhbFRTIC0gbzEgKiBtaW51dGVNczsKICAgICAgY29uc3QgdHMyID0gbG9jYWxUUyAtIG8yICogbWludXRlTXM7CiAgICAgIGNvbnN0IGMxID0gdHNUb09iaih0czEsIG8xKTsKICAgICAgY29uc3QgYzIgPSB0c1RvT2JqKHRzMiwgbzIpOwogICAgICBpZiAoCiAgICAgICAgYzEuaG91ciA9PT0gYzIuaG91ciAmJgogICAgICAgIGMxLm1pbnV0ZSA9PT0gYzIubWludXRlICYmCiAgICAgICAgYzEuc2Vjb25kID09PSBjMi5zZWNvbmQgJiYKICAgICAgICBjMS5taWxsaXNlY29uZCA9PT0gYzIubWlsbGlzZWNvbmQKICAgICAgKSB7CiAgICAgICAgcmV0dXJuIFtjbG9uZSh0aGlzLCB7IHRzOiB0czEgfSksIGNsb25lKHRoaXMsIHsgdHM6IHRzMiB9KV07CiAgICAgIH0KICAgICAgcmV0dXJuIFt0aGlzXTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdHJ1ZSBpZiB0aGlzIERhdGVUaW1lIGlzIGluIGEgbGVhcCB5ZWFyLCBmYWxzZSBvdGhlcndpc2UKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTYpLmlzSW5MZWFwWWVhciAvLz0+IHRydWUKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTMpLmlzSW5MZWFwWWVhciAvLz0+IGZhbHNlCiAgICAgKiBAdHlwZSB7Ym9vbGVhbn0KICAgICAqLwogICAgZ2V0IGlzSW5MZWFwWWVhcigpIHsKICAgICAgcmV0dXJuIGlzTGVhcFllYXIodGhpcy55ZWFyKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBkYXlzIGluIHRoaXMgRGF0ZVRpbWUncyBtb250aAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNiwgMikuZGF5c0luTW9udGggLy89PiAyOQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNiwgMykuZGF5c0luTW9udGggLy89PiAzMQogICAgICogQHR5cGUge251bWJlcn0KICAgICAqLwogICAgZ2V0IGRheXNJbk1vbnRoKCkgewogICAgICByZXR1cm4gZGF5c0luTW9udGgodGhpcy55ZWFyLCB0aGlzLm1vbnRoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBkYXlzIGluIHRoaXMgRGF0ZVRpbWUncyB5ZWFyCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE2KS5kYXlzSW5ZZWFyIC8vPT4gMzY2CiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDEzKS5kYXlzSW5ZZWFyIC8vPT4gMzY1CiAgICAgKiBAdHlwZSB7bnVtYmVyfQogICAgICovCiAgICBnZXQgZGF5c0luWWVhcigpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IGRheXNJblllYXIodGhpcy55ZWFyKSA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIG51bWJlciBvZiB3ZWVrcyBpbiB0aGlzIERhdGVUaW1lJ3MgeWVhcgogICAgICogQHNlZSBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JU09fd2Vla19kYXRlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDA0KS53ZWVrc0luV2Vla1llYXIgLy89PiA1MwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxMykud2Vla3NJbldlZWtZZWFyIC8vPT4gNTIKICAgICAqIEB0eXBlIHtudW1iZXJ9CiAgICAgKi8KICAgIGdldCB3ZWVrc0luV2Vla1llYXIoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB3ZWVrc0luV2Vla1llYXIodGhpcy53ZWVrWWVhcikgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSByZXNvbHZlZCBJbnRsIG9wdGlvbnMgZm9yIHRoaXMgRGF0ZVRpbWUuCiAgICAgKiBUaGlzIGlzIHVzZWZ1bCBpbiB1bmRlcnN0YW5kaW5nIHRoZSBiZWhhdmlvciBvZiBmb3JtYXR0aW5nIG1ldGhvZHMKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gdGhlIHNhbWUgb3B0aW9ucyBhcyB0b0xvY2FsZVN0cmluZwogICAgICogQHJldHVybiB7T2JqZWN0fQogICAgICovCiAgICByZXNvbHZlZExvY2FsZU9wdGlvbnMob3B0cyA9IHt9KSB7CiAgICAgIGNvbnN0IHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIGNhbGVuZGFyIH0gPSBGb3JtYXR0ZXIuY3JlYXRlKAogICAgICAgIHRoaXMubG9jLmNsb25lKG9wdHMpLAogICAgICAgIG9wdHMKICAgICAgKS5yZXNvbHZlZE9wdGlvbnModGhpcyk7CiAgICAgIHJldHVybiB7IGxvY2FsZSwgbnVtYmVyaW5nU3lzdGVtLCBvdXRwdXRDYWxlbmRhcjogY2FsZW5kYXIgfTsKICAgIH0KCiAgICAvLyBUUkFOU0ZPUk0KCiAgICAvKioKICAgICAqICJTZXQiIHRoZSBEYXRlVGltZSdzIHpvbmUgdG8gVVRDLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuCiAgICAgKgogICAgICogRXF1aXZhbGVudCB0byB7QGxpbmsgRGF0ZVRpbWUjc2V0Wm9uZX0oJ3V0YycpCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW29mZnNldD0wXSAtIG9wdGlvbmFsbHksIGFuIG9mZnNldCBmcm9tIFVUQyBpbiBtaW51dGVzCiAgICAgKiBAcGFyYW0ge09iamVjdH0gW29wdHM9e31dIC0gb3B0aW9ucyB0byBwYXNzIHRvIGBzZXRab25lKClgCiAgICAgKiBAcmV0dXJuIHtEYXRlVGltZX0KICAgICAqLwogICAgdG9VVEMob2Zmc2V0ID0gMCwgb3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLnNldFpvbmUoRml4ZWRPZmZzZXRab25lLmluc3RhbmNlKG9mZnNldCksIG9wdHMpOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhlIERhdGVUaW1lJ3Mgem9uZSB0byB0aGUgaG9zdCdzIGxvY2FsIHpvbmUuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEYXRlVGltZS4KICAgICAqCiAgICAgKiBFcXVpdmFsZW50IHRvIGBzZXRab25lKCdsb2NhbCcpYAogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHRvTG9jYWwoKSB7CiAgICAgIHJldHVybiB0aGlzLnNldFpvbmUoU2V0dGluZ3MuZGVmYXVsdFpvbmUpOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhlIERhdGVUaW1lJ3Mgem9uZSB0byBzcGVjaWZpZWQgem9uZS4gUmV0dXJucyBhIG5ld2x5LWNvbnN0cnVjdGVkIERhdGVUaW1lLgogICAgICoKICAgICAqIEJ5IGRlZmF1bHQsIHRoZSBzZXR0ZXIga2VlcHMgdGhlIHVuZGVybHlpbmcgdGltZSB0aGUgc2FtZSAoYXMgaW4sIHRoZSBzYW1lIHRpbWVzdGFtcCksIGJ1dCB0aGUgbmV3IGluc3RhbmNlIHdpbGwgcmVwb3J0IGRpZmZlcmVudCBsb2NhbCB0aW1lcyBhbmQgY29uc2lkZXIgRFNUcyB3aGVuIG1ha2luZyBjb21wdXRhdGlvbnMsIGFzIHdpdGgge0BsaW5rIERhdGVUaW1lI3BsdXN9LiBZb3UgbWF5IHdpc2ggdG8gdXNlIHtAbGluayBEYXRlVGltZSN0b0xvY2FsfSBhbmQge0BsaW5rIERhdGVUaW1lI3RvVVRDfSB3aGljaCBwcm92aWRlIHNpbXBsZSBjb252ZW5pZW5jZSB3cmFwcGVycyBmb3IgY29tbW9ubHkgdXNlZCB6b25lcy4KICAgICAqIEBwYXJhbSB7c3RyaW5nfFpvbmV9IFt6b25lPSdsb2NhbCddIC0gYSB6b25lIGlkZW50aWZpZXIuIEFzIGEgc3RyaW5nLCB0aGF0IGNhbiBiZSBhbnkgSUFOQSB6b25lIHN1cHBvcnRlZCBieSB0aGUgaG9zdCBlbnZpcm9ubWVudCwgb3IgYSBmaXhlZC1vZmZzZXQgbmFtZSBvZiB0aGUgZm9ybSAnVVRDKzMnLCBvciB0aGUgc3RyaW5ncyAnbG9jYWwnIG9yICd1dGMnLiBZb3UgbWF5IGFsc28gc3VwcGx5IGFuIGluc3RhbmNlIG9mIGEge0BsaW5rIERhdGVUaW1lI1pvbmV9IGNsYXNzLgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmtlZXBMb2NhbFRpbWU9ZmFsc2VdIC0gSWYgdHJ1ZSwgYWRqdXN0IHRoZSB1bmRlcmx5aW5nIHRpbWUgc28gdGhhdCB0aGUgbG9jYWwgdGltZSBzdGF5cyB0aGUgc2FtZSwgYnV0IGluIHRoZSB0YXJnZXQgem9uZS4gWW91IHNob3VsZCByYXJlbHkgbmVlZCB0aGlzLgogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHNldFpvbmUoem9uZSwgeyBrZWVwTG9jYWxUaW1lID0gZmFsc2UsIGtlZXBDYWxlbmRhclRpbWUgPSBmYWxzZSB9ID0ge30pIHsKICAgICAgem9uZSA9IG5vcm1hbGl6ZVpvbmUoem9uZSwgU2V0dGluZ3MuZGVmYXVsdFpvbmUpOwogICAgICBpZiAoem9uZS5lcXVhbHModGhpcy56b25lKSkgewogICAgICAgIHJldHVybiB0aGlzOwogICAgICB9IGVsc2UgaWYgKCF6b25lLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gRGF0ZVRpbWUuaW52YWxpZCh1bnN1cHBvcnRlZFpvbmUoem9uZSkpOwogICAgICB9IGVsc2UgewogICAgICAgIGxldCBuZXdUUyA9IHRoaXMudHM7CiAgICAgICAgaWYgKGtlZXBMb2NhbFRpbWUgfHwga2VlcENhbGVuZGFyVGltZSkgewogICAgICAgICAgY29uc3Qgb2Zmc2V0R3Vlc3MgPSB6b25lLm9mZnNldCh0aGlzLnRzKTsKICAgICAgICAgIGNvbnN0IGFzT2JqID0gdGhpcy50b09iamVjdCgpOwogICAgICAgICAgW25ld1RTXSA9IG9ialRvVFMoYXNPYmosIG9mZnNldEd1ZXNzLCB6b25lKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIGNsb25lKHRoaXMsIHsgdHM6IG5ld1RTLCB6b25lIH0pOwogICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiAiU2V0IiB0aGUgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG9yIG91dHB1dENhbGVuZGFyLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuCiAgICAgKiBAcGFyYW0ge09iamVjdH0gcHJvcGVydGllcyAtIHRoZSBwcm9wZXJ0aWVzIHRvIHNldAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNywgNSwgMjUpLnJlY29uZmlndXJlKHsgbG9jYWxlOiAnZW4tR0InIH0pCiAgICAgKiBAcmV0dXJuIHtEYXRlVGltZX0KICAgICAqLwogICAgcmVjb25maWd1cmUoeyBsb2NhbGUsIG51bWJlcmluZ1N5c3RlbSwgb3V0cHV0Q2FsZW5kYXIgfSA9IHt9KSB7CiAgICAgIGNvbnN0IGxvYyA9IHRoaXMubG9jLmNsb25lKHsgbG9jYWxlLCBudW1iZXJpbmdTeXN0ZW0sIG91dHB1dENhbGVuZGFyIH0pOwogICAgICByZXR1cm4gY2xvbmUodGhpcywgeyBsb2MgfSk7CiAgICB9CgogICAgLyoqCiAgICAgKiAiU2V0IiB0aGUgbG9jYWxlLiBSZXR1cm5zIGEgbmV3bHktY29uc3RydWN0ZWQgRGF0ZVRpbWUuCiAgICAgKiBKdXN0IGEgY29udmVuaWVudCBhbGlhcyBmb3IgcmVjb25maWd1cmUoeyBsb2NhbGUgfSkKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTcsIDUsIDI1KS5zZXRMb2NhbGUoJ2VuLUdCJykKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBzZXRMb2NhbGUobG9jYWxlKSB7CiAgICAgIHJldHVybiB0aGlzLnJlY29uZmlndXJlKHsgbG9jYWxlIH0pOwogICAgfQoKICAgIC8qKgogICAgICogIlNldCIgdGhlIHZhbHVlcyBvZiBzcGVjaWZpZWQgdW5pdHMuIFJldHVybnMgYSBuZXdseS1jb25zdHJ1Y3RlZCBEYXRlVGltZS4KICAgICAqIFlvdSBjYW4gb25seSBzZXQgdW5pdHMgd2l0aCB0aGlzIG1ldGhvZDsgZm9yICJzZXR0aW5nIiBtZXRhZGF0YSwgc2VlIHtAbGluayBEYXRlVGltZSNyZWNvbmZpZ3VyZX0gYW5kIHtAbGluayBEYXRlVGltZSNzZXRab25lfS4KICAgICAqIEBwYXJhbSB7T2JqZWN0fSB2YWx1ZXMgLSBhIG1hcHBpbmcgb2YgdW5pdHMgdG8gbnVtYmVycwogICAgICogQGV4YW1wbGUgZHQuc2V0KHsgeWVhcjogMjAxNyB9KQogICAgICogQGV4YW1wbGUgZHQuc2V0KHsgaG91cjogOCwgbWludXRlOiAzMCB9KQogICAgICogQGV4YW1wbGUgZHQuc2V0KHsgd2Vla2RheTogNSB9KQogICAgICogQGV4YW1wbGUgZHQuc2V0KHsgeWVhcjogMjAwNSwgb3JkaW5hbDogMjM0IH0pCiAgICAgKiBAcmV0dXJuIHtEYXRlVGltZX0KICAgICAqLwogICAgc2V0KHZhbHVlcykgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CgogICAgICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplT2JqZWN0KHZhbHVlcywgbm9ybWFsaXplVW5pdCksCiAgICAgICAgc2V0dGluZ1dlZWtTdHVmZiA9CiAgICAgICAgICAhaXNVbmRlZmluZWQobm9ybWFsaXplZC53ZWVrWWVhcikgfHwKICAgICAgICAgICFpc1VuZGVmaW5lZChub3JtYWxpemVkLndlZWtOdW1iZXIpIHx8CiAgICAgICAgICAhaXNVbmRlZmluZWQobm9ybWFsaXplZC53ZWVrZGF5KSwKICAgICAgICBjb250YWluc09yZGluYWwgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC5vcmRpbmFsKSwKICAgICAgICBjb250YWluc0dyZWdvclllYXIgPSAhaXNVbmRlZmluZWQobm9ybWFsaXplZC55ZWFyKSwKICAgICAgICBjb250YWluc0dyZWdvck1EID0gIWlzVW5kZWZpbmVkKG5vcm1hbGl6ZWQubW9udGgpIHx8ICFpc1VuZGVmaW5lZChub3JtYWxpemVkLmRheSksCiAgICAgICAgY29udGFpbnNHcmVnb3IgPSBjb250YWluc0dyZWdvclllYXIgfHwgY29udGFpbnNHcmVnb3JNRCwKICAgICAgICBkZWZpbml0ZVdlZWtEZWYgPSBub3JtYWxpemVkLndlZWtZZWFyIHx8IG5vcm1hbGl6ZWQud2Vla051bWJlcjsKCiAgICAgIGlmICgoY29udGFpbnNHcmVnb3IgfHwgY29udGFpbnNPcmRpbmFsKSAmJiBkZWZpbml0ZVdlZWtEZWYpIHsKICAgICAgICB0aHJvdyBuZXcgQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IoCiAgICAgICAgICAiQ2FuJ3QgbWl4IHdlZWtZZWFyL3dlZWtOdW1iZXIgdW5pdHMgd2l0aCB5ZWFyL21vbnRoL2RheSBvciBvcmRpbmFscyIKICAgICAgICApOwogICAgICB9CgogICAgICBpZiAoY29udGFpbnNHcmVnb3JNRCAmJiBjb250YWluc09yZGluYWwpIHsKICAgICAgICB0aHJvdyBuZXcgQ29uZmxpY3RpbmdTcGVjaWZpY2F0aW9uRXJyb3IoIkNhbid0IG1peCBvcmRpbmFsIGRhdGVzIHdpdGggbW9udGgvZGF5Iik7CiAgICAgIH0KCiAgICAgIGxldCBtaXhlZDsKICAgICAgaWYgKHNldHRpbmdXZWVrU3R1ZmYpIHsKICAgICAgICBtaXhlZCA9IHdlZWtUb0dyZWdvcmlhbih7IC4uLmdyZWdvcmlhblRvV2Vlayh0aGlzLmMpLCAuLi5ub3JtYWxpemVkIH0pOwogICAgICB9IGVsc2UgaWYgKCFpc1VuZGVmaW5lZChub3JtYWxpemVkLm9yZGluYWwpKSB7CiAgICAgICAgbWl4ZWQgPSBvcmRpbmFsVG9HcmVnb3JpYW4oeyAuLi5ncmVnb3JpYW5Ub09yZGluYWwodGhpcy5jKSwgLi4ubm9ybWFsaXplZCB9KTsKICAgICAgfSBlbHNlIHsKICAgICAgICBtaXhlZCA9IHsgLi4udGhpcy50b09iamVjdCgpLCAuLi5ub3JtYWxpemVkIH07CgogICAgICAgIC8vIGlmIHdlIGRpZG4ndCBzZXQgdGhlIGRheSBidXQgd2UgZW5kZWQgdXAgb24gYW4gb3ZlcmZsb3cgZGF0ZSwKICAgICAgICAvLyB1c2UgdGhlIGxhc3QgZGF5IG9mIHRoZSByaWdodCBtb250aAogICAgICAgIGlmIChpc1VuZGVmaW5lZChub3JtYWxpemVkLmRheSkpIHsKICAgICAgICAgIG1peGVkLmRheSA9IE1hdGgubWluKGRheXNJbk1vbnRoKG1peGVkLnllYXIsIG1peGVkLm1vbnRoKSwgbWl4ZWQuZGF5KTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGNvbnN0IFt0cywgb10gPSBvYmpUb1RTKG1peGVkLCB0aGlzLm8sIHRoaXMuem9uZSk7CiAgICAgIHJldHVybiBjbG9uZSh0aGlzLCB7IHRzLCBvIH0pOwogICAgfQoKICAgIC8qKgogICAgICogQWRkIGEgcGVyaW9kIG9mIHRpbWUgdG8gdGhpcyBEYXRlVGltZSBhbmQgcmV0dXJuIHRoZSByZXN1bHRpbmcgRGF0ZVRpbWUKICAgICAqCiAgICAgKiBBZGRpbmcgaG91cnMsIG1pbnV0ZXMsIHNlY29uZHMsIG9yIG1pbGxpc2Vjb25kcyBpbmNyZWFzZXMgdGhlIHRpbWVzdGFtcCBieSB0aGUgcmlnaHQgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcy4gQWRkaW5nIGRheXMsIG1vbnRocywgb3IgeWVhcnMgc2hpZnRzIHRoZSBjYWxlbmRhciwgYWNjb3VudGluZyBmb3IgRFNUcyBhbmQgbGVhcCB5ZWFycyBhbG9uZyB0aGUgd2F5LiBUaHVzLCBgZHQucGx1cyh7IGhvdXJzOiAyNCB9KWAgbWF5IHJlc3VsdCBpbiBhIGRpZmZlcmVudCB0aW1lIHRoYW4gYGR0LnBsdXMoeyBkYXlzOiAxIH0pYCBpZiB0aGVyZSdzIGEgRFNUIHNoaWZ0IGluIGJldHdlZW4uCiAgICAgKiBAcGFyYW0ge0R1cmF0aW9ufE9iamVjdHxudW1iZXJ9IGR1cmF0aW9uIC0gVGhlIGFtb3VudCB0byBhZGQuIEVpdGhlciBhIEx1eG9uIER1cmF0aW9uLCBhIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIHRoZSBvYmplY3QgYXJndW1lbnQgdG8gRHVyYXRpb24uZnJvbU9iamVjdCgpCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKDEyMykgLy9+PiBpbiAxMjMgbWlsbGlzZWNvbmRzCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgbWludXRlczogMTUgfSkgLy9+PiBpbiAxNSBtaW51dGVzCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KSAvL34+IHRoaXMgdGltZSB0b21vcnJvdwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGRheXM6IC0xIH0pIC8vfj4gdGhpcyB0aW1lIHllc3RlcmRheQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGhvdXJzOiAzLCBtaW51dGVzOiAxMyB9KSAvL34+IGluIDMgaHIsIDEzIG1pbgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyhEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDMsIG1pbnV0ZXM6IDEzIH0pKSAvL34+IGluIDMgaHIsIDEzIG1pbgogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHBsdXMoZHVyYXRpb24pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwogICAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKTsKICAgICAgcmV0dXJuIGNsb25lKHRoaXMsIGFkanVzdFRpbWUodGhpcywgZHVyKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBTdWJ0cmFjdCBhIHBlcmlvZCBvZiB0aW1lIHRvIHRoaXMgRGF0ZVRpbWUgYW5kIHJldHVybiB0aGUgcmVzdWx0aW5nIERhdGVUaW1lCiAgICAgKiBTZWUge0BsaW5rIERhdGVUaW1lI3BsdXN9CiAgICAgKiBAcGFyYW0ge0R1cmF0aW9ufE9iamVjdHxudW1iZXJ9IGR1cmF0aW9uIC0gVGhlIGFtb3VudCB0byBzdWJ0cmFjdC4gRWl0aGVyIGEgTHV4b24gRHVyYXRpb24sIGEgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcywgdGhlIG9iamVjdCBhcmd1bWVudCB0byBEdXJhdGlvbi5mcm9tT2JqZWN0KCkKICAgICBAcmV0dXJuIHtEYXRlVGltZX0KICAgICAqLwogICAgbWludXMoZHVyYXRpb24pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB0aGlzOwogICAgICBjb25zdCBkdXIgPSBEdXJhdGlvbi5mcm9tRHVyYXRpb25MaWtlKGR1cmF0aW9uKS5uZWdhdGUoKTsKICAgICAgcmV0dXJuIGNsb25lKHRoaXMsIGFkanVzdFRpbWUodGhpcywgZHVyKSk7CiAgICB9CgogICAgLyoqCiAgICAgKiAiU2V0IiB0aGlzIERhdGVUaW1lIHRvIHRoZSBiZWdpbm5pbmcgb2YgYSB1bml0IG9mIHRpbWUuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIFRoZSB1bml0IHRvIGdvIHRvIHRoZSBiZWdpbm5pbmcgb2YuIENhbiBiZSAneWVhcicsICdxdWFydGVyJywgJ21vbnRoJywgJ3dlZWsnLCAnZGF5JywgJ2hvdXInLCAnbWludXRlJywgJ3NlY29uZCcsIG9yICdtaWxsaXNlY29uZCcuCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzKS5zdGFydE9mKCdtb250aCcpLnRvSVNPRGF0ZSgpOyAvLz0+ICcyMDE0LTAzLTAxJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuc3RhcnRPZigneWVhcicpLnRvSVNPRGF0ZSgpOyAvLz0+ICcyMDE0LTAxLTAxJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMykuc3RhcnRPZignd2VlaycpLnRvSVNPRGF0ZSgpOyAvLz0+ICcyMDE0LTAzLTAzJywgd2Vla3MgYWx3YXlzIHN0YXJ0IG9uIE1vbmRheXMKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMsIDUsIDMwKS5zdGFydE9mKCdkYXknKS50b0lTT1RpbWUoKTsgLy89PiAnMDA6MDAuMDAwLTA1OjAwJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubG9jYWwoMjAxNCwgMywgMywgNSwgMzApLnN0YXJ0T2YoJ2hvdXInKS50b0lTT1RpbWUoKTsgLy89PiAnMDU6MDA6MDAuMDAwLTA1OjAwJwogICAgICogQHJldHVybiB7RGF0ZVRpbWV9CiAgICAgKi8KICAgIHN0YXJ0T2YodW5pdCkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgcmV0dXJuIHRoaXM7CiAgICAgIGNvbnN0IG8gPSB7fSwKICAgICAgICBub3JtYWxpemVkVW5pdCA9IER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQodW5pdCk7CiAgICAgIHN3aXRjaCAobm9ybWFsaXplZFVuaXQpIHsKICAgICAgICBjYXNlICJ5ZWFycyI6CiAgICAgICAgICBvLm1vbnRoID0gMTsKICAgICAgICAvLyBmYWxscyB0aHJvdWdoCiAgICAgICAgY2FzZSAicXVhcnRlcnMiOgogICAgICAgIGNhc2UgIm1vbnRocyI6CiAgICAgICAgICBvLmRheSA9IDE7CiAgICAgICAgLy8gZmFsbHMgdGhyb3VnaAogICAgICAgIGNhc2UgIndlZWtzIjoKICAgICAgICBjYXNlICJkYXlzIjoKICAgICAgICAgIG8uaG91ciA9IDA7CiAgICAgICAgLy8gZmFsbHMgdGhyb3VnaAogICAgICAgIGNhc2UgImhvdXJzIjoKICAgICAgICAgIG8ubWludXRlID0gMDsKICAgICAgICAvLyBmYWxscyB0aHJvdWdoCiAgICAgICAgY2FzZSAibWludXRlcyI6CiAgICAgICAgICBvLnNlY29uZCA9IDA7CiAgICAgICAgLy8gZmFsbHMgdGhyb3VnaAogICAgICAgIGNhc2UgInNlY29uZHMiOgogICAgICAgICAgby5taWxsaXNlY29uZCA9IDA7CiAgICAgICAgICBicmVhazsKICAgICAgICAvLyBubyBkZWZhdWx0LCBpbnZhbGlkIHVuaXRzIHRocm93IGluIG5vcm1hbGl6ZVVuaXQoKQogICAgICB9CgogICAgICBpZiAobm9ybWFsaXplZFVuaXQgPT09ICJ3ZWVrcyIpIHsKICAgICAgICBvLndlZWtkYXkgPSAxOwogICAgICB9CgogICAgICBpZiAobm9ybWFsaXplZFVuaXQgPT09ICJxdWFydGVycyIpIHsKICAgICAgICBjb25zdCBxID0gTWF0aC5jZWlsKHRoaXMubW9udGggLyAzKTsKICAgICAgICBvLm1vbnRoID0gKHEgLSAxKSAqIDMgKyAxOwogICAgICB9CgogICAgICByZXR1cm4gdGhpcy5zZXQobyk7CiAgICB9CgogICAgLyoqCiAgICAgKiAiU2V0IiB0aGlzIERhdGVUaW1lIHRvIHRoZSBlbmQgKG1lYW5pbmcgdGhlIGxhc3QgbWlsbGlzZWNvbmQpIG9mIGEgdW5pdCBvZiB0aW1lCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIFRoZSB1bml0IHRvIGdvIHRvIHRoZSBlbmQgb2YuIENhbiBiZSAneWVhcicsICdxdWFydGVyJywgJ21vbnRoJywgJ3dlZWsnLCAnZGF5JywgJ2hvdXInLCAnbWludXRlJywgJ3NlY29uZCcsIG9yICdtaWxsaXNlY29uZCcuCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzKS5lbmRPZignbW9udGgnKS50b0lTTygpOyAvLz0+ICcyMDE0LTAzLTMxVDIzOjU5OjU5Ljk5OS0wNTowMCcKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMpLmVuZE9mKCd5ZWFyJykudG9JU08oKTsgLy89PiAnMjAxNC0xMi0zMVQyMzo1OTo1OS45OTktMDU6MDAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzKS5lbmRPZignd2VlaycpLnRvSVNPKCk7IC8vID0+ICcyMDE0LTAzLTA5VDIzOjU5OjU5Ljk5OS0wNTowMCcsIHdlZWtzIHN0YXJ0IG9uIE1vbmRheXMKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDMsIDMsIDUsIDMwKS5lbmRPZignZGF5JykudG9JU08oKTsgLy89PiAnMjAxNC0wMy0wM1QyMzo1OTo1OS45OTktMDU6MDAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCAzLCAzLCA1LCAzMCkuZW5kT2YoJ2hvdXInKS50b0lTTygpOyAvLz0+ICcyMDE0LTAzLTAzVDA1OjU5OjU5Ljk5OS0wNTowMCcKICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfQogICAgICovCiAgICBlbmRPZih1bml0KSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQKICAgICAgICA/IHRoaXMucGx1cyh7IFt1bml0XTogMSB9KQogICAgICAgICAgICAuc3RhcnRPZih1bml0KQogICAgICAgICAgICAubWludXMoMSkKICAgICAgICA6IHRoaXM7CiAgICB9CgogICAgLy8gT1VUUFVUCgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUgZm9ybWF0dGVkIGFjY29yZGluZyB0byB0aGUgc3BlY2lmaWVkIGZvcm1hdCBzdHJpbmcuCiAgICAgKiAqKllvdSBtYXkgbm90IHdhbnQgdGhpcy4qKiBTZWUge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3IgYSBtb3JlIGZsZXhpYmxlIGZvcm1hdHRpbmcgdG9vbC4gRm9yIGEgdGFibGUgb2YgdG9rZW5zIGFuZCB0aGVpciBpbnRlcnByZXRhdGlvbnMsIHNlZSBbaGVyZV0oaHR0cHM6Ly9tb21lbnQuZ2l0aHViLmlvL2x1eG9uLyMvZm9ybWF0dGluZz9pZD10YWJsZS1vZi10b2tlbnMpLgogICAgICogRGVmYXVsdHMgdG8gZW4tVVMgaWYgbm8gbG9jYWxlIGhhcyBiZWVuIHNwZWNpZmllZCwgcmVnYXJkbGVzcyBvZiB0aGUgc3lzdGVtJ3MgbG9jYWxlLgogICAgICogQHBhcmFtIHtzdHJpbmd9IGZtdCAtIHRoZSBmb3JtYXQgc3RyaW5nCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdHMgdG8gb3ZlcnJpZGUgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9ucyBvbiB0aGlzIERhdGVUaW1lCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0Zvcm1hdCgneXl5eSBMTEwgZGQnKSAvLz0+ICcyMDE3IEFwciAyMicKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnNldExvY2FsZSgnZnInKS50b0Zvcm1hdCgneXl5eSBMTEwgZGQnKSAvLz0+ICcyMDE3IGF2ci4gMjInCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0Zvcm1hdCgneXl5eSBMTEwgZGQnLCB7IGxvY2FsZTogImZyIiB9KSAvLz0+ICcyMDE3IGF2ci4gMjInCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0Zvcm1hdCgiSEggJ2hvdXJzIGFuZCcgbW0gJ21pbnV0ZXMnIikgLy89PiAnMjAgaG91cnMgYW5kIDU1IG1pbnV0ZXMnCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvRm9ybWF0KGZtdCwgb3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQKICAgICAgICA/IEZvcm1hdHRlci5jcmVhdGUodGhpcy5sb2MucmVkZWZhdWx0VG9FTihvcHRzKSkuZm9ybWF0RGF0ZVRpbWVGcm9tU3RyaW5nKHRoaXMsIGZtdCkKICAgICAgICA6IElOVkFMSUQ7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgbG9jYWxpemVkIHN0cmluZyByZXByZXNlbnRpbmcgdGhpcyBkYXRlLiBBY2NlcHRzIHRoZSBzYW1lIG9wdGlvbnMgYXMgdGhlIEludGwuRGF0ZVRpbWVGb3JtYXQgY29uc3RydWN0b3IgYW5kIGFueSBwcmVzZXRzIGRlZmluZWQgYnkgTHV4b24sIHN1Y2ggYXMgYERhdGVUaW1lLkRBVEVfRlVMTGAgb3IgYERhdGVUaW1lLlRJTUVfU0lNUExFYC4KICAgICAqIFRoZSBleGFjdCBiZWhhdmlvciBvZiB0aGlzIG1ldGhvZCBpcyBicm93c2VyLXNwZWNpZmljLCBidXQgaW4gZ2VuZXJhbCBpdCB3aWxsIHJldHVybiBhbiBhcHByb3ByaWF0ZSByZXByZXNlbnRhdGlvbgogICAgICogb2YgdGhlIERhdGVUaW1lIGluIHRoZSBhc3NpZ25lZCBsb2NhbGUuCiAgICAgKiBEZWZhdWx0cyB0byB0aGUgc3lzdGVtJ3MgbG9jYWxlIGlmIG5vIGxvY2FsZSBoYXMgYmVlbiBzcGVjaWZpZWQKICAgICAqIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvRGF0ZVRpbWVGb3JtYXQKICAgICAqIEBwYXJhbSBmb3JtYXRPcHRzIHtPYmplY3R9IC0gSW50bC5EYXRlVGltZUZvcm1hdCBjb25zdHJ1Y3RvciBvcHRpb25zIGFuZCBjb25maWd1cmF0aW9uIG9wdGlvbnMKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0cyB0byBvdmVycmlkZSB0aGUgY29uZmlndXJhdGlvbiBvcHRpb25zIG9uIHRoaXMgRGF0ZVRpbWUKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKCk7IC8vPT4gNC8yMC8yMDE3CiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5zZXRMb2NhbGUoJ2VuLWdiJykudG9Mb2NhbGVTdHJpbmcoKTsgLy89PiAnMjAvMDQvMjAxNycKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKERhdGVUaW1lLkRBVEVfRlVMTCk7IC8vPT4gJ0FwcmlsIDIwLCAyMDE3JwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9Mb2NhbGVTdHJpbmcoRGF0ZVRpbWUuREFURV9GVUxMLCB7IGxvY2FsZTogJ2ZyJyB9KTsgLy89PiAnMjggYW/Du3QgMjAyMicKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKERhdGVUaW1lLlRJTUVfU0lNUExFKTsgLy89PiAnMTE6MzIgQU0nCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5EQVRFVElNRV9TSE9SVCk7IC8vPT4gJzQvMjAvMjAxNywgMTE6MzIgQU0nCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyh7IHdlZWtkYXk6ICdsb25nJywgbW9udGg6ICdsb25nJywgZGF5OiAnMi1kaWdpdCcgfSk7IC8vPT4gJ1RodXJzZGF5LCBBcHJpbCAyMCcKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvTG9jYWxlU3RyaW5nKHsgd2Vla2RheTogJ3Nob3J0JywgbW9udGg6ICdzaG9ydCcsIGRheTogJzItZGlnaXQnLCBob3VyOiAnMi1kaWdpdCcsIG1pbnV0ZTogJzItZGlnaXQnIH0pOyAvLz0+ICdUaHUsIEFwciAyMCwgMTE6MjcgQU0nCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVN0cmluZyh7IGhvdXI6ICcyLWRpZ2l0JywgbWludXRlOiAnMi1kaWdpdCcsIGhvdXJDeWNsZTogJ2gyMycgfSk7IC8vPT4gJzExOjMyJwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0xvY2FsZVN0cmluZyhmb3JtYXRPcHRzID0gREFURV9TSE9SVCwgb3B0cyA9IHt9KSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQKICAgICAgICA/IEZvcm1hdHRlci5jcmVhdGUodGhpcy5sb2MuY2xvbmUob3B0cyksIGZvcm1hdE9wdHMpLmZvcm1hdERhdGVUaW1lKHRoaXMpCiAgICAgICAgOiBJTlZBTElEOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBhcnJheSBvZiBmb3JtYXQgInBhcnRzIiwgbWVhbmluZyBpbmRpdmlkdWFsIHRva2VucyBhbG9uZyB3aXRoIG1ldGFkYXRhLiBUaGlzIGlzIGFsbG93cyBjYWxsZXJzIHRvIHBvc3QtcHJvY2VzcyBpbmRpdmlkdWFsIHNlY3Rpb25zIG9mIHRoZSBmb3JtYXR0ZWQgb3V0cHV0LgogICAgICogRGVmYXVsdHMgdG8gdGhlIHN5c3RlbSdzIGxvY2FsZSBpZiBubyBsb2NhbGUgaGFzIGJlZW4gc3BlY2lmaWVkCiAgICAgKiBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0RhdGVUaW1lRm9ybWF0L2Zvcm1hdFRvUGFydHMKICAgICAqIEBwYXJhbSBvcHRzIHtPYmplY3R9IC0gSW50bC5EYXRlVGltZUZvcm1hdCBjb25zdHJ1Y3RvciBvcHRpb25zLCBzYW1lIGFzIGB0b0xvY2FsZVN0cmluZ2AuCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0xvY2FsZVBhcnRzKCk7IC8vPT4gWwogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPT4gICB7IHR5cGU6ICdkYXknLCB2YWx1ZTogJzI1JyB9LAogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPT4gICB7IHR5cGU6ICdsaXRlcmFsJywgdmFsdWU6ICcvJyB9LAogICAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vPT4gICB7IHR5cGU6ICdtb250aCcsIHZhbHVlOiAnMDUnIH0sCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiAgIHsgdHlwZTogJ2xpdGVyYWwnLCB2YWx1ZTogJy8nIH0sCiAgICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy89PiAgIHsgdHlwZTogJ3llYXInLCB2YWx1ZTogJzE5ODInIH0KICAgICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLz0+IF0KICAgICAqLwogICAgdG9Mb2NhbGVQYXJ0cyhvcHRzID0ge30pIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZAogICAgICAgID8gRm9ybWF0dGVyLmNyZWF0ZSh0aGlzLmxvYy5jbG9uZShvcHRzKSwgb3B0cykuZm9ybWF0RGF0ZVRpbWVQYXJ0cyh0aGlzKQogICAgICAgIDogW107CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZQogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLnN1cHByZXNzTWlsbGlzZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgbWlsbGlzZWNvbmRzIGZyb20gdGhlIGZvcm1hdCBpZiB0aGV5J3JlIDAKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NTZWNvbmRzPWZhbHNlXSAtIGV4Y2x1ZGUgc2Vjb25kcyBmcm9tIHRoZSBmb3JtYXQgaWYgdGhleSdyZSAwCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVPZmZzZXQ9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBvZmZzZXQsIHN1Y2ggYXMgJ1onIG9yICctMDQ6MDAnCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmV4dGVuZGVkWm9uZT1mYWxzZV0gLSBhZGQgdGhlIHRpbWUgem9uZSBmb3JtYXQgZXh0ZW5zaW9uCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygxOTgzLCA1LCAyNSkudG9JU08oKSAvLz0+ICcxOTgyLTA1LTI1VDAwOjAwOjAwLjAwMFonCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b0lTTygpIC8vPT4gJzIwMTctMDQtMjJUMjA6NDc6MDUuMzM1LTA0OjAwJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9JU08oeyBpbmNsdWRlT2Zmc2V0OiBmYWxzZSB9KSAvLz0+ICcyMDE3LTA0LTIyVDIwOjQ3OjA1LjMzNScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvSVNPKHsgZm9ybWF0OiAnYmFzaWMnIH0pIC8vPT4gJzIwMTcwNDIyVDIwNDcwNS4zMzUtMDQwMCcKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9JU08oewogICAgICBmb3JtYXQgPSAiZXh0ZW5kZWQiLAogICAgICBzdXBwcmVzc1NlY29uZHMgPSBmYWxzZSwKICAgICAgc3VwcHJlc3NNaWxsaXNlY29uZHMgPSBmYWxzZSwKICAgICAgaW5jbHVkZU9mZnNldCA9IHRydWUsCiAgICAgIGV4dGVuZGVkWm9uZSA9IGZhbHNlLAogICAgfSA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KCiAgICAgIGNvbnN0IGV4dCA9IGZvcm1hdCA9PT0gImV4dGVuZGVkIjsKCiAgICAgIGxldCBjID0gdG9JU09EYXRlKHRoaXMsIGV4dCk7CiAgICAgIGMgKz0gIlQiOwogICAgICBjICs9IHRvSVNPVGltZSh0aGlzLCBleHQsIHN1cHByZXNzU2Vjb25kcywgc3VwcHJlc3NNaWxsaXNlY29uZHMsIGluY2x1ZGVPZmZzZXQsIGV4dGVuZGVkWm9uZSk7CiAgICAgIHJldHVybiBjOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhbiBJU08gODYwMS1jb21wbGlhbnQgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUncyBkYXRlIGNvbXBvbmVudAogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdHMuZm9ybWF0PSdleHRlbmRlZCddIC0gY2hvb3NlIGJldHdlZW4gdGhlIGJhc2ljIGFuZCBleHRlbmRlZCBmb3JtYXQKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygxOTgyLCA1LCAyNSkudG9JU09EYXRlKCkgLy89PiAnMTk4Mi0wNS0yNScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygxOTgyLCA1LCAyNSkudG9JU09EYXRlKHsgZm9ybWF0OiAnYmFzaWMnIH0pIC8vPT4gJzE5ODIwNTI1JwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b0lTT0RhdGUoeyBmb3JtYXQgPSAiZXh0ZW5kZWQiIH0gPSB7fSkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CgogICAgICByZXR1cm4gdG9JU09EYXRlKHRoaXMsIGZvcm1hdCA9PT0gImV4dGVuZGVkIik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSdzIHdlZWsgZGF0ZQogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDE5ODIsIDUsIDI1KS50b0lTT1dlZWtEYXRlKCkgLy89PiAnMTk4Mi1XMjEtMicKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9JU09XZWVrRGF0ZSgpIHsKICAgICAgcmV0dXJuIHRvVGVjaEZvcm1hdCh0aGlzLCAia2tray0nVydXVy1jIik7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIElTTyA4NjAxLWNvbXBsaWFudCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSdzIHRpbWUgY29tcG9uZW50CiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuc3VwcHJlc3NNaWxsaXNlY29uZHM9ZmFsc2VdIC0gZXhjbHVkZSBtaWxsaXNlY29uZHMgZnJvbSB0aGUgZm9ybWF0IGlmIHRoZXkncmUgMAogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5zdXBwcmVzc1NlY29uZHM9ZmFsc2VdIC0gZXhjbHVkZSBzZWNvbmRzIGZyb20gdGhlIGZvcm1hdCBpZiB0aGV5J3JlIDAKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZU9mZnNldD10cnVlXSAtIGluY2x1ZGUgdGhlIG9mZnNldCwgc3VjaCBhcyAnWicgb3IgJy0wNDowMCcKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuZXh0ZW5kZWRab25lPXRydWVdIC0gYWRkIHRoZSB0aW1lIHpvbmUgZm9ybWF0IGV4dGVuc2lvbgogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlUHJlZml4PWZhbHNlXSAtIGluY2x1ZGUgdGhlIGBUYCBwcmVmaXgKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5mb3JtYXQ9J2V4dGVuZGVkJ10gLSBjaG9vc2UgYmV0d2VlbiB0aGUgYmFzaWMgYW5kIGV4dGVuZGVkIGZvcm1hdAogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKCkuc2V0KHsgaG91cjogNywgbWludXRlOiAzNCB9KS50b0lTT1RpbWUoKSAvLz0+ICcwNzozNDoxOS4zNjFaJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKCkuc2V0KHsgaG91cjogNywgbWludXRlOiAzNCwgc2Vjb25kczogMCwgbWlsbGlzZWNvbmRzOiAwIH0pLnRvSVNPVGltZSh7IHN1cHByZXNzU2Vjb25kczogdHJ1ZSB9KSAvLz0+ICcwNzozNFonCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS5zZXQoeyBob3VyOiA3LCBtaW51dGU6IDM0IH0pLnRvSVNPVGltZSh7IGZvcm1hdDogJ2Jhc2ljJyB9KSAvLz0+ICcwNzM0MTkuMzYxWicKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygpLnNldCh7IGhvdXI6IDcsIG1pbnV0ZTogMzQgfSkudG9JU09UaW1lKHsgaW5jbHVkZVByZWZpeDogdHJ1ZSB9KSAvLz0+ICdUMDc6MzQ6MTkuMzYxWicKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9JU09UaW1lKHsKICAgICAgc3VwcHJlc3NNaWxsaXNlY29uZHMgPSBmYWxzZSwKICAgICAgc3VwcHJlc3NTZWNvbmRzID0gZmFsc2UsCiAgICAgIGluY2x1ZGVPZmZzZXQgPSB0cnVlLAogICAgICBpbmNsdWRlUHJlZml4ID0gZmFsc2UsCiAgICAgIGV4dGVuZGVkWm9uZSA9IGZhbHNlLAogICAgICBmb3JtYXQgPSAiZXh0ZW5kZWQiLAogICAgfSA9IHt9KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSB7CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIH0KCiAgICAgIGxldCBjID0gaW5jbHVkZVByZWZpeCA/ICJUIiA6ICIiOwogICAgICByZXR1cm4gKAogICAgICAgIGMgKwogICAgICAgIHRvSVNPVGltZSgKICAgICAgICAgIHRoaXMsCiAgICAgICAgICBmb3JtYXQgPT09ICJleHRlbmRlZCIsCiAgICAgICAgICBzdXBwcmVzc1NlY29uZHMsCiAgICAgICAgICBzdXBwcmVzc01pbGxpc2Vjb25kcywKICAgICAgICAgIGluY2x1ZGVPZmZzZXQsCiAgICAgICAgICBleHRlbmRlZFpvbmUKICAgICAgICApCiAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGFuIFJGQyAyODIyLWNvbXBhdGlibGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgRGF0ZVRpbWUKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE0LCA3LCAxMykudG9SRkMyODIyKCkgLy89PiAnU3VuLCAxMyBKdWwgMjAxNCAwMDowMDowMCArMDAwMCcKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1JGQzI4MjIoKSAvLz0+ICdTdW4sIDEzIEp1bCAyMDE0IDAwOjAwOjAwIC0wNDAwJwogICAgICogQHJldHVybiB7c3RyaW5nfQogICAgICovCiAgICB0b1JGQzI4MjIoKSB7CiAgICAgIHJldHVybiB0b1RlY2hGb3JtYXQodGhpcywgIkVFRSwgZGQgTExMIHl5eXkgSEg6bW06c3MgWlpaIiwgZmFsc2UpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIERhdGVUaW1lIGFwcHJvcHJpYXRlIGZvciB1c2UgaW4gSFRUUCBoZWFkZXJzLiBUaGUgb3V0cHV0IGlzIGFsd2F5cyBleHByZXNzZWQgaW4gR01ULgogICAgICogU3BlY2lmaWNhbGx5LCB0aGUgc3RyaW5nIGNvbmZvcm1zIHRvIFJGQyAxMTIzLgogICAgICogQHNlZSBodHRwczovL3d3dy53My5vcmcvUHJvdG9jb2xzL3JmYzI2MTYvcmZjMjYxNi1zZWMzLmh0bWwjc2VjMy4zLjEKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLnV0YygyMDE0LCA3LCAxMykudG9IVFRQKCkgLy89PiAnU3VuLCAxMyBKdWwgMjAxNCAwMDowMDowMCBHTVQnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNCwgNywgMTMsIDE5KS50b0hUVFAoKSAvLz0+ICdTdW4sIDEzIEp1bCAyMDE0IDE5OjAwOjAwIEdNVCcKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9IVFRQKCkgewogICAgICByZXR1cm4gdG9UZWNoRm9ybWF0KHRoaXMudG9VVEMoKSwgIkVFRSwgZGQgTExMIHl5eXkgSEg6bW06c3MgJ0dNVCciKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgdXNlIGluIFNRTCBEYXRlCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoMjAxNCwgNywgMTMpLnRvU1FMRGF0ZSgpIC8vPT4gJzIwMTQtMDctMTMnCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvU1FMRGF0ZSgpIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHsKICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQogICAgICByZXR1cm4gdG9JU09EYXRlKHRoaXMsIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIERhdGVUaW1lIGFwcHJvcHJpYXRlIGZvciB1c2UgaW4gU1FMIFRpbWUKICAgICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzIC0gb3B0aW9ucwogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlWm9uZT1mYWxzZV0gLSBpbmNsdWRlIHRoZSB6b25lLCBzdWNoIGFzICdBbWVyaWNhL05ld19Zb3JrJy4gT3ZlcnJpZGVzIGluY2x1ZGVPZmZzZXQuCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVPZmZzZXQ9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBvZmZzZXQsIHN1Y2ggYXMgJ1onIG9yICctMDQ6MDAnCiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtvcHRzLmluY2x1ZGVPZmZzZXRTcGFjZT10cnVlXSAtIGluY2x1ZGUgdGhlIHNwYWNlIGJldHdlZW4gdGhlIHRpbWUgYW5kIHRoZSBvZmZzZXQsIHN1Y2ggYXMgJzA1OjE1OjE2LjM0NSAtMDQ6MDAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS51dGMoKS50b1NRTCgpIC8vPT4gJzA1OjE1OjE2LjM0NScKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvU1FMKCkgLy89PiAnMDU6MTU6MTYuMzQ1IC0wNDowMCcKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnRvU1FMKHsgaW5jbHVkZU9mZnNldDogZmFsc2UgfSkgLy89PiAnMDU6MTU6MTYuMzQ1JwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkudG9TUUwoeyBpbmNsdWRlWm9uZTogZmFsc2UgfSkgLy89PiAnMDU6MTU6MTYuMzQ1IEFtZXJpY2EvTmV3X1lvcmsnCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvU1FMVGltZSh7IGluY2x1ZGVPZmZzZXQgPSB0cnVlLCBpbmNsdWRlWm9uZSA9IGZhbHNlLCBpbmNsdWRlT2Zmc2V0U3BhY2UgPSB0cnVlIH0gPSB7fSkgewogICAgICBsZXQgZm10ID0gIkhIOm1tOnNzLlNTUyI7CgogICAgICBpZiAoaW5jbHVkZVpvbmUgfHwgaW5jbHVkZU9mZnNldCkgewogICAgICAgIGlmIChpbmNsdWRlT2Zmc2V0U3BhY2UpIHsKICAgICAgICAgIGZtdCArPSAiICI7CiAgICAgICAgfQogICAgICAgIGlmIChpbmNsdWRlWm9uZSkgewogICAgICAgICAgZm10ICs9ICJ6IjsKICAgICAgICB9IGVsc2UgaWYgKGluY2x1ZGVPZmZzZXQpIHsKICAgICAgICAgIGZtdCArPSAiWloiOwogICAgICAgIH0KICAgICAgfQoKICAgICAgcmV0dXJuIHRvVGVjaEZvcm1hdCh0aGlzLCBmbXQsIHRydWUpOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIERhdGVUaW1lIGFwcHJvcHJpYXRlIGZvciB1c2UgaW4gU1FMIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge09iamVjdH0gb3B0cyAtIG9wdGlvbnMKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZVpvbmU9ZmFsc2VdIC0gaW5jbHVkZSB0aGUgem9uZSwgc3VjaCBhcyAnQW1lcmljYS9OZXdfWW9yaycuIE92ZXJyaWRlcyBpbmNsdWRlT2Zmc2V0LgogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlT2Zmc2V0PXRydWVdIC0gaW5jbHVkZSB0aGUgb2Zmc2V0LCBzdWNoIGFzICdaJyBvciAnLTA0OjAwJwogICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0cy5pbmNsdWRlT2Zmc2V0U3BhY2U9dHJ1ZV0gLSBpbmNsdWRlIHRoZSBzcGFjZSBiZXR3ZWVuIHRoZSB0aW1lIGFuZCB0aGUgb2Zmc2V0LCBzdWNoIGFzICcwNToxNToxNi4zNDUgLTA0OjAwJwogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUudXRjKDIwMTQsIDcsIDEzKS50b1NRTCgpIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIFonCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCA3LCAxMykudG9TUUwoKSAvLz0+ICcyMDE0LTA3LTEzIDAwOjAwOjAwLjAwMCAtMDQ6MDAnCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5sb2NhbCgyMDE0LCA3LCAxMykudG9TUUwoeyBpbmNsdWRlT2Zmc2V0OiBmYWxzZSB9KSAvLz0+ICcyMDE0LTA3LTEzIDAwOjAwOjAwLjAwMCcKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLmxvY2FsKDIwMTQsIDcsIDEzKS50b1NRTCh7IGluY2x1ZGVab25lOiB0cnVlIH0pIC8vPT4gJzIwMTQtMDctMTMgMDA6MDA6MDAuMDAwIEFtZXJpY2EvTmV3X1lvcmsnCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvU1FMKG9wdHMgPSB7fSkgewogICAgICBpZiAoIXRoaXMuaXNWYWxpZCkgewogICAgICAgIHJldHVybiBudWxsOwogICAgICB9CgogICAgICByZXR1cm4gYCR7dGhpcy50b1NRTERhdGUoKX0gJHt0aGlzLnRvU1FMVGltZShvcHRzKX1gOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIERhdGVUaW1lIGFwcHJvcHJpYXRlIGZvciBkZWJ1Z2dpbmcKICAgICAqIEByZXR1cm4ge3N0cmluZ30KICAgICAqLwogICAgdG9TdHJpbmcoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyB0aGlzLnRvSVNPKCkgOiBJTlZBTElEOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgZXBvY2ggbWlsbGlzZWNvbmRzIG9mIHRoaXMgRGF0ZVRpbWUuIEFsaWFzIG9mIHtAbGluayBEYXRlVGltZSN0b01pbGxpc30KICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAqLwogICAgdmFsdWVPZigpIHsKICAgICAgcmV0dXJuIHRoaXMudG9NaWxsaXMoKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgdGhlIGVwb2NoIG1pbGxpc2Vjb25kcyBvZiB0aGlzIERhdGVUaW1lLgogICAgICogQHJldHVybiB7bnVtYmVyfQogICAgICovCiAgICB0b01pbGxpcygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudHMgOiBOYU47CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIHRoZSBlcG9jaCBzZWNvbmRzIG9mIHRoaXMgRGF0ZVRpbWUuCiAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgICAgKi8KICAgIHRvU2Vjb25kcygpIHsKICAgICAgcmV0dXJuIHRoaXMuaXNWYWxpZCA/IHRoaXMudHMgLyAxMDAwIDogTmFOOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyB0aGUgZXBvY2ggc2Vjb25kcyAoYXMgYSB3aG9sZSBudW1iZXIpIG9mIHRoaXMgRGF0ZVRpbWUuCiAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgICAgKi8KICAgIHRvVW5peEludGVnZXIoKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBNYXRoLmZsb29yKHRoaXMudHMgLyAxMDAwKSA6IE5hTjsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYW4gSVNPIDg2MDEgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBEYXRlVGltZSBhcHByb3ByaWF0ZSBmb3IgdXNlIGluIEpTT04uCiAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgKi8KICAgIHRvSlNPTigpIHsKICAgICAgcmV0dXJuIHRoaXMudG9JU08oKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybnMgYSBCU09OIHNlcmlhbGl6YWJsZSBlcXVpdmFsZW50IHRvIHRoaXMgRGF0ZVRpbWUuCiAgICAgKiBAcmV0dXJuIHtEYXRlfQogICAgICovCiAgICB0b0JTT04oKSB7CiAgICAgIHJldHVybiB0aGlzLnRvSlNEYXRlKCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgSmF2YVNjcmlwdCBvYmplY3Qgd2l0aCB0aGlzIERhdGVUaW1lJ3MgeWVhciwgbW9udGgsIGRheSwgYW5kIHNvIG9uLgogICAgICogQHBhcmFtIG9wdHMgLSBvcHRpb25zIGZvciBnZW5lcmF0aW5nIHRoZSBvYmplY3QKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuaW5jbHVkZUNvbmZpZz1mYWxzZV0gLSBpbmNsdWRlIGNvbmZpZ3VyYXRpb24gYXR0cmlidXRlcyBpbiB0aGUgb3V0cHV0CiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS50b09iamVjdCgpIC8vPT4geyB5ZWFyOiAyMDE3LCBtb250aDogNCwgZGF5OiAyMiwgaG91cjogMjAsIG1pbnV0ZTogNDksIHNlY29uZDogNDIsIG1pbGxpc2Vjb25kOiAyNjggfQogICAgICogQHJldHVybiB7T2JqZWN0fQogICAgICovCiAgICB0b09iamVjdChvcHRzID0ge30pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiB7fTsKCiAgICAgIGNvbnN0IGJhc2UgPSB7IC4uLnRoaXMuYyB9OwoKICAgICAgaWYgKG9wdHMuaW5jbHVkZUNvbmZpZykgewogICAgICAgIGJhc2Uub3V0cHV0Q2FsZW5kYXIgPSB0aGlzLm91dHB1dENhbGVuZGFyOwogICAgICAgIGJhc2UubnVtYmVyaW5nU3lzdGVtID0gdGhpcy5sb2MubnVtYmVyaW5nU3lzdGVtOwogICAgICAgIGJhc2UubG9jYWxlID0gdGhpcy5sb2MubG9jYWxlOwogICAgICB9CiAgICAgIHJldHVybiBiYXNlOwogICAgfQoKICAgIC8qKgogICAgICogUmV0dXJucyBhIEphdmFTY3JpcHQgRGF0ZSBlcXVpdmFsZW50IHRvIHRoaXMgRGF0ZVRpbWUuCiAgICAgKiBAcmV0dXJuIHtEYXRlfQogICAgICovCiAgICB0b0pTRGF0ZSgpIHsKICAgICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMuaXNWYWxpZCA/IHRoaXMudHMgOiBOYU4pOwogICAgfQoKICAgIC8vIENPTVBBUkUKCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHR3byBEYXRlVGltZXMgYXMgYSBEdXJhdGlvbi4KICAgICAqIEBwYXJhbSB7RGF0ZVRpbWV9IG90aGVyRGF0ZVRpbWUgLSB0aGUgRGF0ZVRpbWUgdG8gY29tcGFyZSB0aGlzIG9uZSB0bwogICAgICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IFt1bml0PVsnbWlsbGlzZWNvbmRzJ11dIC0gdGhlIHVuaXQgb3IgYXJyYXkgb2YgdW5pdHMgKHN1Y2ggYXMgJ2hvdXJzJyBvciAnZGF5cycpIHRvIGluY2x1ZGUgaW4gdGhlIGR1cmF0aW9uLgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRoYXQgYWZmZWN0IHRoZSBjcmVhdGlvbiBvZiB0aGUgRHVyYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZQogICAgICogQGV4YW1wbGUKICAgICAqIHZhciBpMSA9IERhdGVUaW1lLmZyb21JU08oJzE5ODItMDUtMjVUMDk6NDUnKSwKICAgICAqICAgICBpMiA9IERhdGVUaW1lLmZyb21JU08oJzE5ODMtMTAtMTRUMTA6MzAnKTsKICAgICAqIGkyLmRpZmYoaTEpLnRvT2JqZWN0KCkgLy89PiB7IG1pbGxpc2Vjb25kczogNDM4MDc1MDAwMDAgfQogICAgICogaTIuZGlmZihpMSwgJ2hvdXJzJykudG9PYmplY3QoKSAvLz0+IHsgaG91cnM6IDEyMTY4Ljc1IH0KICAgICAqIGkyLmRpZmYoaTEsIFsnbW9udGhzJywgJ2RheXMnXSkudG9PYmplY3QoKSAvLz0+IHsgbW9udGhzOiAxNiwgZGF5czogMTkuMDMxMjUgfQogICAgICogaTIuZGlmZihpMSwgWydtb250aHMnLCAnZGF5cycsICdob3VycyddKS50b09iamVjdCgpIC8vPT4geyBtb250aHM6IDE2LCBkYXlzOiAxOSwgaG91cnM6IDAuNzUgfQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIGRpZmYob3RoZXJEYXRlVGltZSwgdW5pdCA9ICJtaWxsaXNlY29uZHMiLCBvcHRzID0ge30pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQgfHwgIW90aGVyRGF0ZVRpbWUuaXNWYWxpZCkgewogICAgICAgIHJldHVybiBEdXJhdGlvbi5pbnZhbGlkKCJjcmVhdGVkIGJ5IGRpZmZpbmcgYW4gaW52YWxpZCBEYXRlVGltZSIpOwogICAgICB9CgogICAgICBjb25zdCBkdXJPcHRzID0geyBsb2NhbGU6IHRoaXMubG9jYWxlLCBudW1iZXJpbmdTeXN0ZW06IHRoaXMubnVtYmVyaW5nU3lzdGVtLCAuLi5vcHRzIH07CgogICAgICBjb25zdCB1bml0cyA9IG1heWJlQXJyYXkodW5pdCkubWFwKER1cmF0aW9uLm5vcm1hbGl6ZVVuaXQpLAogICAgICAgIG90aGVySXNMYXRlciA9IG90aGVyRGF0ZVRpbWUudmFsdWVPZigpID4gdGhpcy52YWx1ZU9mKCksCiAgICAgICAgZWFybGllciA9IG90aGVySXNMYXRlciA/IHRoaXMgOiBvdGhlckRhdGVUaW1lLAogICAgICAgIGxhdGVyID0gb3RoZXJJc0xhdGVyID8gb3RoZXJEYXRlVGltZSA6IHRoaXMsCiAgICAgICAgZGlmZmVkID0gZGlmZihlYXJsaWVyLCBsYXRlciwgdW5pdHMsIGR1ck9wdHMpOwoKICAgICAgcmV0dXJuIG90aGVySXNMYXRlciA/IGRpZmZlZC5uZWdhdGUoKSA6IGRpZmZlZDsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoaXMgRGF0ZVRpbWUgYW5kIHJpZ2h0IG5vdy4KICAgICAqIFNlZSB7QGxpbmsgRGF0ZVRpbWUjZGlmZn0KICAgICAqIEBwYXJhbSB7c3RyaW5nfHN0cmluZ1tdfSBbdW5pdD1bJ21pbGxpc2Vjb25kcyddXSAtIHRoZSB1bml0IG9yIHVuaXRzIHVuaXRzIChzdWNoIGFzICdob3Vycycgb3IgJ2RheXMnKSB0byBpbmNsdWRlIGluIHRoZSBkdXJhdGlvbgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdHMgLSBvcHRpb25zIHRoYXQgYWZmZWN0IHRoZSBjcmVhdGlvbiBvZiB0aGUgRHVyYXRpb24KICAgICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5jb252ZXJzaW9uQWNjdXJhY3k9J2Nhc3VhbCddIC0gdGhlIGNvbnZlcnNpb24gc3lzdGVtIHRvIHVzZQogICAgICogQHJldHVybiB7RHVyYXRpb259CiAgICAgKi8KICAgIGRpZmZOb3codW5pdCA9ICJtaWxsaXNlY29uZHMiLCBvcHRzID0ge30pIHsKICAgICAgcmV0dXJuIHRoaXMuZGlmZihEYXRlVGltZS5ub3coKSwgdW5pdCwgb3B0cyk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gYW4gSW50ZXJ2YWwgc3Bhbm5pbmcgYmV0d2VlbiB0aGlzIERhdGVUaW1lIGFuZCBhbm90aGVyIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBvdGhlckRhdGVUaW1lIC0gdGhlIG90aGVyIGVuZCBwb2ludCBvZiB0aGUgSW50ZXJ2YWwKICAgICAqIEByZXR1cm4ge0ludGVydmFsfQogICAgICovCiAgICB1bnRpbChvdGhlckRhdGVUaW1lKSB7CiAgICAgIHJldHVybiB0aGlzLmlzVmFsaWQgPyBJbnRlcnZhbC5mcm9tRGF0ZVRpbWVzKHRoaXMsIG90aGVyRGF0ZVRpbWUpIDogdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB3aGV0aGVyIHRoaXMgRGF0ZVRpbWUgaXMgaW4gdGhlIHNhbWUgdW5pdCBvZiB0aW1lIGFzIGFub3RoZXIgRGF0ZVRpbWUuCiAgICAgKiBIaWdoZXItb3JkZXIgdW5pdHMgbXVzdCBhbHNvIGJlIGlkZW50aWNhbCBmb3IgdGhpcyBmdW5jdGlvbiB0byByZXR1cm4gYHRydWVgLgogICAgICogTm90ZSB0aGF0IHRpbWUgem9uZXMgYXJlICoqaWdub3JlZCoqIGluIHRoaXMgY29tcGFyaXNvbiwgd2hpY2ggY29tcGFyZXMgdGhlICoqbG9jYWwqKiBjYWxlbmRhciB0aW1lLiBVc2Uge0BsaW5rIERhdGVUaW1lI3NldFpvbmV9IHRvIGNvbnZlcnQgb25lIG9mIHRoZSBkYXRlcyBpZiBuZWVkZWQuCiAgICAgKiBAcGFyYW0ge0RhdGVUaW1lfSBvdGhlckRhdGVUaW1lIC0gdGhlIG90aGVyIERhdGVUaW1lCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdW5pdCAtIHRoZSB1bml0IG9mIHRpbWUgdG8gY2hlY2sgc2FtZW5lc3Mgb24KICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLmhhc1NhbWUob3RoZXJEVCwgJ2RheScpOyAvL34+IHRydWUgaWYgb3RoZXJEVCBpcyBpbiB0aGUgc2FtZSBjdXJyZW50IGNhbGVuZGFyIGRheQogICAgICogQHJldHVybiB7Ym9vbGVhbn0KICAgICAqLwogICAgaGFzU2FtZShvdGhlckRhdGVUaW1lLCB1bml0KSB7CiAgICAgIGlmICghdGhpcy5pc1ZhbGlkKSByZXR1cm4gZmFsc2U7CgogICAgICBjb25zdCBpbnB1dE1zID0gb3RoZXJEYXRlVGltZS52YWx1ZU9mKCk7CiAgICAgIGNvbnN0IGFkanVzdGVkVG9ab25lID0gdGhpcy5zZXRab25lKG90aGVyRGF0ZVRpbWUuem9uZSwgeyBrZWVwTG9jYWxUaW1lOiB0cnVlIH0pOwogICAgICByZXR1cm4gYWRqdXN0ZWRUb1pvbmUuc3RhcnRPZih1bml0KSA8PSBpbnB1dE1zICYmIGlucHV0TXMgPD0gYWRqdXN0ZWRUb1pvbmUuZW5kT2YodW5pdCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBFcXVhbGl0eSBjaGVjawogICAgICogVHdvIERhdGVUaW1lcyBhcmUgZXF1YWwgaWYgYW5kIG9ubHkgaWYgdGhleSByZXByZXNlbnQgdGhlIHNhbWUgbWlsbGlzZWNvbmQsIGhhdmUgdGhlIHNhbWUgem9uZSBhbmQgbG9jYXRpb24sIGFuZCBhcmUgYm90aCB2YWxpZC4KICAgICAqIFRvIGNvbXBhcmUganVzdCB0aGUgbWlsbGlzZWNvbmQgdmFsdWVzLCB1c2UgYCtkdDEgPT09ICtkdDJgLgogICAgICogQHBhcmFtIHtEYXRlVGltZX0gb3RoZXIgLSB0aGUgb3RoZXIgRGF0ZVRpbWUKICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CiAgICAgKi8KICAgIGVxdWFscyhvdGhlcikgewogICAgICByZXR1cm4gKAogICAgICAgIHRoaXMuaXNWYWxpZCAmJgogICAgICAgIG90aGVyLmlzVmFsaWQgJiYKICAgICAgICB0aGlzLnZhbHVlT2YoKSA9PT0gb3RoZXIudmFsdWVPZigpICYmCiAgICAgICAgdGhpcy56b25lLmVxdWFscyhvdGhlci56b25lKSAmJgogICAgICAgIHRoaXMubG9jLmVxdWFscyhvdGhlci5sb2MpCiAgICAgICk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgdGhpcyB0aW1lIHJlbGF0aXZlIHRvIG5vdywgc3VjaCBhcyAiaW4gdHdvIGRheXMiLiBDYW4gb25seSBpbnRlcm5hdGlvbmFsaXplIGlmIHlvdXIKICAgICAqIHBsYXRmb3JtIHN1cHBvcnRzIEludGwuUmVsYXRpdmVUaW1lRm9ybWF0LiBSb3VuZHMgZG93biBieSBkZWZhdWx0LgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBvcHRpb25zIHRoYXQgYWZmZWN0IHRoZSBvdXRwdXQKICAgICAqIEBwYXJhbSB7RGF0ZVRpbWV9IFtvcHRpb25zLmJhc2U9RGF0ZVRpbWUubm93KCldIC0gdGhlIERhdGVUaW1lIHRvIHVzZSBhcyB0aGUgYmFzaXMgdG8gd2hpY2ggdGhpcyB0aW1lIGlzIGNvbXBhcmVkLiBEZWZhdWx0cyB0byBub3cuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW29wdGlvbnMuc3R5bGU9ImxvbmciXSAtIHRoZSBzdHlsZSBvZiB1bml0cywgbXVzdCBiZSAibG9uZyIsICJzaG9ydCIsIG9yICJuYXJyb3ciCiAgICAgKiBAcGFyYW0ge3N0cmluZ3xzdHJpbmdbXX0gb3B0aW9ucy51bml0IC0gdXNlIGEgc3BlY2lmaWMgdW5pdCBvciBhcnJheSBvZiB1bml0czsgaWYgb21pdHRlZCwgb3IgYW4gYXJyYXksIHRoZSBtZXRob2Qgd2lsbCBwaWNrIHRoZSBiZXN0IHVuaXQuIFVzZSBhbiBhcnJheSBvciBvbmUgb2YgInllYXJzIiwgInF1YXJ0ZXJzIiwgIm1vbnRocyIsICJ3ZWVrcyIsICJkYXlzIiwgImhvdXJzIiwgIm1pbnV0ZXMiLCBvciAic2Vjb25kcyIKICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdGlvbnMucm91bmQ9dHJ1ZV0gLSB3aGV0aGVyIHRvIHJvdW5kIHRoZSBudW1iZXJzIGluIHRoZSBvdXRwdXQuCiAgICAgKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMucGFkZGluZz0wXSAtIHBhZGRpbmcgaW4gbWlsbGlzZWNvbmRzLiBUaGlzIGFsbG93cyB5b3UgdG8gcm91bmQgdXAgdGhlIHJlc3VsdCBpZiBpdCBmaXRzIGluc2lkZSB0aGUgdGhyZXNob2xkLiBEb24ndCB1c2UgaW4gY29tYmluYXRpb24gd2l0aCB7cm91bmQ6IGZhbHNlfSBiZWNhdXNlIHRoZSBkZWNpbWFsIG91dHB1dCB3aWxsIGluY2x1ZGUgdGhlIHBhZGRpbmcuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5sb2NhbGUgLSBvdmVycmlkZSB0aGUgbG9jYWxlIG9mIHRoaXMgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLm51bWJlcmluZ1N5c3RlbSAtIG92ZXJyaWRlIHRoZSBudW1iZXJpbmdTeXN0ZW0gb2YgdGhpcyBEYXRlVGltZS4gVGhlIEludGwgc3lzdGVtIG1heSBjaG9vc2Ugbm90IHRvIGhvbm9yIHRoaXMKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnBsdXMoeyBkYXlzOiAxIH0pLnRvUmVsYXRpdmUoKSAvLz0+ICJpbiAxIGRheSIKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnNldExvY2FsZSgiZXMiKS50b1JlbGF0aXZlKHsgZGF5czogMSB9KSAvLz0+ICJkZW50cm8gZGUgMSBkw61hIgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkucGx1cyh7IGRheXM6IDEgfSkudG9SZWxhdGl2ZSh7IGxvY2FsZTogImZyIiB9KSAvLz0+ICJkYW5zIDIzIGhldXJlcyIKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLm1pbnVzKHsgZGF5czogMiB9KS50b1JlbGF0aXZlKCkgLy89PiAiMiBkYXlzIGFnbyIKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLm1pbnVzKHsgZGF5czogMiB9KS50b1JlbGF0aXZlKHsgdW5pdDogImhvdXJzIiB9KSAvLz0+ICI0OCBob3VycyBhZ28iCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5taW51cyh7IGhvdXJzOiAzNiB9KS50b1JlbGF0aXZlKHsgcm91bmQ6IGZhbHNlIH0pIC8vPT4gIjEuNSBkYXlzIGFnbyIKICAgICAqLwogICAgdG9SZWxhdGl2ZShvcHRpb25zID0ge30pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBudWxsOwogICAgICBjb25zdCBiYXNlID0gb3B0aW9ucy5iYXNlIHx8IERhdGVUaW1lLmZyb21PYmplY3Qoe30sIHsgem9uZTogdGhpcy56b25lIH0pLAogICAgICAgIHBhZGRpbmcgPSBvcHRpb25zLnBhZGRpbmcgPyAodGhpcyA8IGJhc2UgPyAtb3B0aW9ucy5wYWRkaW5nIDogb3B0aW9ucy5wYWRkaW5nKSA6IDA7CiAgICAgIGxldCB1bml0cyA9IFsieWVhcnMiLCAibW9udGhzIiwgImRheXMiLCAiaG91cnMiLCAibWludXRlcyIsICJzZWNvbmRzIl07CiAgICAgIGxldCB1bml0ID0gb3B0aW9ucy51bml0OwogICAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLnVuaXQpKSB7CiAgICAgICAgdW5pdHMgPSBvcHRpb25zLnVuaXQ7CiAgICAgICAgdW5pdCA9IHVuZGVmaW5lZDsKICAgICAgfQogICAgICByZXR1cm4gZGlmZlJlbGF0aXZlKGJhc2UsIHRoaXMucGx1cyhwYWRkaW5nKSwgewogICAgICAgIC4uLm9wdGlvbnMsCiAgICAgICAgbnVtZXJpYzogImFsd2F5cyIsCiAgICAgICAgdW5pdHMsCiAgICAgICAgdW5pdCwKICAgICAgfSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgZGF0ZSByZWxhdGl2ZSB0byB0b2RheSwgc3VjaCBhcyAieWVzdGVyZGF5IiBvciAibmV4dCBtb250aCIuCiAgICAgKiBPbmx5IGludGVybmF0aW9uYWxpemVzIG9uIHBsYXRmb3JtcyB0aGF0IHN1cHBvcnRzIEludGwuUmVsYXRpdmVUaW1lRm9ybWF0LgogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBvcHRpb25zIHRoYXQgYWZmZWN0IHRoZSBvdXRwdXQKICAgICAqIEBwYXJhbSB7RGF0ZVRpbWV9IFtvcHRpb25zLmJhc2U9RGF0ZVRpbWUubm93KCldIC0gdGhlIERhdGVUaW1lIHRvIHVzZSBhcyB0aGUgYmFzaXMgdG8gd2hpY2ggdGhpcyB0aW1lIGlzIGNvbXBhcmVkLiBEZWZhdWx0cyB0byBub3cuCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5sb2NhbGUgLSBvdmVycmlkZSB0aGUgbG9jYWxlIG9mIHRoaXMgRGF0ZVRpbWUKICAgICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLnVuaXQgLSB1c2UgYSBzcGVjaWZpYyB1bml0OyBpZiBvbWl0dGVkLCB0aGUgbWV0aG9kIHdpbGwgcGljayB0aGUgdW5pdC4gVXNlIG9uZSBvZiAieWVhcnMiLCAicXVhcnRlcnMiLCAibW9udGhzIiwgIndlZWtzIiwgb3IgImRheXMiCiAgICAgKiBAcGFyYW0ge3N0cmluZ30gb3B0aW9ucy5udW1iZXJpbmdTeXN0ZW0gLSBvdmVycmlkZSB0aGUgbnVtYmVyaW5nU3lzdGVtIG9mIHRoaXMgRGF0ZVRpbWUuIFRoZSBJbnRsIHN5c3RlbSBtYXkgY2hvb3NlIG5vdCB0byBob25vciB0aGlzCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlQ2FsZW5kYXIoKSAvLz0+ICJ0b21vcnJvdyIKICAgICAqIEBleGFtcGxlIERhdGVUaW1lLm5vdygpLnNldExvY2FsZSgiZXMiKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlKCkgLy89PiAiIm1hw7FhbmEiCiAgICAgKiBAZXhhbXBsZSBEYXRlVGltZS5ub3coKS5wbHVzKHsgZGF5czogMSB9KS50b1JlbGF0aXZlQ2FsZW5kYXIoeyBsb2NhbGU6ICJmciIgfSkgLy89PiAiZGVtYWluIgogICAgICogQGV4YW1wbGUgRGF0ZVRpbWUubm93KCkubWludXMoeyBkYXlzOiAyIH0pLnRvUmVsYXRpdmVDYWxlbmRhcigpIC8vPT4gIjIgZGF5cyBhZ28iCiAgICAgKi8KICAgIHRvUmVsYXRpdmVDYWxlbmRhcihvcHRpb25zID0ge30pIHsKICAgICAgaWYgKCF0aGlzLmlzVmFsaWQpIHJldHVybiBudWxsOwoKICAgICAgcmV0dXJuIGRpZmZSZWxhdGl2ZShvcHRpb25zLmJhc2UgfHwgRGF0ZVRpbWUuZnJvbU9iamVjdCh7fSwgeyB6b25lOiB0aGlzLnpvbmUgfSksIHRoaXMsIHsKICAgICAgICAuLi5vcHRpb25zLAogICAgICAgIG51bWVyaWM6ICJhdXRvIiwKICAgICAgICB1bml0czogWyJ5ZWFycyIsICJtb250aHMiLCAiZGF5cyJdLAogICAgICAgIGNhbGVuZGFyeTogdHJ1ZSwKICAgICAgfSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBSZXR1cm4gdGhlIG1pbiBvZiBzZXZlcmFsIGRhdGUgdGltZXMKICAgICAqIEBwYXJhbSB7Li4uRGF0ZVRpbWV9IGRhdGVUaW1lcyAtIHRoZSBEYXRlVGltZXMgZnJvbSB3aGljaCB0byBjaG9vc2UgdGhlIG1pbmltdW0KICAgICAqIEByZXR1cm4ge0RhdGVUaW1lfSB0aGUgbWluIERhdGVUaW1lLCBvciB1bmRlZmluZWQgaWYgY2FsbGVkIHdpdGggbm8gYXJndW1lbnQKICAgICAqLwogICAgc3RhdGljIG1pbiguLi5kYXRlVGltZXMpIHsKICAgICAgaWYgKCFkYXRlVGltZXMuZXZlcnkoRGF0ZVRpbWUuaXNEYXRlVGltZSkpIHsKICAgICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoIm1pbiByZXF1aXJlcyBhbGwgYXJndW1lbnRzIGJlIERhdGVUaW1lcyIpOwogICAgICB9CiAgICAgIHJldHVybiBiZXN0QnkoZGF0ZVRpbWVzLCAoaSkgPT4gaS52YWx1ZU9mKCksIE1hdGgubWluKTsKICAgIH0KCiAgICAvKioKICAgICAqIFJldHVybiB0aGUgbWF4IG9mIHNldmVyYWwgZGF0ZSB0aW1lcwogICAgICogQHBhcmFtIHsuLi5EYXRlVGltZX0gZGF0ZVRpbWVzIC0gdGhlIERhdGVUaW1lcyBmcm9tIHdoaWNoIHRvIGNob29zZSB0aGUgbWF4aW11bQogICAgICogQHJldHVybiB7RGF0ZVRpbWV9IHRoZSBtYXggRGF0ZVRpbWUsIG9yIHVuZGVmaW5lZCBpZiBjYWxsZWQgd2l0aCBubyBhcmd1bWVudAogICAgICovCiAgICBzdGF0aWMgbWF4KC4uLmRhdGVUaW1lcykgewogICAgICBpZiAoIWRhdGVUaW1lcy5ldmVyeShEYXRlVGltZS5pc0RhdGVUaW1lKSkgewogICAgICAgIHRocm93IG5ldyBJbnZhbGlkQXJndW1lbnRFcnJvcigibWF4IHJlcXVpcmVzIGFsbCBhcmd1bWVudHMgYmUgRGF0ZVRpbWVzIik7CiAgICAgIH0KICAgICAgcmV0dXJuIGJlc3RCeShkYXRlVGltZXMsIChpKSA9PiBpLnZhbHVlT2YoKSwgTWF0aC5tYXgpOwogICAgfQoKICAgIC8vIE1JU0MKCiAgICAvKioKICAgICAqIEV4cGxhaW4gaG93IGEgc3RyaW5nIHdvdWxkIGJlIHBhcnNlZCBieSBmcm9tRm9ybWF0KCkKICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gdGhlIHN0cmluZyB0byBwYXJzZQogICAgICogQHBhcmFtIHtzdHJpbmd9IGZtdCAtIHRoZSBmb3JtYXQgdGhlIHN0cmluZyBpcyBleHBlY3RlZCB0byBiZSBpbiAoc2VlIGRlc2NyaXB0aW9uKQogICAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBvcHRpb25zIHRha2VuIGJ5IGZyb21Gb3JtYXQoKQogICAgICogQHJldHVybiB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZnJvbUZvcm1hdEV4cGxhaW4odGV4dCwgZm10LCBvcHRpb25zID0ge30pIHsKICAgICAgY29uc3QgeyBsb2NhbGUgPSBudWxsLCBudW1iZXJpbmdTeXN0ZW0gPSBudWxsIH0gPSBvcHRpb25zLAogICAgICAgIGxvY2FsZVRvVXNlID0gTG9jYWxlLmZyb21PcHRzKHsKICAgICAgICAgIGxvY2FsZSwKICAgICAgICAgIG51bWJlcmluZ1N5c3RlbSwKICAgICAgICAgIGRlZmF1bHRUb0VOOiB0cnVlLAogICAgICAgIH0pOwogICAgICByZXR1cm4gZXhwbGFpbkZyb21Ub2tlbnMobG9jYWxlVG9Vc2UsIHRleHQsIGZtdCk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgZnJvbUZvcm1hdEV4cGxhaW4gaW5zdGVhZAogICAgICovCiAgICBzdGF0aWMgZnJvbVN0cmluZ0V4cGxhaW4odGV4dCwgZm10LCBvcHRpb25zID0ge30pIHsKICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21Gb3JtYXRFeHBsYWluKHRleHQsIGZtdCwgb3B0aW9ucyk7CiAgICB9CgogICAgLy8gRk9STUFUIFBSRVNFVFMKCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgMTAvMTQvMTk4MwogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFX1NIT1JUKCkgewogICAgICByZXR1cm4gREFURV9TSE9SVDsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdCAxNCwgMTk4MycKICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURV9NRUQoKSB7CiAgICAgIHJldHVybiBEQVRFX01FRDsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ0ZyaSwgT2N0IDE0LCAxOTgzJwogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFX01FRF9XSVRIX1dFRUtEQVkoKSB7CiAgICAgIHJldHVybiBEQVRFX01FRF9XSVRIX1dFRUtEQVk7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdPY3RvYmVyIDE0LCAxOTgzJwogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFX0ZVTEwoKSB7CiAgICAgIHJldHVybiBEQVRFX0ZVTEw7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdUdWVzZGF5LCBPY3RvYmVyIDE0LCAxOTgzJwogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFX0hVR0UoKSB7CiAgICAgIHJldHVybiBEQVRFX0hVR0U7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBUSU1FX1NJTVBMRSgpIHsKICAgICAgcmV0dXJuIFRJTUVfU0lNUExFOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzA6MjMgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV9XSVRIX1NFQ09ORFMoKSB7CiAgICAgIHJldHVybiBUSU1FX1dJVEhfU0VDT05EUzsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzA5OjMwOjIzIEFNIEVEVCcuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBUSU1FX1dJVEhfU0hPUlRfT0ZGU0VUKCkgewogICAgICByZXR1cm4gVElNRV9XSVRIX1NIT1JUX09GRlNFVDsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzA5OjMwOjIzIEFNIEVhc3Rlcm4gRGF5bGlnaHQgVGltZScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBUSU1FX1dJVEhfTE9OR19PRkZTRVQoKSB7CiAgICAgIHJldHVybiBUSU1FX1dJVEhfTE9OR19PRkZTRVQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcwOTozMCcsIGFsd2F5cyAyNC1ob3VyLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBUSU1FXzI0X1NJTVBMRSgpIHsKICAgICAgcmV0dXJuIFRJTUVfMjRfU0lNUExFOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnMDk6MzA6MjMnLCBhbHdheXMgMjQtaG91ci4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgVElNRV8yNF9XSVRIX1NFQ09ORFMoKSB7CiAgICAgIHJldHVybiBUSU1FXzI0X1dJVEhfU0VDT05EUzsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzA5OjMwOjIzIEVEVCcsIGFsd2F5cyAyNC1ob3VyLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBUSU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VUKCkgewogICAgICByZXR1cm4gVElNRV8yNF9XSVRIX1NIT1JUX09GRlNFVDsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJzA5OjMwOjIzIEVhc3Rlcm4gRGF5bGlnaHQgVGltZScsIGFsd2F5cyAyNC1ob3VyLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBUSU1FXzI0X1dJVEhfTE9OR19PRkZTRVQoKSB7CiAgICAgIHJldHVybiBUSU1FXzI0X1dJVEhfTE9OR19PRkZTRVQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcxMC8xNC8xOTgzLCA5OjMwIEFNJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IERBVEVUSU1FX1NIT1JUKCkgewogICAgICByZXR1cm4gREFURVRJTUVfU0hPUlQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICcxMC8xNC8xOTgzLCA5OjMwOjMzIEFNJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IERBVEVUSU1FX1NIT1JUX1dJVEhfU0VDT05EUygpIHsKICAgICAgcmV0dXJuIERBVEVUSU1FX1NIT1JUX1dJVEhfU0VDT05EUzsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ09jdCAxNCwgMTk4MywgOTozMCBBTScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFVElNRV9NRUQoKSB7CiAgICAgIHJldHVybiBEQVRFVElNRV9NRUQ7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdPY3QgMTQsIDE5ODMsIDk6MzA6MzMgQU0nLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUygpIHsKICAgICAgcmV0dXJuIERBVEVUSU1FX01FRF9XSVRIX1NFQ09ORFM7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdGcmksIDE0IE9jdCAxOTgzLCA5OjMwIEFNJy4gT25seSAxMi1ob3VyIGlmIHRoZSBsb2NhbGUgaXMuCiAgICAgKiBAdHlwZSB7T2JqZWN0fQogICAgICovCiAgICBzdGF0aWMgZ2V0IERBVEVUSU1FX01FRF9XSVRIX1dFRUtEQVkoKSB7CiAgICAgIHJldHVybiBEQVRFVElNRV9NRURfV0lUSF9XRUVLREFZOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnT2N0b2JlciAxNCwgMTk4MywgOTozMCBBTSBFRFQnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURVRJTUVfRlVMTCgpIHsKICAgICAgcmV0dXJuIERBVEVUSU1FX0ZVTEw7CiAgICB9CgogICAgLyoqCiAgICAgKiB7QGxpbmsgRGF0ZVRpbWUjdG9Mb2NhbGVTdHJpbmd9IGZvcm1hdCBsaWtlICdPY3RvYmVyIDE0LCAxOTgzLCA5OjMwOjMzIEFNIEVEVCcuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFVElNRV9GVUxMX1dJVEhfU0VDT05EUygpIHsKICAgICAgcmV0dXJuIERBVEVUSU1FX0ZVTExfV0lUSF9TRUNPTkRTOwogICAgfQoKICAgIC8qKgogICAgICoge0BsaW5rIERhdGVUaW1lI3RvTG9jYWxlU3RyaW5nfSBmb3JtYXQgbGlrZSAnRnJpZGF5LCBPY3RvYmVyIDE0LCAxOTgzLCA5OjMwIEFNIEVhc3Rlcm4gRGF5bGlnaHQgVGltZScuIE9ubHkgMTItaG91ciBpZiB0aGUgbG9jYWxlIGlzLgogICAgICogQHR5cGUge09iamVjdH0KICAgICAqLwogICAgc3RhdGljIGdldCBEQVRFVElNRV9IVUdFKCkgewogICAgICByZXR1cm4gREFURVRJTUVfSFVHRTsKICAgIH0KCiAgICAvKioKICAgICAqIHtAbGluayBEYXRlVGltZSN0b0xvY2FsZVN0cmluZ30gZm9ybWF0IGxpa2UgJ0ZyaWRheSwgT2N0b2JlciAxNCwgMTk4MywgOTozMDozMyBBTSBFYXN0ZXJuIERheWxpZ2h0IFRpbWUnLiBPbmx5IDEyLWhvdXIgaWYgdGhlIGxvY2FsZSBpcy4KICAgICAqIEB0eXBlIHtPYmplY3R9CiAgICAgKi8KICAgIHN0YXRpYyBnZXQgREFURVRJTUVfSFVHRV9XSVRIX1NFQ09ORFMoKSB7CiAgICAgIHJldHVybiBEQVRFVElNRV9IVUdFX1dJVEhfU0VDT05EUzsKICAgIH0KICB9CgogIC8qKgogICAqIEBwcml2YXRlCiAgICovCiAgZnVuY3Rpb24gZnJpZW5kbHlEYXRlVGltZShkYXRlVGltZWlzaCkgewogICAgaWYgKERhdGVUaW1lLmlzRGF0ZVRpbWUoZGF0ZVRpbWVpc2gpKSB7CiAgICAgIHJldHVybiBkYXRlVGltZWlzaDsKICAgIH0gZWxzZSBpZiAoZGF0ZVRpbWVpc2ggJiYgZGF0ZVRpbWVpc2gudmFsdWVPZiAmJiBpc051bWJlcihkYXRlVGltZWlzaC52YWx1ZU9mKCkpKSB7CiAgICAgIHJldHVybiBEYXRlVGltZS5mcm9tSlNEYXRlKGRhdGVUaW1laXNoKTsKICAgIH0gZWxzZSBpZiAoZGF0ZVRpbWVpc2ggJiYgdHlwZW9mIGRhdGVUaW1laXNoID09PSAib2JqZWN0IikgewogICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbU9iamVjdChkYXRlVGltZWlzaCk7CiAgICB9IGVsc2UgewogICAgICB0aHJvdyBuZXcgSW52YWxpZEFyZ3VtZW50RXJyb3IoCiAgICAgICAgYFVua25vd24gZGF0ZXRpbWUgYXJndW1lbnQ6ICR7ZGF0ZVRpbWVpc2h9LCBvZiB0eXBlICR7dHlwZW9mIGRhdGVUaW1laXNofWAKICAgICAgKTsKICAgIH0KICB9CgogIC8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgLy8gUXVlcnkgU2V0dGluZ3MgLy8KICAvLy8vLy8vLy8vLy8vLy8vLy8vLwogIGNvbnN0IERFRkFVTFRfUVVFUllfU0VUVElOR1MgPSB7CiAgICAgIHJlbmRlck51bGxBczogIlxcLSIsCiAgICAgIHRhc2tDb21wbGV0aW9uVHJhY2tpbmc6IGZhbHNlLAogICAgICB0YXNrQ29tcGxldGlvblVzZUVtb2ppU2hvcnRoYW5kOiBmYWxzZSwKICAgICAgdGFza0NvbXBsZXRpb25UZXh0OiAiY29tcGxldGlvbiIsCiAgICAgIHRhc2tDb21wbGV0aW9uRGF0ZUZvcm1hdDogInl5eXktTU0tZGQiLAogICAgICByZWN1cnNpdmVTdWJUYXNrQ29tcGxldGlvbjogZmFsc2UsCiAgICAgIHdhcm5PbkVtcHR5UmVzdWx0OiB0cnVlLAogICAgICByZWZyZXNoRW5hYmxlZDogdHJ1ZSwKICAgICAgcmVmcmVzaEludGVydmFsOiAyNTAwLAogICAgICBkZWZhdWx0RGF0ZUZvcm1hdDogIk1NTU0gZGQsIHl5eXkiLAogICAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXQ6ICJoOm1tIGEgLSBNTU1NIGRkLCB5eXl5IiwKICAgICAgbWF4UmVjdXJzaXZlUmVuZGVyRGVwdGg6IDQsCiAgICAgIHRhYmxlSWRDb2x1bW5OYW1lOiAiRmlsZSIsCiAgICAgIHRhYmxlR3JvdXBDb2x1bW5OYW1lOiAiR3JvdXAiLAogICAgICBzaG93UmVzdWx0Q291bnQ6IHRydWUsCiAgfTsKICBjb25zdCBERUZBVUxUX0VYUE9SVF9TRVRUSU5HUyA9IHsKICAgICAgYWxsb3dIdG1sOiB0cnVlLAogIH07CiAgLyoqIERlZmF1bHQgc2V0dGluZ3MgZm9yIGRhdGF2aWV3IG9uIGluc3RhbGwuICovCiAgKHsKICAgICAgLi4uREVGQVVMVF9RVUVSWV9TRVRUSU5HUywKICAgICAgLi4uREVGQVVMVF9FWFBPUlRfU0VUVElOR1MsCiAgICAgIC4uLnsKICAgICAgICAgIGlubGluZVF1ZXJ5UHJlZml4OiAiPSIsCiAgICAgICAgICBpbmxpbmVKc1F1ZXJ5UHJlZml4OiAiJD0iLAogICAgICAgICAgaW5saW5lUXVlcmllc0luQ29kZWJsb2NrczogdHJ1ZSwKICAgICAgICAgIGVuYWJsZUlubGluZURhdGF2aWV3OiB0cnVlLAogICAgICAgICAgZW5hYmxlRGF0YXZpZXdKczogZmFsc2UsCiAgICAgICAgICBlbmFibGVJbmxpbmVEYXRhdmlld0pzOiBmYWxzZSwKICAgICAgICAgIHByZXR0eVJlbmRlcklubGluZUZpZWxkczogdHJ1ZSwKICAgICAgICAgIHByZXR0eVJlbmRlcklubGluZUZpZWxkc0luTGl2ZVByZXZpZXc6IHRydWUsCiAgICAgICAgICBkYXRhdmlld0pzS2V5d29yZDogImRhdGF2aWV3anMiLAogICAgICB9LAogIH0pOwoKICAvKiogRnVuY3Rpb25hbCByZXR1cm4gdHlwZSBmb3IgZXJyb3IgaGFuZGxpbmcuICovCiAgY2xhc3MgU3VjY2VzcyB7CiAgICAgIHZhbHVlOwogICAgICBzdWNjZXNzZnVsOwogICAgICBjb25zdHJ1Y3Rvcih2YWx1ZSkgewogICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogICAgICAgICAgdGhpcy5zdWNjZXNzZnVsID0gdHJ1ZTsKICAgICAgfQogICAgICBtYXAoZikgewogICAgICAgICAgcmV0dXJuIG5ldyBTdWNjZXNzKGYodGhpcy52YWx1ZSkpOwogICAgICB9CiAgICAgIGZsYXRNYXAoZikgewogICAgICAgICAgcmV0dXJuIGYodGhpcy52YWx1ZSk7CiAgICAgIH0KICAgICAgbWFwRXJyKGYpIHsKICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICB9CiAgICAgIGJpbWFwKHN1Y2MsIF9mYWlsKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy5tYXAoc3VjYyk7CiAgICAgIH0KICAgICAgb3JFbHNlKF92YWx1ZSkgewogICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7CiAgICAgIH0KICAgICAgY2FzdCgpIHsKICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICB9CiAgICAgIG9yRWxzZVRocm93KF9tZXNzYWdlKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy52YWx1ZTsKICAgICAgfQogIH0KICAvKiogRnVuY3Rpb25hbCByZXR1cm4gdHlwZSBmb3IgZXJyb3IgaGFuZGxpbmcuICovCiAgY2xhc3MgRmFpbHVyZSB7CiAgICAgIGVycm9yOwogICAgICBzdWNjZXNzZnVsOwogICAgICBjb25zdHJ1Y3RvcihlcnJvcikgewogICAgICAgICAgdGhpcy5lcnJvciA9IGVycm9yOwogICAgICAgICAgdGhpcy5zdWNjZXNzZnVsID0gZmFsc2U7CiAgICAgIH0KICAgICAgbWFwKF9mKSB7CiAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgfQogICAgICBmbGF0TWFwKF9mKSB7CiAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgfQogICAgICBtYXBFcnIoZikgewogICAgICAgICAgcmV0dXJuIG5ldyBGYWlsdXJlKGYodGhpcy5lcnJvcikpOwogICAgICB9CiAgICAgIGJpbWFwKF9zdWNjLCBmYWlsKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy5tYXBFcnIoZmFpbCk7CiAgICAgIH0KICAgICAgb3JFbHNlKHZhbHVlKSB7CiAgICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgIH0KICAgICAgY2FzdCgpIHsKICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICB9CiAgICAgIG9yRWxzZVRocm93KG1lc3NhZ2UpIHsKICAgICAgICAgIGlmIChtZXNzYWdlKQogICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKHRoaXMuZXJyb3IpKTsKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIiIgKyB0aGlzLmVycm9yKTsKICAgICAgfQogIH0KICAvKiogTW9uYWRpYyAnUmVzdWx0JyB0eXBlIHdoaWNoIGVuY2Fwc3VsYXRlcyB3aGV0aGVyIGEgcHJvY2VkdXJlIHN1Y2NlZWRlZCBvciBmYWlsZWQsIGFzIHdlbGwgYXMgaXQncyByZXR1cm4gdmFsdWUuICovCiAgdmFyIFJlc3VsdDsKICAoZnVuY3Rpb24gKFJlc3VsdCkgewogICAgICAvKiogQ29uc3RydWN0IGEgbmV3IHN1Y2Nlc3MgcmVzdWx0IHdyYXBwaW5nIHRoZSBnaXZlbiB2YWx1ZS4gKi8KICAgICAgZnVuY3Rpb24gc3VjY2Vzcyh2YWx1ZSkgewogICAgICAgICAgcmV0dXJuIG5ldyBTdWNjZXNzKHZhbHVlKTsKICAgICAgfQogICAgICBSZXN1bHQuc3VjY2VzcyA9IHN1Y2Nlc3M7CiAgICAgIC8qKiBDb25zdHJ1Y3QgYSBuZXcgZmFpbHVyZSB2YWx1ZSB3cmFwcGluZyB0aGUgZ2l2ZW4gZXJyb3IuICovCiAgICAgIGZ1bmN0aW9uIGZhaWx1cmUoZXJyb3IpIHsKICAgICAgICAgIHJldHVybiBuZXcgRmFpbHVyZShlcnJvcik7CiAgICAgIH0KICAgICAgUmVzdWx0LmZhaWx1cmUgPSBmYWlsdXJlOwogICAgICAvKiogSm9pbiB0d28gcmVzdWx0cyB3aXRoIGEgYmktZnVuY3Rpb24gYW5kIHJldHVybiBhIG5ldyByZXN1bHQuICovCiAgICAgIGZ1bmN0aW9uIGZsYXRNYXAyKGZpcnN0LCBzZWNvbmQsIGYpIHsKICAgICAgICAgIGlmIChmaXJzdC5zdWNjZXNzZnVsKSB7CiAgICAgICAgICAgICAgaWYgKHNlY29uZC5zdWNjZXNzZnVsKQogICAgICAgICAgICAgICAgICByZXR1cm4gZihmaXJzdC52YWx1ZSwgc2Vjb25kLnZhbHVlKTsKICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgIHJldHVybiBmYWlsdXJlKHNlY29uZC5lcnJvcik7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gZmFpbHVyZShmaXJzdC5lcnJvcik7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgUmVzdWx0LmZsYXRNYXAyID0gZmxhdE1hcDI7CiAgICAgIC8qKiBKb2luIHR3byByZXN1bHRzIHdpdGggYSBiaS1mdW5jdGlvbiBhbmQgcmV0dXJuIGEgbmV3IHJlc3VsdC4gKi8KICAgICAgZnVuY3Rpb24gbWFwMihmaXJzdCwgc2Vjb25kLCBmKSB7CiAgICAgICAgICByZXR1cm4gZmxhdE1hcDIoZmlyc3QsIHNlY29uZCwgKGEsIGIpID0+IHN1Y2Nlc3MoZihhLCBiKSkpOwogICAgICB9CiAgICAgIFJlc3VsdC5tYXAyID0gbWFwMjsKICB9KShSZXN1bHQgfHwgKFJlc3VsdCA9IHt9KSk7CgogIHZhciBjb21tb25qc0dsb2JhbCA9IHR5cGVvZiBnbG9iYWxUaGlzICE9PSAndW5kZWZpbmVkJyA/IGdsb2JhbFRoaXMgOiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHR5cGVvZiBnbG9iYWwgIT09ICd1bmRlZmluZWQnID8gZ2xvYmFsIDogdHlwZW9mIHNlbGYgIT09ICd1bmRlZmluZWQnID8gc2VsZiA6IHt9OwoKICB2YXIgcGFyc2ltbW9uX3VtZF9taW4gPSB7ZXhwb3J0czoge319OwoKICBwYXJzaW1tb25fdW1kX21pbi5leHBvcnRzOwoKICAoZnVuY3Rpb24gKG1vZHVsZSwgZXhwb3J0cykgewogIAkhZnVuY3Rpb24obix0KXttb2R1bGUuZXhwb3J0cz10KCk7fSgidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGY/c2VsZjpjb21tb25qc0dsb2JhbCxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbihuKXt2YXIgdD17fTtmdW5jdGlvbiByKGUpe2lmKHRbZV0pcmV0dXJuIHRbZV0uZXhwb3J0czt2YXIgdT10W2VdPXtpOmUsbDohMSxleHBvcnRzOnt9fTtyZXR1cm4gbltlXS5jYWxsKHUuZXhwb3J0cyx1LHUuZXhwb3J0cyxyKSx1Lmw9ITAsdS5leHBvcnRzfXJldHVybiByLm09bixyLmM9dCxyLmQ9ZnVuY3Rpb24obix0LGUpe3IubyhuLHQpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkobix0LHtjb25maWd1cmFibGU6ITEsZW51bWVyYWJsZTohMCxnZXQ6ZX0pO30sci5yPWZ1bmN0aW9uKG4pe09iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KTt9LHIubj1mdW5jdGlvbihuKXt2YXIgdD1uJiZuLl9fZXNNb2R1bGU/ZnVuY3Rpb24oKXtyZXR1cm4gbi5kZWZhdWx0fTpmdW5jdGlvbigpe3JldHVybiBufTtyZXR1cm4gci5kKHQsImEiLHQpLHR9LHIubz1mdW5jdGlvbihuLHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobix0KX0sci5wPSIiLHIoci5zPTApfShbZnVuY3Rpb24obix0LHIpe2Z1bmN0aW9uIGUobil7aWYoISh0aGlzIGluc3RhbmNlb2YgZSkpcmV0dXJuIG5ldyBlKG4pO3RoaXMuXz1uO312YXIgdT1lLnByb3RvdHlwZTtmdW5jdGlvbiBvKG4sdCl7Zm9yKHZhciByPTA7cjxuO3IrKyl0KHIpO31mdW5jdGlvbiBpKG4sdCxyKXtyZXR1cm4gZnVuY3Rpb24obix0KXtvKHQubGVuZ3RoLGZ1bmN0aW9uKHIpe24odFtyXSxyLHQpO30pO30oZnVuY3Rpb24ocixlLHUpe3Q9bih0LHIsZSx1KTt9LHIpLHR9ZnVuY3Rpb24gYShuLHQpe3JldHVybiBpKGZ1bmN0aW9uKHQscixlLHUpe3JldHVybiB0LmNvbmNhdChbbihyLGUsdSldKX0sW10sdCl9ZnVuY3Rpb24gZihuLHQpe3ZhciByPXt2OjAsYnVmOnR9O3JldHVybiBvKG4sZnVuY3Rpb24oKXt2YXIgbjtyPXt2OnIudjw8MXwobj1yLmJ1ZixuWzBdPj43KSxidWY6ZnVuY3Rpb24obil7dmFyIHQ9aShmdW5jdGlvbihuLHQscixlKXtyZXR1cm4gbi5jb25jYXQocj09PWUubGVuZ3RoLTE/QnVmZmVyLmZyb20oW3QsMF0pLnJlYWRVSW50MTZCRSgwKTplLnJlYWRVSW50MTZCRShyKSl9LFtdLG4pO3JldHVybiBCdWZmZXIuZnJvbShhKGZ1bmN0aW9uKG4pe3JldHVybiAobjw8MSY2NTUzNSk+Pjh9LHQpKX0oci5idWYpfTt9KSxyfWZ1bmN0aW9uIGMoKXtyZXR1cm4gInVuZGVmaW5lZCIhPXR5cGVvZiBCdWZmZXJ9ZnVuY3Rpb24gcygpe2lmKCFjKCkpdGhyb3cgbmV3IEVycm9yKCJCdWZmZXIgZ2xvYmFsIGRvZXMgbm90IGV4aXN0OyBwbGVhc2UgdXNlIHdlYnBhY2sgaWYgeW91IG5lZWQgdG8gcGFyc2UgQnVmZmVycyBpbiB0aGUgYnJvd3Nlci4iKX1mdW5jdGlvbiBsKG4pe3MoKTt2YXIgdD1pKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIG4rdH0sMCxuKTtpZih0JTghPTApdGhyb3cgbmV3IEVycm9yKCJUaGUgYml0cyBbIituLmpvaW4oIiwgIikrIl0gYWRkIHVwIHRvICIrdCsiIHdoaWNoIGlzIG5vdCBhbiBldmVuIG51bWJlciBvZiBieXRlczsgdGhlIHRvdGFsIHNob3VsZCBiZSBkaXZpc2libGUgYnkgOCIpO3ZhciByLHU9dC84LG89KHI9ZnVuY3Rpb24obil7cmV0dXJuIG4+NDh9LGkoZnVuY3Rpb24obix0KXtyZXR1cm4gbnx8KHIodCk/dDpuKX0sbnVsbCxuKSk7aWYobyl0aHJvdyBuZXcgRXJyb3IobysiIGJpdCByYW5nZSByZXF1ZXN0ZWQgZXhjZWVkcyA0OCBiaXQgKDYgYnl0ZSkgTnVtYmVyIG1heC4iKTtyZXR1cm4gbmV3IGUoZnVuY3Rpb24odCxyKXt2YXIgZT11K3I7cmV0dXJuIGU+dC5sZW5ndGg/eChyLHUudG9TdHJpbmcoKSsiIGJ5dGVzIik6YihlLGkoZnVuY3Rpb24obix0KXt2YXIgcj1mKHQsbi5idWYpO3JldHVybiB7Y29sbDpuLmNvbGwuY29uY2F0KHIudiksYnVmOnIuYnVmfX0se2NvbGw6W10sYnVmOnQuc2xpY2UocixlKX0sbikuY29sbCl9KX1mdW5jdGlvbiBoKG4sdCl7cmV0dXJuIG5ldyBlKGZ1bmN0aW9uKHIsZSl7cmV0dXJuIHMoKSxlK3Q+ci5sZW5ndGg/eChlLHQrIiBieXRlcyBmb3IgIituKTpiKGUrdCxyLnNsaWNlKGUsZSt0KSl9KX1mdW5jdGlvbiBwKG4sdCl7aWYoIm51bWJlciIhPXR5cGVvZihyPXQpfHxNYXRoLmZsb29yKHIpIT09cnx8dDwwfHx0PjYpdGhyb3cgbmV3IEVycm9yKG4rIiByZXF1aXJlcyBpbnRlZ2VyIGxlbmd0aCBpbiByYW5nZSBbMCwgNl0uIik7dmFyIHI7fWZ1bmN0aW9uIGQobil7cmV0dXJuIHAoInVpbnRCRSIsbiksaCgidWludEJFKCIrbisiKSIsbikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlYWRVSW50QkUoMCxuKX0pfWZ1bmN0aW9uIHYobil7cmV0dXJuIHAoInVpbnRMRSIsbiksaCgidWludExFKCIrbisiKSIsbikubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlYWRVSW50TEUoMCxuKX0pfWZ1bmN0aW9uIGcobil7cmV0dXJuIHAoImludEJFIixuKSxoKCJpbnRCRSgiK24rIikiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkSW50QkUoMCxuKX0pfWZ1bmN0aW9uIG0obil7cmV0dXJuIHAoImludExFIixuKSxoKCJpbnRMRSgiK24rIikiLG4pLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZWFkSW50TEUoMCxuKX0pfWZ1bmN0aW9uIHkobil7cmV0dXJuIG4gaW5zdGFuY2VvZiBlfWZ1bmN0aW9uIEUobil7cmV0dXJuICJbb2JqZWN0IEFycmF5XSI9PT17fS50b1N0cmluZy5jYWxsKG4pfWZ1bmN0aW9uIHcobil7cmV0dXJuIGMoKSYmQnVmZmVyLmlzQnVmZmVyKG4pfWZ1bmN0aW9uIGIobix0KXtyZXR1cm4ge3N0YXR1czohMCxpbmRleDpuLHZhbHVlOnQsZnVydGhlc3Q6LTEsZXhwZWN0ZWQ6W119fWZ1bmN0aW9uIHgobix0KXtyZXR1cm4gRSh0KXx8KHQ9W3RdKSx7c3RhdHVzOiExLGluZGV4Oi0xLHZhbHVlOm51bGwsZnVydGhlc3Q6bixleHBlY3RlZDp0fX1mdW5jdGlvbiBCKG4sdCl7aWYoIXQpcmV0dXJuIG47aWYobi5mdXJ0aGVzdD50LmZ1cnRoZXN0KXJldHVybiBuO3ZhciByPW4uZnVydGhlc3Q9PT10LmZ1cnRoZXN0P2Z1bmN0aW9uKG4sdCl7aWYoZnVuY3Rpb24oKXtpZih2b2lkIDAhPT1lLl9zdXBwb3J0c1NldClyZXR1cm4gZS5fc3VwcG9ydHNTZXQ7dmFyIG49InVuZGVmaW5lZCIhPXR5cGVvZiBTZXQ7cmV0dXJuIGUuX3N1cHBvcnRzU2V0PW4sbn0oKSYmQXJyYXkuZnJvbSl7Zm9yKHZhciByPW5ldyBTZXQobiksdT0wO3U8dC5sZW5ndGg7dSsrKXIuYWRkKHRbdV0pO3ZhciBvPUFycmF5LmZyb20ocik7cmV0dXJuIG8uc29ydCgpLG99Zm9yKHZhciBpPXt9LGE9MDthPG4ubGVuZ3RoO2ErKylpW25bYV1dPSEwO2Zvcih2YXIgZj0wO2Y8dC5sZW5ndGg7ZisrKWlbdFtmXV09ITA7dmFyIGM9W107Zm9yKHZhciBzIGluIGkpKHt9KS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGkscykmJmMucHVzaChzKTtyZXR1cm4gYy5zb3J0KCksY30obi5leHBlY3RlZCx0LmV4cGVjdGVkKTp0LmV4cGVjdGVkO3JldHVybiB7c3RhdHVzOm4uc3RhdHVzLGluZGV4Om4uaW5kZXgsdmFsdWU6bi52YWx1ZSxmdXJ0aGVzdDp0LmZ1cnRoZXN0LGV4cGVjdGVkOnJ9fXZhciBqPXt9O2Z1bmN0aW9uIFMobix0KXtpZih3KG4pKXJldHVybiB7b2Zmc2V0OnQsbGluZTotMSxjb2x1bW46LTF9O24gaW4ganx8KGpbbl09e30pO2Zvcih2YXIgcj1qW25dLGU9MCx1PTAsbz0wLGk9dDtpPj0wOyl7aWYoaSBpbiByKXtlPXJbaV0ubGluZSwwPT09byYmKG89cltpXS5saW5lU3RhcnQpO2JyZWFrfSgiXG4iPT09bi5jaGFyQXQoaSl8fCJcciI9PT1uLmNoYXJBdChpKSYmIlxuIiE9PW4uY2hhckF0KGkrMSkpJiYodSsrLDA9PT1vJiYobz1pKzEpKSxpLS07fXZhciBhPWUrdSxmPXQtbztyZXR1cm4gclt0XT17bGluZTphLGxpbmVTdGFydDpvfSx7b2Zmc2V0OnQsbGluZTphKzEsY29sdW1uOmYrMX19ZnVuY3Rpb24gXyhuKXtpZigheShuKSl0aHJvdyBuZXcgRXJyb3IoIm5vdCBhIHBhcnNlcjogIituKX1mdW5jdGlvbiBMKG4sdCl7cmV0dXJuICJzdHJpbmciPT10eXBlb2Ygbj9uLmNoYXJBdCh0KTpuW3RdfWZ1bmN0aW9uIE8obil7aWYoIm51bWJlciIhPXR5cGVvZiBuKXRocm93IG5ldyBFcnJvcigibm90IGEgbnVtYmVyOiAiK24pfWZ1bmN0aW9uIGsobil7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIG4pdGhyb3cgbmV3IEVycm9yKCJub3QgYSBmdW5jdGlvbjogIituKX1mdW5jdGlvbiBQKG4pe2lmKCJzdHJpbmciIT10eXBlb2Ygbil0aHJvdyBuZXcgRXJyb3IoIm5vdCBhIHN0cmluZzogIituKX12YXIgcT0yLEE9MyxJPTgsRj01KkksTT00Kkksej0iICAiO2Z1bmN0aW9uIFIobix0KXtyZXR1cm4gbmV3IEFycmF5KHQrMSkuam9pbihuKX1mdW5jdGlvbiBVKG4sdCxyKXt2YXIgZT10LW4ubGVuZ3RoO3JldHVybiBlPD0wP246UihyLGUpK259ZnVuY3Rpb24gVyhuLHQscixlKXtyZXR1cm4ge2Zyb206bi10PjA/bi10OjAsdG86bityPmU/ZTpuK3J9fWZ1bmN0aW9uIEQobix0KXt2YXIgcixlLHUsbyxmLGM9dC5pbmRleCxzPWMub2Zmc2V0LGw9MTtpZihzPT09bi5sZW5ndGgpcmV0dXJuICJHb3QgdGhlIGVuZCBvZiB0aGUgaW5wdXQiO2lmKHcobikpe3ZhciBoPXMtcyVJLHA9cy1oLGQ9VyhoLEYsTStJLG4ubGVuZ3RoKSx2PWEoZnVuY3Rpb24obil7cmV0dXJuIGEoZnVuY3Rpb24obil7cmV0dXJuIFUobi50b1N0cmluZygxNiksMiwiMCIpfSxuKX0sZnVuY3Rpb24obix0KXt2YXIgcj1uLmxlbmd0aCxlPVtdLHU9MDtpZihyPD10KXJldHVybiBbbi5zbGljZSgpXTtmb3IodmFyIG89MDtvPHI7bysrKWVbdV18fGUucHVzaChbXSksZVt1XS5wdXNoKG5bb10pLChvKzEpJXQ9PTAmJnUrKztyZXR1cm4gZX0obi5zbGljZShkLmZyb20sZC50bykudG9KU09OKCkuZGF0YSxJKSk7bz1mdW5jdGlvbihuKXtyZXR1cm4gMD09PW4uZnJvbSYmMT09PW4udG8/e2Zyb206bi5mcm9tLHRvOm4udG99Ontmcm9tOm4uZnJvbS9JLHRvOk1hdGguZmxvb3Iobi50by9JKX19KGQpLGU9aC9JLHI9MypwLHA+PTQmJihyKz0xKSxsPTIsdT1hKGZ1bmN0aW9uKG4pe3JldHVybiBuLmxlbmd0aDw9ND9uLmpvaW4oIiAiKTpuLnNsaWNlKDAsNCkuam9pbigiICIpKyIgICIrbi5zbGljZSg0KS5qb2luKCIgIil9LHYpLChmPSg4KihvLnRvPjA/by50by0xOm8udG8pKS50b1N0cmluZygxNikubGVuZ3RoKTwyJiYoZj0yKTt9ZWxzZSB7dmFyIGc9bi5zcGxpdCgvXHJcbnxbXG5cclx1MjAyOFx1MjAyOV0vKTtyPWMuY29sdW1uLTEsZT1jLmxpbmUtMSxvPVcoZSxxLEEsZy5sZW5ndGgpLHU9Zy5zbGljZShvLmZyb20sby50byksZj1vLnRvLnRvU3RyaW5nKCkubGVuZ3RoO312YXIgbT1lLW8uZnJvbTtyZXR1cm4gdyhuKSYmKGY9KDgqKG8udG8+MD9vLnRvLTE6by50bykpLnRvU3RyaW5nKDE2KS5sZW5ndGgpPDImJihmPTIpLGkoZnVuY3Rpb24odCxlLHUpe3ZhciBpLGE9dT09PW0sYz1hPyI+ICI6ejtyZXR1cm4gaT13KG4pP1UoKDgqKG8uZnJvbSt1KSkudG9TdHJpbmcoMTYpLGYsIjAiKTpVKChvLmZyb20rdSsxKS50b1N0cmluZygpLGYsIiAiKSxbXS5jb25jYXQodCxbYytpKyIgfCAiK2VdLGE/W3orUigiICIsZikrIiB8ICIrVSgiIixyLCIgIikrUigiXiIsbCldOltdKX0sW10sdSkuam9pbigiXG4iKX1mdW5jdGlvbiBOKG4sdCl7cmV0dXJuIFsiXG4iLCItLSBQQVJTSU5HIEZBSUxFRCAiK1IoIi0iLDUwKSwiXG5cbiIsRChuLHQpLCJcblxuIiwocj10LmV4cGVjdGVkLDE9PT1yLmxlbmd0aD8iRXhwZWN0ZWQ6XG5cbiIrclswXToiRXhwZWN0ZWQgb25lIG9mIHRoZSBmb2xsb3dpbmc6IFxuXG4iK3Iuam9pbigiLCAiKSksIlxuIl0uam9pbigiIik7dmFyIHI7fWZ1bmN0aW9uIEcobil7cmV0dXJuIHZvaWQgMCE9PW4uZmxhZ3M/bi5mbGFnczpbbi5nbG9iYWw/ImciOiIiLG4uaWdub3JlQ2FzZT8iaSI6IiIsbi5tdWx0aWxpbmU/Im0iOiIiLG4udW5pY29kZT8idSI6IiIsbi5zdGlja3k/InkiOiIiXS5qb2luKCIiKX1mdW5jdGlvbiBDKCl7Zm9yKHZhciBuPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSx0PW4ubGVuZ3RoLHI9MDtyPHQ7cis9MSlfKG5bcl0pO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7Zm9yKHZhciB1LG89bmV3IEFycmF5KHQpLGk9MDtpPHQ7aSs9MSl7aWYoISh1PUIobltpXS5fKHIsZSksdSkpLnN0YXR1cylyZXR1cm4gdTtvW2ldPXUudmFsdWUsZT11LmluZGV4O31yZXR1cm4gQihiKGUsbyksdSl9KX1mdW5jdGlvbiBKKCl7dmFyIG49W10uc2xpY2UuY2FsbChhcmd1bWVudHMpO2lmKDA9PT1uLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoInNlcU1hcCBuZWVkcyBhdCBsZWFzdCBvbmUgYXJndW1lbnQiKTt2YXIgdD1uLnBvcCgpO3JldHVybiBrKHQpLEMuYXBwbHkobnVsbCxuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIHQuYXBwbHkobnVsbCxuKX0pfWZ1bmN0aW9uIFQoKXt2YXIgbj1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyksdD1uLmxlbmd0aDtpZigwPT09dClyZXR1cm4gWSgiemVybyBhbHRlcm5hdGVzIik7Zm9yKHZhciByPTA7cjx0O3IrPTEpXyhuW3JdKTtyZXR1cm4gZShmdW5jdGlvbih0LHIpe2Zvcih2YXIgZSx1PTA7dTxuLmxlbmd0aDt1Kz0xKWlmKChlPUIoblt1XS5fKHQsciksZSkpLnN0YXR1cylyZXR1cm4gZTtyZXR1cm4gZX0pfWZ1bmN0aW9uIFYobix0KXtyZXR1cm4gSChuLHQpLm9yKFgoW10pKX1mdW5jdGlvbiBIKG4sdCl7cmV0dXJuIF8obiksXyh0KSxKKG4sdC50aGVuKG4pLm1hbnkoKSxmdW5jdGlvbihuLHQpe3JldHVybiBbbl0uY29uY2F0KHQpfSl9ZnVuY3Rpb24gSyhuKXtQKG4pO3ZhciB0PSInIituKyInIjtyZXR1cm4gZShmdW5jdGlvbihyLGUpe3ZhciB1PWUrbi5sZW5ndGgsbz1yLnNsaWNlKGUsdSk7cmV0dXJuIG89PT1uP2IodSxvKTp4KGUsdCl9KX1mdW5jdGlvbiBRKG4sdCl7IWZ1bmN0aW9uKG4pe2lmKCEobiBpbnN0YW5jZW9mIFJlZ0V4cCkpdGhyb3cgbmV3IEVycm9yKCJub3QgYSByZWdleHA6ICIrbik7Zm9yKHZhciB0PUcobikscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgZT10LmNoYXJBdChyKTtpZigiaSIhPT1lJiYibSIhPT1lJiYidSIhPT1lJiYicyIhPT1lKXRocm93IG5ldyBFcnJvcigndW5zdXBwb3J0ZWQgcmVnZXhwIGZsYWcgIicrZSsnIjogJytuKX19KG4pLGFyZ3VtZW50cy5sZW5ndGg+PTI/Tyh0KTp0PTA7dmFyIHI9ZnVuY3Rpb24obil7cmV0dXJuIFJlZ0V4cCgiXig/OiIrbi5zb3VyY2UrIikiLEcobikpfShuKSx1PSIiK247cmV0dXJuIGUoZnVuY3Rpb24obixlKXt2YXIgbz1yLmV4ZWMobi5zbGljZShlKSk7aWYobyl7aWYoMDw9dCYmdDw9by5sZW5ndGgpe3ZhciBpPW9bMF0sYT1vW3RdO3JldHVybiBiKGUraS5sZW5ndGgsYSl9cmV0dXJuIHgoZSwidmFsaWQgbWF0Y2ggZ3JvdXAgKDAgdG8gIitvLmxlbmd0aCsiKSBpbiAiK3UpfXJldHVybiB4KGUsdSl9KX1mdW5jdGlvbiBYKG4pe3JldHVybiBlKGZ1bmN0aW9uKHQscil7cmV0dXJuIGIocixuKX0pfWZ1bmN0aW9uIFkobil7cmV0dXJuIGUoZnVuY3Rpb24odCxyKXtyZXR1cm4geChyLG4pfSl9ZnVuY3Rpb24gWihuKXtpZih5KG4pKXJldHVybiBlKGZ1bmN0aW9uKHQscil7dmFyIGU9bi5fKHQscik7cmV0dXJuIGUuaW5kZXg9cixlLnZhbHVlPSIiLGV9KTtpZigic3RyaW5nIj09dHlwZW9mIG4pcmV0dXJuIFooSyhuKSk7aWYobiBpbnN0YW5jZW9mIFJlZ0V4cClyZXR1cm4gWihRKG4pKTt0aHJvdyBuZXcgRXJyb3IoIm5vdCBhIHN0cmluZywgcmVnZXhwLCBvciBwYXJzZXI6ICIrbil9ZnVuY3Rpb24gJChuKXtyZXR1cm4gXyhuKSxlKGZ1bmN0aW9uKHQscil7dmFyIGU9bi5fKHQsciksdT10LnNsaWNlKHIsZS5pbmRleCk7cmV0dXJuIGUuc3RhdHVzP3gociwnbm90ICInK3UrJyInKTpiKHIsbnVsbCl9KX1mdW5jdGlvbiBubihuKXtyZXR1cm4gayhuKSxlKGZ1bmN0aW9uKHQscil7dmFyIGU9TCh0LHIpO3JldHVybiByPHQubGVuZ3RoJiZuKGUpP2IocisxLGUpOngociwiYSBjaGFyYWN0ZXIvYnl0ZSBtYXRjaGluZyAiK24pfSl9ZnVuY3Rpb24gdG4obix0KXthcmd1bWVudHMubGVuZ3RoPDImJih0PW4sbj12b2lkIDApO3ZhciByPWUoZnVuY3Rpb24obixlKXtyZXR1cm4gci5fPXQoKS5fLHIuXyhuLGUpfSk7cmV0dXJuIG4/ci5kZXNjKG4pOnJ9ZnVuY3Rpb24gcm4oKXtyZXR1cm4gWSgiZmFudGFzeS1sYW5kL2VtcHR5Iil9dS5wYXJzZT1mdW5jdGlvbihuKXtpZigic3RyaW5nIiE9dHlwZW9mIG4mJiF3KG4pKXRocm93IG5ldyBFcnJvcigiLnBhcnNlIG11c3QgYmUgY2FsbGVkIHdpdGggYSBzdHJpbmcgb3IgQnVmZmVyIGFzIGl0cyBhcmd1bWVudCIpO3ZhciB0LHI9dGhpcy5za2lwKGFuKS5fKG4sMCk7cmV0dXJuIHQ9ci5zdGF0dXM/e3N0YXR1czohMCx2YWx1ZTpyLnZhbHVlfTp7c3RhdHVzOiExLGluZGV4OlMobixyLmZ1cnRoZXN0KSxleHBlY3RlZDpyLmV4cGVjdGVkfSxkZWxldGUgaltuXSx0fSx1LnRyeVBhcnNlPWZ1bmN0aW9uKG4pe3ZhciB0PXRoaXMucGFyc2Uobik7aWYodC5zdGF0dXMpcmV0dXJuIHQudmFsdWU7dmFyIHI9TihuLHQpLGU9bmV3IEVycm9yKHIpO3Rocm93IGUudHlwZT0iUGFyc2ltbW9uRXJyb3IiLGUucmVzdWx0PXQsZX0sdS5hc3NlcnQ9ZnVuY3Rpb24obix0KXtyZXR1cm4gdGhpcy5jaGFpbihmdW5jdGlvbihyKXtyZXR1cm4gbihyKT9YKHIpOlkodCl9KX0sdS5vcj1mdW5jdGlvbihuKXtyZXR1cm4gVCh0aGlzLG4pfSx1LnRyaW09ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMud3JhcChuLG4pfSx1LndyYXA9ZnVuY3Rpb24obix0KXtyZXR1cm4gSihuLHRoaXMsdCxmdW5jdGlvbihuLHQpe3JldHVybiB0fSl9LHUudGhydT1mdW5jdGlvbihuKXtyZXR1cm4gbih0aGlzKX0sdS50aGVuPWZ1bmN0aW9uKG4pe3JldHVybiBfKG4pLEModGhpcyxuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG5bMV19KX0sdS5tYW55PWZ1bmN0aW9uKCl7dmFyIG49dGhpcztyZXR1cm4gZShmdW5jdGlvbih0LHIpe2Zvcih2YXIgZT1bXSx1PXZvaWQgMDs7KXtpZighKHU9QihuLl8odCxyKSx1KSkuc3RhdHVzKXJldHVybiBCKGIocixlKSx1KTtpZihyPT09dS5pbmRleCl0aHJvdyBuZXcgRXJyb3IoImluZmluaXRlIGxvb3AgZGV0ZWN0ZWQgaW4gLm1hbnkoKSBwYXJzZXIgLS0tIGNhbGxpbmcgLm1hbnkoKSBvbiBhIHBhcnNlciB3aGljaCBjYW4gYWNjZXB0IHplcm8gY2hhcmFjdGVycyBpcyB1c3VhbGx5IHRoZSBjYXVzZSIpO3I9dS5pbmRleCxlLnB1c2godS52YWx1ZSk7fX0pfSx1LnRpZVdpdGg9ZnVuY3Rpb24obil7cmV0dXJuIFAobiksdGhpcy5tYXAoZnVuY3Rpb24odCl7aWYoZnVuY3Rpb24obil7aWYoIUUobikpdGhyb3cgbmV3IEVycm9yKCJub3QgYW4gYXJyYXk6ICIrbil9KHQpLHQubGVuZ3RoKXtQKHRbMF0pO2Zvcih2YXIgcj10WzBdLGU9MTtlPHQubGVuZ3RoO2UrKylQKHRbZV0pLHIrPW4rdFtlXTtyZXR1cm4gcn1yZXR1cm4gIiJ9KX0sdS50aWU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aWVXaXRoKCIiKX0sdS50aW1lcz1mdW5jdGlvbihuLHQpe3ZhciByPXRoaXM7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg8MiYmKHQ9biksTyhuKSxPKHQpLGUoZnVuY3Rpb24oZSx1KXtmb3IodmFyIG89W10saT12b2lkIDAsYT12b2lkIDAsZj0wO2Y8bjtmKz0xKXtpZihhPUIoaT1yLl8oZSx1KSxhKSwhaS5zdGF0dXMpcmV0dXJuIGE7dT1pLmluZGV4LG8ucHVzaChpLnZhbHVlKTt9Zm9yKDtmPHQmJihhPUIoaT1yLl8oZSx1KSxhKSxpLnN0YXR1cyk7Zis9MSl1PWkuaW5kZXgsby5wdXNoKGkudmFsdWUpO3JldHVybiBCKGIodSxvKSxhKX0pfSx1LnJlc3VsdD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gbn0pfSx1LmF0TW9zdD1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy50aW1lcygwLG4pfSx1LmF0TGVhc3Q9ZnVuY3Rpb24obil7cmV0dXJuIEoodGhpcy50aW1lcyhuKSx0aGlzLm1hbnkoKSxmdW5jdGlvbihuLHQpe3JldHVybiBuLmNvbmNhdCh0KX0pfSx1Lm1hcD1mdW5jdGlvbihuKXtrKG4pO3ZhciB0PXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT10Ll8ocixlKTtyZXR1cm4gdS5zdGF0dXM/QihiKHUuaW5kZXgsbih1LnZhbHVlKSksdSk6dX0pfSx1LmNvbnRyYW1hcD1mdW5jdGlvbihuKXtrKG4pO3ZhciB0PXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT10LnBhcnNlKG4oci5zbGljZShlKSkpO3JldHVybiB1LnN0YXR1cz9iKGUrci5sZW5ndGgsdS52YWx1ZSk6dX0pfSx1LnByb21hcD1mdW5jdGlvbihuLHQpe3JldHVybiBrKG4pLGsodCksdGhpcy5jb250cmFtYXAobikubWFwKHQpfSx1LnNraXA9ZnVuY3Rpb24obil7cmV0dXJuIEModGhpcyxuKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIG5bMF19KX0sdS5tYXJrPWZ1bmN0aW9uKCl7cmV0dXJuIEooZW4sdGhpcyxlbixmdW5jdGlvbihuLHQscil7cmV0dXJuIHtzdGFydDpuLHZhbHVlOnQsZW5kOnJ9fSl9LHUubm9kZT1mdW5jdGlvbihuKXtyZXR1cm4gSihlbix0aGlzLGVuLGZ1bmN0aW9uKHQscixlKXtyZXR1cm4ge25hbWU6bix2YWx1ZTpyLHN0YXJ0OnQsZW5kOmV9fSl9LHUuc2VwQnk9ZnVuY3Rpb24obil7cmV0dXJuIFYodGhpcyxuKX0sdS5zZXBCeTE9ZnVuY3Rpb24obil7cmV0dXJuIEgodGhpcyxuKX0sdS5sb29rYWhlYWQ9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMuc2tpcChaKG4pKX0sdS5ub3RGb2xsb3dlZEJ5PWZ1bmN0aW9uKG4pe3JldHVybiB0aGlzLnNraXAoJChuKSl9LHUuZGVzYz1mdW5jdGlvbihuKXtFKG4pfHwobj1bbl0pO3ZhciB0PXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT10Ll8ocixlKTtyZXR1cm4gdS5zdGF0dXN8fCh1LmV4cGVjdGVkPW4pLHV9KX0sdS5mYWxsYmFjaz1mdW5jdGlvbihuKXtyZXR1cm4gdGhpcy5vcihYKG4pKX0sdS5hcD1mdW5jdGlvbihuKXtyZXR1cm4gSihuLHRoaXMsZnVuY3Rpb24obix0KXtyZXR1cm4gbih0KX0pfSx1LmNoYWluPWZ1bmN0aW9uKG4pe3ZhciB0PXRoaXM7cmV0dXJuIGUoZnVuY3Rpb24ocixlKXt2YXIgdT10Ll8ocixlKTtyZXR1cm4gdS5zdGF0dXM/QihuKHUudmFsdWUpLl8ocix1LmluZGV4KSx1KTp1fSl9LHUuY29uY2F0PXUub3IsdS5lbXB0eT1ybix1Lm9mPVgsdVsiZmFudGFzeS1sYW5kL2FwIl09dS5hcCx1WyJmYW50YXN5LWxhbmQvY2hhaW4iXT11LmNoYWluLHVbImZhbnRhc3ktbGFuZC9jb25jYXQiXT11LmNvbmNhdCx1WyJmYW50YXN5LWxhbmQvZW1wdHkiXT11LmVtcHR5LHVbImZhbnRhc3ktbGFuZC9vZiJdPXUub2YsdVsiZmFudGFzeS1sYW5kL21hcCJdPXUubWFwO3ZhciBlbj1lKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGIodCxTKG4sdCkpfSksdW49ZShmdW5jdGlvbihuLHQpe3JldHVybiB0Pj1uLmxlbmd0aD94KHQsImFueSBjaGFyYWN0ZXIvYnl0ZSIpOmIodCsxLEwobix0KSl9KSxvbj1lKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIGIobi5sZW5ndGgsbi5zbGljZSh0KSl9KSxhbj1lKGZ1bmN0aW9uKG4sdCl7cmV0dXJuIHQ8bi5sZW5ndGg/eCh0LCJFT0YiKTpiKHQsbnVsbCl9KSxmbj1RKC9bMC05XS8pLmRlc2MoImEgZGlnaXQiKSxjbj1RKC9bMC05XSovKS5kZXNjKCJvcHRpb25hbCBkaWdpdHMiKSxzbj1RKC9bYS16XS9pKS5kZXNjKCJhIGxldHRlciIpLGxuPVEoL1thLXpdKi9pKS5kZXNjKCJvcHRpb25hbCBsZXR0ZXJzIiksaG49USgvXHMqLykuZGVzYygib3B0aW9uYWwgd2hpdGVzcGFjZSIpLHBuPVEoL1xzKy8pLmRlc2MoIndoaXRlc3BhY2UiKSxkbj1LKCJcciIpLHZuPUsoIlxuIiksZ249SygiXHJcbiIpLG1uPVQoZ24sdm4sZG4pLmRlc2MoIm5ld2xpbmUiKSx5bj1UKG1uLGFuKTtlLmFsbD1vbixlLmFsdD1ULGUuYW55PXVuLGUuY3I9ZG4sZS5jcmVhdGVMYW5ndWFnZT1mdW5jdGlvbihuKXt2YXIgdD17fTtmb3IodmFyIHIgaW4gbikoe30pLmhhc093blByb3BlcnR5LmNhbGwobixyKSYmZnVuY3Rpb24ocil7dFtyXT10bihmdW5jdGlvbigpe3JldHVybiBuW3JdKHQpfSk7fShyKTtyZXR1cm4gdH0sZS5jcmxmPWduLGUuY3VzdG9tPWZ1bmN0aW9uKG4pe3JldHVybiBlKG4oYix4KSl9LGUuZGlnaXQ9Zm4sZS5kaWdpdHM9Y24sZS5lbXB0eT1ybixlLmVuZD15bixlLmVvZj1hbixlLmZhaWw9WSxlLmZvcm1hdEVycm9yPU4sZS5pbmRleD1lbixlLmlzUGFyc2VyPXksZS5sYXp5PXRuLGUubGV0dGVyPXNuLGUubGV0dGVycz1sbixlLmxmPXZuLGUubG9va2FoZWFkPVosZS5tYWtlRmFpbHVyZT14LGUubWFrZVN1Y2Nlc3M9YixlLm5ld2xpbmU9bW4sZS5ub25lT2Y9ZnVuY3Rpb24obil7cmV0dXJuIG5uKGZ1bmN0aW9uKHQpe3JldHVybiBuLmluZGV4T2YodCk8MH0pLmRlc2MoIm5vbmUgb2YgJyIrbisiJyIpfSxlLm5vdEZvbGxvd2VkQnk9JCxlLm9mPVgsZS5vbmVPZj1mdW5jdGlvbihuKXtmb3IodmFyIHQ9bi5zcGxpdCgiIikscj0wO3I8dC5sZW5ndGg7cisrKXRbcl09IiciK3Rbcl0rIiciO3JldHVybiBubihmdW5jdGlvbih0KXtyZXR1cm4gbi5pbmRleE9mKHQpPj0wfSkuZGVzYyh0KX0sZS5vcHRXaGl0ZXNwYWNlPWhuLGUuUGFyc2VyPWUsZS5yYW5nZT1mdW5jdGlvbihuLHQpe3JldHVybiBubihmdW5jdGlvbihyKXtyZXR1cm4gbjw9ciYmcjw9dH0pLmRlc2MobisiLSIrdCl9LGUucmVnZXg9USxlLnJlZ2V4cD1RLGUuc2VwQnk9VixlLnNlcEJ5MT1ILGUuc2VxPUMsZS5zZXFNYXA9SixlLnNlcU9iaj1mdW5jdGlvbigpe2Zvcih2YXIgbix0PXt9LHI9MCx1PShuPWFyZ3VtZW50cyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuKSksbz11Lmxlbmd0aCxpPTA7aTxvO2krPTEpe3ZhciBhPXVbaV07aWYoIXkoYSkpe2lmKEUoYSkmJjI9PT1hLmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZiBhWzBdJiZ5KGFbMV0pKXt2YXIgZj1hWzBdO2lmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGYpKXRocm93IG5ldyBFcnJvcigic2VxT2JqOiBkdXBsaWNhdGUga2V5ICIrZik7dFtmXT0hMCxyKys7Y29udGludWV9dGhyb3cgbmV3IEVycm9yKCJzZXFPYmogYXJndW1lbnRzIG11c3QgYmUgcGFyc2VycyBvciBbc3RyaW5nLCBwYXJzZXJdIGFycmF5IHBhaXJzLiIpfX1pZigwPT09cil0aHJvdyBuZXcgRXJyb3IoInNlcU9iaiBleHBlY3RzIGF0IGxlYXN0IG9uZSBuYW1lZCBwYXJzZXIsIGZvdW5kIHplcm8iKTtyZXR1cm4gZShmdW5jdGlvbihuLHQpe2Zvcih2YXIgcixlPXt9LGk9MDtpPG87aSs9MSl7dmFyIGEsZjtpZihFKHVbaV0pPyhhPXVbaV1bMF0sZj11W2ldWzFdKTooYT1udWxsLGY9dVtpXSksIShyPUIoZi5fKG4sdCkscikpLnN0YXR1cylyZXR1cm4gcjthJiYoZVthXT1yLnZhbHVlKSx0PXIuaW5kZXg7fXJldHVybiBCKGIodCxlKSxyKX0pfSxlLnN0cmluZz1LLGUuc3VjY2VlZD1YLGUudGFrZVdoaWxlPWZ1bmN0aW9uKG4pe3JldHVybiBrKG4pLGUoZnVuY3Rpb24odCxyKXtmb3IodmFyIGU9cjtlPHQubGVuZ3RoJiZuKEwodCxlKSk7KWUrKztyZXR1cm4gYihlLHQuc2xpY2UocixlKSl9KX0sZS50ZXN0PW5uLGUud2hpdGVzcGFjZT1wbixlWyJmYW50YXN5LWxhbmQvZW1wdHkiXT1ybixlWyJmYW50YXN5LWxhbmQvb2YiXT1YLGUuQmluYXJ5PXtiaXRTZXE6bCxiaXRTZXFPYmo6ZnVuY3Rpb24obil7cygpO3ZhciB0PXt9LHI9MCxlPWEoZnVuY3Rpb24obil7aWYoRShuKSl7dmFyIGU9bjtpZigyIT09ZS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKCJbIitlLmpvaW4oIiwgIikrIl0gc2hvdWxkIGJlIGxlbmd0aCAyLCBnb3QgbGVuZ3RoICIrZS5sZW5ndGgpO2lmKFAoZVswXSksTyhlWzFdKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxlWzBdKSl0aHJvdyBuZXcgRXJyb3IoImR1cGxpY2F0ZSBrZXkgaW4gYml0U2VxT2JqOiAiK2VbMF0pO3JldHVybiB0W2VbMF1dPSEwLHIrKyxlfXJldHVybiBPKG4pLFtudWxsLG5dfSxuKTtpZihyPDEpdGhyb3cgbmV3IEVycm9yKCJiaXRTZXFPYmogZXhwZWN0cyBhdCBsZWFzdCBvbmUgbmFtZWQgcGFpciwgZ290IFsiK24uam9pbigiLCAiKSsiXSIpO3ZhciB1PWEoZnVuY3Rpb24obil7cmV0dXJuIG5bMF19LGUpO3JldHVybiBsKGEoZnVuY3Rpb24obil7cmV0dXJuIG5bMV19LGUpKS5tYXAoZnVuY3Rpb24obil7cmV0dXJuIGkoZnVuY3Rpb24obix0KXtyZXR1cm4gbnVsbCE9PXRbMF0mJihuW3RbMF1dPXRbMV0pLG59LHt9LGEoZnVuY3Rpb24odCxyKXtyZXR1cm4gW3QsbltyXV19LHUpKX0pfSxieXRlOmZ1bmN0aW9uKG4pe2lmKHMoKSxPKG4pLG4+MjU1KXRocm93IG5ldyBFcnJvcigiVmFsdWUgc3BlY2lmaWVkIHRvIGJ5dGUgY29uc3RydWN0b3IgKCIrbisiPTB4IituLnRvU3RyaW5nKDE2KSsiKSBpcyBsYXJnZXIgaW4gdmFsdWUgdGhhbiBhIHNpbmdsZSBieXRlLiIpO3ZhciB0PShuPjE1PyIweCI6IjB4MCIpK24udG9TdHJpbmcoMTYpO3JldHVybiBlKGZ1bmN0aW9uKHIsZSl7dmFyIHU9TChyLGUpO3JldHVybiB1PT09bj9iKGUrMSx1KTp4KGUsdCl9KX0sYnVmZmVyOmZ1bmN0aW9uKG4pe3JldHVybiBoKCJidWZmZXIiLG4pLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gQnVmZmVyLmZyb20obil9KX0sZW5jb2RlZFN0cmluZzpmdW5jdGlvbihuLHQpe3JldHVybiBoKCJzdHJpbmciLHQpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4gdC50b1N0cmluZyhuKX0pfSx1aW50QkU6ZCx1aW50OEJFOmQoMSksdWludDE2QkU6ZCgyKSx1aW50MzJCRTpkKDQpLHVpbnRMRTp2LHVpbnQ4TEU6digxKSx1aW50MTZMRTp2KDIpLHVpbnQzMkxFOnYoNCksaW50QkU6ZyxpbnQ4QkU6ZygxKSxpbnQxNkJFOmcoMiksaW50MzJCRTpnKDQpLGludExFOm0saW50OExFOm0oMSksaW50MTZMRTptKDIpLGludDMyTEU6bSg0KSxmbG9hdEJFOmgoImZsb2F0QkUiLDQpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5yZWFkRmxvYXRCRSgwKX0pLGZsb2F0TEU6aCgiZmxvYXRMRSIsNCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlYWRGbG9hdExFKDApfSksZG91YmxlQkU6aCgiZG91YmxlQkUiLDgpLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbi5yZWFkRG91YmxlQkUoMCl9KSxkb3VibGVMRTpoKCJkb3VibGVMRSIsOCkubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnJlYWREb3VibGVMRSgwKX0pfSxuLmV4cG9ydHM9ZTt9XSl9KTsgCiAgfSAocGFyc2ltbW9uX3VtZF9taW4sIHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHMpKTsKCiAgdmFyIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cyA9IHBhcnNpbW1vbl91bWRfbWluLmV4cG9ydHM7CgogIHZhciBlbW9qaVJlZ2V4ID0gKCkgPT4gewogIAkvLyBodHRwczovL210aHMuYmUvZW1vamkKICAJcmV0dXJuIC9bIyowLTldXHVGRTBGP1x1MjBFM3xbXHhBOVx4QUVcdTIwM0NcdTIwNDlcdTIxMjJcdTIxMzlcdTIxOTQtXHUyMTk5XHUyMUE5XHUyMUFBXHUyMzFBXHUyMzFCXHUyMzI4XHUyM0NGXHUyM0VELVx1MjNFRlx1MjNGMVx1MjNGMlx1MjNGOC1cdTIzRkFcdTI0QzJcdTI1QUFcdTI1QUJcdTI1QjZcdTI1QzBcdTI1RkJcdTI1RkNcdTI1RkVcdTI2MDAtXHUyNjA0XHUyNjBFXHUyNjExXHUyNjE0XHUyNjE1XHUyNjE4XHUyNjIwXHUyNjIyXHUyNjIzXHUyNjI2XHUyNjJBXHUyNjJFXHUyNjJGXHUyNjM4LVx1MjYzQVx1MjY0MFx1MjY0Mlx1MjY0OC1cdTI2NTNcdTI2NUZcdTI2NjBcdTI2NjNcdTI2NjVcdTI2NjZcdTI2NjhcdTI2N0JcdTI2N0VcdTI2N0ZcdTI2OTJcdTI2OTQtXHUyNjk3XHUyNjk5XHUyNjlCXHUyNjlDXHUyNkEwXHUyNkE3XHUyNkFBXHUyNkIwXHUyNkIxXHUyNkJEXHUyNkJFXHUyNkM0XHUyNkM4XHUyNkNGXHUyNkQxXHUyNkQzXHUyNkU5XHUyNkYwLVx1MjZGNVx1MjZGN1x1MjZGOFx1MjZGQVx1MjcwMlx1MjcwOFx1MjcwOVx1MjcwRlx1MjcxMlx1MjcxNFx1MjcxNlx1MjcxRFx1MjcyMVx1MjczM1x1MjczNFx1Mjc0NFx1Mjc0N1x1Mjc1N1x1Mjc2M1x1MjdBMVx1MjkzNFx1MjkzNVx1MkIwNS1cdTJCMDdcdTJCMUJcdTJCMUNcdTJCNTVcdTMwMzBcdTMwM0RcdTMyOTdcdTMyOTldXHVGRTBGP3xbXHUyNjFEXHUyNzBDXHUyNzBEXSg/Olx1RkUwRnxcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xbXHUyNzBBXHUyNzBCXSg/Olx1RDgzQ1tcdURGRkItXHVERkZGXSk/fFtcdTIzRTktXHUyM0VDXHUyM0YwXHUyM0YzXHUyNUZEXHUyNjkzXHUyNkExXHUyNkFCXHUyNkM1XHUyNkNFXHUyNkQ0XHUyNkVBXHUyNkZEXHUyNzA1XHUyNzI4XHUyNzRDXHUyNzRFXHUyNzUzLVx1Mjc1NVx1Mjc5NS1cdTI3OTdcdTI3QjBcdTI3QkZcdTJCNTBdfFx1MjZGOSg/Olx1RkUwRnxcdUQ4M0NbXHVERkZCLVx1REZGRl0pPyg/Olx1MjAwRFtcdTI2NDBcdTI2NDJdXHVGRTBGPyk/fFx1Mjc2NFx1RkUwRj8oPzpcdTIwMEQoPzpcdUQ4M0RcdUREMjV8XHVEODNFXHVERTc5KSk/fFx1RDgzQyg/OltcdURDMDRcdURENzBcdURENzFcdUREN0VcdUREN0ZcdURFMDJcdURFMzdcdURGMjFcdURGMjQtXHVERjJDXHVERjM2XHVERjdEXHVERjk2XHVERjk3XHVERjk5LVx1REY5Qlx1REY5RVx1REY5Rlx1REZDRFx1REZDRVx1REZENC1cdURGREZcdURGRjVcdURGRjddXHVGRTBGP3xbXHVERjg1XHVERkMyXHVERkM3XSg/Olx1RDgzQ1tcdURGRkItXHVERkZGXSk/fFtcdURGQzNcdURGQzRcdURGQ0FdKD86XHVEODNDW1x1REZGQi1cdURGRkZdKT8oPzpcdTIwMERbXHUyNjQwXHUyNjQyXVx1RkUwRj8pP3xbXHVERkNCXHVERkNDXSg/Olx1RkUwRnxcdUQ4M0NbXHVERkZCLVx1REZGRl0pPyg/Olx1MjAwRFtcdTI2NDBcdTI2NDJdXHVGRTBGPyk/fFtcdURDQ0ZcdUREOEVcdUREOTEtXHVERDlBXHVERTAxXHVERTFBXHVERTJGXHVERTMyLVx1REUzNlx1REUzOC1cdURFM0FcdURFNTBcdURFNTFcdURGMDAtXHVERjIwXHVERjJELVx1REYzNVx1REYzNy1cdURGN0NcdURGN0UtXHVERjg0XHVERjg2LVx1REY5M1x1REZBMC1cdURGQzFcdURGQzVcdURGQzZcdURGQzhcdURGQzlcdURGQ0YtXHVERkQzXHVERkUwLVx1REZGMFx1REZGOC1cdURGRkZdfFx1RERFNlx1RDgzQ1tcdURERTgtXHVEREVDXHVEREVFXHVEREYxXHVEREYyXHVEREY0XHVEREY2LVx1RERGQVx1RERGQ1x1RERGRFx1RERGRl18XHVEREU3XHVEODNDW1x1RERFNlx1RERFN1x1RERFOS1cdURERUZcdURERjEtXHVEREY0XHVEREY2LVx1RERGOVx1RERGQlx1RERGQ1x1RERGRVx1RERGRl18XHVEREU4XHVEODNDW1x1RERFNlx1RERFOFx1RERFOVx1RERFQi1cdURERUVcdURERjAtXHVEREY1XHVEREY3XHVEREZBLVx1RERGRl18XHVEREU5XHVEODNDW1x1RERFQVx1RERFQ1x1RERFRlx1RERGMFx1RERGMlx1RERGNFx1RERGRl18XHVEREVBXHVEODNDW1x1RERFNlx1RERFOFx1RERFQVx1RERFQ1x1RERFRFx1RERGNy1cdURERkFdfFx1RERFQlx1RDgzQ1tcdURERUUtXHVEREYwXHVEREYyXHVEREY0XHVEREY3XXxcdURERUNcdUQ4M0NbXHVEREU2XHVEREU3XHVEREU5LVx1RERFRVx1RERGMS1cdURERjNcdURERjUtXHVEREZBXHVEREZDXHVEREZFXXxcdURERURcdUQ4M0NbXHVEREYwXHVEREYyXHVEREYzXHVEREY3XHVEREY5XHVEREZBXXxcdURERUVcdUQ4M0NbXHVEREU4LVx1RERFQVx1RERGMS1cdURERjRcdURERjYtXHVEREY5XXxcdURERUZcdUQ4M0NbXHVEREVBXHVEREYyXHVEREY0XHVEREY1XXxcdURERjBcdUQ4M0NbXHVEREVBXHVEREVDLVx1RERFRVx1RERGMlx1RERGM1x1RERGNVx1RERGN1x1RERGQ1x1RERGRVx1RERGRl18XHVEREYxXHVEODNDW1x1RERFNi1cdURERThcdURERUVcdURERjBcdURERjctXHVEREZCXHVEREZFXXxcdURERjJcdUQ4M0NbXHVEREU2XHVEREU4LVx1RERFRFx1RERGMC1cdURERkZdfFx1RERGM1x1RDgzQ1tcdURERTZcdURERThcdURERUEtXHVEREVDXHVEREVFXHVEREYxXHVEREY0XHVEREY1XHVEREY3XHVEREZBXHVEREZGXXxcdURERjRcdUQ4M0NcdURERjJ8XHVEREY1XHVEODNDW1x1RERFNlx1RERFQS1cdURERURcdURERjAtXHVEREYzXHVEREY3LVx1RERGOVx1RERGQ1x1RERGRV18XHVEREY2XHVEODNDXHVEREU2fFx1RERGN1x1RDgzQ1tcdURERUFcdURERjRcdURERjhcdURERkFcdURERkNdfFx1RERGOFx1RDgzQ1tcdURERTYtXHVEREVBXHVEREVDLVx1RERGNFx1RERGNy1cdURERjlcdURERkJcdURERkQtXHVEREZGXXxcdURERjlcdUQ4M0NbXHVEREU2XHVEREU4XHVEREU5XHVEREVCLVx1RERFRFx1RERFRi1cdURERjRcdURERjdcdURERjlcdURERkJcdURERkNcdURERkZdfFx1RERGQVx1RDgzQ1tcdURERTZcdURERUNcdURERjJcdURERjNcdURERjhcdURERkVcdURERkZdfFx1RERGQlx1RDgzQ1tcdURERTZcdURERThcdURERUFcdURERUNcdURERUVcdURERjNcdURERkFdfFx1RERGQ1x1RDgzQ1tcdURERUJcdURERjhdfFx1RERGRFx1RDgzQ1x1RERGMHxcdURERkVcdUQ4M0NbXHVEREVBXHVEREY5XXxcdURERkZcdUQ4M0NbXHVEREU2XHVEREYyXHVEREZDXXxcdURGRjNcdUZFMEY/KD86XHUyMDBEKD86XHUyNkE3XHVGRTBGP3xcdUQ4M0NcdURGMDgpKT98XHVERkY0KD86XHUyMDBEXHUyNjIwXHVGRTBGP3xcdURCNDBcdURDNjdcdURCNDBcdURDNjJcdURCNDAoPzpcdURDNjVcdURCNDBcdURDNkVcdURCNDBcdURDNjd8XHVEQzczXHVEQjQwXHVEQzYzXHVEQjQwXHVEQzc0fFx1REM3N1x1REI0MFx1REM2Q1x1REI0MFx1REM3MylcdURCNDBcdURDN0YpPyl8XHVEODNEKD86W1x1REMwOFx1REMyNl0oPzpcdTIwMERcdTJCMUIpP3xbXHVEQzNGXHVEQ0ZEXHVERDQ5XHVERDRBXHVERDZGXHVERDcwXHVERDczXHVERDc2LVx1REQ3OVx1REQ4N1x1REQ4QS1cdUREOERcdUREQTVcdUREQThcdUREQjFcdUREQjJcdUREQkNcdUREQzItXHVEREM0XHVEREQxLVx1REREM1x1REREQy1cdUREREVcdURERTFcdURERTNcdURERThcdURERUZcdURERjNcdURERkFcdURFQ0JcdURFQ0QtXHVERUNGXHVERUUwLVx1REVFNVx1REVFOVx1REVGMFx1REVGM11cdUZFMEY/fFtcdURDNDJcdURDNDNcdURDNDYtXHVEQzUwXHVEQzY2XHVEQzY3XHVEQzZCLVx1REM2RFx1REM3Mlx1REM3NC1cdURDNzZcdURDNzhcdURDN0NcdURDODNcdURDODVcdURDOEZcdURDOTFcdURDQUFcdUREN0FcdUREOTVcdUREOTZcdURFNENcdURFNEZcdURFQzBcdURFQ0NdKD86XHVEODNDW1x1REZGQi1cdURGRkZdKT98W1x1REM2RVx1REM3MFx1REM3MVx1REM3M1x1REM3N1x1REM4MVx1REM4Mlx1REM4Nlx1REM4N1x1REU0NS1cdURFNDdcdURFNEJcdURFNERcdURFNEVcdURFQTNcdURFQjQtXHVERUI2XSg/Olx1RDgzQ1tcdURGRkItXHVERkZGXSk/KD86XHUyMDBEW1x1MjY0MFx1MjY0Ml1cdUZFMEY/KT98W1x1REQ3NFx1REQ5MF0oPzpcdUZFMEZ8XHVEODNDW1x1REZGQi1cdURGRkZdKT98W1x1REMwMC1cdURDMDdcdURDMDktXHVEQzE0XHVEQzE2LVx1REMyNVx1REMyNy1cdURDM0FcdURDM0MtXHVEQzNFXHVEQzQwXHVEQzQ0XHVEQzQ1XHVEQzUxLVx1REM2NVx1REM2QVx1REM3OS1cdURDN0JcdURDN0QtXHVEQzgwXHVEQzg0XHVEQzg4LVx1REM4RVx1REM5MFx1REM5Mi1cdURDQTlcdURDQUItXHVEQ0ZDXHVEQ0ZGLVx1REQzRFx1REQ0Qi1cdURENEVcdURENTAtXHVERDY3XHVEREE0XHVEREZCLVx1REUyRFx1REUyRi1cdURFMzRcdURFMzctXHVERTQ0XHVERTQ4LVx1REU0QVx1REU4MC1cdURFQTJcdURFQTQtXHVERUIzXHVERUI3LVx1REVCRlx1REVDMS1cdURFQzVcdURFRDAtXHVERUQyXHVERUQ1LVx1REVEN1x1REVEQy1cdURFREZcdURFRUJcdURFRUNcdURFRjQtXHVERUZDXHVERkUwLVx1REZFQlx1REZGMF18XHVEQzE1KD86XHUyMDBEXHVEODNFXHVEREJBKT98XHVEQzNCKD86XHUyMDBEXHUyNzQ0XHVGRTBGPyk/fFx1REM0MVx1RkUwRj8oPzpcdTIwMERcdUQ4M0RcdURERThcdUZFMEY/KT98XHVEQzY4KD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMERcdUQ4M0QoPzpcdURDOEJcdTIwMERcdUQ4M0QpP1x1REM2OHxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0QoPzpbXHVEQzY4XHVEQzY5XVx1MjAwRFx1RDgzRCg/Olx1REM2Nig/Olx1MjAwRFx1RDgzRFx1REM2Nik/fFx1REM2Nyg/Olx1MjAwRFx1RDgzRFtcdURDNjZcdURDNjddKT8pfFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1REM2Nig/Olx1MjAwRFx1RDgzRFx1REM2Nik/fFx1REM2Nyg/Olx1MjAwRFx1RDgzRFtcdURDNjZcdURDNjddKT8pfFx1RDgzRVtcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXSl8XHVEODNDKD86XHVERkZCKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMERcdUQ4M0QoPzpcdURDOEJcdTIwMERcdUQ4M0QpP1x1REM2OFx1RDgzQ1tcdURGRkItXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNEXHVEQzY4XHVEODNDW1x1REZGQy1cdURGRkZdKSkpP3xcdURGRkMoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRFx1RDgzRCg/Olx1REM4Qlx1MjAwRFx1RDgzRCk/XHVEQzY4XHVEODNDW1x1REZGQi1cdURGRkZdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0RcdURDNjhcdUQ4M0NbXHVERkZCXHVERkZELVx1REZGRl0pKSk/fFx1REZGRCg/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEXHVEODNEKD86XHVEQzhCXHUyMDBEXHVEODNEKT9cdURDNjhcdUQ4M0NbXHVERkZCLVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRFx1REM2OFx1RDgzQ1tcdURGRkJcdURGRkNcdURGRkVcdURGRkZdKSkpP3xcdURGRkUoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRFx1RDgzRCg/Olx1REM4Qlx1MjAwRFx1RDgzRCk/XHVEQzY4XHVEODNDW1x1REZGQi1cdURGRkZdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0RcdURDNjhcdUQ4M0NbXHVERkZCLVx1REZGRFx1REZGRl0pKSk/fFx1REZGRig/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEXHVEODNEKD86XHVEQzhCXHUyMDBEXHVEODNEKT9cdURDNjhcdUQ4M0NbXHVERkZCLVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRFx1REM2OFx1RDgzQ1tcdURGRkItXHVERkZFXSkpKT8pKT98XHVEQzY5KD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMERcdUQ4M0QoPzpcdURDOEJcdTIwMERcdUQ4M0QpP1tcdURDNjhcdURDNjldfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRCg/OltcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1REM2Nig/Olx1MjAwRFx1RDgzRFx1REM2Nik/fFx1REM2Nyg/Olx1MjAwRFx1RDgzRFtcdURDNjZcdURDNjddKT98XHVEQzY5XHUyMDBEXHVEODNEKD86XHVEQzY2KD86XHUyMDBEXHVEODNEXHVEQzY2KT98XHVEQzY3KD86XHUyMDBEXHVEODNEW1x1REM2Nlx1REM2N10pPykpfFx1RDgzRVtcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXSl8XHVEODNDKD86XHVERkZCKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMERcdUQ4M0QoPzpbXHVEQzY4XHVEQzY5XXxcdURDOEJcdTIwMERcdUQ4M0RbXHVEQzY4XHVEQzY5XSlcdUQ4M0NbXHVERkZCLVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRFtcdURDNjhcdURDNjldXHVEODNDW1x1REZGQy1cdURGRkZdKSkpP3xcdURGRkMoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRFx1RDgzRCg/OltcdURDNjhcdURDNjldfFx1REM4Qlx1MjAwRFx1RDgzRFtcdURDNjhcdURDNjldKVx1RDgzQ1tcdURGRkItXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNEW1x1REM2OFx1REM2OV1cdUQ4M0NbXHVERkZCXHVERkZELVx1REZGRl0pKSk/fFx1REZGRCg/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEXHVEODNEKD86W1x1REM2OFx1REM2OV18XHVEQzhCXHUyMDBEXHVEODNEW1x1REM2OFx1REM2OV0pXHVEODNDW1x1REZGQi1cdURGRkZdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0RbXHVEQzY4XHVEQzY5XVx1RDgzQ1tcdURGRkJcdURGRkNcdURGRkVcdURGRkZdKSkpP3xcdURGRkUoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRFx1RDgzRCg/OltcdURDNjhcdURDNjldfFx1REM4Qlx1MjAwRFx1RDgzRFtcdURDNjhcdURDNjldKVx1RDgzQ1tcdURGRkItXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNEW1x1REM2OFx1REM2OV1cdUQ4M0NbXHVERkZCLVx1REZGRFx1REZGRl0pKSk/fFx1REZGRig/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEXHVEODNEKD86W1x1REM2OFx1REM2OV18XHVEQzhCXHUyMDBEXHVEODNEW1x1REM2OFx1REM2OV0pXHVEODNDW1x1REZGQi1cdURGRkZdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0RbXHVEQzY4XHVEQzY5XVx1RDgzQ1tcdURGRkItXHVERkZFXSkpKT8pKT98XHVEQzZGKD86XHUyMDBEW1x1MjY0MFx1MjY0Ml1cdUZFMEY/KT98XHVERDc1KD86XHVGRTBGfFx1RDgzQ1tcdURGRkItXHVERkZGXSk/KD86XHUyMDBEW1x1MjY0MFx1MjY0Ml1cdUZFMEY/KT98XHVERTJFKD86XHUyMDBEXHVEODNEXHVEQ0E4KT98XHVERTM1KD86XHUyMDBEXHVEODNEXHVEQ0FCKT98XHVERTM2KD86XHUyMDBEXHVEODNDXHVERjJCXHVGRTBGPyk/KXxcdUQ4M0UoPzpbXHVERDBDXHVERDBGXHVERDE4LVx1REQxRlx1REQzMC1cdUREMzRcdUREMzZcdURENzdcdUREQjVcdUREQjZcdUREQkJcdURERDJcdURERDNcdURERDVcdURFQzMtXHVERUM1XHVERUYwXHVERUYyLVx1REVGOF0oPzpcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xbXHVERDI2XHVERDM1XHVERDM3LVx1REQzOVx1REQzRFx1REQzRVx1RERCOFx1RERCOVx1RERDRC1cdUREQ0ZcdURERDRcdURERDYtXHVEREREXSg/Olx1RDgzQ1tcdURGRkItXHVERkZGXSk/KD86XHUyMDBEW1x1MjY0MFx1MjY0Ml1cdUZFMEY/KT98W1x1RERERVx1RERERl0oPzpcdTIwMERbXHUyNjQwXHUyNjQyXVx1RkUwRj8pP3xbXHVERDBEXHVERDBFXHVERDEwLVx1REQxN1x1REQyMC1cdUREMjVcdUREMjctXHVERDJGXHVERDNBXHVERDNGLVx1REQ0NVx1REQ0Ny1cdURENzZcdURENzgtXHVEREI0XHVEREI3XHVEREJBXHVEREJDLVx1RERDQ1x1REREMFx1RERFMC1cdURERkZcdURFNzAtXHVERTdDXHVERTgwLVx1REU4OFx1REU5MC1cdURFQkRcdURFQkYtXHVERUMyXHVERUNFLVx1REVEQlx1REVFMC1cdURFRThdfFx1REQzQyg/Olx1MjAwRFtcdTI2NDBcdTI2NDJdXHVGRTBGP3xcdUQ4M0NbXHVERkZCLVx1REZGRl0pP3xcdURERDEoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY4NFx1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRVx1REREMSkpfFx1RDgzQyg/Olx1REZGQig/Olx1MjAwRCg/OltcdTI2OTVcdTI2OTZcdTI3MDhdXHVGRTBGP3xcdTI3NjRcdUZFMEY/XHUyMDBEKD86XHVEODNEXHVEQzhCXHUyMDBEKT9cdUQ4M0VcdURERDFcdUQ4M0NbXHVERkZDLVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY4NFx1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRVx1REREMVx1RDgzQ1tcdURGRkItXHVERkZGXSkpKT98XHVERkZDKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMEQoPzpcdUQ4M0RcdURDOEJcdTIwMEQpP1x1RDgzRVx1REREMVx1RDgzQ1tcdURGRkJcdURGRkQtXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjg0XHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNFXHVEREQxXHVEODNDW1x1REZGQi1cdURGRkZdKSkpP3xcdURGRkQoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRCg/Olx1RDgzRFx1REM4Qlx1MjAwRCk/XHVEODNFXHVEREQxXHVEODNDW1x1REZGQlx1REZGQ1x1REZGRVx1REZGRl18XHVEODNDW1x1REYzRVx1REY3M1x1REY3Q1x1REY4NFx1REY5M1x1REZBNFx1REZBOFx1REZFQlx1REZFRF18XHVEODNEW1x1RENCQlx1RENCQ1x1REQyN1x1REQyQ1x1REU4MFx1REU5Ml18XHVEODNFKD86W1x1RERBRi1cdUREQjNcdUREQkNcdUREQkRdfFx1REQxRFx1MjAwRFx1RDgzRVx1REREMVx1RDgzQ1tcdURGRkItXHVERkZGXSkpKT98XHVERkZFKD86XHUyMDBEKD86W1x1MjY5NVx1MjY5Nlx1MjcwOF1cdUZFMEY/fFx1Mjc2NFx1RkUwRj9cdTIwMEQoPzpcdUQ4M0RcdURDOEJcdTIwMEQpP1x1RDgzRVx1REREMVx1RDgzQ1tcdURGRkItXHVERkZEXHVERkZGXXxcdUQ4M0NbXHVERjNFXHVERjczXHVERjdDXHVERjg0XHVERjkzXHVERkE0XHVERkE4XHVERkVCXHVERkVEXXxcdUQ4M0RbXHVEQ0JCXHVEQ0JDXHVERDI3XHVERDJDXHVERTgwXHVERTkyXXxcdUQ4M0UoPzpbXHVEREFGLVx1RERCM1x1RERCQ1x1RERCRF18XHVERDFEXHUyMDBEXHVEODNFXHVEREQxXHVEODNDW1x1REZGQi1cdURGRkZdKSkpP3xcdURGRkYoPzpcdTIwMEQoPzpbXHUyNjk1XHUyNjk2XHUyNzA4XVx1RkUwRj98XHUyNzY0XHVGRTBGP1x1MjAwRCg/Olx1RDgzRFx1REM4Qlx1MjAwRCk/XHVEODNFXHVEREQxXHVEODNDW1x1REZGQi1cdURGRkVdfFx1RDgzQ1tcdURGM0VcdURGNzNcdURGN0NcdURGODRcdURGOTNcdURGQTRcdURGQThcdURGRUJcdURGRURdfFx1RDgzRFtcdURDQkJcdURDQkNcdUREMjdcdUREMkNcdURFODBcdURFOTJdfFx1RDgzRSg/OltcdUREQUYtXHVEREIzXHVEREJDXHVEREJEXXxcdUREMURcdTIwMERcdUQ4M0VcdURERDFcdUQ4M0NbXHVERkZCLVx1REZGRl0pKSk/KSk/fFx1REVGMSg/Olx1RDgzQyg/Olx1REZGQig/Olx1MjAwRFx1RDgzRVx1REVGMlx1RDgzQ1tcdURGRkMtXHVERkZGXSk/fFx1REZGQyg/Olx1MjAwRFx1RDgzRVx1REVGMlx1RDgzQ1tcdURGRkJcdURGRkQtXHVERkZGXSk/fFx1REZGRCg/Olx1MjAwRFx1RDgzRVx1REVGMlx1RDgzQ1tcdURGRkJcdURGRkNcdURGRkVcdURGRkZdKT98XHVERkZFKD86XHUyMDBEXHVEODNFXHVERUYyXHVEODNDW1x1REZGQi1cdURGRkRcdURGRkZdKT98XHVERkZGKD86XHUyMDBEXHVEODNFXHVERUYyXHVEODNDW1x1REZGQi1cdURGRkVdKT8pKT8pL2c7CiAgfTsKCiAgLyoqIE5vcm1hbGl6ZSBhIGR1cmF0aW9uIHRvIGFsbCBvZiB0aGUgcHJvcGVyIHVuaXRzLiAqLwogIGZ1bmN0aW9uIG5vcm1hbGl6ZUR1cmF0aW9uKGR1cikgewogICAgICBpZiAoZHVyID09PSB1bmRlZmluZWQgfHwgZHVyID09PSBudWxsKQogICAgICAgICAgcmV0dXJuIGR1cjsKICAgICAgcmV0dXJuIGR1ci5zaGlmdFRvQWxsKCkubm9ybWFsaXplKCk7CiAgfQogIC8qKiBTdHJpcCB0aGUgdGltZSBjb21wb25lbnRzIG9mIGEgZGF0ZSB0aW1lIG9iamVjdC4gKi8KICBmdW5jdGlvbiBzdHJpcFRpbWUoZHQpIHsKICAgICAgaWYgKGR0ID09PSBudWxsIHx8IGR0ID09PSB1bmRlZmluZWQpCiAgICAgICAgICByZXR1cm4gZHQ7CiAgICAgIHJldHVybiBEYXRlVGltZS5mcm9tT2JqZWN0KHsKICAgICAgICAgIHllYXI6IGR0LnllYXIsCiAgICAgICAgICBtb250aDogZHQubW9udGgsCiAgICAgICAgICBkYXk6IGR0LmRheSwKICAgICAgfSk7CiAgfQogIC8qKiBUcnkgdG8gZXh0cmFjdCBhIFlZWVlNTUREIGRhdGUgZnJvbSBhIHN0cmluZy4gKi8KICBmdW5jdGlvbiBleHRyYWN0RGF0ZShzdHIpIHsKICAgICAgbGV0IGRhdGVNYXRjaCA9IC8oXGR7NH0pLShcZHsyfSktKFxkezJ9KS8uZXhlYyhzdHIpOwogICAgICBpZiAoIWRhdGVNYXRjaCkKICAgICAgICAgIGRhdGVNYXRjaCA9IC8oXGR7NH0pKFxkezJ9KShcZHsyfSkvLmV4ZWMoc3RyKTsKICAgICAgaWYgKGRhdGVNYXRjaCkgewogICAgICAgICAgbGV0IHllYXIgPSBOdW1iZXIucGFyc2VJbnQoZGF0ZU1hdGNoWzFdKTsKICAgICAgICAgIGxldCBtb250aCA9IE51bWJlci5wYXJzZUludChkYXRlTWF0Y2hbMl0pOwogICAgICAgICAgbGV0IGRheSA9IE51bWJlci5wYXJzZUludChkYXRlTWF0Y2hbM10pOwogICAgICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21PYmplY3QoeyB5ZWFyLCBtb250aCwgZGF5IH0pOwogICAgICB9CiAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgfQogIC8qKiBHZXQgdGhlIGZvbGRlciBjb250YWluaW5nIHRoZSBnaXZlbiBwYXRoIChpLmUuLCBsaWtlIGNvbXB1dGluZyAncGF0aC8uLicpLiAqLwogIGZ1bmN0aW9uIGdldFBhcmVudEZvbGRlcihwYXRoKSB7CiAgICAgIHJldHVybiBwYXRoLnNwbGl0KCIvIikuc2xpY2UoMCwgLTEpLmpvaW4oIi8iKTsKICB9CiAgLyoqIEdldCB0aGUgInRpdGxlIiBmb3IgYSBmaWxlLCBieSBzdHJpcHBpbmcgb3RoZXIgcGFydHMgb2YgdGhlIHBhdGggYXMgd2VsbCBhcyB0aGUgZXh0ZW5zaW9uLiAqLwogIGZ1bmN0aW9uIGdldEZpbGVUaXRsZShwYXRoKSB7CiAgICAgIGlmIChwYXRoLmluY2x1ZGVzKCIvIikpCiAgICAgICAgICBwYXRoID0gcGF0aC5zdWJzdHJpbmcocGF0aC5sYXN0SW5kZXhPZigiLyIpICsgMSk7CiAgICAgIGlmIChwYXRoLmVuZHNXaXRoKCIubWQiKSkKICAgICAgICAgIHBhdGggPSBwYXRoLnN1YnN0cmluZygwLCBwYXRoLmxlbmd0aCAtIDMpOwogICAgICByZXR1cm4gcGF0aDsKICB9CiAgLyoqIEdldCB0aGUgZXh0ZW5zaW9uIG9mIGEgZmlsZSBmcm9tIHRoZSBmaWxlIHBhdGguICovCiAgZnVuY3Rpb24gZ2V0RXh0ZW5zaW9uKHBhdGgpIHsKICAgICAgaWYgKCFwYXRoLmluY2x1ZGVzKCIuIikpCiAgICAgICAgICByZXR1cm4gIiI7CiAgICAgIHJldHVybiBwYXRoLnN1YnN0cmluZyhwYXRoLmxhc3RJbmRleE9mKCIuIikgKyAxKTsKICB9CiAgLyoqIFBhcnNlIGFsbCBzdWJ0YWdzIG91dCBvZiB0aGUgZ2l2ZW4gdGFnLiBJLmUuLCAjaGVsbG8vaS9hbSB3b3VsZCB5aWVsZCBbI2hlbGxvL2kvYW0sICNoZWxsby9pLCAjaGVsbG9dLiAqLwogIGZ1bmN0aW9uIGV4dHJhY3RTdWJ0YWdzKHRhZykgewogICAgICBsZXQgcmVzdWx0ID0gW3RhZ107CiAgICAgIHdoaWxlICh0YWcuaW5jbHVkZXMoIi8iKSkgewogICAgICAgICAgdGFnID0gdGFnLnN1YnN0cmluZygwLCB0YWcubGFzdEluZGV4T2YoIi8iKSk7CiAgICAgICAgICByZXN1bHQucHVzaCh0YWcpOwogICAgICB9CiAgICAgIHJldHVybiByZXN1bHQ7CiAgfQogIC8qKiBBIHBhcnNpbW1vbiBwYXJzZXIgd2hpY2ggY2Fub25pY2FsaXplcyB2YXJpYWJsZSBuYW1lcyB3aGlsZSBwcm9wZXJseSByZXNwZWN0aW5nIGVtb2ppLiAqLwogIGNvbnN0IFZBUl9OQU1FX0NBTk9OSUNBTElaRVIgPSBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuYWx0KHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5yZWdleChuZXcgUmVnRXhwKGVtb2ppUmVnZXgoKSwgIiIpKSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnJlZ2V4KC9bMC05XHB7TGV0dGVyfV8tXSsvdSkubWFwKHN0ciA9PiBzdHIudG9Mb2NhbGVMb3dlckNhc2UoKSksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy53aGl0ZXNwYWNlLm1hcChfID0+ICItIiksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5hbnkubWFwKF8gPT4gIiIpKQogICAgICAubWFueSgpCiAgICAgIC5tYXAocmVzdWx0ID0+IHJlc3VsdC5qb2luKCIiKSk7CiAgLyoqIENvbnZlcnQgYW4gYXJiaXRyYXJ5IHZhcmlhYmxlIG5hbWUgaW50byBzb21ldGhpbmcgSlMvcXVlcnkgZnJpZW5kbHkuICovCiAgZnVuY3Rpb24gY2Fub25pY2FsaXplVmFyTmFtZShuYW1lKSB7CiAgICAgIHJldHVybiBWQVJfTkFNRV9DQU5PTklDQUxJWkVSLnRyeVBhcnNlKG5hbWUpOwogIH0KICBjb25zdCBIRUFERVJfQ0FOT05JQ0FMSVpFUiA9IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5hbHQocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnJlZ2V4KG5ldyBSZWdFeHAoZW1vamlSZWdleCgpLCAiIikpLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMucmVnZXgoL1swLTlccHtMZXR0ZXJ9Xy1dKy91KSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLndoaXRlc3BhY2UubWFwKF8gPT4gIiAiKSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLmFueS5tYXAoXyA9PiAiICIpKQogICAgICAubWFueSgpCiAgICAgIC5tYXAocmVzdWx0ID0+IHsKICAgICAgcmV0dXJuIHJlc3VsdC5qb2luKCIiKS5zcGxpdCgvXHMrLykuam9pbigiICIpLnRyaW0oKTsKICB9KTsKICAvKioKICAgKiBOb3JtYWxpemVzIHRoZSB0ZXh0IGluIGEgaGVhZGVyIHRvIGJlIHNvbWV0aGluZyB0aGF0IGlzIGFjdHVhbGx5IGxpbmthYmxlIHRvLiBUaGlzIG1pbWljcwogICAqIGhvdyBPYnNpZGlhbiBkb2VzIGl0J3Mgbm9ybWFsaXphdGlvbiwgY29sbGFwc2luZyByZXBlYXRlZCBzcGFjZXMgYW5kIHN0cmlwcGluZyBvdXQgY29udHJvbCBjaGFyYWN0ZXJzLgogICAqLwogIGZ1bmN0aW9uIG5vcm1hbGl6ZUhlYWRlckZvckxpbmsoaGVhZGVyKSB7CiAgICAgIHJldHVybiBIRUFERVJfQ0FOT05JQ0FMSVpFUi50cnlQYXJzZShoZWFkZXIpOwogIH0KICAvKiogUmVuZGVyIGEgZHVyYXRpb24gaW4gYSBtaW5pbWFsIGZvcm1hdCB0byBzYXZlIHNwYWNlLiAqLwogIGZ1bmN0aW9uIHJlbmRlck1pbmltYWxEdXJhdGlvbihkdXIpIHsKICAgICAgZHVyID0gbm9ybWFsaXplRHVyYXRpb24oZHVyKTsKICAgICAgLy8gdG9IdW1hbiBvdXRwdXRzIHplcm8gcXVhbnRpdGllcyBlLmcuICIwIHNlY29uZHMiCiAgICAgIGR1ciA9IER1cmF0aW9uLmZyb21PYmplY3QoT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGR1ci50b09iamVjdCgpKS5maWx0ZXIoKFssIHF1YW50aXR5XSkgPT4gcXVhbnRpdHkgIT0gMCkpKTsKICAgICAgcmV0dXJuIGR1ci50b0h1bWFuKCk7CiAgfQoKICB2YXIgVmFsdWVzOwogIChmdW5jdGlvbiAoVmFsdWVzKSB7CiAgICAgIC8qKiBDb252ZXJ0IGFuIGFyYml0cmFyeSB2YWx1ZSBpbnRvIGEgcmVhc29uYWJsZSwgTWFya2Rvd24tZnJpZW5kbHkgc3RyaW5nIGlmIHBvc3NpYmxlLiAqLwogICAgICBmdW5jdGlvbiB0b1N0cmluZyhmaWVsZCwgc2V0dGluZyA9IERFRkFVTFRfUVVFUllfU0VUVElOR1MsIHJlY3Vyc2l2ZSA9IGZhbHNlKSB7CiAgICAgICAgICBsZXQgd3JhcHBlZCA9IHdyYXBWYWx1ZShmaWVsZCk7CiAgICAgICAgICBpZiAoIXdyYXBwZWQpCiAgICAgICAgICAgICAgcmV0dXJuIHNldHRpbmcucmVuZGVyTnVsbEFzOwogICAgICAgICAgc3dpdGNoICh3cmFwcGVkLnR5cGUpIHsKICAgICAgICAgICAgICBjYXNlICJudWxsIjoKICAgICAgICAgICAgICAgICAgcmV0dXJuIHNldHRpbmcucmVuZGVyTnVsbEFzOwogICAgICAgICAgICAgIGNhc2UgInN0cmluZyI6CiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlOwogICAgICAgICAgICAgIGNhc2UgIm51bWJlciI6CiAgICAgICAgICAgICAgY2FzZSAiYm9vbGVhbiI6CiAgICAgICAgICAgICAgICAgIHJldHVybiAiIiArIHdyYXBwZWQudmFsdWU7CiAgICAgICAgICAgICAgY2FzZSAiaHRtbCI6CiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwcGVkLnZhbHVlLm91dGVySFRNTDsKICAgICAgICAgICAgICBjYXNlICJ3aWRnZXQiOgogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5tYXJrZG93bigpOwogICAgICAgICAgICAgIGNhc2UgImxpbmsiOgogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5tYXJrZG93bigpOwogICAgICAgICAgICAgIGNhc2UgImZ1bmN0aW9uIjoKICAgICAgICAgICAgICAgICAgcmV0dXJuICI8ZnVuY3Rpb24+IjsKICAgICAgICAgICAgICBjYXNlICJhcnJheSI6CiAgICAgICAgICAgICAgICAgIGxldCByZXN1bHQgPSAiIjsKICAgICAgICAgICAgICAgICAgaWYgKHJlY3Vyc2l2ZSkKICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSAiWyI7CiAgICAgICAgICAgICAgICAgIHJlc3VsdCArPSB3cmFwcGVkLnZhbHVlLm1hcChmID0+IHRvU3RyaW5nKGYsIHNldHRpbmcsIHRydWUpKS5qb2luKCIsICIpOwogICAgICAgICAgICAgICAgICBpZiAocmVjdXJzaXZlKQogICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9ICJdIjsKICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgICAgICBjYXNlICJvYmplY3QiOgogICAgICAgICAgICAgICAgICByZXR1cm4gKCJ7ICIgKwogICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMod3JhcHBlZC52YWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKGUgPT4gZVswXSArICI6ICIgKyB0b1N0cmluZyhlWzFdLCBzZXR0aW5nLCB0cnVlKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAuam9pbigiLCAiKSArCiAgICAgICAgICAgICAgICAgICAgICAiIH0iKTsKICAgICAgICAgICAgICBjYXNlICJkYXRlIjoKICAgICAgICAgICAgICAgICAgaWYgKHdyYXBwZWQudmFsdWUuc2Vjb25kID09IDAgJiYgd3JhcHBlZC52YWx1ZS5ob3VyID09IDAgJiYgd3JhcHBlZC52YWx1ZS5taW51dGUgPT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUudG9Gb3JtYXQoc2V0dGluZy5kZWZhdWx0RGF0ZUZvcm1hdCk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUudG9Gb3JtYXQoc2V0dGluZy5kZWZhdWx0RGF0ZVRpbWVGb3JtYXQpOwogICAgICAgICAgICAgIGNhc2UgImR1cmF0aW9uIjoKICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlbmRlck1pbmltYWxEdXJhdGlvbih3cmFwcGVkLnZhbHVlKTsKICAgICAgICAgIH0KICAgICAgfQogICAgICBWYWx1ZXMudG9TdHJpbmcgPSB0b1N0cmluZzsKICAgICAgLyoqIFdyYXAgYSBsaXRlcmFsIHZhbHVlIHNvIHlvdSBjYW4gc3dpdGNoIG9uIGl0IGVhc2lseS4gKi8KICAgICAgZnVuY3Rpb24gd3JhcFZhbHVlKHZhbCkgewogICAgICAgICAgaWYgKGlzTnVsbCh2YWwpKQogICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJudWxsIiwgdmFsdWU6IHZhbCB9OwogICAgICAgICAgZWxzZSBpZiAoaXNOdW1iZXIodmFsKSkKICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAibnVtYmVyIiwgdmFsdWU6IHZhbCB9OwogICAgICAgICAgZWxzZSBpZiAoaXNTdHJpbmcodmFsKSkKICAgICAgICAgICAgICByZXR1cm4geyB0eXBlOiAic3RyaW5nIiwgdmFsdWU6IHZhbCB9OwogICAgICAgICAgZWxzZSBpZiAoaXNCb29sZWFuKHZhbCkpCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImJvb2xlYW4iLCB2YWx1ZTogdmFsIH07CiAgICAgICAgICBlbHNlIGlmIChpc0R1cmF0aW9uKHZhbCkpCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImR1cmF0aW9uIiwgdmFsdWU6IHZhbCB9OwogICAgICAgICAgZWxzZSBpZiAoaXNEYXRlKHZhbCkpCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImRhdGUiLCB2YWx1ZTogdmFsIH07CiAgICAgICAgICBlbHNlIGlmIChpc1dpZGdldCh2YWwpKQogICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJ3aWRnZXQiLCB2YWx1ZTogdmFsIH07CiAgICAgICAgICBlbHNlIGlmIChpc0FycmF5KHZhbCkpCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImFycmF5IiwgdmFsdWU6IHZhbCB9OwogICAgICAgICAgZWxzZSBpZiAoaXNMaW5rKHZhbCkpCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImxpbmsiLCB2YWx1ZTogdmFsIH07CiAgICAgICAgICBlbHNlIGlmIChpc0Z1bmN0aW9uKHZhbCkpCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImZ1bmN0aW9uIiwgdmFsdWU6IHZhbCB9OwogICAgICAgICAgZWxzZSBpZiAoaXNIdG1sKHZhbCkpCiAgICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogImh0bWwiLCB2YWx1ZTogdmFsIH07CiAgICAgICAgICBlbHNlIGlmIChpc09iamVjdCh2YWwpKQogICAgICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJvYmplY3QiLCB2YWx1ZTogdmFsIH07CiAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgICAgfQogICAgICBWYWx1ZXMud3JhcFZhbHVlID0gd3JhcFZhbHVlOwogICAgICAvKiogUmVjdXJzaXZlbHkgbWFwIGNvbXBsZXggb2JqZWN0cyBhdCB0aGUgbGVhdmVzLiAqLwogICAgICBmdW5jdGlvbiBtYXBMZWF2ZXModmFsLCBmdW5jKSB7CiAgICAgICAgICBpZiAoaXNPYmplY3QodmFsKSkgewogICAgICAgICAgICAgIGxldCByZXN1bHQgPSB7fTsKICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModmFsKSkKICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBtYXBMZWF2ZXModmFsdWUsIGZ1bmMpOwogICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIGlmIChpc0FycmF5KHZhbCkpIHsKICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gW107CiAgICAgICAgICAgICAgZm9yIChsZXQgdmFsdWUgb2YgdmFsKQogICAgICAgICAgICAgICAgICByZXN1bHQucHVzaChtYXBMZWF2ZXModmFsdWUsIGZ1bmMpKTsKICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgcmV0dXJuIGZ1bmModmFsKTsKICAgICAgICAgIH0KICAgICAgfQogICAgICBWYWx1ZXMubWFwTGVhdmVzID0gbWFwTGVhdmVzOwogICAgICAvKiogQ29tcGFyZSB0d28gYXJiaXRyYXJ5IEphdmFTY3JpcHQgdmFsdWVzLiBQcm9kdWNlcyBhIHRvdGFsIG9yZGVyaW5nIG92ZXIgQU5ZIHBvc3NpYmxlIGRhdGF2aWV3IHZhbHVlLiAqLwogICAgICBmdW5jdGlvbiBjb21wYXJlVmFsdWUodmFsMSwgdmFsMiwgbGlua05vcm1hbGl6ZXIpIHsKICAgICAgICAgIC8vIEhhbmRsZSB1bmRlZmluZWQvbnVsbHMgZmlyc3QuCiAgICAgICAgICBpZiAodmFsMSA9PT0gdW5kZWZpbmVkKQogICAgICAgICAgICAgIHZhbDEgPSBudWxsOwogICAgICAgICAgaWYgKHZhbDIgPT09IHVuZGVmaW5lZCkKICAgICAgICAgICAgICB2YWwyID0gbnVsbDsKICAgICAgICAgIGlmICh2YWwxID09PSBudWxsICYmIHZhbDIgPT09IG51bGwpCiAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICBlbHNlIGlmICh2YWwxID09PSBudWxsKQogICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgIGVsc2UgaWYgKHZhbDIgPT09IG51bGwpCiAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAvLyBBIG5vbi1udWxsIHZhbHVlIG5vdyB3aGljaCB3ZSBjYW4gd3JhcCAmIGNvbXBhcmUgb24uCiAgICAgICAgICBsZXQgd3JhcDEgPSB3cmFwVmFsdWUodmFsMSk7CiAgICAgICAgICBsZXQgd3JhcDIgPSB3cmFwVmFsdWUodmFsMik7CiAgICAgICAgICBpZiAod3JhcDEgPT09IHVuZGVmaW5lZCAmJiB3cmFwMiA9PT0gdW5kZWZpbmVkKQogICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgZWxzZSBpZiAod3JhcDEgPT09IHVuZGVmaW5lZCkKICAgICAgICAgICAgICByZXR1cm4gLTE7CiAgICAgICAgICBlbHNlIGlmICh3cmFwMiA9PT0gdW5kZWZpbmVkKQogICAgICAgICAgICAgIHJldHVybiAxOwogICAgICAgICAgLy8gU2hvcnQtY2lyY3VpdCBvbiBkaWZmZXJlbnQgdHlwZXMgb3Igb24gcmVmZXJlbmNlIGVxdWFsaXR5LgogICAgICAgICAgaWYgKHdyYXAxLnR5cGUgIT0gd3JhcDIudHlwZSkKICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudHlwZS5sb2NhbGVDb21wYXJlKHdyYXAyLnR5cGUpOwogICAgICAgICAgaWYgKHdyYXAxLnZhbHVlID09PSB3cmFwMi52YWx1ZSkKICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgIHN3aXRjaCAod3JhcDEudHlwZSkgewogICAgICAgICAgICAgIGNhc2UgInN0cmluZyI6CiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwMS52YWx1ZS5sb2NhbGVDb21wYXJlKHdyYXAyLnZhbHVlKTsKICAgICAgICAgICAgICBjYXNlICJudW1iZXIiOgogICAgICAgICAgICAgICAgICBpZiAod3JhcDEudmFsdWUgPCB3cmFwMi52YWx1ZSkKICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgICAgICAgICAgZWxzZSBpZiAod3JhcDEudmFsdWUgPT0gd3JhcDIudmFsdWUpCiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgY2FzZSAibnVsbCI6CiAgICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgICAgIGNhc2UgImJvb2xlYW4iOgogICAgICAgICAgICAgICAgICBpZiAod3JhcDEudmFsdWUgPT0gd3JhcDIudmFsdWUpCiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXAxLnZhbHVlID8gMSA6IC0xOwogICAgICAgICAgICAgIGNhc2UgImxpbmsiOgogICAgICAgICAgICAgICAgICBsZXQgbGluazEgPSB3cmFwMS52YWx1ZTsKICAgICAgICAgICAgICAgICAgbGV0IGxpbmsyID0gd3JhcDIudmFsdWU7CiAgICAgICAgICAgICAgICAgIGxldCBub3JtYWxpemUgPSBsaW5rTm9ybWFsaXplciA/PyAoKHgpID0+IHgpOwogICAgICAgICAgICAgICAgICAvLyBXZSBjYW4ndCBjb21wYXJlIGJ5IGZpbGUgbmFtZSBvciBkaXNwbGF5LCBzaW5jZSB0aGF0IHdvdWxkIGJyZWFrIGxpbmsgZXF1YWxpdHkuIENvbXBhcmUgYnkgcGF0aC4KICAgICAgICAgICAgICAgICAgbGV0IHBhdGhDb21wYXJlID0gbm9ybWFsaXplKGxpbmsxLnBhdGgpLmxvY2FsZUNvbXBhcmUobm9ybWFsaXplKGxpbmsyLnBhdGgpKTsKICAgICAgICAgICAgICAgICAgaWYgKHBhdGhDb21wYXJlICE9IDApCiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcGF0aENvbXBhcmU7CiAgICAgICAgICAgICAgICAgIC8vIFRoZW4gY29tcGFyZSBieSB0eXBlLgogICAgICAgICAgICAgICAgICBsZXQgdHlwZUNvbXBhcmUgPSBsaW5rMS50eXBlLmxvY2FsZUNvbXBhcmUobGluazIudHlwZSk7CiAgICAgICAgICAgICAgICAgIGlmICh0eXBlQ29tcGFyZSAhPSAwKQogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGVDb21wYXJlOwogICAgICAgICAgICAgICAgICAvLyBUaGVuIGNvbXBhcmUgYnkgc3VicGF0aCBleGlzdGVuY2UuCiAgICAgICAgICAgICAgICAgIGlmIChsaW5rMS5zdWJwYXRoICYmICFsaW5rMi5zdWJwYXRoKQogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDE7CiAgICAgICAgICAgICAgICAgIGlmICghbGluazEuc3VicGF0aCAmJiBsaW5rMi5zdWJwYXRoKQogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICAgICAgICAgICBpZiAoIWxpbmsxLnN1YnBhdGggJiYgIWxpbmsyLnN1YnBhdGgpCiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsKICAgICAgICAgICAgICAgICAgLy8gU2luY2UgYm90aCBoYXZlIGEgc3VicGF0aCwgY29tcGFyZSBieSBzdWJwYXRoLgogICAgICAgICAgICAgICAgICByZXR1cm4gKGxpbmsxLnN1YnBhdGggPz8gIiIpLmxvY2FsZUNvbXBhcmUobGluazIuc3VicGF0aCA/PyAiIik7CiAgICAgICAgICAgICAgY2FzZSAiZGF0ZSI6CiAgICAgICAgICAgICAgICAgIHJldHVybiB3cmFwMS52YWx1ZSA8IHdyYXAyLnZhbHVlCiAgICAgICAgICAgICAgICAgICAgICA/IC0xCiAgICAgICAgICAgICAgICAgICAgICA6IHdyYXAxLnZhbHVlLmVxdWFscyh3cmFwMi52YWx1ZSkKICAgICAgICAgICAgICAgICAgICAgICAgICA/IDAKICAgICAgICAgICAgICAgICAgICAgICAgICA6IDE7CiAgICAgICAgICAgICAgY2FzZSAiZHVyYXRpb24iOgogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcDEudmFsdWUgPCB3cmFwMi52YWx1ZQogICAgICAgICAgICAgICAgICAgICAgPyAtMQogICAgICAgICAgICAgICAgICAgICAgOiB3cmFwMS52YWx1ZS5lcXVhbHMod3JhcDIudmFsdWUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgPyAwCiAgICAgICAgICAgICAgICAgICAgICAgICAgOiAxOwogICAgICAgICAgICAgIGNhc2UgImFycmF5IjoKICAgICAgICAgICAgICAgICAgbGV0IGYxID0gd3JhcDEudmFsdWU7CiAgICAgICAgICAgICAgICAgIGxldCBmMiA9IHdyYXAyLnZhbHVlOwogICAgICAgICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgTWF0aC5taW4oZjEubGVuZ3RoLCBmMi5sZW5ndGgpOyBpbmRleCsrKSB7CiAgICAgICAgICAgICAgICAgICAgICBsZXQgY29tcCA9IGNvbXBhcmVWYWx1ZShmMVtpbmRleF0sIGYyW2luZGV4XSk7CiAgICAgICAgICAgICAgICAgICAgICBpZiAoY29tcCAhPSAwKQogICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjb21wOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgIHJldHVybiBmMS5sZW5ndGggLSBmMi5sZW5ndGg7CiAgICAgICAgICAgICAgY2FzZSAib2JqZWN0IjoKICAgICAgICAgICAgICAgICAgbGV0IG8xID0gd3JhcDEudmFsdWU7CiAgICAgICAgICAgICAgICAgIGxldCBvMiA9IHdyYXAyLnZhbHVlOwogICAgICAgICAgICAgICAgICBsZXQgazEgPSBBcnJheS5mcm9tKE9iamVjdC5rZXlzKG8xKSk7CiAgICAgICAgICAgICAgICAgIGxldCBrMiA9IEFycmF5LmZyb20oT2JqZWN0LmtleXMobzIpKTsKICAgICAgICAgICAgICAgICAgazEuc29ydCgpOwogICAgICAgICAgICAgICAgICBrMi5zb3J0KCk7CiAgICAgICAgICAgICAgICAgIGxldCBrZXlDb21wYXJlID0gY29tcGFyZVZhbHVlKGsxLCBrMik7CiAgICAgICAgICAgICAgICAgIGlmIChrZXlDb21wYXJlICE9IDApCiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ga2V5Q29tcGFyZTsKICAgICAgICAgICAgICAgICAgZm9yIChsZXQga2V5IG9mIGsxKSB7CiAgICAgICAgICAgICAgICAgICAgICBsZXQgY29tcCA9IGNvbXBhcmVWYWx1ZShvMVtrZXldLCBvMltrZXldKTsKICAgICAgICAgICAgICAgICAgICAgIGlmIChjb21wICE9IDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbXA7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgICAgICAgY2FzZSAid2lkZ2V0IjoKICAgICAgICAgICAgICBjYXNlICJodG1sIjoKICAgICAgICAgICAgICBjYXNlICJmdW5jdGlvbiI6CiAgICAgICAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgICAgfQogICAgICB9CiAgICAgIFZhbHVlcy5jb21wYXJlVmFsdWUgPSBjb21wYXJlVmFsdWU7CiAgICAgIC8qKiBGaW5kIHRoZSBjb3JyZXNwb25kaW5nIERhdGF2ZWl3IHR5cGUgZm9yIGFuIGFyYml0cmFyeSB2YWx1ZS4gKi8KICAgICAgZnVuY3Rpb24gdHlwZU9mKHZhbCkgewogICAgICAgICAgcmV0dXJuIHdyYXBWYWx1ZSh2YWwpPy50eXBlOwogICAgICB9CiAgICAgIFZhbHVlcy50eXBlT2YgPSB0eXBlT2Y7CiAgICAgIC8qKiBEZXRlcm1pbmUgaWYgdGhlIGdpdmVuIHZhbHVlIGlzICJ0cnV0aHkiIChpLmUuLCBpcyBub24tbnVsbCBhbmQgaGFzIGRhdGEgaW4gaXQpLiAqLwogICAgICBmdW5jdGlvbiBpc1RydXRoeShmaWVsZCkgewogICAgICAgICAgbGV0IHdyYXBwZWQgPSB3cmFwVmFsdWUoZmllbGQpOwogICAgICAgICAgaWYgKCF3cmFwcGVkKQogICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgIHN3aXRjaCAod3JhcHBlZC50eXBlKSB7CiAgICAgICAgICAgICAgY2FzZSAibnVtYmVyIjoKICAgICAgICAgICAgICAgICAgcmV0dXJuIHdyYXBwZWQudmFsdWUgIT0gMDsKICAgICAgICAgICAgICBjYXNlICJzdHJpbmciOgogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5sZW5ndGggPiAwOwogICAgICAgICAgICAgIGNhc2UgImJvb2xlYW4iOgogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTsKICAgICAgICAgICAgICBjYXNlICJsaW5rIjoKICAgICAgICAgICAgICAgICAgcmV0dXJuICEhd3JhcHBlZC52YWx1ZS5wYXRoOwogICAgICAgICAgICAgIGNhc2UgImRhdGUiOgogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS50b01pbGxpcygpICE9IDA7CiAgICAgICAgICAgICAgY2FzZSAiZHVyYXRpb24iOgogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5hcygic2Vjb25kcyIpICE9IDA7CiAgICAgICAgICAgICAgY2FzZSAib2JqZWN0IjoKICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHdyYXBwZWQudmFsdWUpLmxlbmd0aCA+IDA7CiAgICAgICAgICAgICAgY2FzZSAiYXJyYXkiOgogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5sZW5ndGggPiAwOwogICAgICAgICAgICAgIGNhc2UgIm51bGwiOgogICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgICAgY2FzZSAiaHRtbCI6CiAgICAgICAgICAgICAgY2FzZSAid2lkZ2V0IjoKICAgICAgICAgICAgICBjYXNlICJmdW5jdGlvbiI6CiAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgfQogICAgICB9CiAgICAgIFZhbHVlcy5pc1RydXRoeSA9IGlzVHJ1dGh5OwogICAgICAvKiogRGVlcCBjb3B5IGEgZmllbGQuICovCiAgICAgIGZ1bmN0aW9uIGRlZXBDb3B5KGZpZWxkKSB7CiAgICAgICAgICBpZiAoZmllbGQgPT09IG51bGwgfHwgZmllbGQgPT09IHVuZGVmaW5lZCkKICAgICAgICAgICAgICByZXR1cm4gZmllbGQ7CiAgICAgICAgICBpZiAoVmFsdWVzLmlzQXJyYXkoZmllbGQpKSB7CiAgICAgICAgICAgICAgcmV0dXJuIFtdLmNvbmNhdChmaWVsZC5tYXAodiA9PiBkZWVwQ29weSh2KSkpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSBpZiAoVmFsdWVzLmlzT2JqZWN0KGZpZWxkKSkgewogICAgICAgICAgICAgIGxldCByZXN1bHQgPSB7fTsKICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZmllbGQpKQogICAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IGRlZXBDb3B5KHZhbHVlKTsKICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgcmV0dXJuIGZpZWxkOwogICAgICAgICAgfQogICAgICB9CiAgICAgIFZhbHVlcy5kZWVwQ29weSA9IGRlZXBDb3B5OwogICAgICBmdW5jdGlvbiBpc1N0cmluZyh2YWwpIHsKICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09ICJzdHJpbmciOwogICAgICB9CiAgICAgIFZhbHVlcy5pc1N0cmluZyA9IGlzU3RyaW5nOwogICAgICBmdW5jdGlvbiBpc051bWJlcih2YWwpIHsKICAgICAgICAgIHJldHVybiB0eXBlb2YgdmFsID09ICJudW1iZXIiOwogICAgICB9CiAgICAgIFZhbHVlcy5pc051bWJlciA9IGlzTnVtYmVyOwogICAgICBmdW5jdGlvbiBpc0RhdGUodmFsKSB7CiAgICAgICAgICByZXR1cm4gdmFsIGluc3RhbmNlb2YgRGF0ZVRpbWU7CiAgICAgIH0KICAgICAgVmFsdWVzLmlzRGF0ZSA9IGlzRGF0ZTsKICAgICAgZnVuY3Rpb24gaXNEdXJhdGlvbih2YWwpIHsKICAgICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBEdXJhdGlvbjsKICAgICAgfQogICAgICBWYWx1ZXMuaXNEdXJhdGlvbiA9IGlzRHVyYXRpb247CiAgICAgIGZ1bmN0aW9uIGlzTnVsbCh2YWwpIHsKICAgICAgICAgIHJldHVybiB2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQ7CiAgICAgIH0KICAgICAgVmFsdWVzLmlzTnVsbCA9IGlzTnVsbDsKICAgICAgZnVuY3Rpb24gaXNBcnJheSh2YWwpIHsKICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbCk7CiAgICAgIH0KICAgICAgVmFsdWVzLmlzQXJyYXkgPSBpc0FycmF5OwogICAgICBmdW5jdGlvbiBpc0Jvb2xlYW4odmFsKSB7CiAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PT0gImJvb2xlYW4iOwogICAgICB9CiAgICAgIFZhbHVlcy5pc0Jvb2xlYW4gPSBpc0Jvb2xlYW47CiAgICAgIGZ1bmN0aW9uIGlzTGluayh2YWwpIHsKICAgICAgICAgIHJldHVybiB2YWwgaW5zdGFuY2VvZiBMaW5rOwogICAgICB9CiAgICAgIFZhbHVlcy5pc0xpbmsgPSBpc0xpbms7CiAgICAgIGZ1bmN0aW9uIGlzV2lkZ2V0KHZhbCkgewogICAgICAgICAgcmV0dXJuIHZhbCBpbnN0YW5jZW9mIFdpZGdldDsKICAgICAgfQogICAgICBWYWx1ZXMuaXNXaWRnZXQgPSBpc1dpZGdldDsKICAgICAgZnVuY3Rpb24gaXNIdG1sKHZhbCkgewogICAgICAgICAgaWYgKHR5cGVvZiBIVE1MRWxlbWVudCAhPT0gInVuZGVmaW5lZCIpIHsKICAgICAgICAgICAgICByZXR1cm4gdmFsIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQ7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgVmFsdWVzLmlzSHRtbCA9IGlzSHRtbDsKICAgICAgLyoqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYW4gb2JqZWN0IChhbmQgbm90IGFueSBvdGhlciBkYXRhdmlldy1yZWNvZ25pemVkIG9iamVjdC1saWtlIHR5cGUpLiAqLwogICAgICBmdW5jdGlvbiBpc09iamVjdCh2YWwpIHsKICAgICAgICAgIHJldHVybiAodHlwZW9mIHZhbCA9PSAib2JqZWN0IiAmJgogICAgICAgICAgICAgICFpc0h0bWwodmFsKSAmJgogICAgICAgICAgICAgICFpc1dpZGdldCh2YWwpICYmCiAgICAgICAgICAgICAgIWlzQXJyYXkodmFsKSAmJgogICAgICAgICAgICAgICFpc0R1cmF0aW9uKHZhbCkgJiYKICAgICAgICAgICAgICAhaXNEYXRlKHZhbCkgJiYKICAgICAgICAgICAgICAhaXNMaW5rKHZhbCkgJiYKICAgICAgICAgICAgICB2YWwgIT09IHVuZGVmaW5lZCAmJgogICAgICAgICAgICAgICFpc051bGwodmFsKSk7CiAgICAgIH0KICAgICAgVmFsdWVzLmlzT2JqZWN0ID0gaXNPYmplY3Q7CiAgICAgIGZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsKSB7CiAgICAgICAgICByZXR1cm4gdHlwZW9mIHZhbCA9PSAiZnVuY3Rpb24iOwogICAgICB9CiAgICAgIFZhbHVlcy5pc0Z1bmN0aW9uID0gaXNGdW5jdGlvbjsKICB9KShWYWx1ZXMgfHwgKFZhbHVlcyA9IHt9KSk7CiAgLy8vLy8vLy8vLy8vLy8vCiAgLy8gR3JvdXBpbmdzIC8vCiAgLy8vLy8vLy8vLy8vLy8vCiAgdmFyIEdyb3VwaW5nczsKICAoZnVuY3Rpb24gKEdyb3VwaW5ncykgewogICAgICAvKiogRGV0ZXJtaW5lcyBpZiB0aGUgZ2l2ZW4gZ3JvdXAgZW50cnkgaXMgYSBzdGFuZGFsb25lIHZhbHVlLCBvciBhIGdyb3VwaW5nIG9mIHN1Yi1lbnRyaWVzLiAqLwogICAgICBmdW5jdGlvbiBpc0VsZW1lbnRHcm91cChlbnRyeSkgewogICAgICAgICAgcmV0dXJuIFZhbHVlcy5pc09iamVjdChlbnRyeSkgJiYgT2JqZWN0LmtleXMoZW50cnkpLmxlbmd0aCA9PSAyICYmICJrZXkiIGluIGVudHJ5ICYmICJyb3dzIiBpbiBlbnRyeTsKICAgICAgfQogICAgICBHcm91cGluZ3MuaXNFbGVtZW50R3JvdXAgPSBpc0VsZW1lbnRHcm91cDsKICAgICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIGFycmF5IGlzIGEgZ3JvdXBpbmcgYXJyYXkuICovCiAgICAgIGZ1bmN0aW9uIGlzR3JvdXBpbmcoZW50cnkpIHsKICAgICAgICAgIGZvciAobGV0IGVsZW1lbnQgb2YgZW50cnkpCiAgICAgICAgICAgICAgaWYgKCFpc0VsZW1lbnRHcm91cChlbGVtZW50KSkKICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgIH0KICAgICAgR3JvdXBpbmdzLmlzR3JvdXBpbmcgPSBpc0dyb3VwaW5nOwogICAgICAvKiogQ291bnQgdGhlIHRvdGFsIG51bWJlciBvZiBlbGVtZW50cyBpbiBhIHJlY3Vyc2l2ZSBncm91cGluZy4gKi8KICAgICAgZnVuY3Rpb24gY291bnQoZWxlbWVudHMpIHsKICAgICAgICAgIGlmIChpc0dyb3VwaW5nKGVsZW1lbnRzKSkgewogICAgICAgICAgICAgIGxldCByZXN1bHQgPSAwOwogICAgICAgICAgICAgIGZvciAobGV0IHN1Ymdyb3VwIG9mIGVsZW1lbnRzKQogICAgICAgICAgICAgICAgICByZXN1bHQgKz0gY291bnQoc3ViZ3JvdXAucm93cyk7CiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgIHJldHVybiBlbGVtZW50cy5sZW5ndGg7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgR3JvdXBpbmdzLmNvdW50ID0gY291bnQ7CiAgfSkoR3JvdXBpbmdzIHx8IChHcm91cGluZ3MgPSB7fSkpOwogIC8vLy8vLy8vLy8KICAvLyBMSU5LIC8vCiAgLy8vLy8vLy8vLwogIC8qKiBUaGUgT2JzaWRpYW4gJ2xpbmsnLCB1c2VkIGZvciB1bmlxdWVseSBkZXNjcmliaW5nIGEgZmlsZSwgaGVhZGVyLCBvciBibG9jay4gKi8KICBjbGFzcyBMaW5rIHsKICAgICAgLyoqIFRoZSBmaWxlIHBhdGggdGhpcyBsaW5rIHBvaW50cyB0by4gKi8KICAgICAgcGF0aDsKICAgICAgLyoqIFRoZSBkaXNwbGF5IG5hbWUgYXNzb2NpYXRlZCB3aXRoIHRoZSBsaW5rLiAqLwogICAgICBkaXNwbGF5OwogICAgICAvKiogVGhlIGJsb2NrIElEIG9yIGhlYWRlciB0aGlzIGxpbmsgcG9pbnRzIHRvIHdpdGhpbiBhIGZpbGUsIGlmIHJlbGV2YW50LiAqLwogICAgICBzdWJwYXRoOwogICAgICAvKiogSXMgdGhpcyBsaW5rIGFuIGVtYmVkZGVkIGxpbmsgKCEpPyAqLwogICAgICBlbWJlZDsKICAgICAgLyoqIFRoZSB0eXBlIG9mIHRoaXMgbGluaywgd2hpY2ggZGV0ZXJtaW5lcyB3aGF0ICdzdWJwYXRoJyByZWZlcnMgdG8sIGlmIGFueXRoaW5nLiAqLwogICAgICB0eXBlOwogICAgICAvKiogQ3JlYXRlIGEgbGluayB0byBhIHNwZWNpZmljIGZpbGUuICovCiAgICAgIHN0YXRpYyBmaWxlKHBhdGgsIGVtYmVkID0gZmFsc2UsIGRpc3BsYXkpIHsKICAgICAgICAgIHJldHVybiBuZXcgTGluayh7CiAgICAgICAgICAgICAgcGF0aCwKICAgICAgICAgICAgICBlbWJlZCwKICAgICAgICAgICAgICBkaXNwbGF5LAogICAgICAgICAgICAgIHN1YnBhdGg6IHVuZGVmaW5lZCwKICAgICAgICAgICAgICB0eXBlOiAiZmlsZSIsCiAgICAgICAgICB9KTsKICAgICAgfQogICAgICBzdGF0aWMgaW5mZXIobGlua3BhdGgsIGVtYmVkID0gZmFsc2UsIGRpc3BsYXkpIHsKICAgICAgICAgIGlmIChsaW5rcGF0aC5pbmNsdWRlcygiI14iKSkgewogICAgICAgICAgICAgIGxldCBzcGxpdCA9IGxpbmtwYXRoLnNwbGl0KCIjXiIpOwogICAgICAgICAgICAgIHJldHVybiBMaW5rLmJsb2NrKHNwbGl0WzBdLCBzcGxpdFsxXSwgZW1iZWQsIGRpc3BsYXkpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSBpZiAobGlua3BhdGguaW5jbHVkZXMoIiMiKSkgewogICAgICAgICAgICAgIGxldCBzcGxpdCA9IGxpbmtwYXRoLnNwbGl0KCIjIik7CiAgICAgICAgICAgICAgcmV0dXJuIExpbmsuaGVhZGVyKHNwbGl0WzBdLCBzcGxpdFsxXSwgZW1iZWQsIGRpc3BsYXkpOwogICAgICAgICAgfQogICAgICAgICAgZWxzZQogICAgICAgICAgICAgIHJldHVybiBMaW5rLmZpbGUobGlua3BhdGgsIGVtYmVkLCBkaXNwbGF5KTsKICAgICAgfQogICAgICAvKiogQ3JlYXRlIGEgbGluayB0byBhIHNwZWNpZmljIGZpbGUgYW5kIGhlYWRlciBpbiB0aGF0IGZpbGUuICovCiAgICAgIHN0YXRpYyBoZWFkZXIocGF0aCwgaGVhZGVyLCBlbWJlZCwgZGlzcGxheSkgewogICAgICAgICAgLy8gSGVhZGVycyBuZWVkIHRvIGJlIG5vcm1hbGl6ZWQgdG8gYWxwaGEtbnVtZXJpYyAmIHdpdGggZXh0cmEgc3BhY2luZyByZW1vdmVkLgogICAgICAgICAgcmV0dXJuIG5ldyBMaW5rKHsKICAgICAgICAgICAgICBwYXRoLAogICAgICAgICAgICAgIGVtYmVkLAogICAgICAgICAgICAgIGRpc3BsYXksCiAgICAgICAgICAgICAgc3VicGF0aDogbm9ybWFsaXplSGVhZGVyRm9yTGluayhoZWFkZXIpLAogICAgICAgICAgICAgIHR5cGU6ICJoZWFkZXIiLAogICAgICAgICAgfSk7CiAgICAgIH0KICAgICAgLyoqIENyZWF0ZSBhIGxpbmsgdG8gYSBzcGVjaWZpYyBmaWxlIGFuZCBibG9jayBpbiB0aGF0IGZpbGUuICovCiAgICAgIHN0YXRpYyBibG9jayhwYXRoLCBibG9ja0lkLCBlbWJlZCwgZGlzcGxheSkgewogICAgICAgICAgcmV0dXJuIG5ldyBMaW5rKHsKICAgICAgICAgICAgICBwYXRoLAogICAgICAgICAgICAgIGVtYmVkLAogICAgICAgICAgICAgIGRpc3BsYXksCiAgICAgICAgICAgICAgc3VicGF0aDogYmxvY2tJZCwKICAgICAgICAgICAgICB0eXBlOiAiYmxvY2siLAogICAgICAgICAgfSk7CiAgICAgIH0KICAgICAgc3RhdGljIGZyb21PYmplY3Qob2JqZWN0KSB7CiAgICAgICAgICByZXR1cm4gbmV3IExpbmsob2JqZWN0KTsKICAgICAgfQogICAgICBjb25zdHJ1Y3RvcihmaWVsZHMpIHsKICAgICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgZmllbGRzKTsKICAgICAgfQogICAgICAvKiogQ2hlY2tzIGZvciBsaW5rIGVxdWFsaXR5IChpLmUuLCB0aGF0IHRoZSBsaW5rcyBhcmUgcG9pbnRpbmcgdG8gdGhlIHNhbWUgZXhhY3QgbG9jYXRpb24pLiAqLwogICAgICBlcXVhbHMob3RoZXIpIHsKICAgICAgICAgIGlmIChvdGhlciA9PSB1bmRlZmluZWQgfHwgb3RoZXIgPT0gbnVsbCkKICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICByZXR1cm4gdGhpcy5wYXRoID09IG90aGVyLnBhdGggJiYgdGhpcy50eXBlID09IG90aGVyLnR5cGUgJiYgdGhpcy5zdWJwYXRoID09IG90aGVyLnN1YnBhdGg7CiAgICAgIH0KICAgICAgLyoqIENvbnZlcnQgdGhpcyBsaW5rIHRvIGl0J3MgbWFya2Rvd24gcmVwcmVzZW50YXRpb24uICovCiAgICAgIHRvU3RyaW5nKCkgewogICAgICAgICAgcmV0dXJuIHRoaXMubWFya2Rvd24oKTsKICAgICAgfQogICAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gYSByYXcgb2JqZWN0IHdoaWNoIGlzIHNlcmlhbGl6YXRpb24tZnJpZW5kbHkuICovCiAgICAgIHRvT2JqZWN0KCkgewogICAgICAgICAgcmV0dXJuIHsgcGF0aDogdGhpcy5wYXRoLCB0eXBlOiB0aGlzLnR5cGUsIHN1YnBhdGg6IHRoaXMuc3VicGF0aCwgZGlzcGxheTogdGhpcy5kaXNwbGF5LCBlbWJlZDogdGhpcy5lbWJlZCB9OwogICAgICB9CiAgICAgIC8qKiBVcGRhdGUgdGhpcyBsaW5rIHdpdGggYSBuZXcgcGF0aC4gKi8KICAgICAgLy9AdHMtaWdub3JlOyBlcnJvciBhcHBlYXJlZCBhZnRlciB1cGRhdGluZyBPYnNpZGlhbiB0byAwLjE1LjQ7IGl0IGFsc28gdXBkYXRlZCBvdGhlciBwYWNrYWdlcyBidXQgZGlkbid0IHNheSB3aGljaAogICAgICB3aXRoUGF0aChwYXRoKSB7CiAgICAgICAgICByZXR1cm4gbmV3IExpbmsoT2JqZWN0LmFzc2lnbih7fSwgdGhpcywgeyBwYXRoIH0pKTsKICAgICAgfQogICAgICAvKiogUmV0dXJuIGEgbmV3IGxpbmsgd2hpY2ggcG9pbnRzIHRvIHRoZSBzYW1lIGxvY2F0aW9uIGJ1dCB3aXRoIGEgbmV3IGRpc3BsYXkgdmFsdWUuICovCiAgICAgIHdpdGhEaXNwbGF5KGRpc3BsYXkpIHsKICAgICAgICAgIHJldHVybiBuZXcgTGluayhPYmplY3QuYXNzaWduKHt9LCB0aGlzLCB7IGRpc3BsYXkgfSkpOwogICAgICB9CiAgICAgIC8qKiBDb252ZXJ0IGEgZmlsZSBsaW5rIGludG8gYSBsaW5rIHRvIGEgc3BlY2lmaWMgaGVhZGVyLiAqLwogICAgICB3aXRoSGVhZGVyKGhlYWRlcikgewogICAgICAgICAgcmV0dXJuIExpbmsuaGVhZGVyKHRoaXMucGF0aCwgaGVhZGVyLCB0aGlzLmVtYmVkLCB0aGlzLmRpc3BsYXkpOwogICAgICB9CiAgICAgIC8qKiBDb252ZXJ0IGFueSBsaW5rIGludG8gYSBsaW5rIHRvIGl0cyBmaWxlLiAqLwogICAgICB0b0ZpbGUoKSB7CiAgICAgICAgICByZXR1cm4gTGluay5maWxlKHRoaXMucGF0aCwgdGhpcy5lbWJlZCwgdGhpcy5kaXNwbGF5KTsKICAgICAgfQogICAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgaW50byBhbiBlbWJlZGRlZCBsaW5rLiAqLwogICAgICB0b0VtYmVkKCkgewogICAgICAgICAgaWYgKHRoaXMuZW1iZWQpIHsKICAgICAgICAgICAgICByZXR1cm4gdGhpczsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgIGxldCBsaW5rID0gbmV3IExpbmsodGhpcyk7CiAgICAgICAgICAgICAgbGluay5lbWJlZCA9IHRydWU7CiAgICAgICAgICAgICAgcmV0dXJuIGxpbms7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgLyoqIENvbnZlcnQgdGhpcyBsaW5rIGludG8gYSBub24tZW1iZWRkZWQgbGluay4gKi8KICAgICAgZnJvbUVtYmVkKCkgewogICAgICAgICAgaWYgKCF0aGlzLmVtYmVkKSB7CiAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICBsZXQgbGluayA9IG5ldyBMaW5rKHRoaXMpOwogICAgICAgICAgICAgIGxpbmsuZW1iZWQgPSBmYWxzZTsKICAgICAgICAgICAgICByZXR1cm4gbGluazsKICAgICAgICAgIH0KICAgICAgfQogICAgICAvKiogQ29udmVydCB0aGlzIGxpbmsgdG8gbWFya2Rvd24gc28gaXQgY2FuIGJlIHJlbmRlcmVkLiAqLwogICAgICBtYXJrZG93bigpIHsKICAgICAgICAgIGxldCByZXN1bHQgPSAodGhpcy5lbWJlZCA/ICIhIiA6ICIiKSArICJbWyIgKyB0aGlzLm9ic2lkaWFuTGluaygpOwogICAgICAgICAgaWYgKHRoaXMuZGlzcGxheSkgewogICAgICAgICAgICAgIHJlc3VsdCArPSAifCIgKyB0aGlzLmRpc3BsYXk7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICByZXN1bHQgKz0gInwiICsgZ2V0RmlsZVRpdGxlKHRoaXMucGF0aCk7CiAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSAiaGVhZGVyIiB8fCB0aGlzLnR5cGUgPT0gImJsb2NrIikKICAgICAgICAgICAgICAgICAgcmVzdWx0ICs9ICIgPiAiICsgdGhpcy5zdWJwYXRoOwogICAgICAgICAgfQogICAgICAgICAgcmVzdWx0ICs9ICJdXSI7CiAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICB9CiAgICAgIC8qKiBDb252ZXJ0IHRoZSBpbm5lciBwYXJ0IG9mIHRoZSBsaW5rIHRvIHNvbWV0aGluZyB0aGF0IE9ic2lkaWFuIGNhbiBvcGVuIC8gdW5kZXJzdGFuZC4gKi8KICAgICAgb2JzaWRpYW5MaW5rKCkgewogICAgICAgICAgY29uc3QgZXNjYXBlZCA9IHRoaXMucGF0aC5yZXBsYWNlQWxsKCJ8IiwgIlxcfCIpOwogICAgICAgICAgaWYgKHRoaXMudHlwZSA9PSAiaGVhZGVyIikKICAgICAgICAgICAgICByZXR1cm4gZXNjYXBlZCArICIjIiArIHRoaXMuc3VicGF0aD8ucmVwbGFjZUFsbCgifCIsICJcXHwiKTsKICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT0gImJsb2NrIikKICAgICAgICAgICAgICByZXR1cm4gZXNjYXBlZCArICIjXiIgKyB0aGlzLnN1YnBhdGg/LnJlcGxhY2VBbGwoInwiLCAiXFx8Iik7CiAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgcmV0dXJuIGVzY2FwZWQ7CiAgICAgIH0KICAgICAgLyoqIFRoZSBzdHJpcHBlZCBuYW1lIG9mIHRoZSBmaWxlIHRoaXMgbGluayBwb2ludHMgdG8uICovCiAgICAgIGZpbGVOYW1lKCkgewogICAgICAgICAgcmV0dXJuIGdldEZpbGVUaXRsZSh0aGlzLnBhdGgpLnJlcGxhY2UoIi5tZCIsICIiKTsKICAgICAgfQogIH0KICAvLy8vLy8vLy8vLy8vLy8vLwogIC8vIFdJREdFVCBCQVNFIC8vCiAgLy8vLy8vLy8vLy8vLy8vLy8KICAvKioKICAgKiBBIHRyaXZpYWwgYmFzZSBjbGFzcyB3aGljaCBqdXN0IGRlZmluZXMgdGhlICckd2lkZ2V0JyBpZGVudGlmaWVyIHR5cGUuIFN1YnR5cGVzIG9mCiAgICogd2lkZ2V0IGFyZSByZXNwb25zaWJsZSBmb3IgYWRkaW5nIHdoYXRldmVyIG1ldGFkYXRhIGlzIHJlbGV2YW50LiBJZiB5b3Ugd2FudCB5b3VyIHdpZGdldAogICAqIHRvIGhhdmUgcmVuZGVyaW5nIGZ1bmN0aW9uYWxpdHkgKHdoaWNoIHlvdSBwcm9iYWJseSBkbyksIHlvdSBzaG91bGQgZXh0ZW5kIGBSZW5kZXJXaWRnZXRgLgogICAqLwogIGNsYXNzIFdpZGdldCB7CiAgICAgICR3aWRnZXQ7CiAgICAgIGNvbnN0cnVjdG9yKCR3aWRnZXQpIHsKICAgICAgICAgIHRoaXMuJHdpZGdldCA9ICR3aWRnZXQ7CiAgICAgIH0KICB9CiAgLyoqIEEgdHJpdmlhbCB3aWRnZXQgd2hpY2ggcmVuZGVycyBhIChrZXksIHZhbHVlKSBwYWlyLCBhbmQgYWxsb3dzIGFjY2Vzc2luZyB0aGUga2V5IGFuZCB2YWx1ZS4gKi8KICBjbGFzcyBMaXN0UGFpcldpZGdldCBleHRlbmRzIFdpZGdldCB7CiAgICAgIGtleTsKICAgICAgdmFsdWU7CiAgICAgIGNvbnN0cnVjdG9yKGtleSwgdmFsdWUpIHsKICAgICAgICAgIHN1cGVyKCJkYXRhdmlldzpsaXN0LXBhaXIiKTsKICAgICAgICAgIHRoaXMua2V5ID0ga2V5OwogICAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlOwogICAgICB9CiAgICAgIG1hcmtkb3duKCkgewogICAgICAgICAgcmV0dXJuIGAke1ZhbHVlcy50b1N0cmluZyh0aGlzLmtleSl9OiAke1ZhbHVlcy50b1N0cmluZyh0aGlzLnZhbHVlKX1gOwogICAgICB9CiAgfQogIC8qKiBBIHNpbXBsZSB3aWRnZXQgd2hpY2ggcmVuZGVycyBhbiBleHRlcm5hbCBsaW5rLiAqLwogIGNsYXNzIEV4dGVybmFsTGlua1dpZGdldCBleHRlbmRzIFdpZGdldCB7CiAgICAgIHVybDsKICAgICAgZGlzcGxheTsKICAgICAgY29uc3RydWN0b3IodXJsLCBkaXNwbGF5KSB7CiAgICAgICAgICBzdXBlcigiZGF0YXZpZXc6ZXh0ZXJuYWwtbGluayIpOwogICAgICAgICAgdGhpcy51cmwgPSB1cmw7CiAgICAgICAgICB0aGlzLmRpc3BsYXkgPSBkaXNwbGF5OwogICAgICB9CiAgICAgIG1hcmtkb3duKCkgewogICAgICAgICAgcmV0dXJuIGBbJHt0aGlzLmRpc3BsYXkgPz8gdGhpcy51cmx9XSgke3RoaXMudXJsfSlgOwogICAgICB9CiAgfQogIHZhciBXaWRnZXRzOwogIChmdW5jdGlvbiAoV2lkZ2V0cykgewogICAgICAvKiogQ3JlYXRlIGEgbGlzdCBwYWlyIHdpZGdldCBtYXRjaGluZyB0aGUgZ2l2ZW4ga2V5IGFuZCB2YWx1ZS4gKi8KICAgICAgZnVuY3Rpb24gbGlzdFBhaXIoa2V5LCB2YWx1ZSkgewogICAgICAgICAgcmV0dXJuIG5ldyBMaXN0UGFpcldpZGdldChrZXksIHZhbHVlKTsKICAgICAgfQogICAgICBXaWRnZXRzLmxpc3RQYWlyID0gbGlzdFBhaXI7CiAgICAgIC8qKiBDcmVhdGUgYW4gZXh0ZXJuYWwgbGluayB3aWRnZXQgd2hpY2ggcmVuZGVycyBhbiBleHRlcm5hbCBPYnNpZGlhbiBsaW5rLiAqLwogICAgICBmdW5jdGlvbiBleHRlcm5hbExpbmsodXJsLCBkaXNwbGF5KSB7CiAgICAgICAgICByZXR1cm4gbmV3IEV4dGVybmFsTGlua1dpZGdldCh1cmwsIGRpc3BsYXkpOwogICAgICB9CiAgICAgIFdpZGdldHMuZXh0ZXJuYWxMaW5rID0gZXh0ZXJuYWxMaW5rOwogICAgICAvKiogQ2hlY2tzIGlmIHRoZSBnaXZlbiB3aWRnZXQgaXMgYSBsaXN0IHBhaXIgd2lkZ2V0LiAqLwogICAgICBmdW5jdGlvbiBpc0xpc3RQYWlyKHdpZGdldCkgewogICAgICAgICAgcmV0dXJuIHdpZGdldC4kd2lkZ2V0ID09PSAiZGF0YXZpZXc6bGlzdC1wYWlyIjsKICAgICAgfQogICAgICBXaWRnZXRzLmlzTGlzdFBhaXIgPSBpc0xpc3RQYWlyOwogICAgICBmdW5jdGlvbiBpc0V4dGVybmFsTGluayh3aWRnZXQpIHsKICAgICAgICAgIHJldHVybiB3aWRnZXQuJHdpZGdldCA9PT0gImRhdGF2aWV3OmV4dGVybmFsLWxpbmsiOwogICAgICB9CiAgICAgIFdpZGdldHMuaXNFeHRlcm5hbExpbmsgPSBpc0V4dGVybmFsTGluazsKICAgICAgLyoqIERldGVybWluZXMgaWYgdGhlIGdpdmVuIHdpZGdldCBpcyBhbnkga2luZCBvZiBidWlsdC1pbiB3aWRnZXQgd2l0aCBzcGVjaWFsIHJlbmRlcmluZyBoYW5kbGluZy4gKi8KICAgICAgZnVuY3Rpb24gaXNCdWlsdGluKHdpZGdldCkgewogICAgICAgICAgcmV0dXJuIGlzTGlzdFBhaXIod2lkZ2V0KSB8fCBpc0V4dGVybmFsTGluayh3aWRnZXQpOwogICAgICB9CiAgICAgIFdpZGdldHMuaXNCdWlsdGluID0gaXNCdWlsdGluOwogIH0pKFdpZGdldHMgfHwgKFdpZGdldHMgPSB7fSkpOwoKICAvKiogVXRpbGl0eSBtZXRob2RzIGZvciBjcmVhdGluZyAmIGNvbXBhcmluZyBmaWVsZHMuICovCiAgdmFyIEZpZWxkczsKICAoZnVuY3Rpb24gKEZpZWxkcykgewogICAgICBmdW5jdGlvbiB2YXJpYWJsZShuYW1lKSB7CiAgICAgICAgICByZXR1cm4geyB0eXBlOiAidmFyaWFibGUiLCBuYW1lIH07CiAgICAgIH0KICAgICAgRmllbGRzLnZhcmlhYmxlID0gdmFyaWFibGU7CiAgICAgIGZ1bmN0aW9uIGxpdGVyYWwodmFsdWUpIHsKICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJsaXRlcmFsIiwgdmFsdWUgfTsKICAgICAgfQogICAgICBGaWVsZHMubGl0ZXJhbCA9IGxpdGVyYWw7CiAgICAgIGZ1bmN0aW9uIGJpbmFyeU9wKGxlZnQsIG9wLCByaWdodCkgewogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImJpbmFyeW9wIiwgbGVmdCwgb3AsIHJpZ2h0IH07CiAgICAgIH0KICAgICAgRmllbGRzLmJpbmFyeU9wID0gYmluYXJ5T3A7CiAgICAgIGZ1bmN0aW9uIGluZGV4KG9iaiwgaW5kZXgpIHsKICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJpbmRleCIsIG9iamVjdDogb2JqLCBpbmRleCB9OwogICAgICB9CiAgICAgIEZpZWxkcy5pbmRleCA9IGluZGV4OwogICAgICAvKiogQ29udmVydHMgYSBzdHJpbmcgaW4gZG90LW5vdGF0aW9uLWZvcm1hdCBpbnRvIGEgdmFyaWFibGUgd2hpY2ggaW5kZXhlcy4gKi8KICAgICAgZnVuY3Rpb24gaW5kZXhWYXJpYWJsZShuYW1lKSB7CiAgICAgICAgICBsZXQgcGFydHMgPSBuYW1lLnNwbGl0KCIuIik7CiAgICAgICAgICBsZXQgcmVzdWx0ID0gRmllbGRzLnZhcmlhYmxlKHBhcnRzWzBdKTsKICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPCBwYXJ0cy5sZW5ndGg7IGluZGV4KyspIHsKICAgICAgICAgICAgICByZXN1bHQgPSBGaWVsZHMuaW5kZXgocmVzdWx0LCBGaWVsZHMubGl0ZXJhbChwYXJ0c1tpbmRleF0pKTsKICAgICAgICAgIH0KICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgIH0KICAgICAgRmllbGRzLmluZGV4VmFyaWFibGUgPSBpbmRleFZhcmlhYmxlOwogICAgICBmdW5jdGlvbiBsYW1iZGEoYXJncywgdmFsdWUpIHsKICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJsYW1iZGEiLCBhcmd1bWVudHM6IGFyZ3MsIHZhbHVlIH07CiAgICAgIH0KICAgICAgRmllbGRzLmxhbWJkYSA9IGxhbWJkYTsKICAgICAgZnVuY3Rpb24gZnVuYyhmdW5jLCBhcmdzKSB7CiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiZnVuY3Rpb24iLCBmdW5jLCBhcmd1bWVudHM6IGFyZ3MgfTsKICAgICAgfQogICAgICBGaWVsZHMuZnVuYyA9IGZ1bmM7CiAgICAgIGZ1bmN0aW9uIGxpc3QodmFsdWVzKSB7CiAgICAgICAgICByZXR1cm4geyB0eXBlOiAibGlzdCIsIHZhbHVlcyB9OwogICAgICB9CiAgICAgIEZpZWxkcy5saXN0ID0gbGlzdDsKICAgICAgZnVuY3Rpb24gb2JqZWN0KHZhbHVlcykgewogICAgICAgICAgcmV0dXJuIHsgdHlwZTogIm9iamVjdCIsIHZhbHVlcyB9OwogICAgICB9CiAgICAgIEZpZWxkcy5vYmplY3QgPSBvYmplY3Q7CiAgICAgIGZ1bmN0aW9uIG5lZ2F0ZShjaGlsZCkgewogICAgICAgICAgcmV0dXJuIHsgdHlwZTogIm5lZ2F0ZWQiLCBjaGlsZCB9OwogICAgICB9CiAgICAgIEZpZWxkcy5uZWdhdGUgPSBuZWdhdGU7CiAgICAgIGZ1bmN0aW9uIGlzQ29tcGFyZU9wKG9wKSB7CiAgICAgICAgICByZXR1cm4gb3AgPT0gIjw9IiB8fCBvcCA9PSAiPCIgfHwgb3AgPT0gIj4iIHx8IG9wID09ICI+PSIgfHwgb3AgPT0gIiE9IiB8fCBvcCA9PSAiPSI7CiAgICAgIH0KICAgICAgRmllbGRzLmlzQ29tcGFyZU9wID0gaXNDb21wYXJlT3A7CiAgICAgIEZpZWxkcy5OVUxMID0gRmllbGRzLmxpdGVyYWwobnVsbCk7CiAgfSkoRmllbGRzIHx8IChGaWVsZHMgPSB7fSkpOwoKICAvKiogQVNUIGltcGxlbWVudGF0aW9uIGZvciBxdWVyaWVzIG92ZXIgZGF0YSBzb3VyY2VzLiAqLwogIC8qKiBVdGlsaXR5IGZ1bmN0aW9ucyBmb3IgY3JlYXRpbmcgYW5kIG1hbmlwdWxhdGluZyBzb3VyY2VzLiAqLwogIHZhciBTb3VyY2VzOwogIChmdW5jdGlvbiAoU291cmNlcykgewogICAgICAvKiogQ3JlYXRlIGEgc291cmNlIHdoaWNoIHNlYXJjaGVzIGZyb20gYSB0YWcuICovCiAgICAgIGZ1bmN0aW9uIHRhZyh0YWcpIHsKICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJ0YWciLCB0YWcgfTsKICAgICAgfQogICAgICBTb3VyY2VzLnRhZyA9IHRhZzsKICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBmZXRjaGVzIGZyb20gYSBDU1YgZmlsZS4gKi8KICAgICAgZnVuY3Rpb24gY3N2KHBhdGgpIHsKICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJjc3YiLCBwYXRoIH07CiAgICAgIH0KICAgICAgU291cmNlcy5jc3YgPSBjc3Y7CiAgICAgIC8qKiBDcmVhdGUgYSBzb3VyY2Ugd2hpY2ggc2VhcmNoZXMgZm9yIGZpbGVzIHVuZGVyIGEgZm9sZGVyIHByZWZpeC4gKi8KICAgICAgZnVuY3Rpb24gZm9sZGVyKHByZWZpeCkgewogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImZvbGRlciIsIGZvbGRlcjogcHJlZml4IH07CiAgICAgIH0KICAgICAgU291cmNlcy5mb2xkZXIgPSBmb2xkZXI7CiAgICAgIC8qKiBDcmVhdGUgYSBzb3VyY2Ugd2hpY2ggc2VhcmNoZXMgZm9yIGZpbGVzIHdoaWNoIGxpbmsgdG8vZnJvbSBhIGdpdmVuIGZpbGUuICovCiAgICAgIGZ1bmN0aW9uIGxpbmsoZmlsZSwgaW5jb21pbmcpIHsKICAgICAgICAgIHJldHVybiB7IHR5cGU6ICJsaW5rIiwgZmlsZSwgZGlyZWN0aW9uOiBpbmNvbWluZyA/ICJpbmNvbWluZyIgOiAib3V0Z29pbmciIH07CiAgICAgIH0KICAgICAgU291cmNlcy5saW5rID0gbGluazsKICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBqb2lucyB0d28gc291cmNlcyBieSBhIGxvZ2ljYWwgb3BlcmF0b3IgKGFuZC9vcikuICovCiAgICAgIGZ1bmN0aW9uIGJpbmFyeU9wKGxlZnQsIG9wLCByaWdodCkgewogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImJpbmFyeW9wIiwgbGVmdCwgb3AsIHJpZ2h0IH07CiAgICAgIH0KICAgICAgU291cmNlcy5iaW5hcnlPcCA9IGJpbmFyeU9wOwogICAgICAvKiogQ3JlYXRlIGEgc291cmNlIHdoaWNoIHRha2VzIHRoZSBpbnRlcnNlY3Rpb24gb2YgdHdvIHNvdXJjZXMuICovCiAgICAgIGZ1bmN0aW9uIGFuZChsZWZ0LCByaWdodCkgewogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImJpbmFyeW9wIiwgbGVmdCwgb3A6ICImIiwgcmlnaHQgfTsKICAgICAgfQogICAgICBTb3VyY2VzLmFuZCA9IGFuZDsKICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCB0YWtlcyB0aGUgdW5pb24gb2YgdHdvIHNvdXJjZXMuICovCiAgICAgIGZ1bmN0aW9uIG9yKGxlZnQsIHJpZ2h0KSB7CiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiYmluYXJ5b3AiLCBsZWZ0LCBvcDogInwiLCByaWdodCB9OwogICAgICB9CiAgICAgIFNvdXJjZXMub3IgPSBvcjsKICAgICAgLyoqIENyZWF0ZSBhIHNvdXJjZSB3aGljaCBuZWdhdGVzIHRoZSB1bmRlcmx5aW5nIHNvdXJjZS4gKi8KICAgICAgZnVuY3Rpb24gbmVnYXRlKGNoaWxkKSB7CiAgICAgICAgICByZXR1cm4geyB0eXBlOiAibmVnYXRlIiwgY2hpbGQgfTsKICAgICAgfQogICAgICBTb3VyY2VzLm5lZ2F0ZSA9IG5lZ2F0ZTsKICAgICAgZnVuY3Rpb24gZW1wdHkoKSB7CiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiZW1wdHkiIH07CiAgICAgIH0KICAgICAgU291cmNlcy5lbXB0eSA9IGVtcHR5OwogIH0pKFNvdXJjZXMgfHwgKFNvdXJjZXMgPSB7fSkpOwoKICAvKiogRW1vamkgcmVnZXggd2l0aG91dCBhbnkgYWRkaXRpb25hbCBmbGFncy4gKi8KICBjb25zdCBFTU9KSV9SRUdFWCA9IG5ldyBSZWdFeHAoZW1vamlSZWdleCgpLCAiIik7CiAgLyoqIFByb3ZpZGVzIGEgbG9va3VwIHRhYmxlIGZvciB1bml0IGR1cmF0aW9ucyBvZiB0aGUgZ2l2ZW4gdHlwZS4gKi8KICBjb25zdCBEVVJBVElPTl9UWVBFUyA9IHsKICAgICAgeWVhcjogRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxIH0pLAogICAgICB5ZWFyczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxIH0pLAogICAgICB5cjogRHVyYXRpb24uZnJvbU9iamVjdCh7IHllYXJzOiAxIH0pLAogICAgICB5cnM6IER1cmF0aW9uLmZyb21PYmplY3QoeyB5ZWFyczogMSB9KSwKICAgICAgbW9udGg6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDEgfSksCiAgICAgIG1vbnRoczogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogMSB9KSwKICAgICAgbW86IER1cmF0aW9uLmZyb21PYmplY3QoeyBtb250aHM6IDEgfSksCiAgICAgIG1vczogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1vbnRoczogMSB9KSwKICAgICAgd2VlazogRHVyYXRpb24uZnJvbU9iamVjdCh7IHdlZWtzOiAxIH0pLAogICAgICB3ZWVrczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHdlZWtzOiAxIH0pLAogICAgICB3azogRHVyYXRpb24uZnJvbU9iamVjdCh7IHdlZWtzOiAxIH0pLAogICAgICB3a3M6IER1cmF0aW9uLmZyb21PYmplY3QoeyB3ZWVrczogMSB9KSwKICAgICAgdzogRHVyYXRpb24uZnJvbU9iamVjdCh7IHdlZWtzOiAxIH0pLAogICAgICBkYXk6IER1cmF0aW9uLmZyb21PYmplY3QoeyBkYXlzOiAxIH0pLAogICAgICBkYXlzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSwKICAgICAgZDogRHVyYXRpb24uZnJvbU9iamVjdCh7IGRheXM6IDEgfSksCiAgICAgIGhvdXI6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSwKICAgICAgaG91cnM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSwKICAgICAgaHI6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSwKICAgICAgaHJzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgaG91cnM6IDEgfSksCiAgICAgIGg6IER1cmF0aW9uLmZyb21PYmplY3QoeyBob3VyczogMSB9KSwKICAgICAgbWludXRlOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWludXRlczogMSB9KSwKICAgICAgbWludXRlczogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksCiAgICAgIG1pbjogRHVyYXRpb24uZnJvbU9iamVjdCh7IG1pbnV0ZXM6IDEgfSksCiAgICAgIG1pbnM6IER1cmF0aW9uLmZyb21PYmplY3QoeyBtaW51dGVzOiAxIH0pLAogICAgICBtOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgbWludXRlczogMSB9KSwKICAgICAgc2Vjb25kOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgc2Vjb25kczogMSB9KSwKICAgICAgc2Vjb25kczogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksCiAgICAgIHNlYzogRHVyYXRpb24uZnJvbU9iamVjdCh7IHNlY29uZHM6IDEgfSksCiAgICAgIHNlY3M6IER1cmF0aW9uLmZyb21PYmplY3QoeyBzZWNvbmRzOiAxIH0pLAogICAgICBzOiBEdXJhdGlvbi5mcm9tT2JqZWN0KHsgc2Vjb25kczogMSB9KSwKICB9OwogIC8qKiBTaG9ydGhhbmQgZm9yIGNvbW1vbiBkYXRlcyAocmVsYXRpdmUgdG8gcmlnaHQgbm93KS4gKi8KICBjb25zdCBEQVRFX1NIT1JUSEFORFMgPSB7CiAgICAgIG5vdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKSwKICAgICAgdG9kYXk6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuc3RhcnRPZigiZGF5IiksCiAgICAgIHllc3RlcmRheTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKQogICAgICAgICAgLnN0YXJ0T2YoImRheSIpCiAgICAgICAgICAubWludXMoRHVyYXRpb24uZnJvbU9iamVjdCh7IGRheXM6IDEgfSkpLAogICAgICB0b21vcnJvdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKQogICAgICAgICAgLnN0YXJ0T2YoImRheSIpCiAgICAgICAgICAucGx1cyhEdXJhdGlvbi5mcm9tT2JqZWN0KHsgZGF5czogMSB9KSksCiAgICAgIHNvdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKCJ3ZWVrIiksCiAgICAgICJzdGFydC1vZi13ZWVrIjogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKCJ3ZWVrIiksCiAgICAgIGVvdzogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5lbmRPZigid2VlayIpLAogICAgICAiZW5kLW9mLXdlZWsiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKCJ3ZWVrIiksCiAgICAgIHNveTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKCJ5ZWFyIiksCiAgICAgICJzdGFydC1vZi15ZWFyIjogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKCJ5ZWFyIiksCiAgICAgIGVveTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5lbmRPZigieWVhciIpLAogICAgICAiZW5kLW9mLXllYXIiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLmVuZE9mKCJ5ZWFyIiksCiAgICAgIHNvbTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5zdGFydE9mKCJtb250aCIpLAogICAgICAic3RhcnQtb2YtbW9udGgiOiAoKSA9PiBEYXRlVGltZS5sb2NhbCgpLnN0YXJ0T2YoIm1vbnRoIiksCiAgICAgIGVvbTogKCkgPT4gRGF0ZVRpbWUubG9jYWwoKS5lbmRPZigibW9udGgiKSwKICAgICAgImVuZC1vZi1tb250aCI6ICgpID0+IERhdGVUaW1lLmxvY2FsKCkuZW5kT2YoIm1vbnRoIiksCiAgfTsKICAvKioKICAgKiBLZXl3b3JkcyB3aGljaCBjYW5ub3QgYmUgdXNlZCBhcyB2YXJpYWJsZXMgZGlyZWN0bHkuIFVzZSBgcm93Ljx0aGluZz5gIGlmIGl0IGlzIGEgdmFyaWFibGUgeW91IGhhdmUgZGVmaW5lZCBhbmQgd2FudAogICAqIHRvIGFjY2Vzcy4KICAgKi8KICBjb25zdCBLRVlXT1JEUyA9IFsiRlJPTSIsICJXSEVSRSIsICJMSU1JVCIsICJHUk9VUCIsICJGTEFUVEVOIl07CiAgLy8vLy8vLy8vLy8vLy8vCiAgLy8gVXRpbGl0aWVzIC8vCiAgLy8vLy8vLy8vLy8vLy8vCiAgLyoqIFNwbGl0IG9uIHVuZXNjYXBlZCBwaXBlcyBpbiBhbiBpbm5lciBsaW5rLiAqLwogIGZ1bmN0aW9uIHNwbGl0T25VbmVzY2FwZWRQaXBlKGxpbmspIHsKICAgICAgbGV0IHBpcGUgPSAtMTsKICAgICAgd2hpbGUgKChwaXBlID0gbGluay5pbmRleE9mKCJ8IiwgcGlwZSArIDEpKSA+PSAwKSB7CiAgICAgICAgICBpZiAocGlwZSA+IDAgJiYgbGlua1twaXBlIC0gMV0gPT0gIlxcIikKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIHJldHVybiBbbGluay5zdWJzdHJpbmcoMCwgcGlwZSkucmVwbGFjZSgvXFxcfC9nLCAifCIpLCBsaW5rLnN1YnN0cmluZyhwaXBlICsgMSldOwogICAgICB9CiAgICAgIHJldHVybiBbbGluay5yZXBsYWNlKC9cXFx8L2csICJ8IiksIHVuZGVmaW5lZF07CiAgfQogIC8qKiBBdHRlbXB0IHRvIHBhcnNlIHRoZSBpbnNpZGUgb2YgYSBsaW5rIHRvIHB1bGwgb3V0IGRpc3BsYXkgbmFtZSwgc3VicGF0aCwgZXRjLiAqLwogIGZ1bmN0aW9uIHBhcnNlSW5uZXJMaW5rKHJhd2xpbmspIHsKICAgICAgbGV0IFtsaW5rLCBkaXNwbGF5XSA9IHNwbGl0T25VbmVzY2FwZWRQaXBlKHJhd2xpbmspOwogICAgICByZXR1cm4gTGluay5pbmZlcihsaW5rLCBmYWxzZSwgZGlzcGxheSk7CiAgfQogIC8qKiBDcmVhdGUgYSBsZWZ0LWFzc29jaWF0aXZlIGJpbmFyeSBwYXJzZXIgd2hpY2ggcGFyc2VzIHRoZSBnaXZlbiBzdWItZWxlbWVudCBhbmQgc2VwYXJhdG9yLiBIYW5kbGVzIHdoaXRlc3BhY2UuICovCiAgZnVuY3Rpb24gY3JlYXRlQmluYXJ5UGFyc2VyKGNoaWxkLCBzZXAsIGNvbWJpbmUpIHsKICAgICAgcmV0dXJuIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXFNYXAoY2hpbGQsIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXEocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLm9wdFdoaXRlc3BhY2UsIHNlcCwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLm9wdFdoaXRlc3BhY2UsIGNoaWxkKS5tYW55KCksIChmaXJzdCwgcmVzdCkgPT4gewogICAgICAgICAgaWYgKHJlc3QubGVuZ3RoID09IDApCiAgICAgICAgICAgICAgcmV0dXJuIGZpcnN0OwogICAgICAgICAgbGV0IG5vZGUgPSBjb21iaW5lKGZpcnN0LCByZXN0WzBdWzFdLCByZXN0WzBdWzNdKTsKICAgICAgICAgIGZvciAobGV0IGluZGV4ID0gMTsgaW5kZXggPCByZXN0Lmxlbmd0aDsgaW5kZXgrKykgewogICAgICAgICAgICAgIG5vZGUgPSBjb21iaW5lKG5vZGUsIHJlc3RbaW5kZXhdWzFdLCByZXN0W2luZGV4XVszXSk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gbm9kZTsKICAgICAgfSk7CiAgfQogIGZ1bmN0aW9uIGNoYWluT3B0KGJhc2UsIC4uLmZ1bmNzKSB7CiAgICAgIHJldHVybiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuY3VzdG9tKChzdWNjZXNzLCBmYWlsdXJlKSA9PiB7CiAgICAgICAgICByZXR1cm4gKGlucHV0LCBpKSA9PiB7CiAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IGJhc2UuXyhpbnB1dCwgaSk7CiAgICAgICAgICAgICAgaWYgKCFyZXN1bHQuc3RhdHVzKQogICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAgICAgIGZvciAobGV0IGZ1bmMgb2YgZnVuY3MpIHsKICAgICAgICAgICAgICAgICAgbGV0IG5leHQgPSBmdW5jKHJlc3VsdC52YWx1ZSkuXyhpbnB1dCwgcmVzdWx0LmluZGV4KTsKICAgICAgICAgICAgICAgICAgaWYgKCFuZXh0LnN0YXR1cykKICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IG5leHQ7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgICB9OwogICAgICB9KTsKICB9CiAgY29uc3QgRVhQUkVTU0lPTiA9IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5jcmVhdGVMYW5ndWFnZSh7CiAgICAgIC8vIEEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyOyB0aGUgZGVjaW1hbCBwb2ludCBpcyBvcHRpb25hbC4KICAgICAgbnVtYmVyOiBxID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5yZWdleHAoLy0/WzAtOV0rKFwuWzAtOV0rKT8vKQogICAgICAgICAgLm1hcChzdHIgPT4gTnVtYmVyLnBhcnNlRmxvYXQoc3RyKSkKICAgICAgICAgIC5kZXNjKCJudW1iZXIiKSwKICAgICAgLy8gQSBxdW90ZS1zdXJyb3VuZGVkIHN0cmluZyB3aGljaCBzdXBwb3J0cyBlc2NhcGUgY2hhcmFjdGVycyAoJ1wnKS4KICAgICAgc3RyaW5nOiBxID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoJyInKQogICAgICAgICAgLnRoZW4ocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLmFsdChxLmVzY2FwZUNoYXJhY3RlciwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLm5vbmVPZignIlxcJykpCiAgICAgICAgICAuYXRMZWFzdCgwKQogICAgICAgICAgLm1hcChjaGFycyA9PiBjaGFycy5qb2luKCIiKSkpCiAgICAgICAgICAuc2tpcChwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3RyaW5nKCciJykpCiAgICAgICAgICAuZGVzYygic3RyaW5nIiksCiAgICAgIGVzY2FwZUNoYXJhY3RlcjogXyA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3RyaW5nKCJcXCIpCiAgICAgICAgICAudGhlbihwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuYW55KQogICAgICAgICAgLm1hcChlc2NhcGVkID0+IHsKICAgICAgICAgIC8vIElmIHdlIGFyZSBlc2NhcGluZyBhIGJhY2tzbGFzaCBvciBhIHF1b3RlLCBwYXNzIGluIG9uIGluIGVzY2FwZWQgZm9ybQogICAgICAgICAgaWYgKGVzY2FwZWQgPT09ICciJykKICAgICAgICAgICAgICByZXR1cm4gJyInOwogICAgICAgICAgaWYgKGVzY2FwZWQgPT09ICJcXCIpCiAgICAgICAgICAgICAgcmV0dXJuICJcXCI7CiAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgcmV0dXJuICJcXCIgKyBlc2NhcGVkOwogICAgICB9KSwKICAgICAgLy8gQSBib29sZWFuIHRydWUvZmFsc2UgdmFsdWUuCiAgICAgIGJvb2w6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnJlZ2V4cCgvdHJ1ZXxmYWxzZXxUcnVlfEZhbHNlLykKICAgICAgICAgIC5tYXAoc3RyID0+IHN0ci50b0xvd2VyQ2FzZSgpID09ICJ0cnVlIikKICAgICAgICAgIC5kZXNjKCJib29sZWFuICgndHJ1ZScgb3IgJ2ZhbHNlJykiKSwKICAgICAgLy8gQSB0YWcgb2YgdGhlIGZvcm0gJyNzdHVmZi9oZWxsby10aGVyZScuCiAgICAgIHRhZzogXyA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIiMiKSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLmFsdChwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMucmVnZXhwKC9bXlx1MjAwMC1cdTIwNkZcdTJFMDAtXHUyRTdGJyEiIyQlJigpKissLjo7PD0+P0BeYHt8fX5cW1xdXFxcc10vKS5kZXNjKCJ0ZXh0IikpLm1hbnkoKSwgKHN0YXJ0LCByZXN0KSA9PiBzdGFydCArIHJlc3Quam9pbigiIikpLmRlc2MoInRhZyAoJyNoZWxsby9zdHVmZicpIiksCiAgICAgIC8vIEEgdmFyaWFibGUgaWRlbnRpZmllciwgd2hpY2ggaXMgYWxwaGFudW1lcmljIGFuZCBtdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IuLi4gZW1vamkuCiAgICAgIGlkZW50aWZpZXI6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuYWx0KHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5yZWdleHAoL1xwe0xldHRlcn0vdSksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5yZWdleHAoRU1PSklfUkVHRVgpLmRlc2MoInRleHQiKSksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5hbHQocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnJlZ2V4cCgvWzAtOVxwe0xldHRlcn1fLV0vdSksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5yZWdleHAoRU1PSklfUkVHRVgpLmRlc2MoInRleHQiKSkubWFueSgpLCAoZmlyc3QsIHJlc3QpID0+IGZpcnN0ICsgcmVzdC5qb2luKCIiKSkuZGVzYygidmFyaWFibGUgaWRlbnRpZmllciIpLAogICAgICAvLyBBbiBPYnNpZGlhbiBsaW5rIG9mIHRoZSBmb3JtIFtbPGxpbms+XV0uCiAgICAgIGxpbms6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnJlZ2V4cCgvXFtcWyhbXlxbXF1dKj8pXF1cXS91LCAxKQogICAgICAgICAgLm1hcChsaW5rSW5uZXIgPT4gcGFyc2VJbm5lckxpbmsobGlua0lubmVyKSkKICAgICAgICAgIC5kZXNjKCJmaWxlIGxpbmsiKSwKICAgICAgLy8gQW4gZW1iZWRkYWJsZSBsaW5rIHdoaWNoIGNhbiBzdGFydCB3aXRoICchJy4gVGhpcyBvdmVybGFwcyB3aXRoIHRoZSBub3JtYWwgbmVnYXRpb24gb3BlcmF0b3IsIHNvIGl0IGlzIG9ubHkKICAgICAgLy8gcHJvdmlkZWQgZm9yIG1ldGFkYXRhIHBhcnNpbmcuCiAgICAgIGVtYmVkTGluazogcSA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIiEiKS5hdE1vc3QoMSksIHEubGluaywgKHAsIGwpID0+IHsKICAgICAgICAgIGlmIChwLmxlbmd0aCA+IDApCiAgICAgICAgICAgICAgbC5lbWJlZCA9IHRydWU7CiAgICAgICAgICByZXR1cm4gbDsKICAgICAgfSkuZGVzYygiZmlsZSBsaW5rIiksCiAgICAgIC8vIEJpbmFyeSBwbHVzIG9yIG1pbnVzIG9wZXJhdG9yLgogICAgICBiaW5hcnlQbHVzTWludXM6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnJlZ2V4cCgvXCt8LS8pCiAgICAgICAgICAubWFwKHN0ciA9PiBzdHIpCiAgICAgICAgICAuZGVzYygiJysnIG9yICctJyIpLAogICAgICAvLyBCaW5hcnkgdGltZXMgb3IgZGl2aWRlIG9wZXJhdG9yLgogICAgICBiaW5hcnlNdWxEaXY6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnJlZ2V4cCgvXCp8XC98JS8pCiAgICAgICAgICAubWFwKHN0ciA9PiBzdHIpCiAgICAgICAgICAuZGVzYygiJyonIG9yICcvJyBvciAnJSciKSwKICAgICAgLy8gQmluYXJ5IGNvbXBhcmlzb24gb3BlcmF0b3IuCiAgICAgIGJpbmFyeUNvbXBhcmVPcDogXyA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMucmVnZXhwKC8+PXw8PXwhPXw+fDx8PS8pCiAgICAgICAgICAubWFwKHN0ciA9PiBzdHIpCiAgICAgICAgICAuZGVzYygiJz49JyBvciAnPD0nIG9yICchPScgb3IgJz0nIG9yICc+JyBvciAnPCciKSwKICAgICAgLy8gQmluYXJ5IGJvb2xlYW4gY29tYmluYXRpb24gb3BlcmF0b3IuCiAgICAgIGJpbmFyeUJvb2xlYW5PcDogXyA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMucmVnZXhwKC9hbmR8b3J8JnxcfC9pKQogICAgICAgICAgLm1hcChzdHIgPT4gewogICAgICAgICAgaWYgKHN0ci50b0xvd2VyQ2FzZSgpID09ICJhbmQiKQogICAgICAgICAgICAgIHJldHVybiAiJiI7CiAgICAgICAgICBlbHNlIGlmIChzdHIudG9Mb3dlckNhc2UoKSA9PSAib3IiKQogICAgICAgICAgICAgIHJldHVybiAifCI7CiAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgcmV0dXJuIHN0cjsKICAgICAgfSkKICAgICAgICAgIC5kZXNjKCInYW5kJyBvciAnb3InIiksCiAgICAgIC8vIEEgZGF0ZSB3aGljaCBjYW4gYmUgWVlZWS1NTVstRERUSEg6bW06c3NdLgogICAgICByb290RGF0ZTogXyA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5yZWdleHAoL1xkezR9LyksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIi0iKSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnJlZ2V4cCgvXGR7Mn0vKSwgKHllYXIsIF8sIG1vbnRoKSA9PiB7CiAgICAgICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbU9iamVjdCh7IHllYXI6IE51bWJlci5wYXJzZUludCh5ZWFyKSwgbW9udGg6IE51bWJlci5wYXJzZUludChtb250aCkgfSk7CiAgICAgIH0pLmRlc2MoImRhdGUgaW4gZm9ybWF0IFlZWVktTU1bLUREVEhILU1NLVNTLk1TXSIpLAogICAgICBkYXRlU2hvcnRoYW5kOiBfID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5hbHQoLi4uT2JqZWN0LmtleXMoREFURV9TSE9SVEhBTkRTKQogICAgICAgICAgLnNvcnQoKGEsIGIpID0+IGIubGVuZ3RoIC0gYS5sZW5ndGgpCiAgICAgICAgICAubWFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcpKSwKICAgICAgZGF0ZTogcSA9PiBjaGFpbk9wdChxLnJvb3REYXRlLCAoeW0pID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiLSIpLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMucmVnZXhwKC9cZHsyfS8pLCAoXywgZGF5KSA9PiB5bS5zZXQoeyBkYXk6IE51bWJlci5wYXJzZUludChkYXkpIH0pKSwgKHltZCkgPT4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3RyaW5nKCJUIiksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5yZWdleHAoL1xkezJ9LyksIChfLCBob3VyKSA9PiB5bWQuc2V0KHsgaG91cjogTnVtYmVyLnBhcnNlSW50KGhvdXIpIH0pKSwgKHltZGgpID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiOiIpLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMucmVnZXhwKC9cZHsyfS8pLCAoXywgbWludXRlKSA9PiB5bWRoLnNldCh7IG1pbnV0ZTogTnVtYmVyLnBhcnNlSW50KG1pbnV0ZSkgfSkpLCAoeW1kaG0pID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiOiIpLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMucmVnZXhwKC9cZHsyfS8pLCAoXywgc2Vjb25kKSA9PiB5bWRobS5zZXQoeyBzZWNvbmQ6IE51bWJlci5wYXJzZUludChzZWNvbmQpIH0pKSwgKHltZGhtcykgPT4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLmFsdChwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIi4iKSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnJlZ2V4cCgvXGR7M30vKSwgKF8sIG1pbGxpc2Vjb25kKSA9PiB5bWRobXMuc2V0KHsgbWlsbGlzZWNvbmQ6IE51bWJlci5wYXJzZUludChtaWxsaXNlY29uZCkgfSkpLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3VjY2VlZCh5bWRobXMpIC8vIHBhc3MKICAgICAgKSwgKGR0KSA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuYWx0KHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiKyIpLm9yKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIi0iKSksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5yZWdleHAoL1xkezEsMn0oOlxkezJ9KT8vKSwgKHBtLCBocikgPT4gZHQuc2V0Wm9uZSgiVVRDIiArIHBtICsgaHIsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KSksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiWiIpLCAoKSA9PiBkdC5zZXRab25lKCJ1dGMiLCB7IGtlZXBMb2NhbFRpbWU6IHRydWUgfSkpLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIlsiKSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnJlZ2V4cCgvWzAtOUEtWmEteistXC9dKy91KSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiXSIpLCAoX2EsIHpvbmUsIF9iKSA9PiBkdC5zZXRab25lKHpvbmUsIHsga2VlcExvY2FsVGltZTogdHJ1ZSB9KSkpKQogICAgICAgICAgLmFzc2VydCgoZHQpID0+IGR0LmlzVmFsaWQsICJ2YWxpZCBkYXRlIikKICAgICAgICAgIC5kZXNjKCJkYXRlIGluIGZvcm1hdCBZWVlZLU1NWy1ERFRISC1NTS1TUy5NU10iKSwKICAgICAgLy8gQSBkYXRlLCBwbHVzIHZhcmlvdXMgc2hvcnRoYW5kIHRpbWVzIG9mIGRheSBpdCBjb3VsZCBiZS4KICAgICAgZGF0ZVBsdXM6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLmFsdChxLmRhdGVTaG9ydGhhbmQubWFwKGQgPT4gREFURV9TSE9SVEhBTkRTW2RdKCkpLCBxLmRhdGUpLmRlc2MoImRhdGUgaW4gZm9ybWF0IFlZWVktTU1bLUREVEhILU1NLVNTLk1TXSBvciBpbiBzaG9ydGhhbmQiKSwKICAgICAgLy8gQSBkdXJhdGlvbiBvZiB0aW1lLgogICAgICBkdXJhdGlvblR5cGU6IF8gPT4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLmFsdCguLi5PYmplY3Qua2V5cyhEVVJBVElPTl9UWVBFUykKICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiBiLmxlbmd0aCAtIGEubGVuZ3RoKQogICAgICAgICAgLm1hcChwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3RyaW5nKSksCiAgICAgIGR1cmF0aW9uOiBxID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXFNYXAocS5udW1iZXIsIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlLCBxLmR1cmF0aW9uVHlwZSwgKGNvdW50LCBfLCB0KSA9PiBEVVJBVElPTl9UWVBFU1t0XS5tYXBVbml0cyh4ID0+IHggKiBjb3VudCkpCiAgICAgICAgICAuc2VwQnkxKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIiwiKS50cmltKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlKS5vcihwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMub3B0V2hpdGVzcGFjZSkpCiAgICAgICAgICAubWFwKGR1cmF0aW9ucyA9PiBkdXJhdGlvbnMucmVkdWNlKChwLCBjKSA9PiBwLnBsdXMoYykpKQogICAgICAgICAgLmRlc2MoImR1cmF0aW9uIGxpa2UgNGhyMm1pbiIpLAogICAgICAvLyBBIHJhdyBudWxsIHZhbHVlLgogICAgICByYXdOdWxsOiBfID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIm51bGwiKSwKICAgICAgLy8gU291cmNlIHBhcnNpbmcuCiAgICAgIHRhZ1NvdXJjZTogcSA9PiBxLnRhZy5tYXAodGFnID0+IFNvdXJjZXMudGFnKHRhZykpLAogICAgICBjc3ZTb3VyY2U6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3RyaW5nKCJjc3YoIikuc2tpcChwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMub3B0V2hpdGVzcGFjZSksIHEuc3RyaW5nLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3RyaW5nKCIpIiksIChfMSwgcGF0aCwgXzIpID0+IFNvdXJjZXMuY3N2KHBhdGgpKSwKICAgICAgbGlua0luY29taW5nU291cmNlOiBxID0+IHEubGluay5tYXAobGluayA9PiBTb3VyY2VzLmxpbmsobGluay5wYXRoLCB0cnVlKSksCiAgICAgIGxpbmtPdXRnb2luZ1NvdXJjZTogcSA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIm91dGdvaW5nKCIpLnNraXAocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLm9wdFdoaXRlc3BhY2UpLCBxLmxpbmssIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIikiKSwgKF8xLCBsaW5rLCBfMikgPT4gU291cmNlcy5saW5rKGxpbmsucGF0aCwgZmFsc2UpKSwKICAgICAgZm9sZGVyU291cmNlOiBxID0+IHEuc3RyaW5nLm1hcChzdHIgPT4gU291cmNlcy5mb2xkZXIoc3RyKSksCiAgICAgIHBhcmVuc1NvdXJjZTogcSA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIigiKSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLm9wdFdoaXRlc3BhY2UsIHEuc291cmNlLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiKSIpLCAoXzEsIF8yLCBmaWVsZCwgXzMsIF80KSA9PiBmaWVsZCksCiAgICAgIG5lZ2F0ZVNvdXJjZTogcSA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5hbHQocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiLSIpLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3RyaW5nKCIhIikpLCBxLmF0b21Tb3VyY2UsIChfLCBzb3VyY2UpID0+IFNvdXJjZXMubmVnYXRlKHNvdXJjZSkpLAogICAgICBhdG9tU291cmNlOiBxID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5hbHQocS5wYXJlbnNTb3VyY2UsIHEubmVnYXRlU291cmNlLCBxLmxpbmtPdXRnb2luZ1NvdXJjZSwgcS5saW5rSW5jb21pbmdTb3VyY2UsIHEuZm9sZGVyU291cmNlLCBxLnRhZ1NvdXJjZSwgcS5jc3ZTb3VyY2UpLAogICAgICBiaW5hcnlPcFNvdXJjZTogcSA9PiBjcmVhdGVCaW5hcnlQYXJzZXIocS5hdG9tU291cmNlLCBxLmJpbmFyeUJvb2xlYW5PcC5tYXAocyA9PiBzKSwgU291cmNlcy5iaW5hcnlPcCksCiAgICAgIHNvdXJjZTogcSA9PiBxLmJpbmFyeU9wU291cmNlLAogICAgICAvLyBGaWVsZCBwYXJzaW5nLgogICAgICB2YXJpYWJsZUZpZWxkOiBxID0+IHEuaWRlbnRpZmllcgogICAgICAgICAgLmNoYWluKHIgPT4gewogICAgICAgICAgaWYgKEtFWVdPUkRTLmluY2x1ZGVzKHIudG9VcHBlckNhc2UoKSkpIHsKICAgICAgICAgICAgICByZXR1cm4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLmZhaWwoIlZhcmlhYmxlIGZpZWxkcyBjYW5ub3QgYmUgYSBrZXl3b3JkICgiICsgS0VZV09SRFMuam9pbigiIG9yICIpICsgIikiKTsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgIHJldHVybiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3VjY2VlZChGaWVsZHMudmFyaWFibGUocikpOwogICAgICAgICAgfQogICAgICB9KQogICAgICAgICAgLmRlc2MoInZhcmlhYmxlIiksCiAgICAgIG51bWJlckZpZWxkOiBxID0+IHEubnVtYmVyLm1hcCh2YWwgPT4gRmllbGRzLmxpdGVyYWwodmFsKSkuZGVzYygibnVtYmVyIiksCiAgICAgIHN0cmluZ0ZpZWxkOiBxID0+IHEuc3RyaW5nLm1hcCh2YWwgPT4gRmllbGRzLmxpdGVyYWwodmFsKSkuZGVzYygic3RyaW5nIiksCiAgICAgIGJvb2xGaWVsZDogcSA9PiBxLmJvb2wubWFwKHZhbCA9PiBGaWVsZHMubGl0ZXJhbCh2YWwpKS5kZXNjKCJib29sZWFuIiksCiAgICAgIGRhdGVGaWVsZDogcSA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoImRhdGUoIiksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlLCBxLmRhdGVQbHVzLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiKSIpLCAocHJlZml4LCBfMSwgZGF0ZSwgXzIsIHBvc3RmaXgpID0+IEZpZWxkcy5saXRlcmFsKGRhdGUpKS5kZXNjKCJkYXRlIiksCiAgICAgIGR1cmF0aW9uRmllbGQ6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnNlcU1hcChwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3RyaW5nKCJkdXIoIiksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlLCBxLmR1cmF0aW9uLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiKSIpLCAocHJlZml4LCBfMSwgZHVyLCBfMiwgcG9zdGZpeCkgPT4gRmllbGRzLmxpdGVyYWwoZHVyKSkuZGVzYygiZHVyYXRpb24iKSwKICAgICAgbnVsbEZpZWxkOiBxID0+IHEucmF3TnVsbC5tYXAoXyA9PiBGaWVsZHMuTlVMTCksCiAgICAgIGxpbmtGaWVsZDogcSA9PiBxLmxpbmsubWFwKGYgPT4gRmllbGRzLmxpdGVyYWwoZikpLAogICAgICBsaXN0RmllbGQ6IHEgPT4gcS5maWVsZAogICAgICAgICAgLnNlcEJ5KHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIiwiKS50cmltKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSkKICAgICAgICAgIC53cmFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIlsiKS5za2lwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLm9wdFdoaXRlc3BhY2UudGhlbihwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3RyaW5nKCJdIikpKQogICAgICAgICAgLm1hcChsID0+IEZpZWxkcy5saXN0KGwpKQogICAgICAgICAgLmRlc2MoImxpc3QgKCdbMSwgMiwgM10nKSIpLAogICAgICBvYmplY3RGaWVsZDogcSA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHEuaWRlbnRpZmllci5vcihxLnN0cmluZyksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIjoiKS50cmltKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSwgcS5maWVsZCwgKG5hbWUsIF9zZXAsIHZhbHVlKSA9PiB7CiAgICAgICAgICByZXR1cm4geyBuYW1lLCB2YWx1ZSB9OwogICAgICB9KQogICAgICAgICAgLnNlcEJ5KHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIiwiKS50cmltKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSkKICAgICAgICAgIC53cmFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoInsiKS5za2lwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLm9wdFdoaXRlc3BhY2UudGhlbihwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3RyaW5nKCJ9IikpKQogICAgICAgICAgLm1hcCh2YWxzID0+IHsKICAgICAgICAgIGxldCByZXMgPSB7fTsKICAgICAgICAgIGZvciAobGV0IGVudHJ5IG9mIHZhbHMpCiAgICAgICAgICAgICAgcmVzW2VudHJ5Lm5hbWVdID0gZW50cnkudmFsdWU7CiAgICAgICAgICByZXR1cm4gRmllbGRzLm9iamVjdChyZXMpOwogICAgICB9KQogICAgICAgICAgLmRlc2MoIm9iamVjdCAoJ3sgYTogMSwgYjogMiB9JykiKSwKICAgICAgYXRvbUlubGluZUZpZWxkOiBxID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5hbHQocS5kYXRlLCBxLmR1cmF0aW9uLm1hcChkID0+IG5vcm1hbGl6ZUR1cmF0aW9uKGQpKSwgcS5zdHJpbmcsIHEudGFnLCBxLmVtYmVkTGluaywgcS5ib29sLCBxLm51bWJlciwgcS5yYXdOdWxsKSwKICAgICAgaW5saW5lRmllbGRMaXN0OiBxID0+IHEuYXRvbUlubGluZUZpZWxkLnNlcEJ5KHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIiwiKS50cmltKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlKS5sb29rYWhlYWQocS5hdG9tSW5saW5lRmllbGQpKSwKICAgICAgaW5saW5lRmllbGQ6IHEgPT4gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLmFsdChwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHEuYXRvbUlubGluZUZpZWxkLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3RyaW5nKCIsIikudHJpbShwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMub3B0V2hpdGVzcGFjZSksIHEuaW5saW5lRmllbGRMaXN0LCAoZiwgX3MsIGwpID0+IFtmXS5jb25jYXQobCkpLCBxLmF0b21JbmxpbmVGaWVsZCksCiAgICAgIGF0b21GaWVsZDogcSA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuYWx0KAogICAgICAvLyBQbGFjZSBlbWJlZCBsaW5rcyBhYm92ZSBuZWdhdGVkIGZpZWxkcyBhcyB0aGV5IGFyZSB0aGUgc3BlY2lhbCBwYXJzZXIgY2FzZSAnIVtbdGhpbmddXScgYW5kIGFyZSBnZW5lcmFsbHkgdW5hbWJpZ2lvdXMuCiAgICAgIHEuZW1iZWRMaW5rLm1hcChsID0+IEZpZWxkcy5saXRlcmFsKGwpKSwgcS5uZWdhdGVkRmllbGQsIHEubGlua0ZpZWxkLCBxLmxpc3RGaWVsZCwgcS5vYmplY3RGaWVsZCwgcS5sYW1iZGFGaWVsZCwgcS5wYXJlbnNGaWVsZCwgcS5ib29sRmllbGQsIHEubnVtYmVyRmllbGQsIHEuc3RyaW5nRmllbGQsIHEuZGF0ZUZpZWxkLCBxLmR1cmF0aW9uRmllbGQsIHEubnVsbEZpZWxkLCBxLnZhcmlhYmxlRmllbGQpLAogICAgICBpbmRleEZpZWxkOiBxID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXFNYXAocS5hdG9tRmllbGQsIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5hbHQocS5kb3RQb3N0Zml4LCBxLmluZGV4UG9zdGZpeCwgcS5mdW5jdGlvblBvc3RmaXgpLm1hbnkoKSwgKG9iaiwgcG9zdGZpeGVzKSA9PiB7CiAgICAgICAgICBsZXQgcmVzdWx0ID0gb2JqOwogICAgICAgICAgZm9yIChsZXQgcG9zdCBvZiBwb3N0Zml4ZXMpIHsKICAgICAgICAgICAgICBzd2l0Y2ggKHBvc3QudHlwZSkgewogICAgICAgICAgICAgICAgICBjYXNlICJkb3QiOgogICAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gRmllbGRzLmluZGV4KHJlc3VsdCwgRmllbGRzLmxpdGVyYWwocG9zdC5maWVsZCkpOwogICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgIGNhc2UgImluZGV4IjoKICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IEZpZWxkcy5pbmRleChyZXN1bHQsIHBvc3QuZmllbGQpOwogICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgIGNhc2UgImZ1bmN0aW9uIjoKICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IEZpZWxkcy5mdW5jKHJlc3VsdCwgcG9zdC5maWVsZHMpOwogICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgfSksCiAgICAgIG5lZ2F0ZWRGaWVsZDogcSA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIiEiKSwgcS5pbmRleEZpZWxkLCAoXywgZmllbGQpID0+IEZpZWxkcy5uZWdhdGUoZmllbGQpKS5kZXNjKCJuZWdhdGVkIGZpZWxkIiksCiAgICAgIHBhcmVuc0ZpZWxkOiBxID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiKCIpLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcS5maWVsZCwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLm9wdFdoaXRlc3BhY2UsIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIikiKSwgKF8xLCBfMiwgZmllbGQsIF8zLCBfNCkgPT4gZmllbGQpLAogICAgICBsYW1iZGFGaWVsZDogcSA9PiBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc2VxTWFwKHEuaWRlbnRpZmllcgogICAgICAgICAgLnNlcEJ5KHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIiwiKS50cmltKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSkKICAgICAgICAgIC53cmFwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIigiKS50cmltKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiKSIpLnRyaW0ocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLm9wdFdoaXRlc3BhY2UpKSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiPT4iKS50cmltKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5vcHRXaGl0ZXNwYWNlKSwgcS5maWVsZCwgKGlkZW50LCBfaWdub3JlLCB2YWx1ZSkgPT4gewogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImxhbWJkYSIsIGFyZ3VtZW50czogaWRlbnQsIHZhbHVlIH07CiAgICAgIH0pLAogICAgICBkb3RQb3N0Zml4OiBxID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiLiIpLCBxLmlkZW50aWZpZXIsIChfLCBmaWVsZCkgPT4gewogICAgICAgICAgcmV0dXJuIHsgdHlwZTogImRvdCIsIGZpZWxkOiBmaWVsZCB9OwogICAgICB9KSwKICAgICAgaW5kZXhQb3N0Zml4OiBxID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiWyIpLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcS5maWVsZCwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLm9wdFdoaXRlc3BhY2UsIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zdHJpbmcoIl0iKSwgKF8sIF8yLCBmaWVsZCwgXzMsIF80KSA9PiB7CiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiaW5kZXgiLCBmaWVsZCB9OwogICAgICB9KSwKICAgICAgZnVuY3Rpb25Qb3N0Zml4OiBxID0+IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5zZXFNYXAocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiKCIpLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcS5maWVsZC5zZXBCeShwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMuc3RyaW5nKCIsIikudHJpbShwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMub3B0V2hpdGVzcGFjZSkpLCBwYXJzaW1tb25fdW1kX21pbkV4cG9ydHMub3B0V2hpdGVzcGFjZSwgcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnN0cmluZygiKSIpLCAoXywgXzEsIGZpZWxkcywgXzIsIF8zKSA9PiB7CiAgICAgICAgICByZXR1cm4geyB0eXBlOiAiZnVuY3Rpb24iLCBmaWVsZHMgfTsKICAgICAgfSksCiAgICAgIC8vIFRoZSBwcmVjZWRlbmNlIGhpZXJhcmNoeSBvZiBvcGVyYXRvcnMgLSBtdWx0aXBseS9kaXZpZGUsIGFkZC9zdWJ0cmFjdCwgY29tcGFyZSwgYW5kIHRoZW4gYm9vbGVhbiBvcGVyYXRpb25zLgogICAgICBiaW5hcnlNdWxEaXZGaWVsZDogcSA9PiBjcmVhdGVCaW5hcnlQYXJzZXIocS5pbmRleEZpZWxkLCBxLmJpbmFyeU11bERpdiwgRmllbGRzLmJpbmFyeU9wKSwKICAgICAgYmluYXJ5UGx1c01pbnVzRmllbGQ6IHEgPT4gY3JlYXRlQmluYXJ5UGFyc2VyKHEuYmluYXJ5TXVsRGl2RmllbGQsIHEuYmluYXJ5UGx1c01pbnVzLCBGaWVsZHMuYmluYXJ5T3ApLAogICAgICBiaW5hcnlDb21wYXJlRmllbGQ6IHEgPT4gY3JlYXRlQmluYXJ5UGFyc2VyKHEuYmluYXJ5UGx1c01pbnVzRmllbGQsIHEuYmluYXJ5Q29tcGFyZU9wLCBGaWVsZHMuYmluYXJ5T3ApLAogICAgICBiaW5hcnlCb29sZWFuRmllbGQ6IHEgPT4gY3JlYXRlQmluYXJ5UGFyc2VyKHEuYmluYXJ5Q29tcGFyZUZpZWxkLCBxLmJpbmFyeUJvb2xlYW5PcCwgRmllbGRzLmJpbmFyeU9wKSwKICAgICAgYmluYXJ5T3BGaWVsZDogcSA9PiBxLmJpbmFyeUJvb2xlYW5GaWVsZCwKICAgICAgZmllbGQ6IHEgPT4gcS5iaW5hcnlPcEZpZWxkLAogIH0pOwoKICAvKiogUGFyc2UgaW5saW5lIGZpZWxkcyBhbmQgb3RoZXIgZW1iZWRkZWQgbWV0YWRhdGEgaW4gYSBsaW5lLiAqLwogIC8qKiBUaGUgd3JhcHBlciBjaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIHVzZWQgdG8gZGVmaW5lIGFuIGlubGluZSBmaWVsZC4gKi8KICBjb25zdCBJTkxJTkVfRklFTERfV1JBUFBFUlMgPSBPYmplY3QuZnJlZXplKHsKICAgICAgIlsiOiAiXSIsCiAgICAgICIoIjogIikiLAogIH0pOwogIC8qKgogICAqIEZpbmQgYSBtYXRjaGluZyBjbG9zaW5nIGJyYWNrZXQgdGhhdCBvY2N1cnMgYXQgb3IgYWZ0ZXIgYHN0YXJ0YCwgcmVzcGVjdGluZyBuZXN0aW5nIGFuZCBlc2NhcGVzLiBJZiBmb3VuZCwKICAgKiByZXR1cm5zIHRoZSB2YWx1ZSBjb250YWluZWQgd2l0aGluIGFuZCB0aGUgc3RyaW5nIGluZGV4IGFmdGVyIHRoZSBlbmQgb2YgdGhlIHZhbHVlLgogICAqLwogIGZ1bmN0aW9uIGZpbmRDbG9zaW5nKGxpbmUsIHN0YXJ0LCBvcGVuLCBjbG9zZSkgewogICAgICBsZXQgbmVzdGluZyA9IDA7CiAgICAgIGxldCBlc2NhcGVkID0gZmFsc2U7CiAgICAgIGZvciAobGV0IGluZGV4ID0gc3RhcnQ7IGluZGV4IDwgbGluZS5sZW5ndGg7IGluZGV4KyspIHsKICAgICAgICAgIGxldCBjaGFyID0gbGluZS5jaGFyQXQoaW5kZXgpOwogICAgICAgICAgLy8gQWxsb3dzIGZvciBkb3VibGUgZXNjYXBlcyBsaWtlICdcXCcgdG8gYmUgcmVuZGVyZWQgbm9ybWFsbHkuCiAgICAgICAgICBpZiAoY2hhciA9PSAiXFwiKSB7CiAgICAgICAgICAgICAgZXNjYXBlZCA9ICFlc2NhcGVkOwogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgLy8gSWYgZXNjYXBlZCwgaWdub3JlIHRoZSBuZXh0IGNoYXJhY3RlciBmb3IgY29tcHV0aW5nIG5lc3RpbmcsIHJlZ2FyZGxlc3Mgb2Ygd2hhdCBpdCBpcy4KICAgICAgICAgIGlmIChlc2NhcGVkKSB7CiAgICAgICAgICAgICAgZXNjYXBlZCA9IGZhbHNlOwogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgfQogICAgICAgICAgaWYgKGNoYXIgPT0gb3BlbikKICAgICAgICAgICAgICBuZXN0aW5nKys7CiAgICAgICAgICBlbHNlIGlmIChjaGFyID09IGNsb3NlKQogICAgICAgICAgICAgIG5lc3RpbmctLTsKICAgICAgICAgIC8vIE9ubHkgb2NjdXJzIGlmIHdlIGFyZSBvbiBhIGNsb3NlIGNoYXJhY3RlciBhbmQgdHJoZXJlIGlzIG5vIG1vcmUgbmVzdGluZy4KICAgICAgICAgIGlmIChuZXN0aW5nIDwgMCkKICAgICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbGluZS5zdWJzdHJpbmcoc3RhcnQsIGluZGV4KS50cmltKCksIGVuZEluZGV4OiBpbmRleCArIDEgfTsKICAgICAgICAgIGVzY2FwZWQgPSBmYWxzZTsKICAgICAgfQogICAgICByZXR1cm4gdW5kZWZpbmVkOwogIH0KICAvKiogRmluZCB0aGUgJzo6JyBzZXBhcmF0b3IgaW4gYW4gaW5saW5lIGZpZWxkLiAqLwogIGZ1bmN0aW9uIGZpbmRTZXBhcmF0b3IobGluZSwgc3RhcnQpIHsKICAgICAgbGV0IHNlcCA9IGxpbmUuaW5kZXhPZigiOjoiLCBzdGFydCk7CiAgICAgIGlmIChzZXAgPCAwKQogICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgICAgcmV0dXJuIHsga2V5OiBsaW5lLnN1YnN0cmluZyhzdGFydCwgc2VwKS50cmltKCksIHZhbHVlSW5kZXg6IHNlcCArIDIgfTsKICB9CiAgLyoqIFRyeSB0byBjb21wbGV0ZWx5IHBhcnNlIGFuIGlubGluZSBmaWVsZCBzdGFydGluZyBhdCB0aGUgZ2l2ZW4gcG9zaXRpb24uIEFzc3VlbXMgYHN0YXJ0YCBpcyBvbiBhIHdyYXBwaW5nIGNoYXJhY3Rlci4gKi8KICBmdW5jdGlvbiBmaW5kU3BlY2lmaWNJbmxpbmVGaWVsZChsaW5lLCBzdGFydCkgewogICAgICBsZXQgb3BlbiA9IGxpbmUuY2hhckF0KHN0YXJ0KTsKICAgICAgbGV0IGtleSA9IGZpbmRTZXBhcmF0b3IobGluZSwgc3RhcnQgKyAxKTsKICAgICAgaWYgKGtleSA9PT0gdW5kZWZpbmVkKQogICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgICAgLy8gRmFpbCB0aGUgbWF0Y2ggaWYgd2UgZmluZCBhbnkgc2VwYXJhdG9yIGNoYXJhY3RlcnMgKG5vdCBhbGxvd2VkIGluIGtleXMpLgogICAgICBmb3IgKGxldCBzZXAgb2YgT2JqZWN0LmtleXMoSU5MSU5FX0ZJRUxEX1dSQVBQRVJTKS5jb25jYXQoT2JqZWN0LnZhbHVlcyhJTkxJTkVfRklFTERfV1JBUFBFUlMpKSkgewogICAgICAgICAgaWYgKGtleS5rZXkuaW5jbHVkZXMoc2VwKSkKICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwogICAgICB9CiAgICAgIGxldCB2YWx1ZSA9IGZpbmRDbG9zaW5nKGxpbmUsIGtleS52YWx1ZUluZGV4LCBvcGVuLCBJTkxJTkVfRklFTERfV1JBUFBFUlNbb3Blbl0pOwogICAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkKICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICAgIHJldHVybiB7CiAgICAgICAgICBrZXk6IGtleS5rZXksCiAgICAgICAgICB2YWx1ZTogdmFsdWUudmFsdWUsCiAgICAgICAgICBzdGFydDogc3RhcnQsCiAgICAgICAgICBzdGFydFZhbHVlOiBrZXkudmFsdWVJbmRleCwKICAgICAgICAgIGVuZDogdmFsdWUuZW5kSW5kZXgsCiAgICAgICAgICB3cmFwcGluZzogb3BlbiwKICAgICAgfTsKICB9CiAgLyoqIFBhcnNlIGEgdGV4dHVhbCBpbmxpbmUgZmllbGQgdmFsdWUgaW50byBzb21ldGhpbmcgd2UgY2FuIHdvcmsgd2l0aC4gKi8KICBmdW5jdGlvbiBwYXJzZUlubGluZVZhbHVlKHZhbHVlKSB7CiAgICAgIC8vIEVtcHR5IGlubGluZSB2YWx1ZXMgKGkuZS4sIG5vIHRleHQpIHNob3VsZCBtYXAgdG8gbnVsbCB0byBtYXRjaCBsb25nLXRlcm0gRGF0YXZpZXcgc2VtYW50aWNzLgogICAgICAvLyBOdWxsIGlzIGFsc28gYSBtb3JlIHVuaXZlcnNhbCB0eXBlIHRvIGRlYWwgd2l0aCB0aGFuIHN0cmluZ3MsIHNpbmNlIGFsbCBmdW5jdGlvbnMgYWNjZXB0IG51bGxzLgogICAgICBpZiAodmFsdWUudHJpbSgpID09ICIiKQogICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgIC8vIFRoZSBzdHJpcHBlZCBsaXRlcmFsIGZpZWxkIHBhcnNlciB1bmRlcnN0YW5kcyBhbGwgb2YgdGhlIG5vbi1hcnJheS9ub24tb2JqZWN0IGZpZWxkcyBhbmQgY2FuIHBhcnNlIHRoZW0gZm9yIHVzLgogICAgICAvLyBJbmxpbmUgZmllbGQgb2JqZWN0cyBhcmUgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQ7IGlubGluZSBhcnJheSBvYmplY3RzIGhhdmUgdG8gYmUgaGFuZGxlZCBieSB0aGUgcGFyc2VyCiAgICAgIC8vIHNlcGFyYXRlbHkuCiAgICAgIGxldCBpbmxpbmUgPSBFWFBSRVNTSU9OLmlubGluZUZpZWxkLnBhcnNlKHZhbHVlKTsKICAgICAgaWYgKGlubGluZS5zdGF0dXMpCiAgICAgICAgICByZXR1cm4gaW5saW5lLnZhbHVlOwogICAgICBlbHNlCiAgICAgICAgICByZXR1cm4gdmFsdWU7CiAgfQogIC8qKiBFeHRyYWN0cyBpbmxpbmUgZmllbGRzIG9mIHRoZSBmb3JtICdba2V5OjogdmFsdWVdJyBmcm9tIGEgbGluZSBvZiB0ZXh0LiBUaGlzIGlzIGRvbmUgaW4gYSByZWxhdGl2ZWx5CiAgICogInJvYnVzdCIgd2F5IHRvIGF2b2lkIGZhaWxpbmcgZHVlIHRvIGJhZCBuZXN0aW5nIG9yIG90aGVyIGludGVyZmVyaW5nIE1hcmtkb3duIHN5bWJvbHM6CiAgICoKICAgKiAtIExvb2sgZm9yIGFueSB3cmFwcGVycyAoJ1snIGFuZCAnKCcpIGluIHRoZSBsaW5lLCB0cnlpbmcgdG8gcGFyc2Ugd2hhdGV2ZXIgY29tZXMgYWZ0ZXIgaXQgYXMgYW4gaW5saW5lIGtleTo6LgogICAqIC0gSWYgc3VjY2Vzc2Z1bCwgc2NhbiB1bnRpbCB5b3UgZmluZCBhIG1hdGNoaW5nIGVuZCBicmFja2V0LCBhbmQgcGFyc2Ugd2hhdGV2ZXIgcmVtYWlucyBhcyBhbiBpbmxpbmUgdmFsdWUuCiAgICovCiAgZnVuY3Rpb24gZXh0cmFjdElubGluZUZpZWxkcyhsaW5lLCBpbmNsdWRlVGFza0ZpZWxkcyA9IGZhbHNlKSB7CiAgICAgIGxldCBmaWVsZHMgPSBbXTsKICAgICAgZm9yIChsZXQgd3JhcHBlciBvZiBPYmplY3Qua2V5cyhJTkxJTkVfRklFTERfV1JBUFBFUlMpKSB7CiAgICAgICAgICBsZXQgZm91bmRJbmRleCA9IGxpbmUuaW5kZXhPZih3cmFwcGVyKTsKICAgICAgICAgIHdoaWxlIChmb3VuZEluZGV4ID49IDApIHsKICAgICAgICAgICAgICBsZXQgcGFyc2VkRmllbGQgPSBmaW5kU3BlY2lmaWNJbmxpbmVGaWVsZChsaW5lLCBmb3VuZEluZGV4KTsKICAgICAgICAgICAgICBpZiAoIXBhcnNlZEZpZWxkKSB7CiAgICAgICAgICAgICAgICAgIGZvdW5kSW5kZXggPSBsaW5lLmluZGV4T2Yod3JhcHBlciwgZm91bmRJbmRleCArIDEpOwogICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgZmllbGRzLnB1c2gocGFyc2VkRmllbGQpOwogICAgICAgICAgICAgIGZvdW5kSW5kZXggPSBsaW5lLmluZGV4T2Yod3JhcHBlciwgcGFyc2VkRmllbGQuZW5kKTsKICAgICAgICAgIH0KICAgICAgfQogICAgICBpZiAoaW5jbHVkZVRhc2tGaWVsZHMpCiAgICAgICAgICBmaWVsZHMgPSBmaWVsZHMuY29uY2F0KGV4dHJhY3RTcGVjaWFsVGFza0ZpZWxkcyhsaW5lKSk7CiAgICAgIGZpZWxkcy5zb3J0KChhLCBiKSA9PiBhLnN0YXJ0IC0gYi5zdGFydCk7CiAgICAgIGxldCBmaWx0ZXJlZEZpZWxkcyA9IFtdOwogICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGZpZWxkcy5sZW5ndGg7IGkrKykgewogICAgICAgICAgaWYgKGkgPT0gMCB8fCBmaWx0ZXJlZEZpZWxkc1tmaWx0ZXJlZEZpZWxkcy5sZW5ndGggLSAxXS5lbmQgPCBmaWVsZHNbaV0uc3RhcnQpIHsKICAgICAgICAgICAgICBmaWx0ZXJlZEZpZWxkcy5wdXNoKGZpZWxkc1tpXSk7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIGZpbHRlcmVkRmllbGRzOwogIH0KICAvKiogVmFsaWRhdGVzIHRoYXQgYSByYXcgZmllbGQgbmFtZSBoYXMgYSB2YWxpZCBmb3JtLiAqLwogIGNvbnN0IEZVTExfTElORV9LRVlfUEFSVCA9IHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5hbHQocGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnJlZ2V4cChuZXcgUmVnRXhwKGVtb2ppUmVnZXgoKSwgInUiKSksIHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5yZWdleHAoL1swLTlccHtMZXR0ZXJ9XHdcc18vLV0rL3UpKQogICAgICAubWFueSgpCiAgICAgIC5tYXAocGFydHMgPT4gcGFydHMuam9pbigiIikpOwogIGNvbnN0IEZVTExfTElORV9LRVlfUEFSU0VSID0gcGFyc2ltbW9uX3VtZF9taW5FeHBvcnRzLnJlZ2V4cCgvW14wLTlcd1xwe0xldHRlcn1dKi91KQogICAgICAudGhlbihGVUxMX0xJTkVfS0VZX1BBUlQpCiAgICAgIC5za2lwKHBhcnNpbW1vbl91bWRfbWluRXhwb3J0cy5yZWdleHAoL1tfXCp+YF0qL3UpKTsKICAvKiogQXR0ZW1wdCB0byBleHRyYWN0IGEgZnVsbC1saW5lIGZpZWxkIChLZXk6OiBWYWx1ZSBjb25zdW1pbmcgdGhlIGVudGlyZSBjb250ZW50IGxpbmUpLiAqLwogIGZ1bmN0aW9uIGV4dHJhY3RGdWxsTGluZUZpZWxkKHRleHQpIHsKICAgICAgbGV0IHNlcCA9IGZpbmRTZXBhcmF0b3IodGV4dCwgMCk7CiAgICAgIGlmICghc2VwKQogICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgICAgLy8gV2UgbmVlZCB0byBwb3N0LXByb2Nlc3MgdGhlIGtleSB0byBkcm9wIHVubmVjZXNzYXJ5IG9wZW5pbmcgYW5ub3RhdGlvbnMgYXMgd2VsbCBhcwogICAgICAvLyBkcm9wIHN1cnJvdW5kaW5nIE1hcmtkb3duLgogICAgICBsZXQgcmVhbEtleSA9IEZVTExfTElORV9LRVlfUEFSU0VSLnBhcnNlKHNlcC5rZXkpOwogICAgICBpZiAoIXJlYWxLZXkuc3RhdHVzKQogICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDsKICAgICAgcmV0dXJuIHsKICAgICAgICAgIGtleTogcmVhbEtleS52YWx1ZSwKICAgICAgICAgIHZhbHVlOiB0ZXh0LnN1YnN0cmluZyhzZXAudmFsdWVJbmRleCkudHJpbSgpLAogICAgICAgICAgc3RhcnQ6IDAsCiAgICAgICAgICBzdGFydFZhbHVlOiBzZXAudmFsdWVJbmRleCwKICAgICAgICAgIGVuZDogdGV4dC5sZW5ndGgsCiAgICAgIH07CiAgfQogIGNvbnN0IENSRUFURURfREFURV9SRUdFWCA9IC9cdXsyNzk1fVxzKihcZHs0fS1cZHsyfS1cZHsyfSkvdTsKICBjb25zdCBEVUVfREFURV9SRUdFWCA9IC8oPzpcdXsxRjRDNX18XHV7MUY0QzZ9fFx1ezFGNUQzfVx1e0ZFMEZ9PylccyooXGR7NH0tXGR7Mn0tXGR7Mn0pL3U7CiAgY29uc3QgRE9ORV9EQVRFX1JFR0VYID0gL1x1ezI3MDV9XHMqKFxkezR9LVxkezJ9LVxkezJ9KS91OwogIGNvbnN0IFNDSEVEVUxFRF9EQVRFX1JFR0VYID0gL1tcdXsyM0YzfVx1ezIzMUJ9XVxzKihcZHs0fS1cZHsyfS1cZHsyfSkvdTsKICBjb25zdCBTVEFSVF9EQVRFX1JFR0VYID0gL1x1ezFGNkVCfVxzKihcZHs0fS1cZHsyfS1cZHsyfSkvdTsKICBjb25zdCBFTU9KSV9SRUdFWEVTID0gWwogICAgICB7IHJlZ2V4OiBDUkVBVEVEX0RBVEVfUkVHRVgsIGtleTogImNyZWF0ZWQiIH0sCiAgICAgIHsgcmVnZXg6IFNUQVJUX0RBVEVfUkVHRVgsIGtleTogInN0YXJ0IiB9LAogICAgICB7IHJlZ2V4OiBTQ0hFRFVMRURfREFURV9SRUdFWCwga2V5OiAic2NoZWR1bGVkIiB9LAogICAgICB7IHJlZ2V4OiBEVUVfREFURV9SRUdFWCwga2V5OiAiZHVlIiB9LAogICAgICB7IHJlZ2V4OiBET05FX0RBVEVfUkVHRVgsIGtleTogImNvbXBsZXRpb24iIH0sCiAgXTsKICAvKiogUGFyc2Ugc3BlY2lhbCBjb21wbGV0ZWQvZHVlL2RvbmUgdGFzayBmaWVsZHMgd2hpY2ggYXJlIG1hcmtlZCB2aWEgZW1vamkuICovCiAgZnVuY3Rpb24gZXh0cmFjdFNwZWNpYWxUYXNrRmllbGRzKGxpbmUpIHsKICAgICAgbGV0IHJlc3VsdHMgPSBbXTsKICAgICAgZm9yIChsZXQgeyByZWdleCwga2V5IH0gb2YgRU1PSklfUkVHRVhFUykgewogICAgICAgICAgY29uc3QgbWF0Y2ggPSByZWdleC5leGVjKGxpbmUpOwogICAgICAgICAgaWYgKCFtYXRjaCkKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIHJlc3VsdHMucHVzaCh7CiAgICAgICAgICAgICAga2V5LAogICAgICAgICAgICAgIHZhbHVlOiBtYXRjaFsxXSwKICAgICAgICAgICAgICBzdGFydDogbWF0Y2guaW5kZXgsCiAgICAgICAgICAgICAgc3RhcnRWYWx1ZTogbWF0Y2guaW5kZXggKyAxLAogICAgICAgICAgICAgIGVuZDogbWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGgsCiAgICAgICAgICAgICAgd3JhcHBpbmc6ICJlbW9qaS1zaG9ydGhhbmQiLAogICAgICAgICAgfSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHJlc3VsdHM7CiAgfQoKICAvKiogQWxsIGV4dHJhY3RlZCBtYXJrZG93biBmaWxlIG1ldGFkYXRhIG9idGFpbmVkIGZyb20gYSBmaWxlLiAqLwogIGNsYXNzIFBhZ2VNZXRhZGF0YSB7CiAgICAgIC8qKiBUaGUgcGF0aCB0aGlzIGZpbGUgZXhpc3RzIGF0LiAqLwogICAgICBwYXRoOwogICAgICAvKiogT2JzaWRpYW4tcHJvdmlkZWQgZGF0ZSB0aGlzIHBhZ2Ugd2FzIGNyZWF0ZWQuICovCiAgICAgIGN0aW1lOwogICAgICAvKiogT2JzaWRpYW4tcHJvdmlkZWQgZGF0ZSB0aGlzIHBhZ2Ugd2FzIG1vZGlmaWVkLiAqLwogICAgICBtdGltZTsKICAgICAgLyoqIE9ic2lkaWFuLXByb3ZpZGVkIHNpemUgb2YgdGhpcyBwYWdlIGluIGJ5dGVzLiAqLwogICAgICBzaXplOwogICAgICAvKiogVGhlIGRheSBhc3NvY2lhdGVkIHdpdGggdGhpcyBwYWdlLCBpZiByZWxldmFudC4gKi8KICAgICAgZGF5OwogICAgICAvKiogVGhlIGZpcnN0IEgxL0gyIGhlYWRlciBpbiB0aGUgZmlsZS4gTWF5IG5vdCBleGlzdC4gKi8KICAgICAgdGl0bGU7CiAgICAgIC8qKiBBbGwgb2YgdGhlIGZpZWxkcyBjb250YWluZWQgaW4gdGhpcyBtYXJrZG93biBmaWxlIC0gYm90aCBmcm9udG1hdHRlciBBTkQgaW4tZmlsZSBsaW5rcy4gKi8KICAgICAgZmllbGRzOwogICAgICAvKiogQWxsIG9mIHRoZSBleGFjdCB0YWdzIChwcmVmaXhlZCB3aXRoICcjJykgaW4gdGhpcyBmaWxlIG92ZXJhbGwuICovCiAgICAgIHRhZ3M7CiAgICAgIC8qKiBBbGwgb2YgdGhlIGFsaWFzZXMgZGVmaW5lZCBmb3IgdGhpcyBmaWxlLiAqLwogICAgICBhbGlhc2VzOwogICAgICAvKiogQWxsIE9VVEdPSU5HIGxpbmtzIChpbmNsdWRpbmcgZW1iZWRzLCBoZWFkZXIgKyBibG9jayBsaW5rcykgaW4gdGhpcyBmaWxlLiAqLwogICAgICBsaW5rczsKICAgICAgLyoqIEFsbCBsaXN0IGl0ZW1zIGNvbnRhaW5lZCB3aXRoaW4gdGhpcyBwYWdlLiBGaWx0ZXIgZm9yIHRhc2tzIHRvIGdldCBqdXN0IHRhc2tzLiAqLwogICAgICBsaXN0czsKICAgICAgLyoqIFRoZSByYXcgZnJvbnRtYXR0ZXIgZm9yIHRoaXMgZG9jdW1lbnQuICovCiAgICAgIGZyb250bWF0dGVyOwogICAgICBjb25zdHJ1Y3RvcihwYXRoLCBpbml0KSB7CiAgICAgICAgICB0aGlzLnBhdGggPSBwYXRoOwogICAgICAgICAgdGhpcy5maWVsZHMgPSBuZXcgTWFwKCk7CiAgICAgICAgICB0aGlzLmZyb250bWF0dGVyID0ge307CiAgICAgICAgICB0aGlzLnRhZ3MgPSBuZXcgU2V0KCk7CiAgICAgICAgICB0aGlzLmFsaWFzZXMgPSBuZXcgU2V0KCk7CiAgICAgICAgICB0aGlzLmxpbmtzID0gW107CiAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGluaXQpOwogICAgICAgICAgdGhpcy5saXN0cyA9ICh0aGlzLmxpc3RzIHx8IFtdKS5tYXAobCA9PiBuZXcgTGlzdEl0ZW0obCkpOwogICAgICB9CiAgICAgIC8qKiBDYW5vbmljYWxpemUgcmF3IGxpbmtzIGFuZCBvdGhlciBkYXRhIGluIHBhcnRpYWwgZGF0YSB3aXRoIG5vcm1hbGl6ZXJzLCByZXR1cm5pbmcgYSBjb21wbGV0ZWQgb2JqZWN0LiAqLwogICAgICBzdGF0aWMgY2Fub25pY2FsaXplKGRhdGEsIGxpbmtOb3JtYWxpemVyKSB7CiAgICAgICAgICAvLyBNdXRhdGUgdGhlIGRhdGEgZm9yIG5vdywgd2hpY2ggaXMgcHJvYmFibHkgYSBiYWQgaWRlYSBidXQuLi4gYWxsIHdlbGwuCiAgICAgICAgICBpZiAoZGF0YS5mcm9udG1hdHRlcikgewogICAgICAgICAgICAgIGRhdGEuZnJvbnRtYXR0ZXIgPSBWYWx1ZXMubWFwTGVhdmVzKGRhdGEuZnJvbnRtYXR0ZXIsIHQgPT4gVmFsdWVzLmlzTGluayh0KSA/IGxpbmtOb3JtYWxpemVyKHQpIDogdCk7CiAgICAgICAgICB9CiAgICAgICAgICBpZiAoZGF0YS5maWVsZHMpIHsKICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgZGF0YS5maWVsZHMuZW50cmllcygpKSB7CiAgICAgICAgICAgICAgICAgIGRhdGEuZmllbGRzLnNldChrZXksIFZhbHVlcy5tYXBMZWF2ZXModmFsdWUsIHQgPT4gKFZhbHVlcy5pc0xpbmsodCkgPyBsaW5rTm9ybWFsaXplcih0KSA6IHQpKSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgaWYgKGRhdGEubGlzdHMpIHsKICAgICAgICAgICAgICBmb3IgKGxldCBpdGVtIG9mIGRhdGEubGlzdHMpIHsKICAgICAgICAgICAgICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIGl0ZW0uZmllbGRzLmVudHJpZXMoKSkgewogICAgICAgICAgICAgICAgICAgICAgaXRlbS5maWVsZHMuc2V0KGtleSwgdmFsdWUubWFwKHggPT4gVmFsdWVzLm1hcExlYXZlcyh4LCB0ID0+IChWYWx1ZXMuaXNMaW5rKHQpID8gbGlua05vcm1hbGl6ZXIodCkgOiB0KSkpKTsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICAgIGlmIChkYXRhLmxpbmtzKSB7CiAgICAgICAgICAgICAgZGF0YS5saW5rcyA9IGRhdGEubGlua3MubWFwKGwgPT4gbGlua05vcm1hbGl6ZXIobCkpOwogICAgICAgICAgfQogICAgICAgICAgLy8gVGhpcyBpcyBwcmV0dHkgdWdseSwgYnV0IGl0J3Mgbm90IHBvc3NpYmxlIHRvIG5vcm1hbGl6ZSBvbiB0aGUgd29ya2VyIHRocmVhZCB0aGF0IGRvZXMgcGFyc2luZy4KICAgICAgICAgIC8vIFRoZSBiZXN0IHdheSB0byBpbXByb3ZlIHRoaXMgaXMgdG8gaW5zdGVhZCBqdXN0IGNhbm9uaWNhbGl6ZSB0aGUgZW50aXJlIGRhdGEgb2JqZWN0OyBJIGNhbiB0cnkgdG8KICAgICAgICAgIC8vIG9wdGltaXplIGBWYWx1ZXMubWFwTGVhdmVzYCB0byBvbmx5IG11dGF0ZSBpZiBpdCBhY3R1YWxseSBjaGFuZ2VzIHRoaW5ncy4KICAgICAgICAgIHJldHVybiBuZXcgUGFnZU1ldGFkYXRhKGRhdGEucGF0aCwgZGF0YSk7CiAgICAgIH0KICAgICAgLyoqIFRoZSBuYW1lIChiYXNlZCBvbiBwYXRoKSBvZiB0aGlzIGZpbGUuICovCiAgICAgIG5hbWUoKSB7CiAgICAgICAgICByZXR1cm4gZ2V0RmlsZVRpdGxlKHRoaXMucGF0aCk7CiAgICAgIH0KICAgICAgLyoqIFRoZSBjb250YWluaW5nIGZvbGRlciAoYmFzZWQgb24gcGF0aCkgb2YgdGhpcyBmaWxlLiAqLwogICAgICBmb2xkZXIoKSB7CiAgICAgICAgICByZXR1cm4gZ2V0UGFyZW50Rm9sZGVyKHRoaXMucGF0aCk7CiAgICAgIH0KICAgICAgLyoqIFRoZSBleHRlbnNpb24gb2YgdGhpcyBmaWxlIChsaWtlbHkgJ21kJykuICovCiAgICAgIGV4dGVuc2lvbigpIHsKICAgICAgICAgIHJldHVybiBnZXRFeHRlbnNpb24odGhpcy5wYXRoKTsKICAgICAgfQogICAgICAvKiogUmV0dXJuIGEgc2V0IG9mIHRhZ3MgQU5EIGFsbCBvZiB0aGVpciBwYXJlbnQgdGFncyAoc28gI2hlbGxvL3llcyB3b3VsZCBiZWNvbWUgI2hlbGxvLCAjaGVsbG8veWVzKS4gKi8KICAgICAgZnVsbFRhZ3MoKSB7CiAgICAgICAgICBsZXQgcmVzdWx0ID0gbmV3IFNldCgpOwogICAgICAgICAgZm9yIChsZXQgdGFnIG9mIHRoaXMudGFncykgewogICAgICAgICAgICAgIGZvciAobGV0IHN1YnRhZyBvZiBleHRyYWN0U3VidGFncyh0YWcpKQogICAgICAgICAgICAgICAgICByZXN1bHQuYWRkKHN1YnRhZyk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICB9CiAgICAgIC8qKiBDb252ZXJ0IGFsbCBsaW5rcyBpbiB0aGlzIGZpbGUgdG8gZmlsZSBsaW5rcy4gKi8KICAgICAgZmlsZUxpbmtzKCkgewogICAgICAgICAgLy8gV2Ugd2FudCB0byBtYWtlIHRoZW0gZGlzdGluY3QsIGJ1dCB3aGVyZSBsaW5rcyBhcmUgbm90IHJhdyBsaW5rcyB3ZQogICAgICAgICAgLy8gbm93IGtlZXAgdGhlIGFkZGl0aW9uYWwgbWV0YWRhdGEuCiAgICAgICAgICBsZXQgZGlzdGluY3RMaW5rcyA9IG5ldyBTZXQodGhpcy5saW5rcyk7CiAgICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShkaXN0aW5jdExpbmtzKTsKICAgICAgfQogICAgICAvKiogTWFwIHRoaXMgbWV0YWRhdGEgdG8gYSBmdWxsIG9iamVjdDsgdXNlcyB0aGUgaW5kZXggZm9yIGFkZGl0aW9uYWwgZGF0YSBsb29rdXBzLiAgKi8KICAgICAgc2VyaWFsaXplKGluZGV4LCBjYWNoZSkgewogICAgICAgICAgLy8gQ29udmVydCBsaXN0IGl0ZW1zIHZpYSB0aGUgY2Fub25pY2FsaXphdGlvbiBjYWNoZS4KICAgICAgICAgIGxldCByZWFsQ2FjaGUgPSBjYWNoZSA/PyBuZXcgTGlzdFNlcmlhbGl6YXRpb25DYWNoZSh0aGlzLmxpc3RzKTsKICAgICAgICAgIGxldCByZXN1bHQgPSB7CiAgICAgICAgICAgICAgZmlsZTogewogICAgICAgICAgICAgICAgICBwYXRoOiB0aGlzLnBhdGgsCiAgICAgICAgICAgICAgICAgIGZvbGRlcjogdGhpcy5mb2xkZXIoKSwKICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lKCksCiAgICAgICAgICAgICAgICAgIGxpbms6IExpbmsuZmlsZSh0aGlzLnBhdGgpLAogICAgICAgICAgICAgICAgICBvdXRsaW5rczogdGhpcy5maWxlTGlua3MoKSwKICAgICAgICAgICAgICAgICAgaW5saW5rczogQXJyYXkuZnJvbShpbmRleC5saW5rcy5nZXRJbnZlcnNlKHRoaXMucGF0aCkpLm1hcChsID0+IExpbmsuZmlsZShsKSksCiAgICAgICAgICAgICAgICAgIGV0YWdzOiBBcnJheS5mcm9tKHRoaXMudGFncyksCiAgICAgICAgICAgICAgICAgIHRhZ3M6IEFycmF5LmZyb20odGhpcy5mdWxsVGFncygpKSwKICAgICAgICAgICAgICAgICAgYWxpYXNlczogQXJyYXkuZnJvbSh0aGlzLmFsaWFzZXMpLAogICAgICAgICAgICAgICAgICBsaXN0czogdGhpcy5saXN0cy5tYXAobCA9PiByZWFsQ2FjaGUuZ2V0KGwubGluZSkpLAogICAgICAgICAgICAgICAgICB0YXNrczogdGhpcy5saXN0cy5maWx0ZXIobCA9PiAhIWwudGFzaykubWFwKGwgPT4gcmVhbENhY2hlLmdldChsLmxpbmUpKSwKICAgICAgICAgICAgICAgICAgY3RpbWU6IHRoaXMuY3RpbWUsCiAgICAgICAgICAgICAgICAgIGNkYXk6IHN0cmlwVGltZSh0aGlzLmN0aW1lKSwKICAgICAgICAgICAgICAgICAgbXRpbWU6IHRoaXMubXRpbWUsCiAgICAgICAgICAgICAgICAgIG1kYXk6IHN0cmlwVGltZSh0aGlzLm10aW1lKSwKICAgICAgICAgICAgICAgICAgc2l6ZTogdGhpcy5zaXplLAogICAgICAgICAgICAgICAgICBzdGFycmVkOiBpbmRleC5zdGFycmVkLnN0YXJyZWQodGhpcy5wYXRoKSwKICAgICAgICAgICAgICAgICAgZnJvbnRtYXR0ZXI6IFZhbHVlcy5kZWVwQ29weSh0aGlzLmZyb250bWF0dGVyKSwKICAgICAgICAgICAgICAgICAgZXh0OiB0aGlzLmV4dGVuc2lvbigpLAogICAgICAgICAgICAgIH0sCiAgICAgICAgICB9OwogICAgICAgICAgLy8gQWRkIHRoZSBjdXJyZW50IGRheSBpZiBwcmVzZW50LgogICAgICAgICAgaWYgKHRoaXMuZGF5KQogICAgICAgICAgICAgIHJlc3VsdC5maWxlLmRheSA9IHRoaXMuZGF5OwogICAgICAgICAgLy8gVGhlbiBhcHBlbmQgdGhlIGNvbXB1dGVkIGZpZWxkcy4KICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiB0aGlzLmZpZWxkcy5lbnRyaWVzKCkpIHsKICAgICAgICAgICAgICBpZiAoa2V5IGluIHJlc3VsdCkKICAgICAgICAgICAgICAgICAgY29udGludWU7IC8vIERvbid0IGFsbG93IGZpZWxkcyB0byBvdmVycmlkZSBleGlzdGluZyBrZXlzLgogICAgICAgICAgICAgIHJlc3VsdFtrZXldID0gdmFsdWU7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICB9CiAgfQogIC8qKiBBIGxpc3QgaXRlbSBpbnNpZGUgb2YgYSBsaXN0LiAqLwogIGNsYXNzIExpc3RJdGVtIHsKICAgICAgLyoqIFRoZSBzeW1ib2wgKCcqJywgJy0nLCAnMS4nKSB1c2VkIHRvIGRlZmluZSB0aGlzIGxpc3QgaXRlbS4gKi8KICAgICAgc3ltYm9sOwogICAgICAvKiogQSBsaW5rIHdoaWNoIHBvaW50cyB0byB0aGlzIHRhc2ssIG9yIHRvIHRoZSBjbG9zZXN0IGJsb2NrIHRoYXQgdGhpcyB0YXNrIGlzIGNvbnRhaW5lZCBpbi4gKi8KICAgICAgbGluazsKICAgICAgLyoqIEEgbGluayB0byB0aGUgc2VjdGlvbiB0aGF0IGNvbnRhaW5zIHRoaXMgbGlzdCBlbGVtZW50OyBjb3VsZCBiZSBhIGZpbGUgaWYgdGhpcyBpcyBub3QgaW4gYSBzZWN0aW9uLiAqLwogICAgICBzZWN0aW9uOwogICAgICAvKiogVGhlIHRleHQgb2YgdGhpcyBsaXN0IGl0ZW0uIFRoaXMgbWF5IGJlIG11bHRpcGxlIGxpbmVzIG9mIG1hcmtkb3duLiAqLwogICAgICB0ZXh0OwogICAgICAvKiogVGhlIGxpbmUgdGhhdCB0aGlzIGxpc3QgaXRlbSBzdGFydHMgb24gaW4gdGhlIGZpbGUuICovCiAgICAgIGxpbmU7CiAgICAgIC8qKiBUaGUgbnVtYmVyIG9mIGxpbmVzIHRoYXQgZGVmaW5lIHRoaXMgbGlzdCBpdGVtLiAqLwogICAgICBsaW5lQ291bnQ7CiAgICAgIC8qKiBUaGUgbGluZSBudW1iZXIgZm9yIHRoZSBmaXJzdCBsaXN0IGl0ZW0gaW4gdGhlIGxpc3QgdGhpcyBpdGVtIGJlbG9uZ3MgdG8uICovCiAgICAgIGxpc3Q7CiAgICAgIC8qKiBBbnkgbGlua3MgY29udGFpbmVkIHdpdGhpbiB0aGlzIGxpc3QgaXRlbS4gKi8KICAgICAgbGlua3M7CiAgICAgIC8qKiBUaGUgdGFncyBjb250YWluZWQgd2l0aGluIHRoaXMgbGlzdCBpdGVtLiAqLwogICAgICB0YWdzOwogICAgICAvKiogVGhlIHJhdyBPYnNpZGlhbi1wcm92aWRlZCBwb3NpdGlvbiBmb3Igd2hlcmUgdGhpcyB0YXNrIGlzLiAqLwogICAgICBwb3NpdGlvbjsKICAgICAgLyoqIFRoZSBsaW5lIG51bWJlciBvZiB0aGUgcGFyZW50IGxpc3QgaXRlbSwgaWYgcHJlc2VudDsgaWYgdGhpcyBpcyB1bmRlZmluZWQsIHRoaXMgaXMgYSByb290IGl0ZW0uICovCiAgICAgIHBhcmVudDsKICAgICAgLyoqIFRoZSBsaW5lIG51bWJlcnMgb2YgY2hpbGRyZW4gb2YgdGhpcyBsaXN0IGl0ZW0uICovCiAgICAgIGNoaWxkcmVuOwogICAgICAvKiogVGhlIGJsb2NrIElEIGZvciB0aGlzIGl0ZW0sIGlmIG9uZSBpcyBwcmVzZW50LiAqLwogICAgICBibG9ja0lkOwogICAgICAvKiogQW55IGZpZWxkcyBkZWZpbmVkIGluIHRoaXMgbGlzdCBpdGVtLiBGb3IgdGFza3MsIHRoaXMgaW5jbHVkZXMgZmllbGRzIHVuZGVybmVhdGggdGhlIHRhc2suICovCiAgICAgIGZpZWxkczsKICAgICAgdGFzazsKICAgICAgY29uc3RydWN0b3IoaW5pdCkgewogICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBpbml0KTsKICAgICAgICAgIHRoaXMuZmllbGRzID0gdGhpcy5maWVsZHMgfHwgbmV3IE1hcCgpOwogICAgICAgICAgdGhpcy50YWdzID0gdGhpcy50YWdzIHx8IG5ldyBTZXQoKTsKICAgICAgICAgIHRoaXMuY2hpbGRyZW4gPSB0aGlzLmNoaWxkcmVuIHx8IFtdOwogICAgICAgICAgdGhpcy5saW5rcyA9IHRoaXMubGlua3MgfHwgW107CiAgICAgIH0KICAgICAgaWQoKSB7CiAgICAgICAgICByZXR1cm4gYCR7dGhpcy5maWxlKCkucGF0aH0tJHt0aGlzLmxpbmV9YDsKICAgICAgfQogICAgICBmaWxlKCkgewogICAgICAgICAgcmV0dXJuIHRoaXMubGluay50b0ZpbGUoKTsKICAgICAgfQogICAgICBtYXJrZG93bigpIHsKICAgICAgICAgIGlmICh0aGlzLnRhc2spCiAgICAgICAgICAgICAgcmV0dXJuIGAke3RoaXMuc3ltYm9sfSBbJHt0aGlzLnRhc2suY29tcGxldGVkID8gIngiIDogIiAifV0gJHt0aGlzLnRleHR9YDsKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5zeW1ib2x9ICR7dGhpcy50ZXh0fWA7CiAgICAgIH0KICAgICAgY3JlYXRlZCgpIHsKICAgICAgICAgIHJldHVybiAodGhpcy5maWVsZHMuZ2V0KCJjcmVhdGVkIikgPz8gdGhpcy5maWVsZHMuZ2V0KCJjdGltZSIpID8/IHRoaXMuZmllbGRzLmdldCgiY2RheSIpKT8uWzBdOwogICAgICB9CiAgICAgIGR1ZSgpIHsKICAgICAgICAgIHJldHVybiAodGhpcy5maWVsZHMuZ2V0KCJkdWUiKSA/PyB0aGlzLmZpZWxkcy5nZXQoImR1ZXRpbWUiKSA/PyB0aGlzLmZpZWxkcy5nZXQoImR1ZWRheSIpKT8uWzBdOwogICAgICB9CiAgICAgIGNvbXBsZXRlZCgpIHsKICAgICAgICAgIHJldHVybiAodGhpcy5maWVsZHMuZ2V0KCJjb21wbGV0ZWQiKSA/PwogICAgICAgICAgICAgIHRoaXMuZmllbGRzLmdldCgiY29tcGxldGlvbiIpID8/CiAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZ2V0KCJjb21wdGltZSIpID8/CiAgICAgICAgICAgICAgdGhpcy5maWVsZHMuZ2V0KCJjb21wZGF5IikpPy5bMF07CiAgICAgIH0KICAgICAgc3RhcnQoKSB7CiAgICAgICAgICByZXR1cm4gdGhpcy5maWVsZHMuZ2V0KCJzdGFydCIpPy5bMF07CiAgICAgIH0KICAgICAgc2NoZWR1bGVkKCkgewogICAgICAgICAgcmV0dXJuIHRoaXMuZmllbGRzLmdldCgic2NoZWR1bGVkIik/LlswXTsKICAgICAgfQogICAgICAvKiogQ3JlYXRlIGFuIEFQSS1mcmllbmRseSBjb3B5IG9mIHRoaXMgbGlzdCBpdGVtLiBEZS1kdXBsaWNhdGlvbiBpcyBkb25lIHZpYSB0aGUgcHJvdmlkZWQgY2FjaGUuICovCiAgICAgIHNlcmlhbGl6ZShjYWNoZSkgewogICAgICAgICAgLy8gTWFwIGNoaWxkcmVuIHRvIHRoZWlyIHNlcmlhbGl6ZWQvZGUtZHVwbGljYXRlZCBlcXVpdmFsZW50cyByaWdodCBhd2F5LgogICAgICAgICAgbGV0IGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlbi5tYXAobCA9PiBjYWNoZS5nZXQobCkpLmZpbHRlcigobCkgPT4gbCAhPT0gdW5kZWZpbmVkKTsKICAgICAgICAgIGxldCByZXN1bHQgPSB7CiAgICAgICAgICAgICAgc3ltYm9sOiB0aGlzLnN5bWJvbCwKICAgICAgICAgICAgICBsaW5rOiB0aGlzLmxpbmssCiAgICAgICAgICAgICAgc2VjdGlvbjogdGhpcy5zZWN0aW9uLAogICAgICAgICAgICAgIHRleHQ6IHRoaXMudGV4dCwKICAgICAgICAgICAgICB0YWdzOiBBcnJheS5mcm9tKHRoaXMudGFncyksCiAgICAgICAgICAgICAgbGluZTogdGhpcy5saW5lLAogICAgICAgICAgICAgIGxpbmVDb3VudDogdGhpcy5saW5lQ291bnQsCiAgICAgICAgICAgICAgbGlzdDogdGhpcy5saXN0LAogICAgICAgICAgICAgIG91dGxpbmtzOiBBcnJheS5mcm9tKHRoaXMubGlua3MpLAogICAgICAgICAgICAgIHBhdGg6IHRoaXMubGluay5wYXRoLAogICAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlbiwKICAgICAgICAgICAgICB0YXNrOiAhIXRoaXMudGFzaywKICAgICAgICAgICAgICBhbm5vdGF0ZWQ6IHRoaXMuZmllbGRzLnNpemUgPiAwLAogICAgICAgICAgICAgIHBvc2l0aW9uOiBWYWx1ZXMuZGVlcENvcHkodGhpcy5wb3NpdGlvbiksCiAgICAgICAgICAgICAgc3VidGFza3M6IGNoaWxkcmVuLAogICAgICAgICAgICAgIHJlYWw6ICEhdGhpcy50YXNrLAogICAgICAgICAgICAgIGhlYWRlcjogdGhpcy5zZWN0aW9uLCAvLyBAZGVwcmVjYXRlZCwgdXNlICdpdGVtLnNlY3Rpb24nIGluc3RlYWQuCiAgICAgICAgICB9OwogICAgICAgICAgaWYgKHRoaXMucGFyZW50IHx8IHRoaXMucGFyZW50ID09PSAwKQogICAgICAgICAgICAgIHJlc3VsdC5wYXJlbnQgPSB0aGlzLnBhcmVudDsKICAgICAgICAgIGlmICh0aGlzLmJsb2NrSWQpCiAgICAgICAgICAgICAgcmVzdWx0LmJsb2NrSWQgPSB0aGlzLmJsb2NrSWQ7CiAgICAgICAgICBhZGRGaWVsZHModGhpcy5maWVsZHMsIHJlc3VsdCk7CiAgICAgICAgICBpZiAodGhpcy50YXNrKSB7CiAgICAgICAgICAgICAgcmVzdWx0LnN0YXR1cyA9IHRoaXMudGFzay5zdGF0dXM7CiAgICAgICAgICAgICAgcmVzdWx0LmNoZWNrZWQgPSB0aGlzLnRhc2suY2hlY2tlZDsKICAgICAgICAgICAgICByZXN1bHQuY29tcGxldGVkID0gdGhpcy50YXNrLmNvbXBsZXRlZDsKICAgICAgICAgICAgICByZXN1bHQuZnVsbHlDb21wbGV0ZWQgPSB0aGlzLnRhc2suZnVsbHlDb21wbGV0ZWQ7CiAgICAgICAgICAgICAgbGV0IGNyZWF0ZWQgPSB0aGlzLmNyZWF0ZWQoKSwgZHVlID0gdGhpcy5kdWUoKSwgY29tcGxldGVkID0gdGhpcy5jb21wbGV0ZWQoKSwgc3RhcnQgPSB0aGlzLnN0YXJ0KCksIHNjaGVkdWxlZCA9IHRoaXMuc2NoZWR1bGVkKCk7CiAgICAgICAgICAgICAgaWYgKGNyZWF0ZWQpCiAgICAgICAgICAgICAgICAgIHJlc3VsdC5jcmVhdGVkID0gVmFsdWVzLmRlZXBDb3B5KGNyZWF0ZWQpOwogICAgICAgICAgICAgIGlmIChkdWUpCiAgICAgICAgICAgICAgICAgIHJlc3VsdC5kdWUgPSBWYWx1ZXMuZGVlcENvcHkoZHVlKTsKICAgICAgICAgICAgICBpZiAoY29tcGxldGVkKQogICAgICAgICAgICAgICAgICByZXN1bHQuY29tcGxldGlvbiA9IFZhbHVlcy5kZWVwQ29weShjb21wbGV0ZWQpOwogICAgICAgICAgICAgIGlmIChzdGFydCkKICAgICAgICAgICAgICAgICAgcmVzdWx0LnN0YXJ0ID0gVmFsdWVzLmRlZXBDb3B5KHN0YXJ0KTsKICAgICAgICAgICAgICBpZiAoc2NoZWR1bGVkKQogICAgICAgICAgICAgICAgICByZXN1bHQuc2NoZWR1bGVkID0gVmFsdWVzLmRlZXBDb3B5KHNjaGVkdWxlZCk7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICB9CiAgfQogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIC8vIENvbnZlcnNpb24gLyBTZXJpYWxpemF0aW9uIFV0aWxpdGllcyAvLwogIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIC8qKiBEZS1kdXBsaWNhdGVzIGxpc3QgaXRlbXMgYWNyb3NzIHNlY3Rpb24gbWV0YWRhdGEgYW5kIHBhZ2UgbWV0YWRhdGEuICovCiAgY2xhc3MgTGlzdFNlcmlhbGl6YXRpb25DYWNoZSB7CiAgICAgIGxpc3RJdGVtczsKICAgICAgY2FjaGU7CiAgICAgIHNlZW47CiAgICAgIGNvbnN0cnVjdG9yKGxpc3RJdGVtcykgewogICAgICAgICAgdGhpcy5saXN0SXRlbXMgPSB7fTsKICAgICAgICAgIHRoaXMuY2FjaGUgPSB7fTsKICAgICAgICAgIHRoaXMuc2VlbiA9IG5ldyBTZXQoKTsKICAgICAgICAgIGZvciAobGV0IGl0ZW0gb2YgbGlzdEl0ZW1zKQogICAgICAgICAgICAgIHRoaXMubGlzdEl0ZW1zW2l0ZW0ubGluZV0gPSBpdGVtOwogICAgICB9CiAgICAgIGdldChsaW5lbm8pIHsKICAgICAgICAgIGlmIChsaW5lbm8gaW4gdGhpcy5jYWNoZSkKICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYWNoZVtsaW5lbm9dOwogICAgICAgICAgZWxzZSBpZiAodGhpcy5zZWVuLmhhcyhsaW5lbm8pKSB7CiAgICAgICAgICAgICAgY29uc29sZS5sb2coYERhdGF2aWV3OiBFbmNvdW50ZXJlZCBhIGNpcmN1bGFyIGxpc3QgKGxpbmUgbnVtYmVyICR7bGluZW5vfTsgY2hpbGRyZW4gJHt0aGlzLmxpc3RJdGVtc1tsaW5lbm9dLmNoaWxkcmVuLmpvaW4oIiwgIil9KWApOwogICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICAgICAgICB9CiAgICAgICAgICB0aGlzLnNlZW4uYWRkKGxpbmVubyk7CiAgICAgICAgICBsZXQgcmVzdWx0ID0gdGhpcy5saXN0SXRlbXNbbGluZW5vXS5zZXJpYWxpemUodGhpcyk7CiAgICAgICAgICB0aGlzLmNhY2hlW2xpbmVub10gPSByZXN1bHQ7CiAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICB9CiAgfQogIGZ1bmN0aW9uIGFkZEZpZWxkcyhmaWVsZHMsIHRhcmdldCkgewogICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZXNdIG9mIGZpZWxkcy5lbnRyaWVzKCkpIHsKICAgICAgICAgIGlmIChrZXkgaW4gdGFyZ2V0KQogICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgdGFyZ2V0W2tleV0gPSB2YWx1ZXMubGVuZ3RoID09IDEgPyB2YWx1ZXNbMF0gOiB2YWx1ZXM7CiAgICAgIH0KICAgICAgcmV0dXJuIHRhcmdldDsKICB9CgogIC8qKiBDb21tb24gdXRpbGl0aWVzIGZvciBleHRyYWN0aW5nIHRhZ3MsIGxpbmtzLCBhbmQgb3RoZXIgYnVzaW5lc3MgZnJvbSBtZXRhZGF0YS4gKi8KICBjb25zdCBQT1RFTlRJQUxfVEFHX01BVENIRVIgPSAvI1teXHMsO1wuOiFcPyciYCgpXFtcXVx7XH1dKy9naXU7CiAgLyoqIEV4dHJhY3QgYWxsIHRhZ3MgZnJvbSB0aGUgZ2l2ZW4gc291cmNlIHN0cmluZy4gKi8KICBmdW5jdGlvbiBleHRyYWN0VGFncyQxKHNvdXJjZSkgewogICAgICBsZXQgcmVzdWx0ID0gbmV3IFNldCgpOwogICAgICBsZXQgbWF0Y2hlcyA9IHNvdXJjZS5tYXRjaEFsbChQT1RFTlRJQUxfVEFHX01BVENIRVIpOwogICAgICBmb3IgKGxldCBtYXRjaCBvZiBtYXRjaGVzKSB7CiAgICAgICAgICBsZXQgcGFyc2VkID0gRVhQUkVTU0lPTi50YWcucGFyc2UobWF0Y2hbMF0pOwogICAgICAgICAgaWYgKHBhcnNlZC5zdGF0dXMpCiAgICAgICAgICAgICAgcmVzdWx0LmFkZChwYXJzZWQudmFsdWUpOwogICAgICB9CiAgICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICAvKiogSW1wb3J0ZXIgZm9yIG1hcmtkb3duIGRvY3VtZW50cy4gKi8KICAvKiogRXh0cmFjdCBtYXJrZG93biBtZXRhZGF0YSBmcm9tIHRoZSBnaXZlbiBPYnNpZGlhbiBtYXJrZG93biBmaWxlLiAqLwogIGZ1bmN0aW9uIHBhcnNlUGFnZShwYXRoLCBjb250ZW50cywgc3RhdCwgbWV0YWRhdGEpIHsKICAgICAgbGV0IHRhZ3MgPSBuZXcgU2V0KCk7CiAgICAgIGxldCBhbGlhc2VzID0gbmV3IFNldCgpOwogICAgICBsZXQgZmllbGRzID0gbmV3IE1hcCgpOwogICAgICBsZXQgbGlua3MgPSBbXTsKICAgICAgLy8gRmlsZSB0YWdzLCBpbmNsdWRpbmcgZnJvbnQtbWF0dGVyIGFuZCBpbi1maWxlIHRhZ3MuCiAgICAgIChtZXRhZGF0YS50YWdzIHx8IFtdKS5mb3JFYWNoKHQgPT4gdGFncy5hZGQodC50YWcuc3RhcnRzV2l0aCgiIyIpID8gdC50YWcgOiAiIyIgKyB0LnRhZykpOwogICAgICAvLyBGcm9udC1tYXR0ZXIgZmlsZSB0YWdzLCBhbGlhc2VzLCBBTkQgZnJvbnRtYXR0ZXIgcHJvcGVydGllcy4KICAgICAgaWYgKG1ldGFkYXRhLmZyb250bWF0dGVyKSB7CiAgICAgICAgICBmb3IgKGxldCB0YWcgb2YgZXh0cmFjdFRhZ3MobWV0YWRhdGEuZnJvbnRtYXR0ZXIpKSB7CiAgICAgICAgICAgICAgaWYgKCF0YWcuc3RhcnRzV2l0aCgiIyIpKQogICAgICAgICAgICAgICAgICB0YWcgPSAiIyIgKyB0YWc7CiAgICAgICAgICAgICAgdGFncy5hZGQodGFnKTsKICAgICAgICAgIH0KICAgICAgICAgIGZvciAobGV0IGFsaWFzIG9mIGV4dHJhY3RBbGlhc2VzKG1ldGFkYXRhLmZyb250bWF0dGVyKSB8fCBbXSkKICAgICAgICAgICAgICBhbGlhc2VzLmFkZChhbGlhcyk7CiAgICAgICAgICBsZXQgZnJvbnRGaWVsZHMgPSBwYXJzZUZyb250bWF0dGVyKG1ldGFkYXRhLmZyb250bWF0dGVyKTsKICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhmcm9udEZpZWxkcykpIHsKICAgICAgICAgICAgICBpZiAoa2V5ID09ICJwb3NpdGlvbiIpCiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgIGFkZElubGluZUZpZWxkKGtleSwgdmFsdWUsIGZpZWxkcyk7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgLy8gQWRkIGZyb250bWF0dGVyIGxpbmtzIHRvIGxpbmtzLgogICAgICBpZiAobWV0YWRhdGEuZnJvbnRtYXR0ZXJMaW5rcykgewogICAgICAgICAgZm9yIChsZXQgcmF3TGluayBvZiBtZXRhZGF0YS5mcm9udG1hdHRlckxpbmtzIHx8IFtdKSB7CiAgICAgICAgICAgICAgY29uc3QgbGluayA9IExpbmsuaW5mZXIocmF3TGluay5saW5rLCBmYWxzZSwgcmF3TGluay5kaXNwbGF5VGV4dCk7CiAgICAgICAgICAgICAgbGlua3MucHVzaChsaW5rKTsKICAgICAgICAgIH0KICAgICAgfQogICAgICAvLyBMaW5rcyBpbiBtZXRhZGF0YS4KICAgICAgY29uc3QgbGlua3NCeUxpbmUgPSB7fTsKICAgICAgZm9yIChsZXQgcmF3TGluayBvZiBtZXRhZGF0YS5saW5rcyB8fCBbXSkgewogICAgICAgICAgY29uc3QgbGluayA9IExpbmsuaW5mZXIocmF3TGluay5saW5rLCBmYWxzZSwgcmF3TGluay5kaXNwbGF5VGV4dCk7CiAgICAgICAgICBjb25zdCBsaW5lID0gcmF3TGluay5wb3NpdGlvbi5zdGFydC5saW5lOwogICAgICAgICAgbGlua3MucHVzaChsaW5rKTsKICAgICAgICAgIGlmICghKGxpbmUgaW4gbGlua3NCeUxpbmUpKQogICAgICAgICAgICAgIGxpbmtzQnlMaW5lW2xpbmVdID0gW2xpbmtdOwogICAgICAgICAgZWxzZQogICAgICAgICAgICAgIGxpbmtzQnlMaW5lW2xpbmVdLnB1c2gobGluayk7CiAgICAgIH0KICAgICAgLy8gRW1iZWQgTGlua3MgaW4gbWV0YWRhdGEuCiAgICAgIGZvciAobGV0IHJhd0VtYmVkIG9mIG1ldGFkYXRhLmVtYmVkcyB8fCBbXSkgewogICAgICAgICAgY29uc3QgbGluayA9IExpbmsuaW5mZXIocmF3RW1iZWQubGluaywgdHJ1ZSwgcmF3RW1iZWQuZGlzcGxheVRleHQpOwogICAgICAgICAgY29uc3QgbGluZSA9IHJhd0VtYmVkLnBvc2l0aW9uLnN0YXJ0LmxpbmU7CiAgICAgICAgICBsaW5rcy5wdXNoKGxpbmspOwogICAgICAgICAgaWYgKCEobGluZSBpbiBsaW5rc0J5TGluZSkpCiAgICAgICAgICAgICAgbGlua3NCeUxpbmVbbGluZV0gPSBbbGlua107CiAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgbGlua3NCeUxpbmVbbGluZV0ucHVzaChsaW5rKTsKICAgICAgfQogICAgICAvLyBNZXJnZSBmcm9udG1hdHRlciBmaWVsZHMgd2l0aCBwYXJzZWQgZmllbGRzLgogICAgICBsZXQgbWFya2Rvd25EYXRhID0gcGFyc2VNYXJrZG93bihwYXRoLCBjb250ZW50cy5zcGxpdCgiXG4iKSwgbWV0YWRhdGEsIGxpbmtzQnlMaW5lKTsKICAgICAgbWVyZ2VGaWVsZEdyb3VwcyhmaWVsZHMsIG1hcmtkb3duRGF0YS5maWVsZHMpOwogICAgICAvLyBTdHJpcCAicG9zaXRpb24iIGZyb20gZnJvbnRtYXR0ZXIgc2luY2UgaXQgaXMgT2JzaWRpYW4gZGV0ZXJtaW5lZC4KICAgICAgY29uc3QgZnJvbnRtYXR0ZXIgPSBtZXRhZGF0YS5mcm9udG1hdHRlciB8fCB7fTsKICAgICAgaWYgKGZyb250bWF0dGVyICYmICJwb3NpdGlvbiIgaW4gZnJvbnRtYXR0ZXIpCiAgICAgICAgICBkZWxldGUgZnJvbnRtYXR0ZXJbInBvc2l0aW9uIl07CiAgICAgIHJldHVybiBuZXcgUGFnZU1ldGFkYXRhKHBhdGgsIHsKICAgICAgICAgIHRhZ3MsCiAgICAgICAgICBhbGlhc2VzLAogICAgICAgICAgbGlua3MsCiAgICAgICAgICBsaXN0czogbWFya2Rvd25EYXRhLmxpc3RzLAogICAgICAgICAgZmllbGRzOiBmaW5hbGl6ZUlubGluZUZpZWxkcyhmaWVsZHMpLAogICAgICAgICAgZnJvbnRtYXR0ZXI6IGZyb250bWF0dGVyLAogICAgICAgICAgY3RpbWU6IERhdGVUaW1lLmZyb21NaWxsaXMoc3RhdC5jdGltZSksCiAgICAgICAgICBtdGltZTogRGF0ZVRpbWUuZnJvbU1pbGxpcyhzdGF0Lm10aW1lKSwKICAgICAgICAgIHNpemU6IHN0YXQuc2l6ZSwKICAgICAgICAgIGRheTogZmluZERhdGUocGF0aCwgZmllbGRzKSwKICAgICAgfSk7CiAgfQogIC8qKiBFeHRyYWN0IHRhZ3MgaW50ZWxsaWdlbnRseSBmcm9tIGZyb250bWF0dGVyLiBIYW5kbGVzIGFycmF5cywgbnVtYmVycywgYW5kIHN0cmluZ3MuICovCiAgZnVuY3Rpb24gZXh0cmFjdFRhZ3MobWV0YWRhdGEpIHsKICAgICAgbGV0IHRhZ0tleXMgPSBPYmplY3Qua2V5cyhtZXRhZGF0YSkuZmlsdGVyKHQgPT4gdC50b0xvd2VyQ2FzZSgpID09ICJ0YWdzIiB8fCB0LnRvTG93ZXJDYXNlKCkgPT0gInRhZyIpOwogICAgICByZXR1cm4gdGFnS2V5cwogICAgICAgICAgLm1hcChrID0+IHNwbGl0RnJvbnRtYXR0ZXJUYWdPckFsaWFzKG1ldGFkYXRhW2tdLCAvWyxcc10rLykpCiAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBwLmNvbmNhdChjKSwgW10pCiAgICAgICAgICAubWFwKHN0ciA9PiAoc3RyLnN0YXJ0c1dpdGgoIiMiKSA/IHN0ciA6ICIjIiArIHN0cikpOwogIH0KICAvKiogRXh0cmFjdCBhbGlhc2VzIGludGVsbGlnZW50bHkgZnJvbSBmcm9udG1hdHRlci4gSGFuZGxlcyBhcnJheXMsIG51bWJlcnMsIGFuZCBzdHJpbmdzLiAgKi8KICBmdW5jdGlvbiBleHRyYWN0QWxpYXNlcyhtZXRhZGF0YSkgewogICAgICBsZXQgYWxpYXNLZXlzID0gT2JqZWN0LmtleXMobWV0YWRhdGEpLmZpbHRlcih0ID0+IHQudG9Mb3dlckNhc2UoKSA9PSAiYWxpYXMiIHx8IHQudG9Mb3dlckNhc2UoKSA9PSAiYWxpYXNlcyIpOwogICAgICBjb25zdCByZXN1bHQgPSBbXTsKICAgICAgZm9yIChsZXQga2V5IG9mIGFsaWFzS2V5cykgewogICAgICAgICAgY29uc3QgdmFsdWUgPSBtZXRhZGF0YVtrZXldOwogICAgICAgICAgaWYgKCF2YWx1ZSkKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkKICAgICAgICAgICAgICByZXN1bHQucHVzaCguLi52YWx1ZS5tYXAodiA9PiAoIiIgKyB2KS50cmltKCkpKTsKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICByZXN1bHQucHVzaCguLi5zcGxpdEZyb250bWF0dGVyVGFnT3JBbGlhcyh2YWx1ZSwgLywvKSk7CiAgICAgIH0KICAgICAgcmV0dXJuIHJlc3VsdDsKICB9CiAgLyoqIFNwbGl0IGEgZnJvbnRtYXR0ZXIgbGlzdCBpbnRvIHNlcGFyYXRlIGVsZW1lbnRzOyBoYW5kbGVzIGFjdHVhbCBsaXN0cywgY29tbWEgc2VwYXJhdGVkIGxpc3RzLCBhbmQgc2luZ2xlIGVsZW1lbnRzLiAqLwogIGZ1bmN0aW9uIHNwbGl0RnJvbnRtYXR0ZXJUYWdPckFsaWFzKGRhdGEsIG9uKSB7CiAgICAgIGlmIChkYXRhID09IG51bGwgfHwgZGF0YSA9PSB1bmRlZmluZWQpCiAgICAgICAgICByZXR1cm4gW107CiAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7CiAgICAgICAgICByZXR1cm4gZGF0YQogICAgICAgICAgICAgIC5maWx0ZXIocyA9PiAhIXMpCiAgICAgICAgICAgICAgLm1hcChzID0+IHNwbGl0RnJvbnRtYXR0ZXJUYWdPckFsaWFzKHMsIG9uKSkKICAgICAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBwLmNvbmNhdChjKSwgW10pOwogICAgICB9CiAgICAgIC8vIEZvcmNlIHRvIGEgc3RyaW5nIHRvIGhhbmRsZSBudW1iZXJzIGFuZCBzbyBvbi4KICAgICAgcmV0dXJuICgiIiArIGRhdGEpCiAgICAgICAgICAuc3BsaXQob24pCiAgICAgICAgICAuZmlsdGVyKHQgPT4gISF0KQogICAgICAgICAgLm1hcCh0ID0+IHQudHJpbSgpKQogICAgICAgICAgLmZpbHRlcih0ID0+IHQubGVuZ3RoID4gMCk7CiAgfQogIC8qKiBQYXJzZSByYXcgKG5ld2xpbmUtZGVsaW1pdGVkKSBtYXJrZG93biwgcmV0dXJuaW5nIGlubGluZSBmaWVsZHMsIGxpc3QgaXRlbXMsIGFuZCBvdGhlciBtZXRhZGF0YS4gKi8KICBmdW5jdGlvbiBwYXJzZU1hcmtkb3duKHBhdGgsIGNvbnRlbnRzLCBtZXRhZGF0YSwgbGlua3NCeUxpbmUpIHsKICAgICAgbGV0IGZpZWxkcyA9IG5ldyBNYXAoKTsKICAgICAgLy8gRXh0cmFjdCB0YXNrIGRhdGEgYW5kIGFwcGVuZCB0aGUgZ2xvYmFsIGRhdGEgZXh0cmFjdGVkIGZyb20gdGhlbSB0byBvdXIgZmllbGRzLgogICAgICBsZXQgW2xpc3RzLCBleHRyYURhdGFdID0gcGFyc2VMaXN0cyhwYXRoLCBjb250ZW50cywgbWV0YWRhdGEsIGxpbmtzQnlMaW5lKTsKICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVzXSBvZiBleHRyYURhdGEuZW50cmllcygpKSB7CiAgICAgICAgICBpZiAoIWZpZWxkcy5oYXMoa2V5KSkKICAgICAgICAgICAgICBmaWVsZHMuc2V0KGtleSwgdmFsdWVzKTsKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICBmaWVsZHMuc2V0KGtleSwgZmllbGRzLmdldChrZXkpLmNvbmNhdCh2YWx1ZXMpKTsKICAgICAgfQogICAgICAvLyBUaGUgT2JzaWRpYW4gbWV0YWRhdGEgY2FjaGUgd2lsbCB0cmFjayBsaXN0IGVsZW1lbnRzIGluc2lkZSBvZiBvdGhlciBlbGVtZW50IGdyb3VwcyAobGlrZSBhbm5vdGF0aW9ucyBhbmQKICAgICAgLy8gY2FsbG91dHMpLi4uIHRoaXMgbWVhbnMgd2UgbWlnaHQgc2VlIG1ldGFkYXRhIHR3aWNlLCBzbyBza2lwIHRoZW0gbm93LiBWZXJ5IGFubm95aW5nLgogICAgICBjb25zdCBsaXN0TGluZXNUb1NraXAgPSBuZXcgU2V0KCk7CiAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaXN0cykgewogICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaW5lLmxpbmVDb3VudDsgaSsrKQogICAgICAgICAgICAgIGxpc3RMaW5lc1RvU2tpcC5hZGQobGluZS5saW5lICsgaSk7CiAgICAgIH0KICAgICAgLy8gT25seSBwYXJzZSBoZWFkaW5nIGFuZCBwYXJhZ3JhcGggZWxlbWVudHMgZm9yIGlubGluZSBmaWVsZHM7IHdlIHdpbGwgcGFyc2UgbGlzdCBtZXRhZGF0YSBzZXBhcmF0ZWx5LgogICAgICBmb3IgKGxldCBzZWN0aW9uIG9mIG1ldGFkYXRhLnNlY3Rpb25zIHx8IFtdKSB7CiAgICAgICAgICBpZiAoc2VjdGlvbi50eXBlID09ICJsaXN0IiB8fCBzZWN0aW9uLnR5cGUgPT0gInJ1bGluZyIpCiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICBmb3IgKGxldCBsaW5lbm8gPSBzZWN0aW9uLnBvc2l0aW9uLnN0YXJ0LmxpbmU7IGxpbmVubyA8PSBzZWN0aW9uLnBvc2l0aW9uLmVuZC5saW5lOyBsaW5lbm8rKykgewogICAgICAgICAgICAgIGxldCBsaW5lID0gY29udGVudHNbbGluZW5vXTsKICAgICAgICAgICAgICBpZiAobGluZSA9PSB1bmRlZmluZWQgfHwgbGluZSA9PSBudWxsKQogICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICBpZiAobGlzdExpbmVzVG9Ta2lwLmhhcyhsaW5lbm8pKQogICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAvLyBGYXN0IGJhaWwtb3V0IGZvciBsaW5lcyB0aGF0IGFyZSB0b28gbG9uZyBvciBkbyBub3QgY29udGFpbiAnOjonLgogICAgICAgICAgICAgIGlmIChsaW5lLmxlbmd0aCA+IDMyNzY4IHx8ICFsaW5lLmluY2x1ZGVzKCI6OiIpKQogICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICBsaW5lID0gbGluZS50cmltKCk7CiAgICAgICAgICAgICAgbGV0IGlubGluZUZpZWxkcyA9IGV4dHJhY3RJbmxpbmVGaWVsZHMobGluZSk7CiAgICAgICAgICAgICAgaWYgKGlubGluZUZpZWxkcy5sZW5ndGggPiAwKSB7CiAgICAgICAgICAgICAgICAgIGZvciAobGV0IGlmaWVsZCBvZiBpbmxpbmVGaWVsZHMpCiAgICAgICAgICAgICAgICAgICAgICBhZGRSYXdJbmxpbmVGaWVsZChpZmllbGQsIGZpZWxkcyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICBsZXQgZnVsbExpbmUgPSBleHRyYWN0RnVsbExpbmVGaWVsZChsaW5lKTsKICAgICAgICAgICAgICAgICAgaWYgKGZ1bGxMaW5lKQogICAgICAgICAgICAgICAgICAgICAgYWRkUmF3SW5saW5lRmllbGQoZnVsbExpbmUsIGZpZWxkcyk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiB7IGZpZWxkcywgbGlzdHMgfTsKICB9CiAgLy8gVE9ETzogQ29uc2lkZXIgdXNpbmcgYW4gYWN0dWFsIHBhcnNlciBpbiBsZWl1IG9mIGEgbW9yZSBleHBlbnNpdmUgcmVnZXguCiAgY29uc3QgTElTVF9JVEVNX1JFR0VYID0gL15bXHM+XSooXGQrXC58XGQrXCl8XCp8LXxcKylccyooXFsuezAsMX1cXSk/XHMqKC4qKSQvbXU7CiAgLyoqCiAgICogUGFyc2UgbGlzdCBpdGVtcyBmcm9tIHRoZSBwYWdlICsgbWV0YWRhdGEuIFRoaXMgcmVxdWlyZXMgc29tZSBhZGRpdGlvbmFsIHBhcnNpbmcgYWJvdmUgd2hhdGV2ZXIgT2JzaWRpYW4gcHJvdmlkZXMsCiAgICogc2luY2UgT2JzaWRpYW4gb25seSBnaXZlcyBsaW5lIG51bWJlcnMuCiAgICovCiAgZnVuY3Rpb24gcGFyc2VMaXN0cyhwYXRoLCBjb250ZW50LCBtZXRhZGF0YSwgbGlua3NCeUxpbmUpIHsKICAgICAgbGV0IGNhY2hlID0ge307CiAgICAgIC8vIFBsYWNlIGFsbCBvZiB0aGUgdmFsdWVzIGluIHRoZSBjYWNoZSBiZWZvcmUgcmVzb2x2aW5nIGNoaWxkcmVuICYgbWV0YWRhdGEgcmVsYXRpb25zaGlwcy4KICAgICAgZm9yIChsZXQgcmF3RWxlbWVudCBvZiBtZXRhZGF0YS5saXN0SXRlbXMgfHwgW10pIHsKICAgICAgICAgIC8vIE1hdGNoIG9uIHRoZSBmaXJzdCBsaW5lIHRvIGdldCB0aGUgc3ltYm9sIGFuZCBmaXJzdCBsaW5lIG9mIHRleHQuCiAgICAgICAgICBsZXQgcmF3TWF0Y2ggPSBMSVNUX0lURU1fUkVHRVguZXhlYyhjb250ZW50W3Jhd0VsZW1lbnQucG9zaXRpb24uc3RhcnQubGluZV0pOwogICAgICAgICAgaWYgKCFyYXdNYXRjaCkKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIC8vIEFuZCB0aGVuIHN0cmlwIHVubmVjZXNzYXJ5IHNwYWNpbmcgZnJvbSB0aGUgcmVtYWluaW5nIGxpbmVzLgogICAgICAgICAgbGV0IHRleHRQYXJ0cyA9IFtyYXdNYXRjaFszXV0KICAgICAgICAgICAgICAuY29uY2F0KGNvbnRlbnQuc2xpY2UocmF3RWxlbWVudC5wb3NpdGlvbi5zdGFydC5saW5lICsgMSwgcmF3RWxlbWVudC5wb3NpdGlvbi5lbmQubGluZSArIDEpKQogICAgICAgICAgICAgIC5tYXAodCA9PiB0LnRyaW0oKSk7CiAgICAgICAgICBsZXQgdGV4dFdpdGhOZXdsaW5lID0gdGV4dFBhcnRzLmpvaW4oIlxuIik7CiAgICAgICAgICBsZXQgdGV4dE5vTmV3bGluZSA9IHRleHRQYXJ0cy5qb2luKCIgIik7CiAgICAgICAgICAvLyBGaW5kIHRoZSBsaXN0IHRoYXQgd2UgYXJlIGEgcGFydCBvZiBieSBsaW5lLgogICAgICAgICAgbGV0IGNvbnRhaW5pbmdMaXN0SWQgPSAobWV0YWRhdGEuc2VjdGlvbnMgfHwgW10pLmZpbmRJbmRleChzID0+IHMudHlwZSA9PSAibGlzdCIgJiYKICAgICAgICAgICAgICBzLnBvc2l0aW9uLnN0YXJ0LmxpbmUgPD0gcmF3RWxlbWVudC5wb3NpdGlvbi5zdGFydC5saW5lICYmCiAgICAgICAgICAgICAgcy5wb3NpdGlvbi5lbmQubGluZSA+PSByYXdFbGVtZW50LnBvc2l0aW9uLnN0YXJ0LmxpbmUpOwogICAgICAgICAgLy8gRmluZCB0aGUgc2VjdGlvbiB3ZSBiZWxvbmcgdG8gYXMgd2VsbC4KICAgICAgICAgIGxldCBzZWN0aW9uTmFtZSA9IGZpbmRQcmV2aW91c0hlYWRlcihyYXdFbGVtZW50LnBvc2l0aW9uLnN0YXJ0LmxpbmUsIG1ldGFkYXRhLmhlYWRpbmdzIHx8IFtdKTsKICAgICAgICAgIGxldCBzZWN0aW9uTGluayA9IHNlY3Rpb25OYW1lID09PSB1bmRlZmluZWQgPyBMaW5rLmZpbGUocGF0aCkgOiBMaW5rLmhlYWRlcihwYXRoLCBzZWN0aW9uTmFtZSk7CiAgICAgICAgICBsZXQgY2xvc2VzdExpbmsgPSByYXdFbGVtZW50LmlkID09PSB1bmRlZmluZWQgPyBzZWN0aW9uTGluayA6IExpbmsuYmxvY2socGF0aCwgcmF3RWxlbWVudC5pZCk7CiAgICAgICAgICAvLyBHYXRoZXIgYW55IGxpbmtzIHRoYXQgb2NjdXIgb24gdGhlIHNhbWUgbGluZXMgYXMgdGhlIHRhc2suCiAgICAgICAgICBjb25zdCBsaW5rcyA9IFtdOwogICAgICAgICAgZm9yIChsZXQgbGluZSA9IHJhd0VsZW1lbnQucG9zaXRpb24uc3RhcnQubGluZTsgbGluZSA8PSByYXdFbGVtZW50LnBvc2l0aW9uLmVuZC5saW5lOyBsaW5lKyspIHsKICAgICAgICAgICAgICBpZiAobGlua3NCeUxpbmVbbGluZV0pCiAgICAgICAgICAgICAgICAgIGxpbmtzLnB1c2goLi4ubGlua3NCeUxpbmVbbGluZV0pOwogICAgICAgICAgfQogICAgICAgICAgLy8gQ29uc3RydWN0IHVuaXZlcnNhbCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGVsZW1lbnQgKGJlZm9yZSB0YXNrcykuCiAgICAgICAgICBsZXQgaXRlbSA9IG5ldyBMaXN0SXRlbSh7CiAgICAgICAgICAgICAgc3ltYm9sOiByYXdNYXRjaFsxXSwKICAgICAgICAgICAgICBsaW5rOiBjbG9zZXN0TGluaywKICAgICAgICAgICAgICBsaW5rczogbGlua3MsCiAgICAgICAgICAgICAgc2VjdGlvbjogc2VjdGlvbkxpbmssCiAgICAgICAgICAgICAgdGV4dDogdGV4dFdpdGhOZXdsaW5lLAogICAgICAgICAgICAgIHRhZ3M6IGV4dHJhY3RUYWdzJDEodGV4dE5vTmV3bGluZSksCiAgICAgICAgICAgICAgbGluZTogcmF3RWxlbWVudC5wb3NpdGlvbi5zdGFydC5saW5lLAogICAgICAgICAgICAgIGxpbmVDb3VudDogcmF3RWxlbWVudC5wb3NpdGlvbi5lbmQubGluZSAtIHJhd0VsZW1lbnQucG9zaXRpb24uc3RhcnQubGluZSArIDEsCiAgICAgICAgICAgICAgbGlzdDogY29udGFpbmluZ0xpc3RJZCA9PSAtMSA/IC0xIDogKG1ldGFkYXRhLnNlY3Rpb25zIHx8IFtdKVtjb250YWluaW5nTGlzdElkXS5wb3NpdGlvbi5zdGFydC5saW5lLAogICAgICAgICAgICAgIHBvc2l0aW9uOiByYXdFbGVtZW50LnBvc2l0aW9uLAogICAgICAgICAgICAgIGNoaWxkcmVuOiBbXSwKICAgICAgICAgICAgICBibG9ja0lkOiByYXdFbGVtZW50LmlkLAogICAgICAgICAgfSk7CiAgICAgICAgICBpZiAocmF3RWxlbWVudC5wYXJlbnQgPj0gMCAmJiByYXdFbGVtZW50LnBhcmVudCAhPSBpdGVtLmxpbmUpCiAgICAgICAgICAgICAgaXRlbS5wYXJlbnQgPSByYXdFbGVtZW50LnBhcmVudDsKICAgICAgICAgIC8vIFNldCB1cCB0aGUgYmFzaWMgdGFzayBpbmZvcm1hdGlvbiBmb3Igbm93LCB0aG91Z2ggd2UgaGF2ZSB0byByZWNvbXB1dGUgYGZ1bGx5Q29tcHV0ZWRgIGxhdGVyLgogICAgICAgICAgaWYgKHJhd0VsZW1lbnQudGFzaykgewogICAgICAgICAgICAgIGl0ZW0udGFzayA9IHsKICAgICAgICAgICAgICAgICAgc3RhdHVzOiByYXdFbGVtZW50LnRhc2ssCiAgICAgICAgICAgICAgICAgIGNoZWNrZWQ6IHJhd0VsZW1lbnQudGFzayAhPSAiIiAmJiByYXdFbGVtZW50LnRhc2sgIT0gIiAiLAogICAgICAgICAgICAgICAgICBjb21wbGV0ZWQ6IHJhd0VsZW1lbnQudGFzayA9PSAiWCIgfHwgcmF3RWxlbWVudC50YXNrID09ICJ4IiwKICAgICAgICAgICAgICAgICAgZnVsbHlDb21wbGV0ZWQ6IHJhd0VsZW1lbnQudGFzayA9PSAiWCIgfHwgcmF3RWxlbWVudC50YXNrID09ICJ4IiwKICAgICAgICAgICAgICB9OwogICAgICAgICAgfQogICAgICAgICAgLy8gRXh0cmFjdCBpbmxpbmUgZmllbGRzOyBleHRyYWN0IGZ1bGwtbGluZSBmaWVsZHMgb25seSBpZiB3ZSBhcmUgTk9UIGEgdGFzay4KICAgICAgICAgIGl0ZW0uZmllbGRzID0gbmV3IE1hcCgpOwogICAgICAgICAgZm9yIChsZXQgZWxlbWVudCBvZiBleHRyYWN0SW5saW5lRmllbGRzKHRleHROb05ld2xpbmUsIHRydWUpKQogICAgICAgICAgICAgIGFkZFJhd0lubGluZUZpZWxkKGVsZW1lbnQsIGl0ZW0uZmllbGRzKTsKICAgICAgICAgIGlmICghcmF3RWxlbWVudC50YXNrICYmIGl0ZW0uZmllbGRzLnNpemUgPT0gMCkgewogICAgICAgICAgICAgIGxldCBmdWxsTGluZSA9IGV4dHJhY3RGdWxsTGluZUZpZWxkKHRleHROb05ld2xpbmUpOwogICAgICAgICAgICAgIGlmIChmdWxsTGluZSkKICAgICAgICAgICAgICAgICAgYWRkUmF3SW5saW5lRmllbGQoZnVsbExpbmUsIGl0ZW0uZmllbGRzKTsKICAgICAgICAgIH0KICAgICAgICAgIGNhY2hlW2l0ZW0ubGluZV0gPSBpdGVtOwogICAgICB9CiAgICAgIC8vIFRyZWUgdXBkYXRpbmcgcGFzc2VzLiBVcGRhdGUgY2hpbGQgbGlzdHMuIFByb3BvZ2F0ZSBtZXRhZGF0YSB1cCB0byBwYXJlbnQgdGFza3MuIFVwZGF0ZSB0YXNrIGBmdWxseUNvbXBsZXRlZGAuCiAgICAgIGxldCBsaXRlcmFscyA9IG5ldyBNYXAoKTsKICAgICAgZm9yIChsZXQgbGlzdEl0ZW0gb2YgT2JqZWN0LnZhbHVlcyhjYWNoZSkpIHsKICAgICAgICAgIC8vIFBhc3MgMTogVXBkYXRlIGNoaWxkIGxpc3RzLgogICAgICAgICAgaWYgKGxpc3RJdGVtLnBhcmVudCAhPT0gdW5kZWZpbmVkICYmIGxpc3RJdGVtLnBhcmVudCBpbiBjYWNoZSkgewogICAgICAgICAgICAgIGxldCBwYXJlbnQgPSBjYWNoZVtsaXN0SXRlbS5wYXJlbnRdOwogICAgICAgICAgICAgIHBhcmVudC5jaGlsZHJlbi5wdXNoKGxpc3RJdGVtLmxpbmUpOwogICAgICAgICAgfQogICAgICAgICAgLy8gUGFzcyAyOiBQcm9wb2dhdGUgbWV0YWRhdGEgdXAgdG8gdGhlIHBhcmVudCB0YXNrIG9yIHJvb3QgZWxlbWVudC4KICAgICAgICAgIGlmICghbGlzdEl0ZW0udGFzaykgewogICAgICAgICAgICAgIG1lcmdlRmllbGRHcm91cHMobGl0ZXJhbHMsIGxpc3RJdGVtLmZpZWxkcyk7CiAgICAgICAgICAgICAgLy8gVE9ETyAoYmxhY2tzbWl0aGd1KTogVGhlIGJlbG93IGNvZGUgcHJvcGVybHkgcHJvcG9nYXRlcyBtZXRhZGF0YSB1cCB0byB0aGUgbmVhcmVzdCB0YXNrLCB3aGljaCBpcyB0aGUKICAgICAgICAgICAgICAvLyBtb3JlIGludHVpdGl2ZSBiZWhhdmlvci4gRm9yIG5vdywgdGhvdWdoLCB3ZSB3aWxsIGtlZXAgdGhlIGV4aXN0aW5nIGxvZ2ljLgogICAgICAgICAgICAgIC8qCiAgICAgICAgICAgICAgbGV0IHJvb3Q6IExpc3RJdGVtIHwgdW5kZWZpbmVkID0gbGlzdEl0ZW07CiAgICAgICAgICAgICAgd2hpbGUgKCEhcm9vdCAmJiAhcm9vdC50YXNrKSByb290ID0gY2FjaGVbcm9vdC5wYXJlbnQgPz8gLTFdOwoKICAgICAgICAgICAgICAvLyBJZiB0aGUgcm9vdCBpcyBudWxsLCBhcHBlbmQgdGhpcyBtZXRhZGF0YSB0byB0aGUgcm9vdDsgb3RoZXJ3aXNlLCBhcHBlbmQgdG8gdGhlIHRhc2suCiAgICAgICAgICAgICAgbWVyZ2VGaWVsZEdyb3Vwcyhyb290ID09PSB1bmRlZmluZWQgfHwgcm9vdCA9PSBudWxsID8gbGl0ZXJhbHMgOiByb290LmZpZWxkcywgbGlzdEl0ZW0uZmllbGRzKTsKICAgICAgICAgICAgICAqLwogICAgICAgICAgfQogICAgICAgICAgLy8gUGFzcyAzOiBQcm9wb2dhdGUgYGZ1bGx5Q29tcGxldGVkYCB1cCB0aGUgdGFzayB0cmVlLiBUaGlzIGlzIGEgbGl0dGxlIGxlc3MgZWZmaWNpZW50IHRoYW4ganVzdCBkb2luZyBhIHNpbXBsZQogICAgICAgICAgLy8gREZTIHVzaW5nIHRoZSBjaGlsZHJlbiBJRHMsIGJ1dCBpdCdzIHByb2JhYmx5IGZpbmUuCiAgICAgICAgICBpZiAobGlzdEl0ZW0udGFzaykgewogICAgICAgICAgICAgIGxldCBjdXJyID0gbGlzdEl0ZW07CiAgICAgICAgICAgICAgd2hpbGUgKCEhY3VycikgewogICAgICAgICAgICAgICAgICBpZiAoY3Vyci50YXNrKQogICAgICAgICAgICAgICAgICAgICAgY3Vyci50YXNrLmZ1bGx5Q29tcGxldGVkID0gY3Vyci50YXNrLmZ1bGx5Q29tcGxldGVkICYmIGxpc3RJdGVtLnRhc2suY29tcGxldGVkOwogICAgICAgICAgICAgICAgICBjdXJyID0gY2FjaGVbY3Vyci5wYXJlbnQgPz8gLTFdOwogICAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gW09iamVjdC52YWx1ZXMoY2FjaGUpLCBsaXRlcmFsc107CiAgfQogIC8qKiBBdHRlbXB0IHRvIGZpbmQgYSBkYXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gcGFnZSBmcm9tIG1ldGFkYXRhIG9yIGZpbGVuYW1lcy4gKi8KICBmdW5jdGlvbiBmaW5kRGF0ZShmaWxlLCBmaWVsZHMpIHsKICAgICAgZm9yIChsZXQga2V5IG9mIGZpZWxkcy5rZXlzKCkpIHsKICAgICAgICAgIGlmICghKGtleS50b0xvY2FsZUxvd2VyQ2FzZSgpID09ICJkYXRlIiB8fCBrZXkudG9Mb2NhbGVMb3dlckNhc2UoKSA9PSAiZGF5IikpCiAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICBsZXQgdmFsdWUgPSBmaWVsZHMuZ2V0KGtleSk7CiAgICAgICAgICBpZiAoVmFsdWVzLmlzRGF0ZSh2YWx1ZSkpIHsKICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIGlmIChWYWx1ZXMuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID4gMCAmJiBWYWx1ZXMuaXNEYXRlKHZhbHVlWzBdKSkgewogICAgICAgICAgICAgIHJldHVybiB2YWx1ZVswXTsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgaWYgKFZhbHVlcy5pc0xpbmsodmFsdWUpKSB7CiAgICAgICAgICAgICAgbGV0IGRhdGUgPSBleHRyYWN0RGF0ZSh2YWx1ZS5wYXRoKSA/PyBleHRyYWN0RGF0ZSh2YWx1ZS5zdWJwYXRoID8/ICIiKSA/PyBleHRyYWN0RGF0ZSh2YWx1ZS5kaXNwbGF5ID8/ICIiKTsKICAgICAgICAgICAgICBpZiAoZGF0ZSkKICAgICAgICAgICAgICAgICAgcmV0dXJuIGRhdGU7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgcmV0dXJuIGV4dHJhY3REYXRlKGdldEZpbGVUaXRsZShmaWxlKSk7CiAgfQogIC8qKiBSZWN1cnNpdmVseSBjb252ZXJ0IGZyb250bWF0dGVyIGludG8gZmllbGRzLiBXZSBoYXZlIHRvIGRhbmNlIGFyb3VuZCBZQU1MIHN0cnVjdHVyZS4gKi8KICBmdW5jdGlvbiBwYXJzZUZyb250bWF0dGVyKHZhbHVlKSB7CiAgICAgIGlmICh2YWx1ZSA9PSBudWxsKSB7CiAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgfQogICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICJvYmplY3QiKSB7CiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHsKICAgICAgICAgICAgICBsZXQgcmVzdWx0ID0gW107CiAgICAgICAgICAgICAgZm9yIChsZXQgY2hpbGQgb2YgdmFsdWUpIHsKICAgICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gocGFyc2VGcm9udG1hdHRlcihjaGlsZCkpOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgICAgICAgfQogICAgICAgICAgZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7CiAgICAgICAgICAgICAgbGV0IGRhdGVQYXJzZSA9IERhdGVUaW1lLmZyb21KU0RhdGUodmFsdWUpOwogICAgICAgICAgICAgIHJldHVybiBkYXRlUGFyc2U7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICBsZXQgb2JqZWN0ID0gdmFsdWU7CiAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHt9OwogICAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBvYmplY3QpIHsKICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSBwYXJzZUZyb250bWF0dGVyKG9iamVjdFtrZXldKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICAgICAgIH0KICAgICAgfQogICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICJudW1iZXIiKSB7CiAgICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgIH0KICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAiYm9vbGVhbiIpIHsKICAgICAgICAgIHJldHVybiB2YWx1ZTsKICAgICAgfQogICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICJzdHJpbmciKSB7CiAgICAgICAgICBsZXQgZGF0ZVBhcnNlID0gRVhQUkVTU0lPTi5kYXRlLnBhcnNlKHZhbHVlKTsKICAgICAgICAgIGlmIChkYXRlUGFyc2Uuc3RhdHVzKQogICAgICAgICAgICAgIHJldHVybiBkYXRlUGFyc2UudmFsdWU7CiAgICAgICAgICBsZXQgZHVyYXRpb25QYXJzZSA9IEVYUFJFU1NJT04uZHVyYXRpb24ucGFyc2UodmFsdWUpOwogICAgICAgICAgaWYgKGR1cmF0aW9uUGFyc2Uuc3RhdHVzKQogICAgICAgICAgICAgIHJldHVybiBkdXJhdGlvblBhcnNlLnZhbHVlOwogICAgICAgICAgbGV0IGxpbmtQYXJzZSA9IEVYUFJFU1NJT04uZW1iZWRMaW5rLnBhcnNlKHZhbHVlKTsKICAgICAgICAgIGlmIChsaW5rUGFyc2Uuc3RhdHVzKQogICAgICAgICAgICAgIHJldHVybiBsaW5rUGFyc2UudmFsdWU7CiAgICAgICAgICByZXR1cm4gdmFsdWU7CiAgICAgIH0KICAgICAgLy8gQmFja3VwIGlmIHdlIGRvbid0IHVuZGVyc3RhbmQgdGhlIHR5cGUuCiAgICAgIHJldHVybiBudWxsOwogIH0KICAvKiogQWRkIGEgcGFyc2VkIGlubGluZSBmaWVsZCB0byB0aGUgb3V0cHV0IG1hcC4gKi8KICBmdW5jdGlvbiBhZGRSYXdJbmxpbmVGaWVsZChmaWVsZCwgb3V0cHV0KSB7CiAgICAgIGFkZElubGluZUZpZWxkKGZpZWxkLmtleSwgcGFyc2VJbmxpbmVWYWx1ZShmaWVsZC52YWx1ZSksIG91dHB1dCk7CiAgfQogIC8qKiBBZGQgYSByYXcgaW5saW5lIGZpZWxkIHRvIGFuIG91dHB1dCBtYXAsIGNhbm9uaWNhbGl6aW5nIGFzIG5lZWRlZC4gKi8KICBmdW5jdGlvbiBhZGRJbmxpbmVGaWVsZChrZXksIHZhbHVlLCBvdXRwdXQpIHsKICAgICAgaWYgKCFvdXRwdXQuaGFzKGtleSkpCiAgICAgICAgICBvdXRwdXQuc2V0KGtleSwgW3ZhbHVlXSk7CiAgICAgIGVsc2UKICAgICAgICAgIG91dHB1dC5nZXQoa2V5KT8ucHVzaCh2YWx1ZSk7CiAgfQogIC8qKiBHaXZlbiBhIHJhdyBsaXN0IG9mIGlubGluZSBmaWVsZCB2YWx1ZXMsIGFkZCBub3JtYWxpemVkIGtleXMgYW5kIHNxdWFzaCB0aGVtLiAqLwogIGZ1bmN0aW9uIGZpbmFsaXplSW5saW5lRmllbGRzKGZpZWxkcykgewogICAgICAvLyBDb21wdXRlIHVuaXF1ZSBub3JtYWxpemVkIGtleXMgKHRoYXQgZG8gbm90IG92ZXJsYXAgdy8gdGhlIGZpZWxkcykuCiAgICAgIGxldCBub3JtYWxpemVkID0gbmV3IE1hcCgpOwogICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZXNdIG9mIGZpZWxkcy5lbnRyaWVzKCkpIHsKICAgICAgICAgIGxldCBub3JtS2V5ID0gY2Fub25pY2FsaXplVmFyTmFtZShrZXkpOwogICAgICAgICAgaWYgKG5vcm1LZXkgPT0gIiIgfHwgZmllbGRzLmhhcyhub3JtS2V5KSkKICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgIGlmICghbm9ybWFsaXplZC5oYXMobm9ybUtleSkpCiAgICAgICAgICAgICAgbm9ybWFsaXplZC5zZXQobm9ybUtleSwgdmFsdWVzKTsKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICBub3JtYWxpemVkLnNldChub3JtS2V5LCBub3JtYWxpemVkLmdldChub3JtS2V5KS5jb25jYXQodmFsdWVzKSk7CiAgICAgIH0KICAgICAgLy8gQ29tYmluZSBub3JtYWxpemVkICsgbm9ybWFsIGtleXMuCiAgICAgIGxldCBpbnRlcmltID0gbmV3IE1hcCgpOwogICAgICBtZXJnZUZpZWxkR3JvdXBzKGludGVyaW0sIGZpZWxkcyk7CiAgICAgIG1lcmdlRmllbGRHcm91cHMoaW50ZXJpbSwgbm9ybWFsaXplZCk7CiAgICAgIC8vIEFuZCB0aGVuIGZsYXR0ZW4gdGhlbS4KICAgICAgbGV0IHJlc3VsdCA9IG5ldyBNYXAoKTsKICAgICAgZm9yIChsZXQgW2tleSwgdmFsdWVdIG9mIGludGVyaW0uZW50cmllcygpKSB7CiAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID09IDEpCiAgICAgICAgICAgICAgcmVzdWx0LnNldChrZXksIHZhbHVlWzBdKTsKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICByZXN1bHQuc2V0KGtleSwgdmFsdWUpOwogICAgICB9CiAgICAgIHJldHVybiByZXN1bHQ7CiAgfQogIC8qKiBDb3B5IGFsbCBmaWVsZHMgb2YgJ3NvdXJjZScgaW50byAndGFyZ2V0Jy4gKi8KICBmdW5jdGlvbiBtZXJnZUZpZWxkR3JvdXBzKHRhcmdldCwgc291cmNlKSB7CiAgICAgIGZvciAobGV0IGtleSBvZiBzb3VyY2Uua2V5cygpKSB7CiAgICAgICAgICBpZiAoIXRhcmdldC5oYXMoa2V5KSkKICAgICAgICAgICAgICB0YXJnZXQuc2V0KGtleSwgc291cmNlLmdldChrZXkpKTsKICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICB0YXJnZXQuc2V0KGtleSwgdGFyZ2V0LmdldChrZXkpLmNvbmNhdChzb3VyY2UuZ2V0KGtleSkpKTsKICAgICAgfQogIH0KICAvKiogRmluZCB0aGUgaGVhZGVyIHRoYXQgaXMgbW9zdCBpbW1lZGlhdGVseSBhYm92ZSB0aGUgZ2l2ZW4gbGluZSBudW1iZXIuICovCiAgZnVuY3Rpb24gZmluZFByZXZpb3VzSGVhZGVyKGxpbmUsIGhlYWRlcnMpIHsKICAgICAgaWYgKGhlYWRlcnMubGVuZ3RoID09IDApCiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkOwogICAgICBpZiAoaGVhZGVyc1swXS5wb3NpdGlvbi5zdGFydC5saW5lID4gbGluZSkKICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICAgIGxldCBpbmRleCA9IGhlYWRlcnMubGVuZ3RoIC0gMTsKICAgICAgd2hpbGUgKGluZGV4ID49IDAgJiYgaGVhZGVyc1tpbmRleF0ucG9zaXRpb24uc3RhcnQubGluZSA+IGxpbmUpCiAgICAgICAgICBpbmRleC0tOwogICAgICByZXR1cm4gaGVhZGVyc1tpbmRleF0uaGVhZGluZzsKICB9CgogIC8qKiBBY3R1YWwgaW1wb3J0IGltcGxlbWVudGF0aW9uIGJhY2tlbmQuIFRoaXMgbXVzdCByZW1haW4gc2VwYXJhdGUgZnJvbSBgaW1wb3J0LWVudHJ5YCBzaW5jZSBpdCBpcyB1c2VkIHdpdGhvdXQgd2ViIHdvcmtlcnMuICovCiAgZnVuY3Rpb24gcnVuSW1wb3J0KHBhdGgsIGNvbnRlbnRzLCBzdGF0cywgbWV0YWRhdGEpIHsKICAgICAgcmV0dXJuIHBhcnNlUGFnZShwYXRoLCBjb250ZW50cywgc3RhdHMsIG1ldGFkYXRhKTsKICB9CgogIC8qKiBTaW1wbGlmaWVzIHBhc3NpbmcgZGF0YXZpZXcgdmFsdWVzIGFjcm9zcyB0aGUgSlMgd2ViIHdvcmtlciBiYXJyaWVyLiAqLwogIHZhciBUcmFuc2ZlcmFibGU7CiAgKGZ1bmN0aW9uIChUcmFuc2ZlcmFibGUpIHsKICAgICAgLyoqIENvbnZlcnQgYSBsaXRlcmFsIHZhbHVlIHRvIGEgc2VyaWFsaXplci1mcmllbmRseSB0cmFuc2ZlcmFibGUgdmFsdWUuICovCiAgICAgIGZ1bmN0aW9uIHRyYW5zZmVyYWJsZSh2YWx1ZSkgewogICAgICAgICAgLy8gSGFuZGxlIHNpbXBsZSB1bml2ZXJzYWwgdHlwZXMgZmlyc3QuCiAgICAgICAgICBpZiAodmFsdWUgaW5zdGFuY2VvZiBNYXApIHsKICAgICAgICAgICAgICBsZXQgY29waWVkID0gbmV3IE1hcCgpOwogICAgICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbF0gb2YgdmFsdWUuZW50cmllcygpKQogICAgICAgICAgICAgICAgICBjb3BpZWQuc2V0KHRyYW5zZmVyYWJsZShrZXkpLCB0cmFuc2ZlcmFibGUodmFsKSk7CiAgICAgICAgICAgICAgcmV0dXJuIGNvcGllZDsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgU2V0KSB7CiAgICAgICAgICAgICAgbGV0IGNvcGllZCA9IG5ldyBTZXQoKTsKICAgICAgICAgICAgICBmb3IgKGxldCB2YWwgb2YgdmFsdWUpCiAgICAgICAgICAgICAgICAgIGNvcGllZC5hZGQodHJhbnNmZXJhYmxlKHZhbCkpOwogICAgICAgICAgICAgIHJldHVybiBjb3BpZWQ7CiAgICAgICAgICB9CiAgICAgICAgICBsZXQgd3JhcHBlZCA9IFZhbHVlcy53cmFwVmFsdWUodmFsdWUpOwogICAgICAgICAgaWYgKHdyYXBwZWQgPT09IHVuZGVmaW5lZCkKICAgICAgICAgICAgICB0aHJvdyBFcnJvcigiVW5yZWNvZ25pemVkIHRyYW5zZmVyYWJsZSB2YWx1ZTogIiArIHZhbHVlKTsKICAgICAgICAgIHN3aXRjaCAod3JhcHBlZC50eXBlKSB7CiAgICAgICAgICAgICAgY2FzZSAibnVsbCI6CiAgICAgICAgICAgICAgY2FzZSAibnVtYmVyIjoKICAgICAgICAgICAgICBjYXNlICJzdHJpbmciOgogICAgICAgICAgICAgIGNhc2UgImJvb2xlYW4iOgogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZTsKICAgICAgICAgICAgICBjYXNlICJkYXRlIjoKICAgICAgICAgICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgICAgICAgICAgICJfX190cmFuc2Zlci10eXBlIjogImRhdGUiLAogICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRyYW5zZmVyYWJsZSh3cmFwcGVkLnZhbHVlLnRvT2JqZWN0KCkpLAogICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogewogICAgICAgICAgICAgICAgICAgICAgICAgIHpvbmU6IHdyYXBwZWQudmFsdWUuem9uZS5lcXVhbHMoU3lzdGVtWm9uZS5pbnN0YW5jZSkgPyB1bmRlZmluZWQgOiB3cmFwcGVkLnZhbHVlLnpvbmVOYW1lLAogICAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgfTsKICAgICAgICAgICAgICBjYXNlICJkdXJhdGlvbiI6CiAgICAgICAgICAgICAgICAgIHJldHVybiB7ICJfX190cmFuc2Zlci10eXBlIjogImR1cmF0aW9uIiwgdmFsdWU6IHRyYW5zZmVyYWJsZSh3cmFwcGVkLnZhbHVlLnRvT2JqZWN0KCkpIH07CiAgICAgICAgICAgICAgY2FzZSAiYXJyYXkiOgogICAgICAgICAgICAgICAgICByZXR1cm4gd3JhcHBlZC52YWx1ZS5tYXAodiA9PiB0cmFuc2ZlcmFibGUodikpOwogICAgICAgICAgICAgIGNhc2UgImxpbmsiOgogICAgICAgICAgICAgICAgICByZXR1cm4geyAiX19fdHJhbnNmZXItdHlwZSI6ICJsaW5rIiwgdmFsdWU6IHRyYW5zZmVyYWJsZSh3cmFwcGVkLnZhbHVlLnRvT2JqZWN0KCkpIH07CiAgICAgICAgICAgICAgY2FzZSAib2JqZWN0IjoKICAgICAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHt9OwogICAgICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMod3JhcHBlZC52YWx1ZSkpCiAgICAgICAgICAgICAgICAgICAgICByZXN1bHRba2V5XSA9IHRyYW5zZmVyYWJsZSh2YWx1ZSk7CiAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgICB9CiAgICAgIH0KICAgICAgVHJhbnNmZXJhYmxlLnRyYW5zZmVyYWJsZSA9IHRyYW5zZmVyYWJsZTsKICAgICAgLyoqIENvbnZlcnQgYSB0cmFuc2ZlcmFibGUgdmFsdWUgYmFjayB0byBhIGxpdGVyYWwgdmFsdWUgd2UgY2FuIHdvcmsgd2l0aC4gKi8KICAgICAgZnVuY3Rpb24gdmFsdWUodHJhbnNmZXJhYmxlKSB7CiAgICAgICAgICBpZiAodHJhbnNmZXJhYmxlID09PSBudWxsKSB7CiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIGlmICh0cmFuc2ZlcmFibGUgPT09IHVuZGVmaW5lZCkgewogICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIGlmICh0cmFuc2ZlcmFibGUgaW5zdGFuY2VvZiBNYXApIHsKICAgICAgICAgICAgICBsZXQgcmVhbCA9IG5ldyBNYXAoKTsKICAgICAgICAgICAgICBmb3IgKGxldCBba2V5LCB2YWxdIG9mIHRyYW5zZmVyYWJsZS5lbnRyaWVzKCkpCiAgICAgICAgICAgICAgICAgIHJlYWwuc2V0KHZhbHVlKGtleSksIHZhbHVlKHZhbCkpOwogICAgICAgICAgICAgIHJldHVybiByZWFsOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSBpZiAodHJhbnNmZXJhYmxlIGluc3RhbmNlb2YgU2V0KSB7CiAgICAgICAgICAgICAgbGV0IHJlYWwgPSBuZXcgU2V0KCk7CiAgICAgICAgICAgICAgZm9yIChsZXQgdmFsIG9mIHRyYW5zZmVyYWJsZSkKICAgICAgICAgICAgICAgICAgcmVhbC5hZGQodmFsdWUodmFsKSk7CiAgICAgICAgICAgICAgcmV0dXJuIHJlYWw7CiAgICAgICAgICB9CiAgICAgICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRyYW5zZmVyYWJsZSkpIHsKICAgICAgICAgICAgICByZXR1cm4gdHJhbnNmZXJhYmxlLm1hcCh2ID0+IHZhbHVlKHYpKTsKICAgICAgICAgIH0KICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiB0cmFuc2ZlcmFibGUgPT09ICJvYmplY3QiKSB7CiAgICAgICAgICAgICAgaWYgKCJfX190cmFuc2Zlci10eXBlIiBpbiB0cmFuc2ZlcmFibGUpIHsKICAgICAgICAgICAgICAgICAgc3dpdGNoICh0cmFuc2ZlcmFibGVbIl9fX3RyYW5zZmVyLXR5cGUiXSkgewogICAgICAgICAgICAgICAgICAgICAgY2FzZSAiZGF0ZSI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGRhdGVPcHRzID0gdmFsdWUodHJhbnNmZXJhYmxlLm9wdGlvbnMpOwogICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBkYXRlRGF0YSA9IHZhbHVlKHRyYW5zZmVyYWJsZS52YWx1ZSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21PYmplY3QoZGF0ZURhdGEsIHsgem9uZTogZGF0ZU9wdHMuem9uZSB9KTsKICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImR1cmF0aW9uIjoKICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gRHVyYXRpb24uZnJvbU9iamVjdCh2YWx1ZSh0cmFuc2ZlcmFibGUudmFsdWUpKTsKICAgICAgICAgICAgICAgICAgICAgIGNhc2UgImxpbmsiOgogICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBMaW5rLmZyb21PYmplY3QodmFsdWUodHJhbnNmZXJhYmxlLnZhbHVlKSk7CiAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IEVycm9yKGBVbnJlY29nbml6ZWQgdHJhbnNmZXIgdHlwZSAnJHt0cmFuc2ZlcmFibGVbIl9fX3RyYW5zZmVyLXR5cGUiXX0nYCk7CiAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgbGV0IHJlc3VsdCA9IHt9OwogICAgICAgICAgICAgIGZvciAobGV0IFtrZXksIHZhbF0gb2YgT2JqZWN0LmVudHJpZXModHJhbnNmZXJhYmxlKSkKICAgICAgICAgICAgICAgICAgcmVzdWx0W2tleV0gPSB2YWx1ZSh2YWwpOwogICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgICAgICB9CiAgICAgICAgICByZXR1cm4gdHJhbnNmZXJhYmxlOwogICAgICB9CiAgICAgIFRyYW5zZmVyYWJsZS52YWx1ZSA9IHZhbHVlOwogIH0pKFRyYW5zZmVyYWJsZSB8fCAoVHJhbnNmZXJhYmxlID0ge30pKTsKCiAgLyoqIEVudHJ5LXBvaW50IHNjcmlwdCB1c2VkIGJ5IHRoZSBpbmRleCBhcyBhIHdlYiB3b3JrZXIuICovCiAgLyoqIEFuIGltcG9ydCB3aGljaCBjYW4gZmFpbCBhbmQgcmFpc2UgYW4gZXhjZXB0aW9uLCB3aGljaCB3aWxsIGJlIGNhdWdodCBieSB0aGUgaGFuZGxlci4gKi8KICBmdW5jdGlvbiBmYWlsYWJsZUltcG9ydChwYXRoLCBjb250ZW50cywgc3RhdCwgbWV0YWRhdGEpIHsKICAgICAgaWYgKG1ldGFkYXRhID09PSB1bmRlZmluZWQgfHwgbWV0YWRhdGEgPT09IG51bGwpIHsKICAgICAgICAgIHRocm93IEVycm9yKGBDYW5ub3QgaW5kZXggZmlsZSwgc2luY2UgaXQgaGFzIG5vIE9ic2lkaWFuIGZpbGUgbWV0YWRhdGEuYCk7CiAgICAgIH0KICAgICAgcmV0dXJuIHJ1bkltcG9ydChwYXRoLCBjb250ZW50cywgc3RhdCwgbWV0YWRhdGEpOwogIH0KICBvbm1lc3NhZ2UgPSBhc3luYyAoZXZ0KSA9PiB7CiAgICAgIHRyeSB7CiAgICAgICAgICBsZXQgeyBwYXRoLCBjb250ZW50cywgc3RhdCwgbWV0YWRhdGEgfSA9IGV2dC5kYXRhOwogICAgICAgICAgbGV0IHJlc3VsdCA9IGZhaWxhYmxlSW1wb3J0KHBhdGgsIGNvbnRlbnRzLCBzdGF0LCBtZXRhZGF0YSk7CiAgICAgICAgICBwb3N0TWVzc2FnZSh7IHBhdGg6IGV2dC5kYXRhLnBhdGgsIHJlc3VsdDogVHJhbnNmZXJhYmxlLnRyYW5zZmVyYWJsZShyZXN1bHQpIH0pOwogICAgICB9CiAgICAgIGNhdGNoIChlcnJvcikgewogICAgICAgICAgY29uc29sZS5sb2coZXJyb3IpOwogICAgICAgICAgcG9zdE1lc3NhZ2UoewogICAgICAgICAgICAgIHBhdGg6IGV2dC5kYXRhLnBhdGgsCiAgICAgICAgICAgICAgcmVzdWx0OiB7CiAgICAgICAgICAgICAgICAgICRlcnJvcjogYEZhaWxlZCB0byBpbmRleCBmaWxlOiAke2V2dC5kYXRhLnBhdGh9OiAke2Vycm9yfWAsCiAgICAgICAgICAgICAgfSwKICAgICAgICAgIH0pOwogICAgICB9CiAgfTsKCn0pKCk7Cgo=', null, false);
+/* eslint-enable */
+
+/** Controls and creates Dataview file importers, allowing for asynchronous loading and parsing of files. */
+/** Multi-threaded file parser which debounces rapid file requests automatically. */
+class FileImporter extends obsidian.Component {
+    numWorkers;
+    vault;
+    metadataCache;
+    /* Background workers which do the actual file parsing. */
+    workers;
+    /** Tracks which workers are actively parsing a file, to make sure we properly delegate results. */
+    busy;
+    /** List of files which have been queued for a reload. */
+    reloadQueue;
+    /** Fast-access set which holds the list of files queued to be reloaded; used for debouncing. */
+    reloadSet;
+    /** Paths -> promises for file reloads which have not yet been queued. */
+    callbacks;
+    constructor(numWorkers, vault, metadataCache) {
+        super();
+        this.numWorkers = numWorkers;
+        this.vault = vault;
+        this.metadataCache = metadataCache;
+        this.workers = [];
+        this.busy = [];
+        this.reloadQueue = [];
+        this.reloadSet = new Set();
+        this.callbacks = new Map();
+        for (let index = 0; index < numWorkers; index++) {
+            let worker = new WorkerFactory({ name: "Dataview Indexer " + (index + 1) });
+            worker.onmessage = evt => this.finish(evt.data.path, Transferable.value(evt.data.result), index);
+            this.workers.push(worker);
+            this.register(() => worker.terminate());
+            this.busy.push(false);
+        }
+    }
+    /**
+     * Queue the given file for reloading. Multiple reload requests for the same file in a short time period will be de-bounced
+     * and all be resolved by a single actual file reload.
+     */
+    reload(file) {
+        let promise = new Promise((resolve, reject) => {
+            if (this.callbacks.has(file.path))
+                this.callbacks.get(file.path)?.push([resolve, reject]);
+            else
+                this.callbacks.set(file.path, [[resolve, reject]]);
+        });
+        // De-bounce repeated requests for the same file.
+        if (this.reloadSet.has(file.path))
+            return promise;
+        this.reloadSet.add(file.path);
+        // Immediately run this task if there are available workers; otherwise, add it to the queue.
+        let workerId = this.nextAvailableWorker();
+        if (workerId !== undefined) {
+            this.send(file, workerId);
+        }
+        else {
+            this.reloadQueue.push(file);
+        }
+        return promise;
+    }
+    /** Finish the parsing of a file, potentially queueing a new file. */
+    finish(path, data, index) {
+        // Cache the callbacks before we do book-keeping.
+        let calls = [].concat(this.callbacks.get(path) ?? []);
+        // Book-keeping to clear metadata & allow the file to be re-loaded again.
+        this.reloadSet.delete(path);
+        this.callbacks.delete(path);
+        // Notify the queue this file is available for new work.
+        this.busy[index] = false;
+        // Queue a new job onto this worker.
+        let job = this.reloadQueue.shift();
+        if (job !== undefined)
+            this.send(job, index);
+        // Resolve promises to let users know this file has finished.
+        if ("$error" in data) {
+            for (let [_, reject] of calls)
+                reject(data["$error"]);
+        }
+        else {
+            for (let [callback, _] of calls)
+                callback(data);
+        }
+    }
+    /** Send a new task to the given worker ID. */
+    send(file, workerId) {
+        this.busy[workerId] = true;
+        this.vault.cachedRead(file).then(c => this.workers[workerId].postMessage({
+            path: file.path,
+            contents: c,
+            stat: file.stat,
+            metadata: this.metadataCache.getFileCache(file),
+        }));
+    }
+    /** Find the next available, non-busy worker; return undefined if all workers are busy. */
+    nextAvailableWorker() {
+        let index = this.busy.indexOf(false);
+        return index == -1 ? undefined : index;
+    }
+}
+
+/** Stores various indices on all files in the vault to make dataview generation fast. */
+/** Aggregate index which has several sub-indices and will initialize all of them. */
+class FullIndex extends obsidian.Component {
+    app;
+    indexVersion;
+    onChange;
+    /** Generate a full index from the given vault. */
+    static create(app, indexVersion, onChange) {
+        return new FullIndex(app, indexVersion, onChange);
+    }
+    /** Whether all files in the vault have been indexed at least once. */
+    initialized;
+    /** I/O access to the Obsidian vault contents. */
+    vault;
+    /** Access to in-memory metadata, useful for parsing and metadata lookups. */
+    metadataCache;
+    /** Persistent IndexedDB backing store, used for faster startup. */
+    persister;
+    /* Maps path -> markdown metadata for all markdown pages. */
+    pages;
+    /** Map files -> tags in that file, and tags -> files. This version includes subtags. */
+    tags;
+    /** Map files -> exact tags in that file, and tags -> files. This version does not automatically add subtags. */
+    etags;
+    /** Map files -> linked files in that file, and linked file -> files that link to it. */
+    links;
+    /** Search files by path prefix. */
+    prefix;
+    /** Allows for efficient lookups of whether a file is starred or not. */
+    starred;
+    /** Caches data in CSV files. */
+    // TODO: CSV parsing should be done by a worker thread asynchronously to avoid frontend stalls.
+    csv;
+    /**
+     * The current "revision" of the index, which monotonically increases for every index change. Use this to determine
+     * if you are up to date.
+     */
+    revision;
+    /** Asynchronously parses files in the background using web workers. */
+    importer;
+    /** Construct a new index using the app data and a current data version. */
+    constructor(app, indexVersion, onChange) {
+        super();
+        this.app = app;
+        this.indexVersion = indexVersion;
+        this.onChange = onChange;
+        this.initialized = false;
+        this.vault = app.vault;
+        this.metadataCache = app.metadataCache;
+        this.pages = new Map();
+        this.tags = new ValueCaseInsensitiveIndexMap();
+        this.etags = new ValueCaseInsensitiveIndexMap();
+        this.links = new IndexMap();
+        this.revision = 0;
+        // Caches metadata via durable storage to speed up cache initialization when Obsidian restarts.
+        this.persister = new LocalStorageCache(app.appId || "shared", indexVersion);
+        // Handles asynchronous reloading of files on web workers.
+        this.addChild((this.importer = new FileImporter(2, this.vault, this.metadataCache)));
+        // Prefix listens to file creation/deletion/rename, and not modifies, so we let it set up it's own listeners.
+        this.addChild((this.prefix = PrefixIndex.create(this.vault, () => this.touch())));
+        // The CSV cache also needs to listen to filesystem events for cache invalidation.
+        this.addChild((this.csv = new CsvCache(this.vault)));
+        // The starred cache fetches starred entries semi-regularly via an interval.
+        this.addChild((this.starred = new StarredCache(this.app, () => this.touch())));
+    }
+    /** Trigger a metadata event on the metadata cache. */
+    trigger(...args) {
+        this.metadataCache.trigger("dataview:metadata-change", ...args);
+    }
+    /** "Touch" the index, incrementing the revision number and causing downstream views to reload. */
+    touch() {
+        this.revision += 1;
+        this.onChange();
+    }
+    /** Runs through the whole vault to set up initial file metadata. */
+    initialize() {
+        // The metadata cache is updated on initial file index and file loads.
+        this.registerEvent(this.metadataCache.on("resolve", file => this.reload(file)));
+        // Renames do not set off the metadata cache; catch these explicitly.
+        this.registerEvent(this.vault.on("rename", this.rename, this));
+        // File creation does cause a metadata change, but deletes do not. Clear the caches for this.
+        this.registerEvent(this.vault.on("delete", af => {
+            if (!(af instanceof obsidian.TFile) || !PathFilters.markdown(af.path))
+                return;
+            let file = af;
+            this.pages.delete(file.path);
+            this.tags.delete(file.path);
+            this.etags.delete(file.path);
+            this.links.delete(file.path);
+            this.touch();
+            this.trigger("delete", file);
+        }));
+        // Asynchronously initialize actual content in the background.
+        this._initialize(this.vault.getMarkdownFiles());
+    }
+    /** Drops the local storage cache and re-indexes all files; this should generally be used if you expect cache issues. */
+    async reinitialize() {
+        await this.persister.recreate();
+        const files = this.vault.getMarkdownFiles();
+        const start = Date.now();
+        let promises = files.map(file => this.reload(file));
+        await Promise.all(promises);
+        console.log(`Dataview: re-initialized index with ${files.length} files (${(Date.now() - start) / 1000.0}s)`);
+    }
+    /** Internal asynchronous initializer. */
+    async _initialize(files) {
+        let reloadStart = Date.now();
+        let promises = files.map(l => this.reload(l));
+        let results = await Promise.all(promises);
+        let cached = 0, skipped = 0;
+        for (let item of results) {
+            if (item.skipped) {
+                skipped += 1;
+                continue;
+            }
+            if (item.cached)
+                cached += 1;
+        }
+        this.initialized = true;
+        this.metadataCache.trigger("dataview:index-ready");
+        console.log(`Dataview: all ${files.length} files have been indexed in ${(Date.now() - reloadStart) / 1000.0}s (${cached} cached, ${skipped} skipped).`);
+        // Drop keys for files which do not exist anymore.
+        let remaining = await this.persister.synchronize(files.map(l => l.path));
+        if (remaining.size > 0) {
+            console.log(`Dataview: Dropped cache entries for ${remaining.size} deleted files.`);
+        }
+    }
+    rename(file, oldPath) {
+        if (!(file instanceof obsidian.TFile) || !PathFilters.markdown(file.path))
+            return;
+        if (this.pages.has(oldPath)) {
+            const oldMeta = this.pages.get(oldPath);
+            this.pages.delete(oldPath);
+            if (oldMeta) {
+                oldMeta.path = file.path;
+                this.pages.set(file.path, oldMeta);
+            }
+        }
+        this.tags.rename(oldPath, file.path);
+        this.links.rename(oldPath, file.path);
+        this.etags.rename(oldPath, file.path);
+        this.touch();
+        this.trigger("rename", file, oldPath);
+    }
+    /** Queue a file for reloading; this is done asynchronously in the background and may take a few seconds. */
+    async reload(file) {
+        if (!PathFilters.markdown(file.path))
+            return { cached: false, skipped: true };
+        // The first load of a file is attempted from persisted cache; subsequent loads just use the importer.
+        if (this.pages.has(file.path) || this.initialized) {
+            await this.import(file);
+            return { cached: false, skipped: false };
+        }
+        else {
+            // Check the cache for the latest data; if it is out of date or non-existent, then reload.
+            return this.persister.loadFile(file.path).then(async (cached) => {
+                if (!cached || cached.time < file.stat.mtime || cached.version != this.indexVersion) {
+                    // This cache value is out of data, reload via the importer and update the cache.
+                    // We will skip files with no active file metadata - they will be caught by a later reload
+                    // via the 'resolve' metadata event.
+                    let fileCache = this.metadataCache.getFileCache(file);
+                    if (fileCache === undefined || fileCache === null)
+                        return { cached: false, skipped: true };
+                    await this.import(file);
+                    return { cached: false, skipped: false };
+                }
+                else {
+                    // Use the cached data since it is up to date and on the same version.
+                    this.finish(file, cached.data);
+                    return { cached: true, skipped: false };
+                }
+            });
+        }
+    }
+    /** Import a file directly from disk, skipping the cache. */
+    async import(file) {
+        return this.importer.reload(file).then(r => {
+            this.finish(file, r);
+            this.persister.storeFile(file.path, r);
+        });
+    }
+    /** Finish the reloading of file metadata by adding it to in memory indexes. */
+    finish(file, parsed) {
+        let meta = PageMetadata.canonicalize(parsed, link => {
+            let realPath = this.metadataCache.getFirstLinkpathDest(link.path, file.path);
+            if (realPath)
+                return link.withPath(realPath.path);
+            else
+                return link;
+        });
+        this.pages.set(file.path, meta);
+        this.tags.set(file.path, meta.fullTags());
+        this.etags.set(file.path, meta.tags);
+        this.links.set(file.path, new Set(meta.links.map(l => l.path)));
+        this.touch();
+        this.trigger("update", file);
+    }
+}
+/** Indexes files by their full prefix - essentially a simple prefix tree. */
+class PrefixIndex extends obsidian.Component {
+    vault;
+    updateRevision;
+    static create(vault, updateRevision) {
+        return new PrefixIndex(vault, updateRevision);
+    }
+    constructor(vault, updateRevision) {
+        super();
+        this.vault = vault;
+        this.updateRevision = updateRevision;
+    }
+    *walk(folder, filter) {
+        for (const file of folder.children) {
+            if (file instanceof obsidian.TFolder) {
+                yield* this.walk(file, filter);
+            }
+            else if (filter ? filter(file.path) : true) {
+                yield file.path;
+            }
+        }
+    }
+    /** Get the list of all files under the given path. */
+    get(prefix, filter) {
+        let folder = this.vault.getAbstractFileByPath(prefix || "/");
+        return new Set(folder instanceof obsidian.TFolder ? this.walk(folder, filter) : []);
+    }
+    /** Determines if the given path exists in the prefix index. */
+    pathExists(path) {
+        return this.vault.getAbstractFileByPath(path || "/") != null;
+    }
+    /** Determines if the given prefix exists in the prefix index. */
+    nodeExists(prefix) {
+        return this.vault.getAbstractFileByPath(prefix || "/") instanceof obsidian.TFolder;
+    }
+    /**
+     * Use the in-memory prefix index to convert a relative path to an absolute one.
+     */
+    resolveRelative(path, origin) {
+        if (!origin)
+            return path;
+        else if (path.startsWith("/"))
+            return path.substring(1);
+        let relativePath = getParentFolder(origin) + "/" + path;
+        if (this.pathExists(relativePath))
+            return relativePath;
+        else
+            return path;
+    }
+}
+/** Simple path filters which filter file types. */
+var PathFilters;
+(function (PathFilters) {
+    function csv(path) {
+        return path.toLowerCase().endsWith(".csv");
+    }
+    PathFilters.csv = csv;
+    function markdown(path) {
+        let lcPath = path.toLowerCase();
+        return lcPath.endsWith(".md") || lcPath.endsWith(".markdown");
+    }
+    PathFilters.markdown = markdown;
+})(PathFilters || (PathFilters = {}));
+/**
+ * Caches in-use CSVs to make high-frequency reloads (such as actively looking at a document
+ * that uses CSV) fast.
+ */
+class CsvCache extends obsidian.Component {
+    vault;
+    static CACHE_EXPIRY_SECONDS = 5 * 60;
+    // Cache of loaded CSVs; old entries will periodically be removed
+    cache;
+    // Periodic job which clears out the cache based on time.
+    cacheClearInterval;
+    constructor(vault) {
+        super();
+        this.vault = vault;
+        this.cache = new Map();
+        // Force-flush the cache on CSV file deletions or modifications.
+        this.registerEvent(this.vault.on("modify", file => {
+            if (file instanceof obsidian.TFile && PathFilters.csv(file.path))
+                this.cache.delete(file.path);
+        }));
+        this.registerEvent(this.vault.on("delete", file => {
+            if (file instanceof obsidian.TFile && PathFilters.csv(file.path))
+                this.cache.delete(file.path);
+        }));
+    }
+    /** Load a CSV file from the cache, doing a fresh load if it has not been loaded. */
+    async get(path) {
+        // Clear old entries on every fresh load, since the path being loaded may be stale.
+        this.clearOldEntries();
+        let existing = this.cache.get(path);
+        if (existing)
+            return Result.success(existing.data);
+        else {
+            let value = await this.loadInternal(path);
+            if (value.successful)
+                this.cache.set(path, { data: value.value, loadTime: DateTime.now() });
+            return value;
+        }
+    }
+    /** Do the actual raw loading of a CSV path (which is either local or an HTTP request). */
+    async loadInternal(path) {
+        // Allow http://, https://, and file:// prefixes which use AJAX.
+        if (path.startsWith("http://") || path.startsWith("https://") || path.startsWith("file://")) {
+            try {
+                let result = await fetch(path, {
+                    method: "GET",
+                    mode: "no-cors",
+                    redirect: "follow",
+                });
+                return Result.success(parseCsv(await result.text()));
+            }
+            catch (ex) {
+                return Result.failure("" + ex + "\n\n" + ex.stack);
+            }
+        }
+        // Otherwise, assume it is a fully-qualified file path.
+        try {
+            let fileData = await this.vault.adapter.read(path);
+            return Result.success(parseCsv(fileData));
+        }
+        catch (ex) {
+            return Result.failure(`Failed to load data from path '${path}'.`);
+        }
+    }
+    /** Clear old entries in the cache (as measured by insertion time). */
+    clearOldEntries() {
+        let currentTime = DateTime.now();
+        let keysToRemove = new Set();
+        for (let [key, value] of this.cache.entries()) {
+            let entryAge = Math.abs(currentTime.diff(value.loadTime, "seconds").seconds);
+            if (entryAge > CsvCache.CACHE_EXPIRY_SECONDS)
+                keysToRemove.add(key);
+        }
+        keysToRemove.forEach(key => this.cache.delete(key));
+    }
+}
+/** Optional connector to the Obsidian 'Starred' plugin which allows for efficiently querying if a file is starred or not. */
+class StarredCache extends obsidian.Component {
+    app;
+    onUpdate;
+    /** Initial delay before checking the cache; we need to wait for it to asynchronously load the initial stars. */
+    static INITIAL_DELAY = 4 * 1000;
+    /** How frequently to check for star updates. */
+    static REFRESH_INTERVAL = 30 * 1000;
+    /** Set of all starred file paths. */
+    stars;
+    constructor(app, onUpdate) {
+        super();
+        this.app = app;
+        this.onUpdate = onUpdate;
+        this.stars = StarredCache.fetch(this.app);
+        this.registerInterval(window.setInterval(() => this.reload(), StarredCache.REFRESH_INTERVAL));
+        const initialHandler = window.setTimeout(() => this.reload(), StarredCache.INITIAL_DELAY);
+        this.register(() => window.clearTimeout(initialHandler));
+    }
+    /** Determines if the given path is starred. */
+    starred(path) {
+        return this.stars.has(path);
+    }
+    reload() {
+        let newStars = StarredCache.fetch(this.app);
+        if (!setsEqual(this.stars, newStars)) {
+            this.stars = newStars;
+            this.onUpdate();
+        }
+    }
+    /** Fetch all starred files from the stars plugin, if present. */
+    static fetch(app) {
+        let items = app?.internalPlugins?.plugins?.bookmarks?.instance?.items;
+        if (items == undefined)
+            return new Set();
+        // Retrieve all grouped (nested) items, returning a flat array
+        const flattenItems = (items) => {
+            let children = [];
+            return items
+                .map(i => {
+                if (i.type == "group" && i.items && i.items.length) {
+                    children = [...children, ...i.items];
+                }
+                return i;
+            })
+                .concat(children.length ? flattenItems(children) : children);
+        };
+        items = flattenItems(items);
+        return new Set(items.filter((l) => l.type === "file").map(l => l.path));
+    }
+}
+/** A generic index which indexes variables of the form key -> value[], allowing both forward and reverse lookups. */
+class IndexMap {
+    /** Maps key -> values for that key. */
+    map;
+    /** Cached inverse map; maps value -> keys that reference that value. */
+    invMap;
+    /** Create a new, empty index map. */
+    constructor() {
+        this.map = new Map();
+        this.invMap = new Map();
+    }
+    /** Returns all values for the given key. */
+    get(key) {
+        let result = this.map.get(key);
+        if (result) {
+            return new Set(result);
+        }
+        else {
+            return new Set();
+        }
+    }
+    /** Returns all keys that reference the given key. Mutating the returned set is not allowed. */
+    getInverse(value) {
+        return this.invMap.get(value) || IndexMap.EMPTY_SET;
+    }
+    /** Sets the key to the given values; this will delete the old mapping for the key if one was present. */
+    set(key, values) {
+        if (!values.size) {
+            // no need to store if no values
+            this.delete(key);
+            return this;
+        }
+        let oldValues = this.map.get(key);
+        if (oldValues) {
+            for (let value of oldValues) {
+                // Only delete the ones we're not adding back
+                if (!values.has(key))
+                    this.invMap.get(value)?.delete(key);
+            }
+        }
+        this.map.set(key, values);
+        for (let value of values) {
+            if (!this.invMap.has(value))
+                this.invMap.set(value, new Set([key]));
+            else
+                this.invMap.get(value)?.add(key);
+        }
+        return this;
+    }
+    /** Clears all values for the given key so they can be re-added. */
+    delete(key) {
+        let oldValues = this.map.get(key);
+        if (!oldValues)
+            return false;
+        this.map.delete(key);
+        for (let value of oldValues) {
+            this.invMap.get(value)?.delete(key);
+        }
+        return true;
+    }
+    /** Rename all references to the given key to a new value. */
+    rename(oldKey, newKey) {
+        let oldValues = this.map.get(oldKey);
+        if (!oldValues)
+            return false;
+        this.delete(oldKey);
+        this.set(newKey, oldValues);
+        return true;
+    }
+    /** Clear the entire index. */
+    clear() {
+        this.map.clear();
+        this.invMap.clear();
+    }
+    static EMPTY_SET = Object.freeze(new Set());
+}
+/** Index map wrapper which is case-insensitive in the key. */
+class ValueCaseInsensitiveIndexMap {
+    delegate;
+    /** Create a new, empty case insensitive index map. */
+    constructor(delegate = new IndexMap()) {
+        this.delegate = delegate;
+    }
+    /** Returns all values for the given key. */
+    get(key) {
+        return this.delegate.get(key);
+    }
+    /** Returns all keys that reference the given value. Mutating the returned set is not allowed. */
+    getInverse(value) {
+        return this.delegate.getInverse(value.toLocaleLowerCase());
+    }
+    /** Sets the key to the given values; this will delete the old mapping for the key if one was present. */
+    set(key, values) {
+        this.delegate.set(key, new Set(Array.from(values).map(v => v.toLocaleLowerCase())));
+        return this;
+    }
+    /** Clears all values for the given key so they can be re-added. */
+    delete(key) {
+        return this.delegate.delete(key);
+    }
+    /** Rename all references to the given key to a new value. */
+    rename(oldKey, newKey) {
+        return this.delegate.rename(oldKey, newKey);
+    }
+    /** Clear the entire index. */
+    clear() {
+        this.delegate.clear();
+    }
+}
+
+/** Collect data matching a source query. */
+/** Find source paths which match the given source. */
+function matchingSourcePaths(source, index, originFile = "") {
+    switch (source.type) {
+        case "empty":
+            return Result.success(new Set());
+        case "tag":
+            return Result.success(index.tags.getInverse(source.tag));
+        case "csv":
+            return Result.success(new Set([index.prefix.resolveRelative(source.path, originFile)]));
+        case "folder":
+            // Prefer loading from the folder at the given path.
+            if (index.prefix.nodeExists(source.folder))
+                return Result.success(index.prefix.get(source.folder, PathFilters.markdown));
+            // But allow for loading individual files if they exist.
+            if (index.prefix.pathExists(source.folder))
+                return Result.success(new Set([source.folder]));
+            else if (index.prefix.pathExists(source.folder + ".md"))
+                return Result.success(new Set([source.folder + ".md"]));
+            // For backwards-compat, return an empty result even if the folder does not exist.
+            return Result.success(new Set());
+        case "link":
+            let fullPath = index.metadataCache.getFirstLinkpathDest(source.file, originFile)?.path;
+            if (!fullPath) {
+                // Look in links which includes unresolved links
+                return Result.success(index.links.getInverse(source.file));
+            }
+            if (source.direction === "incoming") {
+                // To find all incoming links (i.e., things that link to this), use the index that Obsidian provides.
+                // TODO: Use an actual index so this isn't a fullscan.
+                let resolved = index.metadataCache.resolvedLinks;
+                let incoming = new Set();
+                for (let [key, value] of Object.entries(resolved)) {
+                    if (fullPath in value)
+                        incoming.add(key);
+                }
+                return Result.success(incoming);
+            }
+            else {
+                let resolved = index.metadataCache.resolvedLinks;
+                if (!(fullPath in resolved))
+                    return Result.failure(`Could not find file "${source.file}" during link lookup - does it exist?`);
+                return Result.success(new Set(Object.keys(index.metadataCache.resolvedLinks[fullPath])));
+            }
+        case "binaryop":
+            return Result.flatMap2(matchingSourcePaths(source.left, index, originFile), matchingSourcePaths(source.right, index, originFile), (left, right) => {
+                if (source.op == "&") {
+                    let result = new Set();
+                    for (let elem of right) {
+                        if (left.has(elem))
+                            result.add(elem);
+                    }
+                    return Result.success(result);
+                }
+                else if (source.op == "|") {
+                    let result = new Set(left);
+                    for (let elem of right)
+                        result.add(elem);
+                    return Result.success(result);
+                }
+                else {
+                    return Result.failure(`Unrecognized operator '${source.op}'.`);
+                }
+            });
+        case "negate":
+            return matchingSourcePaths(source.child, index, originFile).map(child => {
+                // TODO: This is obviously very inefficient. Can be improved by complicating the
+                // return type of this function & optimizing 'and' / 'or'.
+                let allFiles = new Set(index.vault.getMarkdownFiles().map(f => f.path));
+                child.forEach(f => allFiles.delete(f));
+                return allFiles;
+            });
+    }
+}
+/** Convert a path to the data for that path; usually markdown pages, but could also be other file types (like CSV).  */
+async function resolvePathData(path, index) {
+    if (PathFilters.csv(path))
+        return resolveCsvData(path, index);
+    else
+        return resolveMarkdownData(path, index);
+}
+// TODO: We shouldn't be doing path normalization here relative to an origin file,
+/** Convert a CSV path to the data in the CSV (in dataview format). */
+async function resolveCsvData(path, index) {
+    let rawData = await index.csv.get(path);
+    return rawData.map(rows => {
+        return rows.map((row, index) => {
+            return {
+                id: `${path}#${index}`,
+                data: row,
+            };
+        });
+    });
+}
+/** Convert a path pointing to a markdown page, into the associated metadata. */
+function resolveMarkdownData(path, index) {
+    let page = index.pages.get(path);
+    if (!page)
+        return Result.success([]);
+    return Result.success([
+        {
+            id: Link.file(path),
+            data: page.serialize(index),
+        },
+    ]);
+}
+/** Resolve a source to the collection of data rows that it matches. */
+async function resolveSource(source, index, originFile = "") {
+    let paths = matchingSourcePaths(source, index, originFile);
+    if (!paths.successful)
+        return Result.failure(paths.error);
+    let result = [];
+    for (let path of paths.value) {
+        let resolved = await resolvePathData(path, index);
+        if (!resolved.successful)
+            return resolved;
+        for (let val of resolved.value)
+            result.push(val);
+    }
+    return Result.success(result);
+}
+
+// cyrb53 (c) 2018 bryc (github.com/bryc). License: Public domain. Attribution appreciated.
+// A fast and simple 64-bit (or 53-bit) string hash function with decent collision resistance.
+// Largely inspired by MurmurHash2/3, but with a focus on speed/simplicity.
+// See https://stackoverflow.com/questions/7616461/generate-a-hash-from-string-in-javascript/52171480#52171480
+// https://github.com/bryc/code/blob/master/jshash/experimental/cyrb53.js
+function cyrb53(str, seed = 0) {
+    let h1 = 0xdeadbeef ^ seed, h2 = 0x41c6ce57 ^ seed;
+    for (let i = 0, ch; i < str.length; i++) {
+        ch = str.charCodeAt(i);
+        h1 = Math.imul(h1 ^ ch, 2654435761);
+        h2 = Math.imul(h2 ^ ch, 1597334677);
+    }
+    h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507);
+    h1 ^= Math.imul(h2 ^ (h2 >>> 13), 3266489909);
+    h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507);
+    h2 ^= Math.imul(h1 ^ (h1 >>> 13), 3266489909);
+    // For a full 64-bit value we could return
+    //  [h2>>>0, h1>>>0]
+    return 4294967296 * (2097151 & h2) + (h1 >>> 0); // ;
+}
+
+/** Default function implementations for the expression evaluator. */
+/**
+ * Allows for the creation of functions that check the number and type of their arguments, and dispatch
+ * to different implemenations based on the types of the inputs.
+ */
+class FunctionBuilder {
+    name;
+    variants;
+    vectorized;
+    constructor(name) {
+        this.name = name;
+        this.variants = [];
+        this.vectorized = {};
+    }
+    /** Add a general function variant which accepts any number of arguments of any type. */
+    vararg(impl) {
+        this.variants.push({ args: [], varargs: true, impl });
+        return this;
+    }
+    /** Add a function variant which takes in a single argument. */
+    add1(argType, impl) {
+        this.variants.push({
+            args: [argType],
+            varargs: false,
+            impl: (c, ...rest) => impl(rest[0], c),
+        });
+        return this;
+    }
+    /** Add a function variant which takes in two typed arguments. */
+    add2(arg1, arg2, impl) {
+        this.variants.push({
+            args: [arg1, arg2],
+            varargs: false,
+            impl: (c, ...rest) => impl(rest[0], rest[1], c),
+        });
+        return this;
+    }
+    /** Add a function variant which takes in three typed arguments. */
+    add3(arg1, arg2, arg3, impl) {
+        this.variants.push({
+            args: [arg1, arg2, arg3],
+            varargs: false,
+            impl: (c, ...rest) => impl(rest[0], rest[1], rest[2], c),
+        });
+        return this;
+    }
+    /** Add vectorized variants which accept the given number of arguments and delegate. */
+    vectorize(numArgs, positions) {
+        this.vectorized[numArgs] = positions;
+        return this;
+    }
+    /** Return a function which checks the number and type of arguments, passing them on to the first matching variant. */
+    build() {
+        let self = (context, ...args) => {
+            let types = [];
+            for (let arg of args) {
+                let argType = Values.typeOf(arg);
+                if (!argType)
+                    throw Error(`Unrecognized argument type for argument '${arg}'`);
+                types.push(argType);
+            }
+            // Handle vectorization, possibly in multiple fields.
+            if (this.vectorized[types.length]) {
+                let vectorizedPositions = this.vectorized[types.length].filter(k => types[k] == "array");
+                if (vectorizedPositions.length > 0) {
+                    let minLength = vectorizedPositions
+                        .map(p => args[p].length)
+                        .reduce((p, c) => Math.min(p, c));
+                    // Call the subfunction for each element in the longest array.
+                    // If you call a vectorized function with different-length arrays,
+                    // the output is limited by the length of the shortest array.
+                    let result = [];
+                    for (let vpos = 0; vpos < minLength; vpos++) {
+                        let subargs = [];
+                        for (let index = 0; index < args.length; index++) {
+                            if (vectorizedPositions.includes(index)) {
+                                let arr = args[index];
+                                subargs.push(arr[vpos]);
+                            }
+                            else {
+                                subargs.push(args[index]);
+                            }
+                        }
+                        result.push(self(context, ...subargs));
+                    }
+                    return result;
+                }
+            }
+            outer: for (let variant of this.variants) {
+                if (variant.varargs)
+                    return variant.impl(context, ...args);
+                if (variant.args.length != types.length)
+                    continue;
+                for (let index = 0; index < variant.args.length; index++) {
+                    if (variant.args[index] != "*" && variant.args[index] != types[index])
+                        continue outer;
+                }
+                return variant.impl(context, ...args);
+            }
+            throw Error(`No implementation of '${this.name}' found for arguments: ${types.join(", ")}`);
+        };
+        return self;
+    }
+}
+/** Utilities for managing function implementations. */
+var Functions;
+(function (Functions) {
+    /** Bind a context to a function implementation, yielding a function which does not need the context argument. */
+    function bind(func, context) {
+        return (...args) => func(context, ...args);
+    }
+    Functions.bind = bind;
+    /** Bind a context to all functions in the given map, yielding a new map of bound functions. */
+    function bindAll(funcs, context) {
+        let result = {};
+        for (let [key, func] of Object.entries(funcs)) {
+            result[key] = Functions.bind(func, context);
+        }
+        return result;
+    }
+    Functions.bindAll = bindAll;
+})(Functions || (Functions = {}));
+/**
+ * Collection of all defined functions; defined here so that they can be called from within dataview,
+ * and test code.
+ */
+var DefaultFunctions;
+(function (DefaultFunctions) {
+    DefaultFunctions.typeOf = new FunctionBuilder("type")
+        .add1("array", _ => "array")
+        .add1("boolean", _ => "boolean")
+        .add1("date", _ => "date")
+        .add1("duration", _ => "duration")
+        .add1("function", _ => "function")
+        .add1("widget", _ => "widget")
+        .add1("link", _ => "link")
+        .add1("null", _ => "null")
+        .add1("number", _ => "number")
+        .add1("object", _ => "object")
+        .add1("string", _ => "string")
+        .add1("*", _ => "unknown")
+        .build();
+    /** Compute the length of a data type. */
+    DefaultFunctions.length = new FunctionBuilder("length")
+        .add1("array", a => a.length)
+        .add1("object", a => Object.keys(a).length)
+        .add1("string", a => a.length)
+        .add1("null", _a => 0)
+        .build();
+    /** List constructor function. */
+    DefaultFunctions.list = (_context, ...args) => args;
+    /** Object constructor function. */
+    DefaultFunctions.object = (_context, ...args) => {
+        if (args.length % 2 != 0)
+            throw Error("object() requires an even number of arguments");
+        let result = {};
+        for (let index = 0; index < args.length; index += 2) {
+            let key = args[index];
+            if (!Values.isString(key))
+                throw Error("keys should be of type string for object(key1, value1, ...)");
+            result[key] = args[index + 1];
+        }
+        return result;
+    };
+    /** Internal link constructor function. */
+    DefaultFunctions.link = new FunctionBuilder("link")
+        .add1("string", (a, c) => Link.file(c.linkHandler.normalize(a), false))
+        .add1("link", a => a)
+        .add1("null", _a => null)
+        .vectorize(1, [0])
+        .add2("string", "string", (t, d, c) => Link.file(c.linkHandler.normalize(t), false, d))
+        .add3("string", "string", "boolean", (t, d, e, c) => Link.file(c.linkHandler.normalize(t), e, d))
+        .add2("link", "string", (t, d) => t.withDisplay(d))
+        .add2("null", "*", () => null)
+        .add2("*", "null", (t, _n, c) => DefaultFunctions.link(c, t))
+        .vectorize(2, [0, 1])
+        .build();
+    /** Embed and un-embed a link. */
+    DefaultFunctions.embed = new FunctionBuilder("embed")
+        .add1("link", l => l.toEmbed())
+        .vectorize(1, [0])
+        .add2("link", "boolean", (l, e, c) => (e ? l.toEmbed() : l.fromEmbed()))
+        .add1("null", () => null)
+        .add2("null", "*", () => null)
+        .add2("*", "null", () => null)
+        .vectorize(2, [0, 1])
+        .build();
+    /** External link constructor function. */
+    DefaultFunctions.elink = new FunctionBuilder("elink")
+        .add2("string", "string", (a, d) => Widgets.externalLink(a, d))
+        .add2("string", "null", (s, _n, c) => DefaultFunctions.elink(c, s, s))
+        .add2("null", "*", () => null)
+        .vectorize(2, [0])
+        .add1("string", (a, c) => DefaultFunctions.elink(c, a, a))
+        .add1("null", () => null)
+        .vectorize(1, [0])
+        .build();
+    /** Date constructor function. */
+    DefaultFunctions.date = new FunctionBuilder("date")
+        .add1("string", str => {
+        let parsedDate = EXPRESSION.datePlus.parse(str);
+        if (parsedDate.status)
+            return parsedDate.value;
+        else
+            return null;
+    })
+        .add1("date", d => d)
+        .add1("link", (link, c) => {
+        // Try to parse from the display...
+        if (link.display) {
+            let parsedDate = EXPRESSION.date.parse(link.display);
+            if (parsedDate.status)
+                return parsedDate.value;
+        }
+        // Then try to parse from the path...
+        let parsedDate = EXPRESSION.date.parse(link.path);
+        if (parsedDate.status)
+            return parsedDate.value;
+        // Then pull it from the file.
+        let resolved = c.linkHandler.resolve(link.path);
+        if (resolved && resolved?.file?.day) {
+            return resolved?.file?.day;
+        }
+        return null;
+    })
+        .add2("string", "string", (d, f) => {
+        if (f === "x" || f === "X") {
+            let match = NUMBER_REGEX.exec(d);
+            if (match)
+                return DateTime.fromMillis(Number.parseInt(match[0]) * (f === "X" ? 1000 : 1));
+            else {
+                throw Error("Not a number for format( (${ f }): ${ d }");
+            }
+        }
+        else {
+            let parsedDate = DateTime.fromFormat(d, f);
+            if (parsedDate.isValid)
+                return parsedDate;
+            else {
+                throw Error(`Can't handle format (${f}) on date string (${d})`);
+            }
+        }
+    })
+        .add2("null", "string", () => null)
+        .add1("null", () => null)
+        .vectorize(1, [0])
+        .build();
+    /** Duration constructor function. */
+    DefaultFunctions.dur = new FunctionBuilder("dur")
+        .add1("string", str => {
+        let parsedDur = EXPRESSION.duration.parse(str.trim());
+        if (parsedDur.status)
+            return parsedDur.value;
+        else
+            return null;
+    })
+        .add1("duration", d => d)
+        .add1("null", d => d)
+        .vectorize(1, [0])
+        .build();
+    /** Format a date using a luxon/moment-style date format. */
+    DefaultFunctions.dateformat = new FunctionBuilder("dateformat")
+        .add2("date", "string", (date, format) => date.toFormat(format, { locale: currentLocale() }))
+        .add2("null", "string", (_nul, _format) => null)
+        .vectorize(2, [0])
+        .build();
+    DefaultFunctions.durationformat = new FunctionBuilder("durationformat")
+        .add2("duration", "string", (dur, format) => dur.toFormat(format))
+        .add2("null", "string", (_nul, _format) => null)
+        .vectorize(2, [0])
+        .build();
+    DefaultFunctions.localtime = new FunctionBuilder("localtime")
+        .add1("date", d => d.toLocal())
+        .add1("null", () => null)
+        .vectorize(1, [0])
+        .build();
+    const NUMBER_REGEX = /-?[0-9]+(\.[0-9]+)?/;
+    /** Number constructor function. */
+    DefaultFunctions.number = new FunctionBuilder("number")
+        .add1("number", a => a)
+        .add1("string", str => {
+        let match = NUMBER_REGEX.exec(str);
+        if (match)
+            return Number.parseFloat(match[0]);
+        else
+            return null;
+    })
+        .add1("null", () => null)
+        .vectorize(1, [0])
+        .build();
+    /** Format a number using a standard currency format. */
+    DefaultFunctions.currencyformat = new FunctionBuilder("currencyformat")
+        .add2("number", "string", (num, format) => Intl.NumberFormat(currentLocale(), { style: "currency", currency: format }).format(num))
+        .add2("null", "string", (_nul, _format) => null)
+        .add1("number", num => Intl.NumberFormat(currentLocale(), { style: "currency", currency: "USD" }).format(num))
+        .add1("null", () => null)
+        .vectorize(2, [0])
+        .build();
+    /**
+     * Convert any value to a reasonable internal string representation. Most useful for dates, strings, numbers, and
+     * so on.
+     */
+    DefaultFunctions.string = new FunctionBuilder("string").add1("*", (a, ctx) => Values.toString(a, ctx.settings)).build();
+    DefaultFunctions.round = new FunctionBuilder("round")
+        .add1("number", n => Math.round(n))
+        .add1("null", () => null)
+        .vectorize(1, [0])
+        .add2("number", "number", (n, p) => {
+        if (p <= 0)
+            return Math.round(n);
+        return parseFloat(n.toFixed(p));
+    })
+        .add2("number", "null", n => Math.round(n))
+        .add2("null", "*", () => null)
+        .vectorize(2, [0])
+        .build();
+    DefaultFunctions.trunc = new FunctionBuilder("trunc")
+        .add1("number", n => Math.trunc(n))
+        .add1("null", () => null)
+        .vectorize(1, [0])
+        .build();
+    DefaultFunctions.floor = new FunctionBuilder("floor")
+        .add1("number", n => Math.floor(n))
+        .add1("null", () => null)
+        .vectorize(1, [0])
+        .build();
+    DefaultFunctions.ceil = new FunctionBuilder("ceil")
+        .add1("number", n => Math.ceil(n))
+        .add1("null", () => null)
+        .vectorize(1, [0])
+        .build();
+    DefaultFunctions.min = new FunctionBuilder("min")
+        .add2("*", "null", (a, _n) => a)
+        .add2("null", "*", (_n, a) => a)
+        .add2("*", "*", (a, b, ctx) => (Values.compareValue(a, b, ctx.linkHandler.normalize) <= 0 ? a : b))
+        .add1("array", (a, ctx) => DefaultFunctions.min(ctx, ...a))
+        .vararg((ctx, ...args) => (args.length == 0 ? null : args.reduce((p, c) => DefaultFunctions.min(ctx, p, c))))
+        .build();
+    DefaultFunctions.max = new FunctionBuilder("max")
+        .add2("*", "null", (a, _n) => a)
+        .add2("null", "*", (_n, a) => a)
+        .add2("*", "*", (a, b, ctx) => (Values.compareValue(a, b, ctx.linkHandler.normalize) > 0 ? a : b))
+        .add1("array", (a, ctx) => DefaultFunctions.max(ctx, ...a))
+        .vararg((ctx, ...args) => (args.length == 0 ? null : args.reduce((p, c) => DefaultFunctions.max(ctx, p, c))))
+        .build();
+    DefaultFunctions.minby = new FunctionBuilder("minby")
+        .add2("array", "function", (arr, func, ctx) => {
+        if (arr.length == 0)
+            return null;
+        let values = arr.map(v => {
+            return { value: v, mapped: func(ctx, v) };
+        });
+        let filtered = values.filter(v => !Values.isNull(v.mapped));
+        if (filtered.length == 0)
+            return arr[0];
+        return filtered.reduce((p, c) => {
+            if (Values.compareValue(p.mapped, c.mapped, ctx.linkHandler.normalize) <= 0)
+                return p;
+            else
+                return c;
+        }).value;
+    })
+        .add2("null", "function", (_arr, _func, _ctx) => null)
+        .build();
+    DefaultFunctions.maxby = new FunctionBuilder("maxby")
+        .add2("array", "function", (arr, func, ctx) => {
+        if (arr.length == 0)
+            return null;
+        let values = arr.map(v => {
+            return { value: v, mapped: func(ctx, v) };
+        });
+        let filtered = values.filter(v => !Values.isNull(v.mapped));
+        if (filtered.length == 0)
+            return arr[0];
+        return filtered.reduce((p, c) => {
+            if (Values.compareValue(p.mapped, c.mapped, ctx.linkHandler.normalize) > 0)
+                return p;
+            else
+                return c;
+        }).value;
+    })
+        .add2("null", "function", (_arr, _func, _ctx) => null)
+        .build();
+    DefaultFunctions.striptime = new FunctionBuilder("striptime")
+        .add1("date", d => DateTime.fromObject({ year: d.year, month: d.month, day: d.day }))
+        .add1("null", _n => null)
+        .vectorize(1, [0])
+        .build();
+    // Default contains, which looks through data structures recursively.
+    DefaultFunctions.contains = new FunctionBuilder("contains")
+        .add2("array", "*", (l, elem, context) => l.some(e => DefaultFunctions.contains(context, e, elem)))
+        .add2("string", "string", (haystack, needle) => haystack.includes(needle))
+        .add2("object", "string", (obj, key) => key in obj)
+        .add2("*", "*", (elem1, elem2, context) => context.evaluate(Fields.binaryOp(Fields.literal(elem1), "=", Fields.literal(elem2))).orElseThrow())
+        .vectorize(2, [1])
+        .build();
+    // Case insensitive version of contains.
+    DefaultFunctions.icontains = new FunctionBuilder("icontains")
+        .add2("array", "*", (l, elem, context) => l.some(e => DefaultFunctions.icontains(context, e, elem)))
+        .add2("string", "string", (haystack, needle) => haystack.toLocaleLowerCase().includes(needle.toLocaleLowerCase()))
+        .add2("object", "string", (obj, key) => key in obj)
+        .add2("*", "*", (elem1, elem2, context) => context.evaluate(Fields.binaryOp(Fields.literal(elem1), "=", Fields.literal(elem2))).orElseThrow())
+        .vectorize(2, [1])
+        .build();
+    // "exact" contains, does not look recursively.
+    DefaultFunctions.econtains = new FunctionBuilder("econtains")
+        .add2("array", "*", (l, elem, context) => l.some(e => context.evaluate(Fields.binaryOp(Fields.literal(elem), "=", Fields.literal(e))).orElseThrow()))
+        .add2("string", "string", (haystack, needle) => haystack.includes(needle))
+        .add2("object", "string", (obj, key) => key in obj)
+        .add2("*", "*", (elem1, elem2, context) => context.evaluate(Fields.binaryOp(Fields.literal(elem1), "=", Fields.literal(elem2))).orElseThrow())
+        .vectorize(2, [1])
+        .build();
+    // Case insensitive contains which looks for exact word matches (i.e., boundry-to-boundry match).
+    DefaultFunctions.containsword = new FunctionBuilder("containsword")
+        .add2("string", "string", (hay, needle) => !!hay.match(new RegExp(".*\\b" + escapeRegex(needle) + "\\b.*", "i")))
+        .add2("null", "*", (_a, _b) => null)
+        .add2("*", "null", (_a, _b) => null)
+        .vectorize(2, [0, 1])
+        .build();
+    /** Extract 0 or more keys from a given object via indexing. */
+    DefaultFunctions.extract = (context, ...args) => {
+        if (args.length == 0)
+            return "extract(object, key1, ...) requires at least 1 argument";
+        // Manually handle vectorization in the first argument.
+        let object = args[0];
+        if (Values.isArray(object))
+            return object.map(v => DefaultFunctions.extract(context, v, ...args.slice(1)));
+        let result = {};
+        for (let index = 1; index < args.length; index++) {
+            let key = args[index];
+            if (!Values.isString(key))
+                throw Error("extract(object, key1, ...) must be called with string keys");
+            result[key] = context.evaluate(Fields.index(Fields.literal(object), Fields.literal(key))).orElseThrow();
+        }
+        return result;
+    };
+    // Reverse an array or string.
+    DefaultFunctions.reverse = new FunctionBuilder("reverse")
+        .add1("array", l => {
+        let result = [];
+        for (let index = l.length - 1; index >= 0; index--)
+            result.push(l[index]);
+        return result;
+    })
+        .add1("string", l => {
+        let result = "";
+        for (let c = 0; c < l.length; c++)
+            result += l[l.length - c - 1];
+        return result;
+    })
+        .add1("*", e => e)
+        .build();
+    // Sort an array; if given two arguments, sorts by the key returned.
+    DefaultFunctions.sort = new FunctionBuilder("sort")
+        .add1("array", (list, context) => DefaultFunctions.sort(context, list, (_ctx, a) => a))
+        .add2("array", "function", (list, key, context) => {
+        let result = [].concat(list);
+        result.sort((a, b) => {
+            let akey = key(context, a);
+            let bkey = key(context, b);
+            let le = context
+                .evaluate(Fields.binaryOp(Fields.literal(akey), "<", Fields.literal(bkey)))
+                .orElseThrow();
+            if (Values.isTruthy(le))
+                return -1;
+            let eq = context
+                .evaluate(Fields.binaryOp(Fields.literal(akey), "=", Fields.literal(bkey)))
+                .orElseThrow();
+            if (Values.isTruthy(eq))
+                return 0;
+            return 1;
+        });
+        return result;
+    })
+        .add1("*", e => e)
+        .build();
+    DefaultFunctions.regextest = new FunctionBuilder("regextest")
+        .add2("string", "string", (pattern, field) => RegExp(pattern).test(field))
+        .add2("null", "*", (_n, _a) => false)
+        .add2("*", "null", (_a, _n) => false)
+        .vectorize(2, [0, 1])
+        .build();
+    DefaultFunctions.regexmatch = new FunctionBuilder("regexmatch")
+        .add2("string", "string", (pattern, field) => {
+        if (!pattern.startsWith("^") && !pattern.endsWith("$"))
+            pattern = "^" + pattern + "$";
+        return !!field.match(pattern);
+    })
+        .add2("null", "*", (_n, _a) => false)
+        .add2("*", "null", (_a, _n) => false)
+        .vectorize(2, [0, 1])
+        .build();
+    DefaultFunctions.regexreplace = new FunctionBuilder("regexreplace")
+        .add3("string", "string", "string", (field, pat, rep) => {
+        try {
+            let reg = new RegExp(pat, "g");
+            return field.replace(reg, rep);
+        }
+        catch (ex) {
+            throw Error(`Invalid regexp '${pat}' in regexreplace`);
+        }
+    })
+        .add3("null", "*", "*", () => null)
+        .add3("*", "null", "*", () => null)
+        .add3("*", "*", "null", () => null)
+        .vectorize(3, [0, 1, 2])
+        .build();
+    DefaultFunctions.lower = new FunctionBuilder("lower")
+        .add1("string", s => s.toLocaleLowerCase())
+        .add1("null", () => null)
+        .vectorize(1, [0])
+        .build();
+    DefaultFunctions.upper = new FunctionBuilder("upper")
+        .add1("string", s => s.toLocaleUpperCase())
+        .add1("null", () => null)
+        .vectorize(1, [0])
+        .build();
+    DefaultFunctions.replace = new FunctionBuilder("replace")
+        .add3("string", "string", "string", (str, pat, repr) => str.split(pat).join(repr))
+        .add3("null", "*", "*", () => null)
+        .add3("*", "null", "*", () => null)
+        .add3("*", "*", "null", () => null)
+        .vectorize(3, [0, 1, 2])
+        .build();
+    // Ensure undefined matches turn into empty strings for split/2 and split/3.
+    const splitImpl = (str, delim, limit) => str.split(new RegExp(delim), limit).map(str => str || "");
+    /** Split a string on a given string. */
+    DefaultFunctions.split = new FunctionBuilder("split")
+        .add2("string", "string", (string, splitter) => splitImpl(string, splitter))
+        .add3("string", "string", "number", (string, splitter, limit) => splitImpl(string, splitter, limit))
+        .add2("null", "*", () => null)
+        .add2("*", "null", () => null)
+        .add3("*", "*", "null", () => null)
+        .add3("*", "null", "*", () => null)
+        .add3("null", "*", "*", () => null)
+        .build();
+    DefaultFunctions.startswith = new FunctionBuilder("startswith")
+        .add2("string", "string", (str, starting) => str.startsWith(starting))
+        .add2("null", "*", () => null)
+        .add2("*", "null", () => null)
+        .vectorize(2, [0, 1])
+        .build();
+    DefaultFunctions.endswith = new FunctionBuilder("endswith")
+        .add2("string", "string", (str, ending) => str.endsWith(ending))
+        .add2("null", "*", () => null)
+        .add2("*", "null", () => null)
+        .vectorize(2, [0, 1])
+        .build();
+    DefaultFunctions.padleft = new FunctionBuilder("padleft")
+        .add2("string", "number", (str, len) => str.padStart(len, " "))
+        .add3("string", "number", "string", (str, len, padding) => str.padStart(len, padding))
+        .add2("null", "*", () => null)
+        .add2("*", "null", () => null)
+        .add3("null", "*", "*", () => null)
+        .add3("*", "null", "*", () => null)
+        .add3("*", "*", "null", () => null)
+        .vectorize(2, [0, 1])
+        .vectorize(3, [0, 1, 2])
+        .build();
+    DefaultFunctions.padright = new FunctionBuilder("padright")
+        .add2("string", "number", (str, len) => str.padEnd(len, " "))
+        .add3("string", "number", "string", (str, len, padding) => str.padEnd(len, padding))
+        .add2("null", "*", () => null)
+        .add2("*", "null", () => null)
+        .add3("null", "*", "*", () => null)
+        .add3("*", "null", "*", () => null)
+        .add3("*", "*", "null", () => null)
+        .vectorize(2, [0, 1])
+        .vectorize(3, [0, 1, 2])
+        .build();
+    DefaultFunctions.substring = new FunctionBuilder("substring")
+        .add2("string", "number", (str, start) => str.substring(start))
+        .add3("string", "number", "number", (str, start, end) => str.substring(start, end))
+        .add2("null", "*", () => null)
+        .add2("*", "null", () => null)
+        .add3("null", "*", "*", () => null)
+        .add3("*", "null", "*", () => null)
+        .add3("*", "*", "null", () => null)
+        .vectorize(2, [0, 1])
+        .vectorize(3, [0, 1, 2])
+        .build();
+    DefaultFunctions.truncate = new FunctionBuilder("truncate")
+        .add3("string", "number", "string", (str, length, suffix) => {
+        if (str.length > length - suffix.length) {
+            return str.substring(0, Math.max(0, length - suffix.length)) + suffix;
+        }
+        else {
+            return str;
+        }
+    })
+        .add2("string", "number", (str, length, ctx) => DefaultFunctions.truncate(ctx, str, length, "..."))
+        .add2("null", "*", () => null)
+        .add2("*", "null", () => null)
+        .add3("null", "*", "*", () => null)
+        .add3("*", "null", "*", () => null)
+        .add3("*", "*", "null", () => null)
+        .vectorize(2, [0, 1])
+        .vectorize(3, [0, 1, 2])
+        .build();
+    DefaultFunctions.fdefault = new FunctionBuilder("default")
+        .add2("*", "*", (v, bk) => (Values.isNull(v) ? bk : v))
+        .vectorize(2, [0, 1])
+        .build();
+    DefaultFunctions.ldefault = new FunctionBuilder("ldefault")
+        .add2("*", "*", (v, bk) => (Values.isNull(v) ? bk : v))
+        .build();
+    DefaultFunctions.choice = new FunctionBuilder("choice")
+        .add3("*", "*", "*", (b, left, right) => (Values.isTruthy(b) ? left : right))
+        .vectorize(3, [0])
+        .build();
+    DefaultFunctions.hash = new FunctionBuilder("hash")
+        .add2("string", "number", (seed, variant) => {
+        return cyrb53(seed, variant);
+    })
+        .add2("string", "string", (seed, text) => {
+        return cyrb53(seed + text);
+    })
+        .add3("string", "string", "number", (seed, text, variant) => {
+        return cyrb53(seed + text, variant);
+    })
+        .build();
+    DefaultFunctions.reduce = new FunctionBuilder("reduce")
+        .add2("array", "string", (lis, op, context) => {
+        if (lis.length == 0)
+            return null;
+        if (op != "+" && op != "-" && op != "*" && op != "/" && op != "&" && op != "|")
+            throw Error("reduce(array, op) supports '+', '-', '/', '*', '&', and '|'");
+        let value = lis[0];
+        for (let index = 1; index < lis.length; index++) {
+            value = context
+                .evaluate(Fields.binaryOp(Fields.literal(value), op, Fields.literal(lis[index])))
+                .orElseThrow();
+        }
+        return value;
+    })
+        .add2("array", "function", (lis, op, context) => {
+        if (lis.length == 0)
+            return null;
+        let value = lis[0];
+        for (let index = 1; index < lis.length; index++) {
+            // Skip null values to reduce the pain of summing over fields that may or may not exist.
+            if (Values.isNull(lis[index]))
+                continue;
+            value = op(context, value, lis[index]);
+        }
+        return value;
+    })
+        .add2("null", "*", () => null)
+        .add2("*", "null", () => null)
+        .vectorize(2, [1])
+        .build();
+    DefaultFunctions.sum = new FunctionBuilder("sum")
+        .add1("array", (arr, c) => DefaultFunctions.reduce(c, arr, "+"))
+        .add1("*", e => e)
+        .build();
+    DefaultFunctions.average = new FunctionBuilder("average")
+        .add1("array", (array, context) => {
+        if (array.length == 0)
+            return null;
+        const add = DefaultFunctions.sum(context, array);
+        if (add == null || add == undefined)
+            return null;
+        return context
+            .evaluate(Fields.binaryOp(Fields.literal(add), "/", Fields.literal(array.length)))
+            .orElseThrow();
+    })
+        .add1("*", e => e)
+        .build();
+    DefaultFunctions.product = new FunctionBuilder("product")
+        .add1("array", (arr, c) => DefaultFunctions.reduce(c, arr, "*"))
+        .add1("*", e => e)
+        .build();
+    DefaultFunctions.join = new FunctionBuilder("join")
+        .add2("array", "string", (arr, sep, ctx) => arr.map(e => Values.toString(e, ctx.settings)).join(sep))
+        .add2("array", "null", (arr, _s, context) => DefaultFunctions.join(context, arr, ", "))
+        .add2("*", "string", (elem, sep, ctx) => Values.toString(elem, ctx.settings))
+        .add1("array", (arr, context) => DefaultFunctions.join(context, arr, ", "))
+        .add1("*", (e, ctx) => Values.toString(e, ctx.settings))
+        .vectorize(2, [1])
+        .build();
+    DefaultFunctions.any = new FunctionBuilder("any")
+        .add1("array", arr => arr.some(v => Values.isTruthy(v)))
+        .add2("array", "function", (arr, f, ctx) => arr.some(v => Values.isTruthy(f(ctx, v))))
+        .vararg((_ctx, ...args) => args.some(v => Values.isTruthy(v)))
+        .build();
+    DefaultFunctions.all = new FunctionBuilder("all")
+        .add1("array", arr => arr.every(v => Values.isTruthy(v)))
+        .add2("array", "function", (arr, f, ctx) => arr.every(v => Values.isTruthy(f(ctx, v))))
+        .vararg((_ctx, ...args) => args.every(v => Values.isTruthy(v)))
+        .build();
+    DefaultFunctions.none = new FunctionBuilder("all")
+        .add1("array", arr => !arr.some(v => Values.isTruthy(v)))
+        .add2("array", "function", (arr, f, ctx) => !arr.some(v => Values.isTruthy(f(ctx, v))))
+        .vararg((_ctx, ...args) => !args.some(v => Values.isTruthy(v)))
+        .build();
+    DefaultFunctions.filter = new FunctionBuilder("filter")
+        .add2("array", "function", (arr, f, ctx) => arr.filter(v => Values.isTruthy(f(ctx, v))))
+        .add2("null", "*", () => null)
+        .build();
+    DefaultFunctions.unique = new FunctionBuilder("unique")
+        .add1("array", (arr, ctx) => DataArray.wrap(arr, ctx.settings).distinct().array())
+        .add1("null", () => null)
+        .build();
+    DefaultFunctions.map = new FunctionBuilder("map")
+        .add2("array", "function", (arr, f, ctx) => arr.map(v => f(ctx, v)))
+        .add2("null", "*", () => null)
+        .build();
+    DefaultFunctions.nonnull = new FunctionBuilder("nonnull")
+        .add1("array", arr => arr.filter(v => Values.typeOf(v) != "null"))
+        .vararg((_ctx, ...args) => args.filter(v => Values.typeOf(v) != "null"))
+        .build();
+    /** Gets an object containing a link's own properties */
+    DefaultFunctions.meta = new FunctionBuilder("meta")
+        .add1("link", link => ({
+        display: link.display ?? null,
+        embed: link.embed,
+        path: link.path,
+        subpath: link.subpath ?? null,
+        type: link.type,
+    }))
+        .build();
+    // Concatenates sub-array elements into a new array
+    DefaultFunctions.flat = new FunctionBuilder("flat")
+        .add1("array", a => {
+        return a.flat();
+    })
+        .add2("array", "number", (a, n) => {
+        // @ts-ignore
+        return a.flat(n);
+    })
+        .add1("null", () => null)
+        .build();
+    // Slices the array into a new array
+    DefaultFunctions.slice = new FunctionBuilder("slice")
+        .add1("array", a => {
+        return a.slice();
+    })
+        .add2("array", "number", (a, start) => {
+        return a.slice(start);
+    })
+        .add3("array", "number", "number", (a, start, end) => {
+        return a.slice(start, end);
+    })
+        .add1("null", () => null)
+        .build();
+})(DefaultFunctions || (DefaultFunctions = {}));
+/** Default function implementations for the expression evaluator. */
+// Keep functions in same order as they're documented !!
+const DEFAULT_FUNCTIONS = {
+    // Constructors
+    object: DefaultFunctions.object,
+    list: DefaultFunctions.list,
+    array: DefaultFunctions.list,
+    date: DefaultFunctions.date,
+    dur: DefaultFunctions.dur,
+    number: DefaultFunctions.number,
+    string: DefaultFunctions.string,
+    link: DefaultFunctions.link,
+    embed: DefaultFunctions.embed,
+    elink: DefaultFunctions.elink,
+    typeof: DefaultFunctions.typeOf,
+    // Numeric Operations
+    round: DefaultFunctions.round,
+    trunc: DefaultFunctions.trunc,
+    floor: DefaultFunctions.floor,
+    ceil: DefaultFunctions.ceil,
+    min: DefaultFunctions.min,
+    max: DefaultFunctions.max,
+    sum: DefaultFunctions.sum,
+    product: DefaultFunctions.product,
+    average: DefaultFunctions.average,
+    minby: DefaultFunctions.minby,
+    maxby: DefaultFunctions.maxby,
+    // Object, Arrays, and String operations
+    contains: DefaultFunctions.contains,
+    icontains: DefaultFunctions.icontains,
+    econtains: DefaultFunctions.econtains,
+    containsword: DefaultFunctions.containsword,
+    extract: DefaultFunctions.extract,
+    sort: DefaultFunctions.sort,
+    reverse: DefaultFunctions.reverse,
+    length: DefaultFunctions.length,
+    nonnull: DefaultFunctions.nonnull,
+    all: DefaultFunctions.all,
+    any: DefaultFunctions.any,
+    none: DefaultFunctions.none,
+    join: DefaultFunctions.join,
+    filter: DefaultFunctions.filter,
+    map: DefaultFunctions.map,
+    flat: DefaultFunctions.flat,
+    slice: DefaultFunctions.slice,
+    unique: DefaultFunctions.unique,
+    reduce: DefaultFunctions.reduce,
+    // String Operations
+    regextest: DefaultFunctions.regextest,
+    regexmatch: DefaultFunctions.regexmatch,
+    regexreplace: DefaultFunctions.regexreplace,
+    replace: DefaultFunctions.replace,
+    lower: DefaultFunctions.lower,
+    upper: DefaultFunctions.upper,
+    split: DefaultFunctions.split,
+    startswith: DefaultFunctions.startswith,
+    endswith: DefaultFunctions.endswith,
+    padleft: DefaultFunctions.padleft,
+    padright: DefaultFunctions.padright,
+    substring: DefaultFunctions.substring,
+    truncate: DefaultFunctions.truncate,
+    // Utility Operations
+    default: DefaultFunctions.fdefault,
+    ldefault: DefaultFunctions.ldefault,
+    choice: DefaultFunctions.choice,
+    striptime: DefaultFunctions.striptime,
+    dateformat: DefaultFunctions.dateformat,
+    durationformat: DefaultFunctions.durationformat,
+    currencyformat: DefaultFunctions.currencyformat,
+    localtime: DefaultFunctions.localtime,
+    hash: DefaultFunctions.hash,
+    meta: DefaultFunctions.meta,
+};
+
+/** Provides a global dispatch table for evaluating binary operators, including comparison. */
+/** Provides implementations for binary operators on two types using a registry. */
+class BinaryOpHandler {
+    map;
+    static create() {
+        return new BinaryOpHandler();
+    }
+    constructor() {
+        this.map = new Map();
+    }
+    register(left, op, right, func) {
+        this.map.set(BinaryOpHandler.repr(op, left, right), func);
+        return this;
+    }
+    registerComm(left, op, right, func) {
+        return this.register(left, op, right, func).register(right, op, left, (a, b, ctx) => func(b, a, ctx));
+    }
+    /** Implement a comparison function. */
+    compare(type, compare) {
+        return this.register(type, "<", type, (a, b, ctx) => compare(a, b, ctx) < 0)
+            .register(type, "<=", type, (a, b, ctx) => compare(a, b, ctx) <= 0)
+            .register(type, ">", type, (a, b, ctx) => compare(a, b, ctx) > 0)
+            .register(type, ">=", type, (a, b, ctx) => compare(a, b, ctx) >= 0)
+            .register(type, "=", type, (a, b, ctx) => compare(a, b, ctx) == 0)
+            .register(type, "!=", type, (a, b, ctx) => compare(a, b, ctx) != 0);
+    }
+    /** Attempt to evaluate the given binary operator on the two literal fields. */
+    evaluate(op, left, right, ctx) {
+        let leftType = Values.typeOf(left);
+        let rightType = Values.typeOf(right);
+        if (!leftType)
+            return Result.failure(`Unrecognized value '${left}'`);
+        else if (!rightType)
+            return Result.failure(`Unrecognized value '${right}'`);
+        let handler = this.map.get(BinaryOpHandler.repr(op, leftType, rightType));
+        if (handler)
+            return Result.success(handler(left, right, ctx));
+        // Right-'*' fallback:
+        let handler2 = this.map.get(BinaryOpHandler.repr(op, leftType, "*"));
+        if (handler2)
+            return Result.success(handler2(left, right, ctx));
+        // Left-'*' fallback:
+        let handler3 = this.map.get(BinaryOpHandler.repr(op, "*", rightType));
+        if (handler3)
+            return Result.success(handler3(left, right, ctx));
+        // Double '*' fallback.
+        let handler4 = this.map.get(BinaryOpHandler.repr(op, "*", "*"));
+        if (handler4)
+            return Result.success(handler4(left, right, ctx));
+        return Result.failure(`No implementation found for '${leftType} ${op} ${rightType}'`);
+    }
+    /** Create a string representation of the given triplet for unique lookup in the map. */
+    static repr(op, left, right) {
+        return `${left},${op},${right}`;
+    }
+}
+/** Configure and create a binary OP handler with the given parameters. */
+function createBinaryOps(linkNormalizer) {
+    return (BinaryOpHandler.create()
+        // TODO: Consider not using a universal comparison function.
+        .compare("*", (a, b) => Values.compareValue(a, b, linkNormalizer))
+        // Global boolean operations.
+        .register("*", "&", "*", (a, b) => Values.isTruthy(a) && Values.isTruthy(b))
+        .register("*", "|", "*", (a, b) => Values.isTruthy(a) || Values.isTruthy(b))
+        // Number implementations.
+        .register("number", "+", "number", (a, b) => a + b)
+        .register("number", "-", "number", (a, b) => a - b)
+        .register("number", "*", "number", (a, b) => a * b)
+        .register("number", "/", "number", (a, b) => a / b)
+        .register("number", "%", "number", (a, b) => a % b)
+        // String implementations.
+        .register("string", "+", "*", (a, b, ctx) => a + Values.toString(b, ctx.settings))
+        .register("*", "+", "string", (a, b, ctx) => Values.toString(a, ctx.settings) + b)
+        .registerComm("string", "*", "number", (a, b) => (b < 0 ? "" : a.repeat(b)))
+        // Date Operations.
+        .register("date", "-", "date", (a, b) => {
+        return normalizeDuration(a.diff(b, ["years", "months", "days", "hours", "minutes", "seconds", "milliseconds"]));
+    })
+        .register("date", "-", "duration", (a, b) => a.minus(b))
+        .registerComm("date", "+", "duration", (a, b) => a.plus(b))
+        // Duration Operations.
+        .register("duration", "+", "duration", (a, b) => normalizeDuration(a.plus(b)))
+        .register("duration", "-", "duration", (a, b) => normalizeDuration(a.minus(b)))
+        .register("duration", "/", "number", (a, b) => normalizeDuration(a.mapUnits(x => x / b)))
+        .registerComm("duration", "*", "number", (a, b) => normalizeDuration(a.mapUnits(x => x * b)))
+        // Array operations.
+        .register("array", "+", "array", (a, b) => [].concat(a).concat(b))
+        // Object operations.
+        .register("object", "+", "object", (a, b) => Object.assign({}, a, b))
+        // Null handling operators.
+        .register("null", "+", "null", (_a, _b) => null)
+        .register("null", "-", "null", (_a, _b) => null)
+        .register("null", "*", "null", (_a, _b) => null)
+        .register("null", "/", "null", (_a, _b) => null)
+        .register("null", "%", "null", (_a, _b) => null)
+        .register("date", "+", "null", (_a, _b) => null)
+        .register("null", "+", "date", (_a, _b) => null)
+        .register("date", "-", "null", (_a, _b) => null)
+        .register("null", "-", "date", (_a, _b) => null));
+}
+
+/** Core implementation of the query language evaluation engine. */
+/**
+ * Evaluation context that expressions can be evaluated in. Includes global state, as well as available functions and a handler
+ * for binary operators.
+ */
+class Context {
+    linkHandler;
+    settings;
+    globals;
+    binaryOps;
+    functions;
+    /**
+     * Create a new context with the given namespace of globals, as well as optionally with custom binary operator, function,
+     * and link handlers.
+     */
+    constructor(linkHandler, settings, globals = {}, binaryOps = createBinaryOps(linkHandler.normalize), functions = DEFAULT_FUNCTIONS) {
+        this.linkHandler = linkHandler;
+        this.settings = settings;
+        this.globals = globals;
+        this.binaryOps = binaryOps;
+        this.functions = functions;
+    }
+    /** Set a global value in this context. */
+    set(name, value) {
+        this.globals[name] = value;
+        return this;
+    }
+    /** Get the value of a global variable by name. Returns null if not present. */
+    get(name) {
+        return this.globals[name] ?? null;
+    }
+    /** Try to evaluate an arbitrary field in this context, raising an exception on failure. */
+    tryEvaluate(field, data = {}) {
+        return this.evaluate(field, data).orElseThrow();
+    }
+    /** Evaluate an arbitrary field in this context. */
+    evaluate(field, data = {}) {
+        switch (field.type) {
+            case "literal":
+                return Result.success(field.value);
+            case "variable":
+                if (field.name in data)
+                    return Result.success(data[field.name]);
+                else if (field.name in this.globals)
+                    return Result.success(this.globals[field.name]);
+                else
+                    return Result.success(null);
+            case "negated":
+                return this.evaluate(field.child, data).map(s => !Values.isTruthy(s));
+            case "binaryop":
+                return Result.flatMap2(this.evaluate(field.left, data), this.evaluate(field.right, data), (a, b) => this.binaryOps.evaluate(field.op, a, b, this));
+            case "list":
+                let result = [];
+                for (let child of field.values) {
+                    let subeval = this.evaluate(child, data);
+                    if (!subeval.successful)
+                        return subeval;
+                    result.push(subeval.value);
+                }
+                return Result.success(result);
+            case "object":
+                let objResult = {};
+                for (let [key, child] of Object.entries(field.values)) {
+                    let subeval = this.evaluate(child, data);
+                    if (!subeval.successful)
+                        return subeval;
+                    objResult[key] = subeval.value;
+                }
+                return Result.success(objResult);
+            case "lambda":
+                // Just relying on JS to capture 'data' for us implicitly; unsure
+                // if this is correct thing to do. Could cause weird behaviors.
+                return Result.success((ctx, ...args) => {
+                    let copy = Object.assign({}, data);
+                    for (let arg = 0; arg < Math.min(args.length, field.arguments.length); arg++) {
+                        copy[field.arguments[arg]] = args[arg];
+                    }
+                    return ctx.evaluate(field.value, copy).orElseThrow();
+                });
+            case "function":
+                let rawFunc = field.func.type == "variable"
+                    ? Result.success(field.func.name)
+                    : this.evaluate(field.func, data);
+                if (!rawFunc.successful)
+                    return rawFunc;
+                let func = rawFunc.value;
+                let args = [];
+                for (let arg of field.arguments) {
+                    let resolved = this.evaluate(arg, data);
+                    if (!resolved.successful)
+                        return resolved;
+                    args.push(resolved.value);
+                }
+                let call;
+                if (Values.isFunction(func))
+                    call = func;
+                else if (Values.isString(func) && func in this.functions)
+                    call = this.functions[func];
+                else if (Values.isString(func))
+                    return Result.failure(`Unrecognized function name '${func}'`);
+                else
+                    return Result.failure(`Cannot call type '${Values.typeOf(func)}' as a function`);
+                try {
+                    return Result.success(call(this, ...args));
+                }
+                catch (e) {
+                    return Result.failure(e.message);
+                }
+            case "index":
+                // TODO: Will move this out to an 'primitives' module and add more content to it.
+                let literalIndex = this.evaluate(field.index, data);
+                let checkedIndex = literalIndex.flatMap(s => Values.isString(s) || Values.isNumber(s) || Values.isNull(s)
+                    ? Result.success(s)
+                    : Result.failure("Can only index with a string or number"));
+                if (!checkedIndex.successful)
+                    return checkedIndex;
+                let index = checkedIndex.value;
+                if (Values.isNull(index))
+                    return Result.success(null);
+                let checkedObject = field.object.type == "variable" && field.object.name == "row"
+                    ? Result.success(Object.assign({}, this.globals, data))
+                    : this.evaluate(field.object, data);
+                if (!checkedObject.successful)
+                    return checkedObject;
+                let object = Values.wrapValue(checkedObject.value);
+                if (!object)
+                    return Result.failure("Unrecognized object to index into: " + object);
+                switch (object.type) {
+                    case "object":
+                        if (!Values.isString(index))
+                            return Result.failure('can only index into objects with strings (a.b or a["b"])');
+                        return Result.success(object.value[index] ?? null);
+                    case "link":
+                        if (!Values.isString(index))
+                            return Result.failure('can only index into links with strings (a.b or a["b"])');
+                        let linkValue = this.linkHandler.resolve(object.value.path);
+                        if (Values.isNull(linkValue))
+                            return Result.success(null);
+                        return Result.success(linkValue[index] ?? null);
+                    case "array":
+                        if (Values.isNumber(index)) {
+                            if (index >= object.value.length || index < 0)
+                                return Result.success(null);
+                            else
+                                return Result.success(object.value[index]);
+                        }
+                        else if (Values.isString(index)) {
+                            let result = [];
+                            for (let value of object.value) {
+                                let next = this.evaluate(Fields.index(Fields.literal(value), Fields.literal(index)));
+                                if (!next.successful)
+                                    continue;
+                                result.push(next.value);
+                            }
+                            return Result.success(result);
+                        }
+                        else {
+                            return Result.failure("Array indexing requires either a number (to get a specific element), or a string (to map all elements inside the array)");
+                        }
+                    case "string":
+                        if (!Values.isNumber(index))
+                            return Result.failure("string indexing requires a numeric index (string[index])");
+                        if (index >= object.value.length || index < 0)
+                            return Result.success(null);
+                        return Result.success(object.value[index]);
+                    case "date":
+                        if (!Values.isString(index))
+                            return Result.failure("date indexing requires a string representing the unit");
+                        switch (index) {
+                            case "year":
+                                return Result.success(object.value.year);
+                            case "month":
+                                return Result.success(object.value.month);
+                            case "weekyear":
+                                return Result.success(object.value.weekNumber);
+                            case "week":
+                                return Result.success(Math.floor(object.value.day / 7) + 1);
+                            case "weekday":
+                                return Result.success(object.value.weekday);
+                            case "day":
+                                return Result.success(object.value.day);
+                            case "hour":
+                                return Result.success(object.value.hour);
+                            case "minute":
+                                return Result.success(object.value.minute);
+                            case "second":
+                                return Result.success(object.value.second);
+                            case "millisecond":
+                                return Result.success(object.value.millisecond);
+                            default:
+                                return Result.success(null);
+                        }
+                    case "duration":
+                        if (!Values.isString(index))
+                            return Result.failure("duration indexing requires a string representing the unit");
+                        switch (index) {
+                            case "year":
+                            case "years":
+                                return Result.success(object.value.shiftTo("years").years);
+                            case "month":
+                            case "months":
+                                return Result.success(object.value.shiftTo("months").months);
+                            case "weeks":
+                                return Result.success(object.value.shiftTo("weeks").weeks);
+                            case "day":
+                            case "days":
+                                return Result.success(object.value.shiftTo("days").days);
+                            case "hour":
+                            case "hours":
+                                return Result.success(object.value.shiftTo("hours").hours);
+                            case "minute":
+                            case "minutes":
+                                return Result.success(object.value.shiftTo("minutes").minutes);
+                            case "second":
+                            case "seconds":
+                                return Result.success(object.value.shiftTo("seconds").seconds);
+                            case "millisecond":
+                            case "milliseconds":
+                                return Result.success(object.value.shiftTo("milliseconds").milliseconds);
+                            default:
+                                return Result.success(null);
+                        }
+                    default:
+                        return Result.success(null);
+                }
+        }
+    }
+}
+
+function iden(x) {
+    return x;
+}
+/** Shared execution code which just takes in arbitrary data, runs operations over it, and returns it + per-row errors. */
+function executeCore(rows, context, ops) {
+    let diagnostics = [];
+    let identMeaning = { type: "path" };
+    let startTime = Date.now();
+    for (let op of ops) {
+        let opStartTime = Date.now();
+        let incomingRows = rows.length;
+        let errors = [];
+        switch (op.type) {
+            case "where":
+                let whereResult = [];
+                for (let index = 0; index < rows.length; index++) {
+                    let row = rows[index];
+                    let value = context.evaluate(op.clause, row.data);
+                    if (!value.successful)
+                        errors.push({ index, message: value.error });
+                    else if (Values.isTruthy(value.value))
+                        whereResult.push(row);
+                }
+                rows = whereResult;
+                break;
+            case "sort":
+                let sortFields = op.fields;
+                let taggedData = [];
+                outer: for (let index = 0; index < rows.length; index++) {
+                    let row = rows[index];
+                    let rowSorts = [];
+                    for (let sIndex = 0; sIndex < sortFields.length; sIndex++) {
+                        let value = context.evaluate(sortFields[sIndex].field, row.data);
+                        if (!value.successful) {
+                            errors.push({ index, message: value.error });
+                            continue outer;
+                        }
+                        rowSorts.push(value.value);
+                    }
+                    taggedData.push({ data: row, fields: rowSorts });
+                }
+                // Sort rows by the sort fields, and then return the finished result.
+                taggedData.sort((a, b) => {
+                    for (let index = 0; index < sortFields.length; index++) {
+                        let factor = sortFields[index].direction === "ascending" ? 1 : -1;
+                        let le = context.binaryOps
+                            .evaluate("<", a.fields[index], b.fields[index], context)
+                            .orElse(false);
+                        if (Values.isTruthy(le))
+                            return factor * -1;
+                        let ge = context.binaryOps
+                            .evaluate(">", a.fields[index], b.fields[index], context)
+                            .orElse(false);
+                        if (Values.isTruthy(ge))
+                            return factor * 1;
+                    }
+                    return 0;
+                });
+                rows = taggedData.map(v => v.data);
+                break;
+            case "limit":
+                let limiting = context.evaluate(op.amount);
+                if (!limiting.successful)
+                    return Result.failure("Failed to execute 'limit' statement: " + limiting.error);
+                if (!Values.isNumber(limiting.value))
+                    return Result.failure(`Failed to execute 'limit' statement: limit should be a number, but got '${Values.typeOf(limiting.value)}' (${limiting.value})`);
+                rows = rows.slice(0, limiting.value);
+                break;
+            case "group":
+                let groupData = [];
+                for (let index = 0; index < rows.length; index++) {
+                    let value = context.evaluate(op.field.field, rows[index].data);
+                    if (!value.successful) {
+                        errors.push({ index, message: value.error });
+                        continue;
+                    }
+                    groupData.push({ data: rows[index], key: value.value });
+                }
+                // Sort by the key, which we will group on shortly.
+                groupData.sort((a, b) => {
+                    let le = context.binaryOps.evaluate("<", a.key, b.key, context).orElse(false);
+                    if (Values.isTruthy(le))
+                        return -1;
+                    let ge = context.binaryOps.evaluate(">", a.key, b.key, context).orElse(false);
+                    if (Values.isTruthy(ge))
+                        return 1;
+                    return 0;
+                });
+                // Then walk through and find fields that are equal.
+                let finalGroupData = [];
+                if (groupData.length > 0)
+                    finalGroupData.push({
+                        key: groupData[0].key,
+                        rows: [groupData[0].data.data],
+                        [op.field.name]: groupData[0].key,
+                    });
+                for (let index = 1; index < groupData.length; index++) {
+                    let curr = groupData[index], prev = groupData[index - 1];
+                    if (context.binaryOps.evaluate("=", curr.key, prev.key, context).orElse(false)) {
+                        finalGroupData[finalGroupData.length - 1].rows.push(curr.data.data);
+                    }
+                    else {
+                        finalGroupData.push({
+                            key: curr.key,
+                            rows: [curr.data.data],
+                            [op.field.name]: curr.key,
+                        });
+                    }
+                }
+                rows = finalGroupData.map(d => {
+                    return { id: d.key, data: d };
+                });
+                identMeaning = { type: "group", name: op.field.name, on: identMeaning };
+                break;
+            case "flatten":
+                let flattenResult = [];
+                for (let index = 0; index < rows.length; index++) {
+                    let row = rows[index];
+                    let value = context.evaluate(op.field.field, row.data);
+                    if (!value.successful) {
+                        errors.push({ index, message: value.error });
+                        continue;
+                    }
+                    let datapoints = Values.isArray(value.value) ? value.value : [value.value];
+                    for (let v of datapoints) {
+                        let copy = Values.deepCopy(row);
+                        copy.data[op.field.name] = v;
+                        flattenResult.push(copy);
+                    }
+                }
+                rows = flattenResult;
+                if (identMeaning.type == "group" && identMeaning.name == op.field.name)
+                    identMeaning = identMeaning.on;
+                break;
+            default:
+                return Result.failure("Unrecognized query operation '" + op.type + "'");
+        }
+        if (errors.length >= incomingRows && incomingRows > 0) {
+            return Result.failure(`Every row during operation '${op.type}' failed with an error; first ${Math.min(3, errors.length)}:\n
+                ${errors
+                .slice(0, 3)
+                .map(d => "- " + d.message)
+                .join("\n")}`);
+        }
+        diagnostics.push({
+            incomingRows,
+            errors,
+            outgoingRows: rows.length,
+            timeMs: Date.now() - opStartTime,
+        });
+    }
+    return Result.success({
+        data: rows,
+        idMeaning: identMeaning,
+        ops,
+        diagnostics,
+        timeMs: Date.now() - startTime,
+    });
+}
+/** Expanded version of executeCore which adds an additional "extraction" step to the pipeline. */
+function executeCoreExtract(rows, context, ops, fields) {
+    let internal = executeCore(rows, context, ops);
+    if (!internal.successful)
+        return internal;
+    let core = internal.value;
+    let startTime = Date.now();
+    let errors = [];
+    let res = [];
+    outer: for (let index = 0; index < core.data.length; index++) {
+        let page = { id: core.data[index].id, data: {} };
+        for (let [name, field] of Object.entries(fields)) {
+            let value = context.evaluate(field, core.data[index].data);
+            if (!value.successful) {
+                errors.push({ index: index, message: value.error });
+                continue outer;
+            }
+            page.data[name] = value.value;
+        }
+        res.push(page);
+    }
+    if (errors.length >= core.data.length && core.data.length > 0) {
+        return Result.failure(`Every row during final data extraction failed with an error; first ${Math.max(errors.length, 3)}:\n
+            ${errors
+            .slice(0, 3)
+            .map(d => "- " + d.message)
+            .join("\n")}`);
+    }
+    let execTime = Date.now() - startTime;
+    return Result.success({
+        data: res,
+        idMeaning: core.idMeaning,
+        diagnostics: core.diagnostics.concat([
+            {
+                timeMs: execTime,
+                incomingRows: core.data.length,
+                outgoingRows: res.length,
+                errors,
+            },
+        ]),
+        ops: core.ops.concat([{ type: "extract", fields }]),
+        timeMs: core.timeMs + execTime,
+    });
+}
+/** Execute a list-based query, returning the final results. */
+async function executeList(query, index, origin, settings) {
+    // Start by collecting all of the files that match the 'from' queries.
+    let fileset = await resolveSource(query.source, index, origin);
+    if (!fileset.successful)
+        return Result.failure(fileset.error);
+    // Extract information about the origin page to add to the root context.
+    let rootContext = new Context(defaultLinkHandler(index, origin), settings, {
+        this: index.pages.get(origin)?.serialize(index) ?? {},
+    });
+    let targetField = query.header.format;
+    let showId = query.header.showId;
+    let fields = targetField ? { target: targetField } : {};
+    return executeCoreExtract(fileset.value, rootContext, query.operations, fields).map(core => {
+        let data;
+        if (showId && targetField) {
+            data = core.data.map(p => Widgets.listPair(p.id, p.data["target"] ?? null));
+        }
+        else if (targetField) {
+            data = core.data.map(p => p.data["target"] ?? null);
+        }
+        else {
+            data = core.data.map(p => p.id);
+        }
+        return { primaryMeaning: core.idMeaning, core, data };
+    });
+}
+/** Execute a table query. */
+async function executeTable(query, index, origin, settings) {
+    // Start by collecting all of the files that match the 'from' queries.
+    let fileset = await resolveSource(query.source, index, origin);
+    if (!fileset.successful)
+        return Result.failure(fileset.error);
+    // Extract information about the origin page to add to the root context.
+    let rootContext = new Context(defaultLinkHandler(index, origin), settings, {
+        this: index.pages.get(origin)?.serialize(index) ?? {},
+    });
+    let targetFields = query.header.fields;
+    let showId = query.header.showId;
+    let fields = {};
+    for (let field of targetFields)
+        fields[field.name] = field.field;
+    return executeCoreExtract(fileset.value, rootContext, query.operations, fields).map(core => {
+        if (showId) {
+            const idName = core.idMeaning.type === "group" ? core.idMeaning.name : settings.tableIdColumnName;
+            let names = [idName].concat(targetFields.map(f => f.name));
+            let data = core.data.map(p => [p.id].concat(targetFields.map(f => p.data[f.name])));
+            return { core, names, data, idMeaning: core.idMeaning };
+        }
+        else {
+            let names = targetFields.map(f => f.name);
+            let data = core.data.map(p => targetFields.map(f => p.data[f.name]));
+            return { core, names, data, idMeaning: core.idMeaning };
+        }
+    });
+}
+/** Maps a raw core execution result to a task grouping which is much easier to render. */
+function extractTaskGroupings(id, rows) {
+    switch (id.type) {
+        case "path":
+            return rows;
+        case "group":
+            let key = id.name;
+            return rows.map(r => iden({
+                key: r[key],
+                rows: extractTaskGroupings(id.on, r.rows),
+            }));
+    }
+}
+/** Execute a task query, returning all matching tasks. */
+async function executeTask(query, origin, index, settings) {
+    let fileset = matchingSourcePaths(query.source, index, origin);
+    if (!fileset.successful)
+        return Result.failure(fileset.error);
+    // Collect tasks from pages which match.
+    let incomingTasks = [];
+    for (let path of fileset.value) {
+        let page = index.pages.get(path);
+        if (!page)
+            continue;
+        let pageData = page.serialize(index);
+        let pageTasks = pageData.file.tasks.map(t => {
+            const tcopy = Values.deepCopy(t);
+            // Add page data to this copy.
+            for (let [key, value] of Object.entries(pageData)) {
+                if (key in tcopy)
+                    continue;
+                tcopy[key] = value;
+            }
+            return { id: `${pageData.path}#${t.line}`, data: tcopy };
+        });
+        for (let task of pageTasks)
+            incomingTasks.push(task);
+    }
+    // Extract information about the origin page to add to the root context.
+    let rootContext = new Context(defaultLinkHandler(index, origin), settings, {
+        this: index.pages.get(origin)?.serialize(index) ?? {},
+    });
+    return executeCore(incomingTasks, rootContext, query.operations).map(core => {
+        return {
+            core,
+            tasks: extractTaskGroupings(core.idMeaning, core.data.map(r => r.data)),
+        };
+    });
+}
+/** Execute a single field inline a file, returning the evaluated result. */
+function executeInline(field, origin, index, settings) {
+    return new Context(defaultLinkHandler(index, origin), settings, {
+        this: index.pages.get(origin)?.serialize(index) ?? {},
+    }).evaluate(field);
+}
+/** The default link resolver used when creating contexts. */
+function defaultLinkHandler(index, origin) {
+    return {
+        resolve: link => {
+            let realFile = index.metadataCache.getFirstLinkpathDest(link, origin);
+            if (!realFile)
+                return null;
+            let realPage = index.pages.get(realFile.path);
+            if (!realPage)
+                return null;
+            return realPage.serialize(index);
+        },
+        normalize: link => {
+            let realFile = index.metadataCache.getFirstLinkpathDest(link, origin);
+            return realFile?.path ?? link;
+        },
+        exists: link => {
+            let realFile = index.metadataCache.getFirstLinkpathDest(link, origin);
+            return !!realFile;
+        },
+    };
+}
+/** Execute a calendar-based query, returning the final results. */
+async function executeCalendar(query, index, origin, settings) {
+    // Start by collecting all of the files that match the 'from' queries.
+    let fileset = await resolveSource(query.source, index, origin);
+    if (!fileset.successful)
+        return Result.failure(fileset.error);
+    // Extract information about the origin page to add to the root context.
+    let rootContext = new Context(defaultLinkHandler(index, origin), settings, {
+        this: index.pages.get(origin)?.serialize(index) ?? {},
+    });
+    let targetField = query.header.field.field;
+    let fields = {
+        target: targetField,
+        link: Fields.indexVariable("file.link"),
+    };
+    return executeCoreExtract(fileset.value, rootContext, query.operations, fields).map(core => {
+        let data = core.data.map(p => iden({
+            date: p.data["target"],
+            link: p.data["link"],
+        }));
+        return { core, data };
+    });
+}
+
+function compareVersions(v1, v2) {
+  // validate input and split into segments
+  const n1 = validateAndParse(v1);
+  const n2 = validateAndParse(v2);
+
+  // pop off the patch
+  const p1 = n1.pop();
+  const p2 = n2.pop();
+
+  // validate numbers
+  const r = compareSegments(n1, n2);
+  if (r !== 0) return r;
+
+  // validate pre-release
+  if (p1 && p2) {
+    return compareSegments(p1.split('.'), p2.split('.'));
+  } else if (p1 || p2) {
+    return p1 ? -1 : 1;
+  }
+
+  return 0;
+}
+
+const validate = (v) =>
+  typeof v === 'string' && /^[v\d]/.test(v) && semver.test(v);
+
+const compare = (v1, v2, operator) => {
+  // validate input operator
+  assertValidOperator(operator);
+
+  // since result of compareVersions can only be -1 or 0 or 1
+  // a simple map can be used to replace switch
+  const res = compareVersions(v1, v2);
+
+  return operatorResMap[operator].includes(res);
+};
+
+const satisfies = (v, r) => {
+  // if no range operator then "="
+  const m = r.match(/^([<>=~^]+)/);
+  const op = m ? m[1] : '=';
+
+  // if gt/lt/eq then operator compare
+  if (op !== '^' && op !== '~') return compare(v, r, op);
+
+  // else range of either "~" or "^" is assumed
+  const [v1, v2, v3] = validateAndParse(v);
+  const [r1, r2, r3] = validateAndParse(r);
+  if (compareStrings(v1, r1) !== 0) return false;
+  if (op === '^') {
+    return compareSegments([v2, v3], [r2, r3]) >= 0;
+  }
+  if (compareStrings(v2, r2) !== 0) return false;
+  return compareStrings(v3, r3) >= 0;
+};
+
+// export CJS style for parity
+compareVersions.validate = validate;
+compareVersions.compare = compare;
+compareVersions.satisfies = satisfies;
+
+const semver =
+  /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;
+
+const validateAndParse = (v) => {
+  if (typeof v !== 'string') {
+    throw new TypeError('Invalid argument expected string');
+  }
+  const match = v.match(semver);
+  if (!match) {
+    throw new Error(`Invalid argument not valid semver ('${v}' received)`);
+  }
+  match.shift();
+  return match;
+};
+
+const isWildcard = (s) => s === '*' || s === 'x' || s === 'X';
+
+const tryParse = (v) => {
+  const n = parseInt(v, 10);
+  return isNaN(n) ? v : n;
+};
+
+const forceType = (a, b) =>
+  typeof a !== typeof b ? [String(a), String(b)] : [a, b];
+
+const compareStrings = (a, b) => {
+  if (isWildcard(a) || isWildcard(b)) return 0;
+  const [ap, bp] = forceType(tryParse(a), tryParse(b));
+  if (ap > bp) return 1;
+  if (ap < bp) return -1;
+  return 0;
+};
+
+const compareSegments = (a, b) => {
+  for (let i = 0; i < Math.max(a.length, b.length); i++) {
+    const r = compareStrings(a[i] || 0, b[i] || 0);
+    if (r !== 0) return r;
+  }
+  return 0;
+};
+
+const operatorResMap = {
+  '>': [1],
+  '>=': [0, 1],
+  '=': [0],
+  '<=': [-1, 0],
+  '<': [-1],
+};
+
+const allowedOperators = Object.keys(operatorResMap);
+
+const assertValidOperator = (op) => {
+  if (typeof op !== 'string') {
+    throw new TypeError(
+      `Invalid operator type, expected string but got ${typeof op}`
+    );
+  }
+  if (allowedOperators.indexOf(op) === -1) {
+    throw new Error(
+      `Invalid operator, expected one of ${allowedOperators.join('|')}`
+    );
+  }
+};
+
+var n,l$1,u$1,i$1,o$1,r$1,f$1,e$1,c$1={},s$1=[],a$1=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,h$1=Array.isArray;function v$1(n,l){for(var u in l)n[u]=l[u];return n}function p$1(n){var l=n.parentNode;l&&l.removeChild(n);}function y$1(l,u,t){var i,o,r,f={};for(r in u)"key"==r?i=u[r]:"ref"==r?o=u[r]:f[r]=u[r];if(arguments.length>2&&(f.children=arguments.length>3?n.call(arguments,2):t),"function"==typeof l&&null!=l.defaultProps)for(r in l.defaultProps)void 0===f[r]&&(f[r]=l.defaultProps[r]);return d$1(l,f,i,o,null)}function d$1(n,t,i,o,r){var f={type:n,props:t,key:i,ref:o,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==r?++u$1:r};return null==r&&null!=l$1.vnode&&l$1.vnode(f),f}function _$1(){return {current:null}}function k$2(n){return n.children}function b$1(n,l){this.props=n,this.context=l;}function g$2(n,l){if(null==l)return n.__?g$2(n.__,n.__.__k.indexOf(n)+1):null;for(var u;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e)return u.__e;return "function"==typeof n.type?g$2(n):null}function m$1(n){var l,u;if(null!=(n=n.__)&&null!=n.__c){for(n.__e=n.__c.base=null,l=0;l<n.__k.length;l++)if(null!=(u=n.__k[l])&&null!=u.__e){n.__e=n.__c.base=u.__e;break}return m$1(n)}}function w$2(n){(!n.__d&&(n.__d=!0)&&i$1.push(n)&&!x$2.__r++||o$1!==l$1.debounceRendering)&&((o$1=l$1.debounceRendering)||r$1)(x$2);}function x$2(){var n,l,u,t,o,r,e,c,s;for(i$1.sort(f$1);n=i$1.shift();)n.__d&&(l=i$1.length,t=void 0,o=void 0,r=void 0,c=(e=(u=n).__v).__e,(s=u.__P)&&(t=[],o=[],(r=v$1({},e)).__v=e.__v+1,L$1(s,e,r,u.__n,void 0!==s.ownerSVGElement,null!=e.__h?[c]:null,t,null==c?g$2(e):c,e.__h,o),M$1(t,e,o),e.__e!=c&&m$1(e)),i$1.length>l&&i$1.sort(f$1));x$2.__r=0;}function P$1(n,l,u,t,i,o,r,f,e,a,v){var p,y,_,b,m,w,x,P,C,H=0,I=t&&t.__k||s$1,T=I.length,j=T,z=l.length;for(u.__k=[],p=0;p<z;p++)null!=(b=u.__k[p]=null==(b=l[p])||"boolean"==typeof b||"function"==typeof b?null:"string"==typeof b||"number"==typeof b||"bigint"==typeof b?d$1(null,b,null,null,b):h$1(b)?d$1(k$2,{children:b},null,null,null):b.__b>0?d$1(b.type,b.props,b.key,b.ref?b.ref:null,b.__v):b)?(b.__=u,b.__b=u.__b+1,-1===(P=A$2(b,I,x=p+H,j))?_=c$1:(_=I[P]||c$1,I[P]=void 0,j--),L$1(n,b,_,i,o,r,f,e,a,v),m=b.__e,(y=b.ref)&&_.ref!=y&&(_.ref&&O$1(_.ref,null,b),v.push(y,b.__c||m,b)),null!=m&&(null==w&&(w=m),(C=_===c$1||null===_.__v)?-1==P&&H--:P!==x&&(P===x+1?H++:P>x?j>z-x?H+=P-x:H--:H=P<x&&P==x-1?P-x:0),x=p+H,"function"!=typeof b.type||P===x&&_.__k!==b.__k?"function"==typeof b.type||P===x&&!C?void 0!==b.__d?(e=b.__d,b.__d=void 0):e=m.nextSibling:e=S(n,m,e):e=$$1(b,e,n),"function"==typeof u.type&&(u.__d=e))):(_=I[p])&&null==_.key&&_.__e&&(_.__e==e&&(e=g$2(_)),q$2(_,_,!1),I[p]=null);for(u.__e=w,p=T;p--;)null!=I[p]&&("function"==typeof u.type&&null!=I[p].__e&&I[p].__e==u.__d&&(u.__d=I[p].__e.nextSibling),q$2(I[p],I[p]));}function $$1(n,l,u){for(var t,i=n.__k,o=0;i&&o<i.length;o++)(t=i[o])&&(t.__=n,l="function"==typeof t.type?$$1(t,l,u):S(u,t.__e,l));return l}function C$1(n,l){return l=l||[],null==n||"boolean"==typeof n||(h$1(n)?n.some(function(n){C$1(n,l);}):l.push(n)),l}function S(n,l,u){return null==u||u.parentNode!==n?n.insertBefore(l,null):l==u&&null!=l.parentNode||n.insertBefore(l,u),l.nextSibling}function A$2(n,l,u,t){var i=n.key,o=n.type,r=u-1,f=u+1,e=l[u];if(null===e||e&&i==e.key&&o===e.type)return u;if(t>(null!=e?1:0))for(;r>=0||f<l.length;){if(r>=0){if((e=l[r])&&i==e.key&&o===e.type)return r;r--;}if(f<l.length){if((e=l[f])&&i==e.key&&o===e.type)return f;f++;}}return -1}function H$1(n,l,u,t,i){var o;for(o in u)"children"===o||"key"===o||o in l||T$2(n,o,null,u[o],t);for(o in l)i&&"function"!=typeof l[o]||"children"===o||"key"===o||"value"===o||"checked"===o||u[o]===l[o]||T$2(n,o,l[o],u[o],t);}function I$1(n,l,u){"-"===l[0]?n.setProperty(l,null==u?"":u):n[l]=null==u?"":"number"!=typeof u||a$1.test(l)?u:u+"px";}function T$2(n,l,u,t,i){var o;n:if("style"===l)if("string"==typeof u)n.style.cssText=u;else {if("string"==typeof t&&(n.style.cssText=t=""),t)for(l in t)u&&l in u||I$1(n.style,l,"");if(u)for(l in u)t&&u[l]===t[l]||I$1(n.style,l,u[l]);}else if("o"===l[0]&&"n"===l[1])o=l!==(l=l.replace(/(PointerCapture)$|Capture$/,"$1")),l=l.toLowerCase()in n?l.toLowerCase().slice(2):l.slice(2),n.l||(n.l={}),n.l[l+o]=u,u?t||n.addEventListener(l,o?z$2:j$2,o):n.removeEventListener(l,o?z$2:j$2,o);else if("dangerouslySetInnerHTML"!==l){if(i)l=l.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if("width"!==l&&"height"!==l&&"href"!==l&&"list"!==l&&"form"!==l&&"tabIndex"!==l&&"download"!==l&&"rowSpan"!==l&&"colSpan"!==l&&l in n)try{n[l]=null==u?"":u;break n}catch(n){}"function"==typeof u||(null==u||!1===u&&"-"!==l[4]?n.removeAttribute(l):n.setAttribute(l,u));}}function j$2(n){return this.l[n.type+!1](l$1.event?l$1.event(n):n)}function z$2(n){return this.l[n.type+!0](l$1.event?l$1.event(n):n)}function L$1(n,u,t,i,o,r,f,e,c,s){var a,p,y,d,_,g,m,w,x,$,C,S,A,H,I,T=u.type;if(void 0!==u.constructor)return null;null!=t.__h&&(c=t.__h,e=u.__e=t.__e,u.__h=null,r=[e]),(a=l$1.__b)&&a(u);n:if("function"==typeof T)try{if(w=u.props,x=(a=T.contextType)&&i[a.__c],$=a?x?x.props.value:a.__:i,t.__c?m=(p=u.__c=t.__c).__=p.__E:("prototype"in T&&T.prototype.render?u.__c=p=new T(w,$):(u.__c=p=new b$1(w,$),p.constructor=T,p.render=B$2),x&&x.sub(p),p.props=w,p.state||(p.state={}),p.context=$,p.__n=i,y=p.__d=!0,p.__h=[],p._sb=[]),null==p.__s&&(p.__s=p.state),null!=T.getDerivedStateFromProps&&(p.__s==p.state&&(p.__s=v$1({},p.__s)),v$1(p.__s,T.getDerivedStateFromProps(w,p.__s))),d=p.props,_=p.state,p.__v=u,y)null==T.getDerivedStateFromProps&&null!=p.componentWillMount&&p.componentWillMount(),null!=p.componentDidMount&&p.__h.push(p.componentDidMount);else {if(null==T.getDerivedStateFromProps&&w!==d&&null!=p.componentWillReceiveProps&&p.componentWillReceiveProps(w,$),!p.__e&&(null!=p.shouldComponentUpdate&&!1===p.shouldComponentUpdate(w,p.__s,$)||u.__v===t.__v)){for(u.__v!==t.__v&&(p.props=w,p.state=p.__s,p.__d=!1),u.__e=t.__e,u.__k=t.__k,u.__k.forEach(function(n){n&&(n.__=u);}),C=0;C<p._sb.length;C++)p.__h.push(p._sb[C]);p._sb=[],p.__h.length&&f.push(p);break n}null!=p.componentWillUpdate&&p.componentWillUpdate(w,p.__s,$),null!=p.componentDidUpdate&&p.__h.push(function(){p.componentDidUpdate(d,_,g);});}if(p.context=$,p.props=w,p.__P=n,p.__e=!1,S=l$1.__r,A=0,"prototype"in T&&T.prototype.render){for(p.state=p.__s,p.__d=!1,S&&S(u),a=p.render(p.props,p.state,p.context),H=0;H<p._sb.length;H++)p.__h.push(p._sb[H]);p._sb=[];}else do{p.__d=!1,S&&S(u),a=p.render(p.props,p.state,p.context),p.state=p.__s;}while(p.__d&&++A<25);p.state=p.__s,null!=p.getChildContext&&(i=v$1(v$1({},i),p.getChildContext())),y||null==p.getSnapshotBeforeUpdate||(g=p.getSnapshotBeforeUpdate(d,_)),P$1(n,h$1(I=null!=a&&a.type===k$2&&null==a.key?a.props.children:a)?I:[I],u,t,i,o,r,f,e,c,s),p.base=u.__e,u.__h=null,p.__h.length&&f.push(p),m&&(p.__E=p.__=null);}catch(n){u.__v=null,(c||null!=r)&&(u.__e=e,u.__h=!!c,r[r.indexOf(e)]=null),l$1.__e(n,u,t);}else null==r&&u.__v===t.__v?(u.__k=t.__k,u.__e=t.__e):u.__e=N$1(t.__e,u,t,i,o,r,f,c,s);(a=l$1.diffed)&&a(u);}function M$1(n,u,t){for(var i=0;i<t.length;i++)O$1(t[i],t[++i],t[++i]);l$1.__c&&l$1.__c(u,n),n.some(function(u){try{n=u.__h,u.__h=[],n.some(function(n){n.call(u);});}catch(n){l$1.__e(n,u.__v);}});}function N$1(l,u,t,i,o,r,f,e,s){var a,v,y,d=t.props,_=u.props,k=u.type,b=0;if("svg"===k&&(o=!0),null!=r)for(;b<r.length;b++)if((a=r[b])&&"setAttribute"in a==!!k&&(k?a.localName===k:3===a.nodeType)){l=a,r[b]=null;break}if(null==l){if(null===k)return document.createTextNode(_);l=o?document.createElementNS("http://www.w3.org/2000/svg",k):document.createElement(k,_.is&&_),r=null,e=!1;}if(null===k)d===_||e&&l.data===_||(l.data=_);else {if(r=r&&n.call(l.childNodes),v=(d=t.props||c$1).dangerouslySetInnerHTML,y=_.dangerouslySetInnerHTML,!e){if(null!=r)for(d={},b=0;b<l.attributes.length;b++)d[l.attributes[b].name]=l.attributes[b].value;(y||v)&&(y&&(v&&y.__html==v.__html||y.__html===l.innerHTML)||(l.innerHTML=y&&y.__html||""));}if(H$1(l,_,d,o,e),y)u.__k=[];else if(P$1(l,h$1(b=u.props.children)?b:[b],u,t,i,o&&"foreignObject"!==k,r,f,r?r[0]:t.__k&&g$2(t,0),e,s),null!=r)for(b=r.length;b--;)null!=r[b]&&p$1(r[b]);e||("value"in _&&void 0!==(b=_.value)&&(b!==l.value||"progress"===k&&!b||"option"===k&&b!==d.value)&&T$2(l,"value",b,d.value,!1),"checked"in _&&void 0!==(b=_.checked)&&b!==l.checked&&T$2(l,"checked",b,d.checked,!1));}return l}function O$1(n,u,t){try{"function"==typeof n?n(u):n.current=u;}catch(n){l$1.__e(n,t);}}function q$2(n,u,t){var i,o;if(l$1.unmount&&l$1.unmount(n),(i=n.ref)&&(i.current&&i.current!==n.__e||O$1(i,null,u)),null!=(i=n.__c)){if(i.componentWillUnmount)try{i.componentWillUnmount();}catch(n){l$1.__e(n,u);}i.base=i.__P=null,n.__c=void 0;}if(i=n.__k)for(o=0;o<i.length;o++)i[o]&&q$2(i[o],u,t||"function"!=typeof n.type);t||null==n.__e||p$1(n.__e),n.__=n.__e=n.__d=void 0;}function B$2(n,l,u){return this.constructor(n,u)}function D$1(u,t,i){var o,r,f,e;l$1.__&&l$1.__(u,t),r=(o="function"==typeof i)?null:i&&i.__k||t.__k,f=[],e=[],L$1(t,u=(!o&&i||t).__k=y$1(k$2,null,[u]),r||c$1,c$1,void 0!==t.ownerSVGElement,!o&&i?[i]:r?null:t.firstChild?n.call(t.childNodes):null,f,!o&&i?i:r?r.__e:t.firstChild,o,e),M$1(f,u,e);}function E$1(n,l){D$1(n,l,E$1);}function F$2(l,u,t){var i,o,r,f,e=v$1({},l.props);for(r in l.type&&l.type.defaultProps&&(f=l.type.defaultProps),u)"key"==r?i=u[r]:"ref"==r?o=u[r]:e[r]=void 0===u[r]&&void 0!==f?f[r]:u[r];return arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),d$1(l.type,e,i||l.key,o||l.ref,null)}function G$1(n,l){var u={__c:l="__cC"+e$1++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=[],(t={})[l]=this,this.getChildContext=function(){return t},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.some(function(n){n.__e=!0,w$2(n);});},this.sub=function(n){u.push(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u.splice(u.indexOf(n),1),l&&l.call(n);};}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=s$1.slice,l$1={__e:function(n,l,u,t){for(var i,o,r;l=l.__;)if((i=l.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(n)),r=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),r=i.__d),r)return i.__E=i}catch(l){n=l;}throw n}},u$1=0,b$1.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=v$1({},this.state),"function"==typeof n&&(n=n(v$1({},u),this.props)),n&&v$1(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),w$2(this));},b$1.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),w$2(this));},b$1.prototype.render=k$2,i$1=[],r$1="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,f$1=function(n,l){return n.__v.__b-l.__v.__b},x$2.__r=0,e$1=0;
+
+var t,r,u,i,o=0,f=[],c=[],e=l$1.__b,a=l$1.__r,v=l$1.diffed,l=l$1.__c,m=l$1.unmount;function d(t,u){l$1.__h&&l$1.__h(r,t,o||u),o=0;var i=r.__H||(r.__H={__:[],__h:[]});return t>=i.__.length&&i.__.push({__V:c}),i.__[t]}function h(n){return o=1,s(B$1,n)}function s(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):B$1(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}));}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return !0;var u=o.__c.__H.__.filter(function(n){return n.__c});if(u.every(function(n){return !n.__N}))return !c||c.call(this,n,t,r);var i=!1;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0);}}),!(!i&&o.__c.props===n)&&(!c||c.call(this,n,t,r))};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u;}e&&e.call(this,n,t,r);},r.shouldComponentUpdate=f;}return o.__N||o.__}function p(u,i){var o=d(t++,3);!l$1.__s&&z$1(o.__H,i)&&(o.__=u,o.i=i,r.__H.__h.push(o));}function y(u,i){var o=d(t++,4);!l$1.__s&&z$1(o.__H,i)&&(o.__=u,o.i=i,r.__h.push(o));}function _(n){return o=5,F$1(function(){return {current:n}},[])}function A$1(n,t,r){o=6,y(function(){return "function"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n));}function F$1(n,r){var u=d(t++,7);return z$1(u.__H,r)?(u.__V=n(),u.i=r,u.__h=n,u.__V):u.__}function T$1(n,t){return o=8,F$1(function(){return n},t)}function q$1(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function x$1(t,r){l$1.useDebugValue&&l$1.useDebugValue(r?r(t):t);}function V$1(){var n=d(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__="P"+i[0]+"-"+i[1]++;}return n.__}function b(){for(var t;t=f.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(k$1),t.__H.__h.forEach(w$1),t.__H.__h=[];}catch(r){t.__H.__h=[],l$1.__e(r,t.__v);}}l$1.__b=function(n){r=null,e&&e(n);},l$1.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.__V=c,n.__N=n.i=void 0;})):(i.__h.forEach(k$1),i.__h.forEach(w$1),i.__h=[],t=0)),u=r;},l$1.diffed=function(t){v&&v(t);var o=t.__c;o&&o.__H&&(o.__H.__h.length&&(1!==f.push(o)&&i===l$1.requestAnimationFrame||((i=l$1.requestAnimationFrame)||j$1)(b)),o.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.__V!==c&&(n.__=n.__V),n.i=void 0,n.__V=c;})),u=r=null;},l$1.__c=function(t,r){r.some(function(t){try{t.__h.forEach(k$1),t.__h=t.__h.filter(function(n){return !n.__||w$1(n)});}catch(u){r.some(function(n){n.__h&&(n.__h=[]);}),r=[],l$1.__e(u,t.__v);}}),l&&l(t,r);},l$1.unmount=function(t){m&&m(t);var r,u=t.__c;u&&u.__H&&(u.__H.__.forEach(function(n){try{k$1(n);}catch(n){r=n;}}),u.__H=void 0,r&&l$1.__e(r,u.__v));};var g$1="function"==typeof requestAnimationFrame;function j$1(n){var t,r=function(){clearTimeout(u),g$1&&cancelAnimationFrame(t),setTimeout(n);},u=setTimeout(r,100);g$1&&(t=requestAnimationFrame(r));}function k$1(n){var t=r,u=n.__c;"function"==typeof u&&(n.__c=void 0,u()),r=t;}function w$1(n){var t=r;n.__c=n.__(),r=t;}function z$1(n,t){return !n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function B$1(n,t){return "function"==typeof t?t(n):t}
+
+function g(n,t){for(var e in t)n[e]=t[e];return n}function C(n,t){for(var e in n)if("__source"!==e&&!(e in t))return !0;for(var r in t)if("__source"!==r&&n[r]!==t[r])return !0;return !1}function E(n,t){return n===t&&(0!==n||1/n==1/t)||n!=n&&t!=t}function w(n){this.props=n;}function x(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return !r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:C(this.props,n)}function u(e){return this.shouldComponentUpdate=r,y$1(n,e)}return u.displayName="Memo("+(n.displayName||n.name)+")",u.prototype.isReactComponent=!0,u.__f=!0,u}(w.prototype=new b$1).isPureReactComponent=!0,w.prototype.shouldComponentUpdate=function(n,t){return C(this.props,n)||C(this.state,t)};var R=l$1.__b;l$1.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),R&&R(n);};var N="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function k(n){function t(t){var e=g({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=N,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(n.displayName||n.name)+")",t}var A=function(n,t){return null==n?null:C$1(C$1(n).map(t))},O={map:A,forEach:A,count:function(n){return n?C$1(n).length:0},only:function(n){var t=C$1(n);if(1!==t.length)throw "Children.only";return t[0]},toArray:C$1},T=l$1.__e;l$1.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);T(n,t,e,r);};var F=l$1.unmount;function I(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){"function"==typeof n.__c&&n.__c();}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return I(n,t,e)})),n}function L(n,t,e){return n&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return L(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.insertBefore(n.__e,n.__d),n.__c.__e=!0,n.__c.__P=e)),n}function U(){this.__u=0,this.t=null,this.__b=null;}function D(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function M(n){var e,r,u;function o(o){if(e||(e=n()).then(function(n){r=n.default||n;},function(n){u=n;}),u)throw u;if(!r)throw e;return y$1(r,o)}return o.displayName="Lazy",o.__f=!0,o}function V(){this.u=null,this.o=null;}l$1.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&!0===n.__h&&(n.type=null),F&&F(n);},(U.prototype=new b$1).__c=function(n,t){var e=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(e);var u=D(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(l):l());};e.__R=i;var l=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=L(n,n.__c.__P,n.__c.__O);}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate();}},c=!0===t.__h;r.__u++||c||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i);},U.prototype.componentWillUnmount=function(){this.t=[];},U.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),o=this.__v.__k[0].__c;this.__v.__k[0]=I(this.__b,r,o.__O=o.__P);}this.__b=null;}var i=e.__a&&y$1(k$2,null,n.fallback);return i&&(i.__h=null),[y$1(k$2,null,e.__a?null:n.children),i]};var W=function(n,t,e){if(++e[1]===e[0]&&n.o.delete(t),n.props.revealOrder&&("t"!==n.props.revealOrder[0]||!n.o.size))for(e=n.u;e;){for(;e.length>3;)e.pop()();if(e[1]<e[0])break;n.u=e=e[2];}};function P(n){return this.getChildContext=function(){return n.context},n.children}function j(n){var e=this,r=n.i;e.componentWillUnmount=function(){D$1(null,e.l),e.l=null,e.i=null;},e.i&&e.i!==r&&e.componentWillUnmount(),e.l||(e.i=r,e.l={nodeType:1,parentNode:r,childNodes:[],appendChild:function(n){this.childNodes.push(n),e.i.appendChild(n);},insertBefore:function(n,t){this.childNodes.push(n),e.i.appendChild(n);},removeChild:function(n){this.childNodes.splice(this.childNodes.indexOf(n)>>>1,1),e.i.removeChild(n);}}),D$1(y$1(P,{context:e.context},n.__v),e.l);}function z(n,e){var r=y$1(j,{__v:n,i:e});return r.containerInfo=e,r}(V.prototype=new b$1).__a=function(n){var t=this,e=D(t.__v),r=t.o.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),W(t,n,r)):u();};e?e(o):o();}},V.prototype.render=function(n){this.u=null,this.o=new Map;var t=C$1(n.children);n.revealOrder&&"b"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.o.set(t[e],this.u=[1,0,this.u]);return n.children},V.prototype.componentDidUpdate=V.prototype.componentDidMount=function(){var n=this;this.o.forEach(function(t,e){W(n,e,t);});};var B="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,H=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Z=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Y=/[A-Z0-9]/g,$="undefined"!=typeof document,q=function(n){return ("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function G(n,t,e){return null==t.__k&&(t.textContent=""),D$1(n,t),"function"==typeof e&&e(),n?n.__c:null}function J(n,t,e){return E$1(n,t),"function"==typeof e&&e(),n?n.__c:null}b$1.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(b$1.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n});}});});var K=l$1.event;function Q(){}function X(){return this.cancelBubble}function nn(){return this.defaultPrevented}l$1.event=function(n){return K&&(n=K(n)),n.persist=Q,n.isPropagationStopped=X,n.isDefaultPrevented=nn,n.nativeEvent=n};var tn,en={enumerable:!1,configurable:!0,get:function(){return this.class}},rn=l$1.vnode;l$1.vnode=function(n){"string"==typeof n.type&&function(n){var t=n.props,e=n.type,u={};for(var o in t){var i=t[o];if(!("value"===o&&"defaultValue"in t&&null==i||$&&"children"===o&&"noscript"===e||"class"===o||"className"===o)){var l=o.toLowerCase();"defaultValue"===o&&"value"in t&&null==t.value?o="value":"download"===o&&!0===i?i="":"ondoubleclick"===l?o="ondblclick":"onchange"!==l||"input"!==e&&"textarea"!==e||q(t.type)?"onfocus"===l?o="onfocusin":"onblur"===l?o="onfocusout":Z.test(o)?o=l:-1===e.indexOf("-")&&H.test(o)?o=o.replace(Y,"-$&").toLowerCase():null===i&&(i=void 0):l=o="oninput","oninput"===l&&u[o=l]&&(o="oninputCapture"),u[o]=i;}}"select"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=C$1(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value);})),"select"==e&&null!=u.defaultValue&&(u.value=C$1(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value;})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,"className",en)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u;}(n),n.$$typeof=B,rn&&rn(n);};var un=l$1.__r;l$1.__r=function(n){un&&un(n),tn=n.__c;};var on=l$1.diffed;l$1.diffed=function(n){on&&on(n);var t=n.props,e=n.__e;null!=e&&"textarea"===n.type&&"value"in t&&t.value!==e.value&&(e.value=null==t.value?"":t.value),tn=null;};var ln={ReactCurrentDispatcher:{current:{readContext:function(n){return tn.__n[n.__c].props.value}}}};function fn(n){return y$1.bind(null,n)}function an(n){return !!n&&n.$$typeof===B}function sn(n){return an(n)&&n.type===k$2}function hn(n){return an(n)?F$2.apply(null,arguments):n}function vn(n){return !!n.__k&&(D$1(null,n),!0)}function dn(n){return n&&(n.base||1===n.nodeType&&n)||null}var pn=function(n,t){return n(t)},mn=function(n,t){return n(t)},yn=k$2;function _n(n){n();}function bn(n){return n}function Sn(){return [!1,_n]}var gn=y,Cn=an;function En(n,t){var e=t(),r=h({h:{__:e,v:t}}),u=r[0].h,o=r[1];return y(function(){u.__=e,u.v=t,E(u.__,t())||o({h:u});},[n,e,t]),p(function(){return E(u.__,u.v())||o({h:u}),n(function(){E(u.__,u.v())||o({h:u});})},[n]),e}var wn={useState:h,useId:V$1,useReducer:s,useEffect:p,useLayoutEffect:y,useInsertionEffect:gn,useTransition:Sn,useDeferredValue:bn,useSyncExternalStore:En,startTransition:_n,useRef:_,useImperativeHandle:A$1,useMemo:F$1,useCallback:T$1,useContext:q$1,useDebugValue:x$1,version:"17.0.2",Children:O,render:G,hydrate:J,unmountComponentAtNode:vn,createPortal:z,createElement:y$1,createContext:G$1,createFactory:fn,cloneElement:hn,createRef:_$1,Fragment:k$2,isValidElement:an,isElement:Cn,isFragment:sn,findDOMNode:dn,Component:b$1,PureComponent:w,memo:x,forwardRef:k,flushSync:mn,unstable_batchedUpdates:pn,StrictMode:yn,Suspense:U,SuspenseList:V,lazy:M,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:ln};
+
+const IMAGE_EXTENSIONS = Object.freeze(new Set([
+    ".tif",
+    ".tiff",
+    ".gif",
+    ".png",
+    ".apng",
+    ".avif",
+    ".jpg",
+    ".jpeg",
+    ".jfif",
+    ".pjepg",
+    ".pjp",
+    ".svg",
+    ".webp",
+    ".bmp",
+    ".ico",
+    ".cur",
+]));
+/** Determines if the given link points to an embedded image. */
+function isImageEmbed(link) {
+    if (!link.path.contains("."))
+        return false;
+    let extension = link.path.substring(link.path.lastIndexOf("."));
+    return link.type == "file" && link.embed && IMAGE_EXTENSIONS.has(extension);
+}
+/** Extract text of the form 'WxH' or 'W' from the display of a link. */
+function extractImageDimensions(link) {
+    if (!link.display)
+        return undefined;
+    let match = /^(\d+)x(\d+)$/iu.exec(link.display);
+    if (match)
+        return [parseInt(match[1]), parseInt(match[2])];
+    let match2 = /^(\d+)/.exec(link.display);
+    if (match2)
+        return [parseInt(match2[1])];
+    // No match.
+    return undefined;
+}
+
+/** Provides core preact / rendering utilities for all view types. */
+const DataviewContext = G$1(undefined);
+/** Hacky preact component which wraps Obsidian's markdown renderer into a neat component. */
+function RawMarkdown({ content, sourcePath, inline = true, style, cls, onClick, }) {
+    const container = _(null);
+    const component = q$1(DataviewContext).component;
+    p(() => {
+        if (!container.current)
+            return;
+        container.current.innerHTML = "";
+        obsidian.MarkdownRenderer.renderMarkdown(content, container.current, sourcePath, component).then(() => {
+            if (!container.current || !inline)
+                return;
+            // Unwrap any created paragraph elements if we are inline.
+            let paragraph = container.current.querySelector("p");
+            while (paragraph) {
+                let children = paragraph.childNodes;
+                paragraph.replaceWith(...Array.from(children));
+                paragraph = container.current.querySelector("p");
+            }
+        });
+    }, [content, sourcePath, container.current]);
+    return y$1("span", { ref: container, style: style, class: cls, onClick: onClick });
+}
+/** Hacky preact component which wraps Obsidian's markdown renderer into a neat component. */
+const Markdown = wn.memo(RawMarkdown);
+/** Embeds an HTML element in the react DOM. */
+function RawEmbedHtml({ element }) {
+    const container = _(null);
+    p(() => {
+        if (!container.current)
+            return;
+        container.current.innerHTML = "";
+        container.current.appendChild(element);
+    }, [container.current, element]);
+    return y$1("span", { ref: container });
+}
+/** Embeds an HTML element in the react DOM. */
+const EmbedHtml = wn.memo(RawEmbedHtml);
+/** Intelligently render an arbitrary literal value. */
+function RawLit({ value, sourcePath, inline = false, depth = 0, }) {
+    const context = q$1(DataviewContext);
+    // Short-circuit if beyond the maximum render depth.
+    if (depth >= context.settings.maxRecursiveRenderDepth)
+        return y$1(k$2, null, "...");
+    if (Values.isNull(value) || value === undefined) {
+        return y$1(Markdown, { content: context.settings.renderNullAs, sourcePath: sourcePath });
+    }
+    else if (Values.isString(value)) {
+        return y$1(Markdown, { content: value, sourcePath: sourcePath });
+    }
+    else if (Values.isNumber(value)) {
+        return y$1(k$2, null, "" + value);
+    }
+    else if (Values.isBoolean(value)) {
+        return y$1(k$2, null, "" + value);
+    }
+    else if (Values.isDate(value)) {
+        return y$1(k$2, null, renderMinimalDate(value, context.settings, currentLocale()));
+    }
+    else if (Values.isDuration(value)) {
+        return y$1(k$2, null, renderMinimalDuration(value));
+    }
+    else if (Values.isLink(value)) {
+        // Special case handling of image/video/etc embeddings to bypass the Obsidian API not working.
+        if (isImageEmbed(value)) {
+            let realFile = context.app.metadataCache.getFirstLinkpathDest(value.path, sourcePath);
+            if (!realFile)
+                return y$1(Markdown, { content: value.markdown(), sourcePath: sourcePath });
+            let dimensions = extractImageDimensions(value);
+            let resourcePath = context.app.vault.getResourcePath(realFile);
+            if (dimensions && dimensions.length == 2)
+                return y$1("img", { alt: value.path, src: resourcePath, width: dimensions[0], height: dimensions[1] });
+            else if (dimensions && dimensions.length == 1)
+                return y$1("img", { alt: value.path, src: resourcePath, width: dimensions[0] });
+            else
+                return y$1("img", { alt: value.path, src: resourcePath });
+        }
+        return y$1(Markdown, { content: value.markdown(), sourcePath: sourcePath });
+    }
+    else if (Values.isHtml(value)) {
+        return y$1(EmbedHtml, { element: value });
+    }
+    else if (Values.isWidget(value)) {
+        if (Widgets.isListPair(value)) {
+            return (y$1(k$2, null,
+                y$1(Lit, { value: value.key, sourcePath: sourcePath }),
+                ":",
+                " ",
+                y$1(Lit, { value: value.value, sourcePath: sourcePath })));
+        }
+        else if (Widgets.isExternalLink(value)) {
+            return (y$1("a", { href: value.url, rel: "noopener", target: "_blank", class: "external-link" }, value.display ?? value.url));
+        }
+        else {
+            return y$1("b", null,
+                "<unknown widget '",
+                value.$widget,
+                "'>");
+        }
+    }
+    else if (Values.isFunction(value)) {
+        return y$1(k$2, null, "<function>");
+    }
+    else if (Values.isArray(value) || DataArray.isDataArray(value)) {
+        if (!inline) {
+            return (y$1("ul", { class: "dataview dataview-ul dataview-result-list-ul" }, value.map(subvalue => (y$1("li", { class: "dataview-result-list-li" },
+                y$1(Lit, { value: subvalue, sourcePath: sourcePath, inline: inline, depth: depth + 1 }))))));
+        }
+        else {
+            if (value.length == 0)
+                return y$1(k$2, null, "<Empty List>");
+            return (y$1("span", { class: "dataview dataview-result-list-span" }, value.map((subvalue, index) => (y$1(k$2, null,
+                index == 0 ? "" : ", ",
+                y$1(Lit, { value: subvalue, sourcePath: sourcePath, inline: inline, depth: depth + 1 }))))));
+        }
+    }
+    else if (Values.isObject(value)) {
+        // Don't render classes in case they have recursive references; spoopy.
+        if (value?.constructor?.name && value?.constructor?.name != "Object") {
+            return y$1(k$2, null,
+                "<",
+                value.constructor.name,
+                ">");
+        }
+        if (!inline) {
+            return (y$1("ul", { class: "dataview dataview-ul dataview-result-object-ul" }, Object.entries(value).map(([key, value]) => (y$1("li", { class: "dataview dataview-li dataview-result-object-li" },
+                key,
+                ": ",
+                y$1(Lit, { value: value, sourcePath: sourcePath, inline: inline, depth: depth + 1 }))))));
+        }
+        else {
+            if (Object.keys(value).length == 0)
+                return y$1(k$2, null, "<Empty Object>");
+            return (y$1("span", { class: "dataview dataview-result-object-span" }, Object.entries(value).map(([key, value], index) => (y$1(k$2, null,
+                index == 0 ? "" : ", ",
+                key,
+                ": ",
+                y$1(Lit, { value: value, sourcePath: sourcePath, inline: inline, depth: depth + 1 }))))));
+        }
+    }
+    return y$1(k$2, null,
+        "<Unrecognized: ",
+        JSON.stringify(value),
+        ">");
+}
+/** Intelligently render an arbitrary literal value. */
+const Lit = wn.memo(RawLit);
+/** Render a simple nice looking error box in a code style. */
+function ErrorPre(props, {}) {
+    return y$1("pre", { class: "dataview dataview-error" }, props.children);
+}
+/** Render a pretty centered error message in a box. */
+function ErrorMessage({ message }) {
+    return (y$1("div", { class: "dataview dataview-error-box" },
+        y$1("p", { class: "dataview dataview-error-message" }, message)));
+}
+/**
+ * Complex convienence hook which calls `compute` every time the index updates, updating the current state.
+ */
+function useIndexBackedState(container, app, settings, index, initial, compute) {
+    let [initialized, setInitialized] = h(false);
+    let [state, updateState] = h(initial);
+    let [lastReload, setLastReload] = h(index.revision);
+    // Initial setup to queue fetching the correct state.
+    if (!initialized) {
+        setLastReload(index.revision);
+        setInitialized(true);
+        compute().then(updateState);
+    }
+    // Updated on every container re-create; automatically updates state.
+    p(() => {
+        const refreshOperation = () => {
+            if (lastReload != index.revision && container.isShown() && settings.refreshEnabled) {
+                compute().then(updateState);
+                setLastReload(index.revision);
+            }
+        };
+        // Refresh after index changes stop.
+        let workEvent = app.workspace.on("dataview:refresh-views", refreshOperation);
+        // ...or when the DOM is shown (sidebar expands, tab selected, nodes scrolled into view).
+        let nodeEvent = container.onNodeInserted(refreshOperation);
+        return () => {
+            app.workspace.offref(workEvent);
+            nodeEvent();
+        };
+    }, [container, lastReload]);
+    return state;
+}
+/** A trivial wrapper which allows a react component to live for the duration of a `MarkdownRenderChild`. */
+class ReactRenderer extends obsidian.MarkdownRenderChild {
+    init;
+    element;
+    constructor(init, element) {
+        super(init.container);
+        this.init = init;
+        this.element = element;
+    }
+    onload() {
+        const context = Object.assign({}, { component: this }, this.init);
+        D$1(y$1(DataviewContext.Provider, { value: context }, this.element), this.containerEl);
+    }
+    onunload() {
+        vn(this.containerEl);
+    }
+}
+
+/** Function used to test if a given event correspond to a pressed link */
+function wasLinkPressed(evt) {
+    return evt.target != null && evt.target != undefined && evt.target.tagName == "A";
+}
+/** JSX component which renders a task element recursively. */
+function TaskItem({ item }) {
+    let context = q$1(DataviewContext);
+    // Navigate to the given task on click.
+    const onClicked = (evt) => {
+        if (wasLinkPressed(evt)) {
+            return;
+        }
+        evt.stopPropagation();
+        const selectionState = {
+            eState: {
+                cursor: {
+                    from: { line: item.line, ch: item.position.start.col },
+                    to: { line: item.line + item.lineCount - 1, ch: item.position.end.col },
+                },
+                line: item.line,
+            },
+        };
+        // MacOS interprets the Command key as Meta.
+        context.app.workspace.openLinkText(item.link.toFile().obsidianLink(), item.path, evt.ctrlKey || (evt.metaKey && obsidian.Platform.isMacOS), selectionState);
+    };
+    // Check/uncheck the task in the original file.
+    const onChecked = (evt) => {
+        evt.stopPropagation();
+        const completed = evt.currentTarget.checked;
+        const status = completed ? "x" : " ";
+        // Update data-task on the parent element (css style)
+        const parent = evt.currentTarget.parentElement;
+        parent?.setAttribute("data-task", status);
+        let flatted = [item];
+        if (context.settings.recursiveSubTaskCompletion) {
+            function flatter(iitem) {
+                flatted.push(iitem);
+                iitem.children.forEach(flatter);
+            }
+            item.children.forEach(flatter);
+            flatted = flatted.flat(Infinity);
+        }
+        async function effectFn() {
+            for (let i = 0; i < flatted.length; i++) {
+                const _item = flatted[i];
+                let updatedText = _item.text;
+                if (context.settings.taskCompletionTracking) {
+                    updatedText = setTaskCompletion(_item.text, context.settings.taskCompletionUseEmojiShorthand, context.settings.taskCompletionText, context.settings.taskCompletionDateFormat, completed);
+                }
+                await rewriteTask(context.app.vault, _item, status, updatedText);
+            }
+            context.app.workspace.trigger("dataview:refresh-views");
+        }
+        effectFn();
+    };
+    const checked = item.status !== " ";
+    return (y$1("li", { class: "dataview task-list-item" + (checked ? " is-checked" : ""), onClick: onClicked, "data-task": item.status },
+        y$1("input", { class: "dataview task-list-item-checkbox", type: "checkbox", checked: checked, onClick: onChecked }),
+        y$1(Markdown, { inline: true, content: item.visual ?? item.text, sourcePath: item.path }),
+        item.children.length > 0 && y$1(TaskList, { items: item.children })));
+}
+/** JSX component which renders a plain list item recursively. */
+function ListItem({ item }) {
+    let context = q$1(DataviewContext);
+    // Navigate to the given task on click.
+    const onClicked = (evt) => {
+        if (wasLinkPressed(evt)) {
+            return;
+        }
+        evt.stopPropagation();
+        const selectionState = {
+            eState: {
+                cursor: {
+                    from: { line: item.line, ch: item.position.start.col },
+                    to: { line: item.line + item.lineCount - 1, ch: item.position.end.col },
+                },
+                line: item.line,
+            },
+        };
+        // MacOS interprets the Command key as Meta.
+        context.app.workspace.openLinkText(item.link.toFile().obsidianLink(), item.path, evt.ctrlKey || (evt.metaKey && obsidian.Platform.isMacOS), selectionState);
+    };
+    return (y$1("li", { class: "dataview task-list-basic-item", onClick: onClicked },
+        y$1(Markdown, { inline: true, content: item.visual ?? item.text, sourcePath: item.path }),
+        item.children.length > 0 && y$1(TaskList, { items: item.children })));
+}
+/** JSX component which renders a list of task items recursively. */
+function TaskList({ items }) {
+    const settings = q$1(DataviewContext).settings;
+    if (items.length == 0 && settings.warnOnEmptyResult)
+        return y$1(ErrorMessage, { message: "Dataview: No results to show for task query." });
+    let [nest, _mask] = nestItems(items);
+    return (y$1("ul", { class: "contains-task-list" }, nest.map(item => item.task ? y$1(TaskItem, { key: listId(item), item: item }) : y$1(ListItem, { key: listId(item), item: item }))));
+}
+/** JSX component which returns the result count. */
+function ResultCount$1(props) {
+    const { settings } = q$1(DataviewContext);
+    return settings.showResultCount ? (y$1("span", { class: "dataview small-text" }, Groupings.count(props.item.rows))) : (y$1(k$2, null));
+}
+/** JSX component which recursively renders grouped tasks. */
+function TaskGrouping({ items, sourcePath }) {
+    const isGrouping = items.length > 0 && Groupings.isGrouping(items);
+    return (y$1(k$2, null,
+        isGrouping &&
+            items.map(item => (y$1(k$2, { key: item.key },
+                y$1("h4", null,
+                    y$1(Lit, { value: item.key, sourcePath: sourcePath }),
+                    y$1(ResultCount$1, { item: item })),
+                y$1("div", { class: "dataview result-group" },
+                    y$1(TaskGrouping, { items: item.rows, sourcePath: sourcePath }))))),
+        !isGrouping && y$1(TaskList, { items: items })));
+}
+/**
+ * Pure view over (potentially grouped) tasks and list items which allows for checking/unchecking tasks and manipulating
+ * the task view.
+ */
+function TaskView({ query, sourcePath }) {
+    let context = q$1(DataviewContext);
+    let items = useIndexBackedState(context.container, context.app, context.settings, context.index, { state: "loading" }, async () => {
+        let result = await asyncTryOrPropogate(() => executeTask(query, sourcePath, context.index, context.settings));
+        if (!result.successful)
+            return { state: "error", error: result.error, sourcePath };
+        else
+            return { state: "ready", items: result.value.tasks };
+    });
+    if (items.state == "loading")
+        return (y$1(k$2, null,
+            y$1(ErrorPre, null, "Loading")));
+    else if (items.state == "error")
+        return (y$1(k$2, null,
+            y$1(ErrorPre, null,
+                "Dataview: ",
+                items.error)));
+    return (y$1("div", { class: "dataview dataview-container" },
+        y$1(TaskGrouping, { items: items.items, sourcePath: sourcePath })));
+}
+function createTaskView(init, query, sourcePath) {
+    return new ReactRenderer(init, y$1(TaskView, { query: query, sourcePath: sourcePath }));
+}
+function createFixedTaskView(init, items, sourcePath) {
+    return new ReactRenderer(init, y$1(TaskGrouping, { items: items, sourcePath: sourcePath }));
+}
+/////////////////////////
+// Task De-Duplication //
+/////////////////////////
+function listId(item) {
+    return item.path + ":" + item.line;
+}
+function parentListId(item) {
+    return item.path + ":" + item.parent;
+}
+/** Compute a map of all task IDs -> tasks. */
+function enumerateChildren(item, output) {
+    if (!output.has(listId(item)))
+        output.set(listId(item), item);
+    for (let child of item.children)
+        enumerateChildren(child, output);
+    return output;
+}
+/** Replace basic tasks with tasks from a lookup map. Retains the original order of the list. */
+function replaceChildren(elements, lookup) {
+    return elements.map(element => {
+        element.children = replaceChildren(element.children, lookup);
+        const id = listId(element);
+        const map = lookup.get(id);
+        if (map)
+            return map;
+        else
+            return element;
+    });
+}
+/**
+ * Removes tasks from a list if they are already present by being a child of another task. Fixes child pointers.
+ * Retains original order of input list.
+ */
+function nestItems(raw) {
+    let elements = new Map();
+    let mask = new Set();
+    for (let elem of raw) {
+        let id = listId(elem);
+        elements.set(id, elem);
+        mask.add(id);
+    }
+    // List all elements & their children in the lookup map.
+    for (let elem of raw)
+        enumerateChildren(elem, elements);
+    let roots = raw.filter(elem => elem.parent == undefined || elem.parent == null || !elements.has(parentListId(elem)));
+    return [replaceChildren(roots, elements), mask];
+}
+/**
+ * Recursively removes tasks from each subgroup if they are already present by being a child of another task.
+ * Fixes child pointers. Retains original order of input list.
+ */
+function nestGroups(raw) {
+    if (Groupings.isGrouping(raw)) {
+        return raw.map(g => {
+            return { key: g.key, rows: nestGroups(g.rows) };
+        });
+    }
+    else {
+        return nestItems(raw)[0];
+    }
+}
+///////////////////////
+// Task Manipulation //
+///////////////////////
+/** Trim empty ending lines. */
+function trimEndingLines(text) {
+    let parts = text.split(/\r?\n/u);
+    let trim = parts.length - 1;
+    while (trim > 0 && parts[trim].trim() == "")
+        trim--;
+    return parts.join("\n");
+}
+/** Set the task completion key on check. */
+function setTaskCompletion(originalText, useEmojiShorthand, completionKey, completionDateFormat, complete) {
+    const blockIdRegex = /\^[a-z0-9\-]+/i;
+    if (!complete && !useEmojiShorthand)
+        return trimEndingLines(setInlineField(originalText.trimEnd(), completionKey)).trimEnd();
+    let parts = originalText.split(/\r?\n/u);
+    const matches = blockIdRegex.exec(parts[parts.length - 1]);
+    console.debug("matchreg", matches);
+    let processedPart = parts[parts.length - 1].split(blockIdRegex).join(""); // last part without block id
+    if (useEmojiShorthand) {
+        processedPart = setEmojiShorthandCompletionField(processedPart, complete ? DateTime.now().toFormat("yyyy-MM-dd") : "");
+    }
+    else {
+        processedPart = setInlineField(processedPart, completionKey, DateTime.now().toFormat(completionDateFormat));
+    }
+    processedPart = `${processedPart.trimEnd()}${matches?.length ? " " + matches[0].trim() : ""}`.trimEnd(); // add back block id
+    parts[parts.length - 1] = processedPart;
+    return parts.join("\n");
+}
+/** Rewrite a task with the given completion status and new text. */
+async function rewriteTask(vault, task, desiredStatus, desiredText) {
+    if (desiredStatus == task.status && (desiredText == undefined || desiredText == task.text))
+        return;
+    desiredStatus = desiredStatus == "" ? " " : desiredStatus;
+    let rawFiletext = await vault.adapter.read(task.path);
+    let hasRN = rawFiletext.contains("\r");
+    let filetext = rawFiletext.split(/\r?\n/u);
+    if (filetext.length < task.line)
+        return;
+    let match = LIST_ITEM_REGEX.exec(filetext[task.line]);
+    if (!match || match[2].length == 0)
+        return;
+    let taskTextParts = task.text.split("\n");
+    if (taskTextParts[0].trim() != match[3].trim())
+        return;
+    // We have a positive match here at this point, so go ahead and do the rewrite of the status.
+    let initialSpacing = /^[\s>]*/u.exec(filetext[task.line])[0];
+    if (desiredText) {
+        let desiredParts = desiredText.split("\n");
+        let newTextLines = [`${initialSpacing}${task.symbol} [${desiredStatus}] ${desiredParts[0]}`].concat(desiredParts.slice(1).map(l => initialSpacing + "\t" + l));
+        filetext.splice(task.line, task.lineCount, ...newTextLines);
+    }
+    else {
+        filetext[task.line] = `${initialSpacing}${task.symbol} [${desiredStatus}] ${taskTextParts[0].trim()}`;
+    }
+    let newText = filetext.join(hasRN ? "\r\n" : "\n");
+    await vault.adapter.write(task.path, newText);
+}
+
+function ListGrouping({ items, sourcePath }) {
+    return (y$1("ul", { class: "dataview list-view-ul" }, items.map(item => (y$1("li", null,
+        y$1(Lit, { value: item, sourcePath: sourcePath }))))));
+}
+/** Pure view over list elements.  */
+function ListView({ query, sourcePath }) {
+    let context = q$1(DataviewContext);
+    let items = useIndexBackedState(context.container, context.app, context.settings, context.index, { state: "loading" }, async () => {
+        let result = await asyncTryOrPropogate(() => executeList(query, context.index, sourcePath, context.settings));
+        if (!result.successful)
+            return { state: "error", error: result.error, sourcePath };
+        return { state: "ready", items: result.value.data };
+    });
+    if (items.state == "loading")
+        return (y$1(k$2, null,
+            y$1(ErrorPre, null, "Loading...")));
+    else if (items.state == "error")
+        return (y$1(k$2, null,
+            " ",
+            y$1(ErrorPre, null,
+                "Dataview: ",
+                items.error),
+            " "));
+    if (items.items.length == 0 && context.settings.warnOnEmptyResult)
+        return y$1(ErrorMessage, { message: "Dataview: No results to show for list query." });
+    return y$1(ListGrouping, { items: items.items, sourcePath: sourcePath });
+}
+function createListView(init, query, sourcePath) {
+    return new ReactRenderer(init, y$1(ListView, { query: query, sourcePath: sourcePath }));
+}
+function createFixedListView(init, elements, sourcePath) {
+    return new ReactRenderer(init, y$1(ListGrouping, { items: elements, sourcePath: sourcePath }));
+}
+
+/** JSX component which returns the result count. */
+function ResultCount(props) {
+    const { settings } = q$1(DataviewContext);
+    return settings.showResultCount ? y$1("span", { class: "dataview small-text" }, props.length) : y$1(k$2, null);
+}
+/** Simple table over headings and corresponding values. */
+function TableGrouping({ headings, values, sourcePath, }) {
+    let settings = q$1(DataviewContext).settings;
+    return (y$1(k$2, null,
+        y$1("table", { class: "dataview table-view-table" },
+            y$1("thead", { class: "table-view-thead" },
+                y$1("tr", { class: "table-view-tr-header" }, headings.map((heading, index) => (y$1("th", { class: "table-view-th" },
+                    y$1(Markdown, { sourcePath: sourcePath, content: heading }),
+                    index == 0 && y$1(ResultCount, { length: values.length })))))),
+            y$1("tbody", { class: "table-view-tbody" }, values.map(row => (y$1("tr", null, row.map(element => (y$1("td", null,
+                y$1(Lit, { value: element, sourcePath: sourcePath }))))))))),
+        settings.warnOnEmptyResult && values.length == 0 && (y$1(ErrorMessage, { message: "Dataview: No results to show for table query." }))));
+}
+/** Pure view over list elements.  */
+function TableView({ query, sourcePath }) {
+    let context = q$1(DataviewContext);
+    let items = useIndexBackedState(context.container, context.app, context.settings, context.index, { state: "loading" }, async () => {
+        let result = await asyncTryOrPropogate(() => executeTable(query, context.index, sourcePath, context.settings));
+        if (!result.successful)
+            return { state: "error", error: result.error };
+        return { state: "ready", headings: result.value.names, values: result.value.data };
+    });
+    if (items.state == "loading")
+        return (y$1(k$2, null,
+            y$1(ErrorPre, null, "Loading...")));
+    else if (items.state == "error")
+        return (y$1(k$2, null,
+            " ",
+            y$1(ErrorPre, null,
+                "Dataview: ",
+                items.error),
+            " "));
+    return y$1(TableGrouping, { headings: items.headings, values: items.values, sourcePath: sourcePath });
+}
+function createTableView(init, query, sourcePath) {
+    return new ReactRenderer(init, y$1(TableView, { query: query, sourcePath: sourcePath }));
+}
+function createFixedTableView(init, headings, values, sourcePath) {
+    return new ReactRenderer(init, y$1(TableGrouping, { values: values, headings: headings, sourcePath: sourcePath }));
+}
+
+/** Utility functions for quickly creating fields. */
+var QueryFields;
+(function (QueryFields) {
+    function named(name, field) {
+        return { name, field };
+    }
+    QueryFields.named = named;
+    function sortBy(field, dir) {
+        return { field, direction: dir };
+    }
+    QueryFields.sortBy = sortBy;
+})(QueryFields || (QueryFields = {}));
+
+/** Return a new parser which executes the underlying parser and returns it's raw string representation. */
+function captureRaw(base) {
+    return parsimmon_umd_minExports.custom((success, failure) => {
+        return (input, i) => {
+            let result = base._(input, i);
+            if (!result.status)
+                return result;
+            return Object.assign({}, result, { value: [result.value, input.substring(i, result.index)] });
+        };
+    });
+}
+/** Strip newlines and excess whitespace out of text. */
+function stripNewlines(text) {
+    return text
+        .split(/[\r\n]+/)
+        .map(t => t.trim())
+        .join("");
+}
+/** Given `parser`, return the parser that returns `if_eof()` if EOF is found,
+ * otherwise `parser` preceded by (non-optional) whitespace */
+function precededByWhitespaceIfNotEof(if_eof, parser) {
+    return parsimmon_umd_minExports.eof.map(if_eof).or(parsimmon_umd_minExports.whitespace.then(parser));
+}
+/** A parsimmon-powered parser-combinator implementation of the query language. */
+const QUERY_LANGUAGE = parsimmon_umd_minExports.createLanguage({
+    // Simple atom parsing, like words, identifiers, numbers.
+    queryType: q => parsimmon_umd_minExports.alt(parsimmon_umd_minExports.regexp(/TABLE|LIST|TASK|CALENDAR/i))
+        .map(str => str.toLowerCase())
+        .desc("query type ('TABLE', 'LIST', 'TASK', or 'CALENDAR')"),
+    explicitNamedField: q => parsimmon_umd_minExports.seqMap(EXPRESSION.field.skip(parsimmon_umd_minExports.whitespace), parsimmon_umd_minExports.regexp(/AS/i).skip(parsimmon_umd_minExports.whitespace), EXPRESSION.identifier.or(EXPRESSION.string), (field, _as, ident) => QueryFields.named(ident, field)),
+    comment: () => parsimmon_umd_minExports.Parser((input, i) => {
+        // Parse a comment, which is a line starting with //.
+        let line = input.substring(i);
+        if (!line.startsWith("//"))
+            return parsimmon_umd_minExports.makeFailure(i, "Not a comment");
+        // The comment ends at the end of the line.
+        line = line.split("\n")[0];
+        let comment = line.substring(2).trim();
+        return parsimmon_umd_minExports.makeSuccess(i + line.length, comment);
+    }),
+    namedField: q => parsimmon_umd_minExports.alt(q.explicitNamedField, captureRaw(EXPRESSION.field).map(([value, text]) => QueryFields.named(stripNewlines(text), value))),
+    sortField: q => parsimmon_umd_minExports.seqMap(EXPRESSION.field.skip(parsimmon_umd_minExports.optWhitespace), parsimmon_umd_minExports.regexp(/ASCENDING|DESCENDING|ASC|DESC/i).atMost(1), (field, dir) => {
+        let direction = dir.length == 0 ? "ascending" : dir[0].toLowerCase();
+        if (direction == "desc")
+            direction = "descending";
+        if (direction == "asc")
+            direction = "ascending";
+        return {
+            field: field,
+            direction: direction,
+        };
+    }),
+    headerClause: q => q.queryType
+        .chain(type => {
+        switch (type) {
+            case "table": {
+                return precededByWhitespaceIfNotEof(() => ({ type, fields: [], showId: true }), parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/WITHOUT\s+ID/i)
+                    .skip(parsimmon_umd_minExports.optWhitespace)
+                    .atMost(1), parsimmon_umd_minExports.sepBy(q.namedField, parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace)), (withoutId, fields) => {
+                    return { type, fields, showId: withoutId.length == 0 };
+                }));
+            }
+            case "list":
+                return precededByWhitespaceIfNotEof(() => ({ type, format: undefined, showId: true }), parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/WITHOUT\s+ID/i)
+                    .skip(parsimmon_umd_minExports.optWhitespace)
+                    .atMost(1), EXPRESSION.field.atMost(1), (withoutId, format) => {
+                    return {
+                        type,
+                        format: format.length == 1 ? format[0] : undefined,
+                        showId: withoutId.length == 0,
+                    };
+                }));
+            case "task":
+                return parsimmon_umd_minExports.succeed({ type });
+            case "calendar":
+                return parsimmon_umd_minExports.whitespace.then(parsimmon_umd_minExports.seqMap(q.namedField, field => {
+                    return {
+                        type,
+                        showId: true,
+                        field,
+                    };
+                }));
+            default:
+                return parsimmon_umd_minExports.fail(`Unrecognized query type '${type}'`);
+        }
+    })
+        .desc("TABLE or LIST or TASK or CALENDAR"),
+    fromClause: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/FROM/i), parsimmon_umd_minExports.whitespace, EXPRESSION.source, (_1, _2, source) => source),
+    whereClause: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/WHERE/i), parsimmon_umd_minExports.whitespace, EXPRESSION.field, (where, _, field) => {
+        return { type: "where", clause: field };
+    }).desc("WHERE <expression>"),
+    sortByClause: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/SORT/i), parsimmon_umd_minExports.whitespace, q.sortField.sepBy1(parsimmon_umd_minExports.string(",").trim(parsimmon_umd_minExports.optWhitespace)), (sort, _1, fields) => {
+        return { type: "sort", fields };
+    }).desc("SORT field [ASC/DESC]"),
+    limitClause: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/LIMIT/i), parsimmon_umd_minExports.whitespace, EXPRESSION.field, (limit, _1, field) => {
+        return { type: "limit", amount: field };
+    }).desc("LIMIT <value>"),
+    flattenClause: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/FLATTEN/i).skip(parsimmon_umd_minExports.whitespace), q.namedField, (_, field) => {
+        return { type: "flatten", field };
+    }).desc("FLATTEN <value> [AS <name>]"),
+    groupByClause: q => parsimmon_umd_minExports.seqMap(parsimmon_umd_minExports.regexp(/GROUP BY/i).skip(parsimmon_umd_minExports.whitespace), q.namedField, (_, field) => {
+        return { type: "group", field };
+    }).desc("GROUP BY <value> [AS <name>]"),
+    // Full query parsing.
+    clause: q => parsimmon_umd_minExports.alt(q.fromClause, q.whereClause, q.sortByClause, q.limitClause, q.groupByClause, q.flattenClause),
+    query: q => parsimmon_umd_minExports.seqMap(q.headerClause.trim(optionalWhitespaceOrComment), q.fromClause.trim(optionalWhitespaceOrComment).atMost(1), q.clause.trim(optionalWhitespaceOrComment).many(), (header, from, clauses) => {
+        return {
+            header,
+            source: from.length == 0 ? Sources.folder("") : from[0],
+            operations: clauses,
+            settings: DEFAULT_QUERY_SETTINGS,
+        };
+    }),
+});
+/**
+ * A parser for optional whitespace or comments. This is used to exclude whitespace and comments from other parsers.
+ */
+const optionalWhitespaceOrComment = parsimmon_umd_minExports.alt(parsimmon_umd_minExports.whitespace, QUERY_LANGUAGE.comment)
+    .many() // Use many() since there may be zero whitespaces or comments.
+    // Transform the many to a single result.
+    .map(arr => arr.join(""));
+/**
+ * Attempt to parse a query from the given query text, returning a string error
+ * if the parse failed.
+ */
+function parseQuery(text) {
+    try {
+        let query = QUERY_LANGUAGE.query.tryParse(text);
+        return Result.success(query);
+    }
+    catch (error) {
+        return Result.failure("" + error);
+    }
+}
+
+function noop() { }
+function assign(tar, src) {
+    // @ts-ignore
+    for (const k in src)
+        tar[k] = src[k];
+    return tar;
+}
+function is_promise(value) {
+    return value && typeof value === 'object' && typeof value.then === 'function';
+}
+function run(fn) {
+    return fn();
+}
+function blank_object() {
+    return Object.create(null);
+}
+function run_all(fns) {
+    fns.forEach(run);
+}
+function is_function(thing) {
+    return typeof thing === 'function';
+}
+function safe_not_equal(a, b) {
+    return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function');
+}
+function not_equal(a, b) {
+    return a != a ? b == b : a !== b;
+}
+function is_empty(obj) {
+    return Object.keys(obj).length === 0;
+}
+function create_slot(definition, ctx, $$scope, fn) {
+    if (definition) {
+        const slot_ctx = get_slot_context(definition, ctx, $$scope, fn);
+        return definition[0](slot_ctx);
+    }
+}
+function get_slot_context(definition, ctx, $$scope, fn) {
+    return definition[1] && fn
+        ? assign($$scope.ctx.slice(), definition[1](fn(ctx)))
+        : $$scope.ctx;
+}
+function get_slot_changes(definition, $$scope, dirty, fn) {
+    if (definition[2] && fn) {
+        const lets = definition[2](fn(dirty));
+        if ($$scope.dirty === undefined) {
+            return lets;
+        }
+        if (typeof lets === 'object') {
+            const merged = [];
+            const len = Math.max($$scope.dirty.length, lets.length);
+            for (let i = 0; i < len; i += 1) {
+                merged[i] = $$scope.dirty[i] | lets[i];
+            }
+            return merged;
+        }
+        return $$scope.dirty | lets;
+    }
+    return $$scope.dirty;
+}
+function update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) {
+    const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn);
+    if (slot_changes) {
+        const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn);
+        slot.p(slot_context, slot_changes);
+    }
+}
+function null_to_empty(value) {
+    return value == null ? '' : value;
+}
+
+function append(target, node) {
+    target.appendChild(node);
+}
+function insert(target, node, anchor) {
+    target.insertBefore(node, anchor || null);
+}
+function detach(node) {
+    node.parentNode.removeChild(node);
+}
+function destroy_each(iterations, detaching) {
+    for (let i = 0; i < iterations.length; i += 1) {
+        if (iterations[i])
+            iterations[i].d(detaching);
+    }
+}
+function element(name) {
+    return document.createElement(name);
+}
+function svg_element(name) {
+    return document.createElementNS('http://www.w3.org/2000/svg', name);
+}
+function text(data) {
+    return document.createTextNode(data);
+}
+function space() {
+    return text(' ');
+}
+function empty() {
+    return text('');
+}
+function listen(node, event, handler, options) {
+    node.addEventListener(event, handler, options);
+    return () => node.removeEventListener(event, handler, options);
+}
+function attr(node, attribute, value) {
+    if (value == null)
+        node.removeAttribute(attribute);
+    else if (node.getAttribute(attribute) !== value)
+        node.setAttribute(attribute, value);
+}
+function set_attributes(node, attributes) {
+    // @ts-ignore
+    const descriptors = Object.getOwnPropertyDescriptors(node.__proto__);
+    for (const key in attributes) {
+        if (attributes[key] == null) {
+            node.removeAttribute(key);
+        }
+        else if (key === 'style') {
+            node.style.cssText = attributes[key];
+        }
+        else if (key === '__value') {
+            node.value = node[key] = attributes[key];
+        }
+        else if (descriptors[key] && descriptors[key].set) {
+            node[key] = attributes[key];
+        }
+        else {
+            attr(node, key, attributes[key]);
+        }
+    }
+}
+function children(element) {
+    return Array.from(element.childNodes);
+}
+function set_data(text, data) {
+    data = '' + data;
+    if (text.wholeText !== data)
+        text.data = data;
+}
+function toggle_class(element, name, toggle) {
+    element.classList[toggle ? 'add' : 'remove'](name);
+}
+
+let current_component;
+function set_current_component(component) {
+    current_component = component;
+}
+function get_current_component() {
+    if (!current_component)
+        throw new Error('Function called outside component initialization');
+    return current_component;
+}
+
+const dirty_components = [];
+const binding_callbacks = [];
+const render_callbacks = [];
+const flush_callbacks = [];
+const resolved_promise = Promise.resolve();
+let update_scheduled = false;
+function schedule_update() {
+    if (!update_scheduled) {
+        update_scheduled = true;
+        resolved_promise.then(flush);
+    }
+}
+function add_render_callback(fn) {
+    render_callbacks.push(fn);
+}
+let flushing = false;
+const seen_callbacks = new Set();
+function flush() {
+    if (flushing)
+        return;
+    flushing = true;
+    do {
+        // first, call beforeUpdate functions
+        // and update components
+        for (let i = 0; i < dirty_components.length; i += 1) {
+            const component = dirty_components[i];
+            set_current_component(component);
+            update(component.$$);
+        }
+        set_current_component(null);
+        dirty_components.length = 0;
+        while (binding_callbacks.length)
+            binding_callbacks.pop()();
+        // then, once components are updated, call
+        // afterUpdate functions. This may cause
+        // subsequent updates...
+        for (let i = 0; i < render_callbacks.length; i += 1) {
+            const callback = render_callbacks[i];
+            if (!seen_callbacks.has(callback)) {
+                // ...so guard against infinite loops
+                seen_callbacks.add(callback);
+                callback();
+            }
+        }
+        render_callbacks.length = 0;
+    } while (dirty_components.length);
+    while (flush_callbacks.length) {
+        flush_callbacks.pop()();
+    }
+    update_scheduled = false;
+    flushing = false;
+    seen_callbacks.clear();
+}
+function update($$) {
+    if ($$.fragment !== null) {
+        $$.update();
+        run_all($$.before_update);
+        const dirty = $$.dirty;
+        $$.dirty = [-1];
+        $$.fragment && $$.fragment.p($$.ctx, dirty);
+        $$.after_update.forEach(add_render_callback);
+    }
+}
+const outroing = new Set();
+let outros;
+function group_outros() {
+    outros = {
+        r: 0,
+        c: [],
+        p: outros // parent group
+    };
+}
+function check_outros() {
+    if (!outros.r) {
+        run_all(outros.c);
+    }
+    outros = outros.p;
+}
+function transition_in(block, local) {
+    if (block && block.i) {
+        outroing.delete(block);
+        block.i(local);
+    }
+}
+function transition_out(block, local, detach, callback) {
+    if (block && block.o) {
+        if (outroing.has(block))
+            return;
+        outroing.add(block);
+        outros.c.push(() => {
+            outroing.delete(block);
+            if (callback) {
+                if (detach)
+                    block.d(1);
+                callback();
+            }
+        });
+        block.o(local);
+    }
+}
+
+function handle_promise(promise, info) {
+    const token = info.token = {};
+    function update(type, index, key, value) {
+        if (info.token !== token)
+            return;
+        info.resolved = value;
+        let child_ctx = info.ctx;
+        if (key !== undefined) {
+            child_ctx = child_ctx.slice();
+            child_ctx[key] = value;
+        }
+        const block = type && (info.current = type)(child_ctx);
+        let needs_flush = false;
+        if (info.block) {
+            if (info.blocks) {
+                info.blocks.forEach((block, i) => {
+                    if (i !== index && block) {
+                        group_outros();
+                        transition_out(block, 1, 1, () => {
+                            if (info.blocks[i] === block) {
+                                info.blocks[i] = null;
+                            }
+                        });
+                        check_outros();
+                    }
+                });
+            }
+            else {
+                info.block.d(1);
+            }
+            block.c();
+            transition_in(block, 1);
+            block.m(info.mount(), info.anchor);
+            needs_flush = true;
+        }
+        info.block = block;
+        if (info.blocks)
+            info.blocks[index] = block;
+        if (needs_flush) {
+            flush();
+        }
+    }
+    if (is_promise(promise)) {
+        const current_component = get_current_component();
+        promise.then(value => {
+            set_current_component(current_component);
+            update(info.then, 1, info.value, value);
+            set_current_component(null);
+        }, error => {
+            set_current_component(current_component);
+            update(info.catch, 2, info.error, error);
+            set_current_component(null);
+            if (!info.hasCatch) {
+                throw error;
+            }
+        });
+        // if we previously had a then/catch block, destroy it
+        if (info.current !== info.pending) {
+            update(info.pending, 0);
+            return true;
+        }
+    }
+    else {
+        if (info.current !== info.then) {
+            update(info.then, 1, info.value, promise);
+            return true;
+        }
+        info.resolved = promise;
+    }
+}
+function outro_and_destroy_block(block, lookup) {
+    transition_out(block, 1, 1, () => {
+        lookup.delete(block.key);
+    });
+}
+function update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) {
+    let o = old_blocks.length;
+    let n = list.length;
+    let i = o;
+    const old_indexes = {};
+    while (i--)
+        old_indexes[old_blocks[i].key] = i;
+    const new_blocks = [];
+    const new_lookup = new Map();
+    const deltas = new Map();
+    i = n;
+    while (i--) {
+        const child_ctx = get_context(ctx, list, i);
+        const key = get_key(child_ctx);
+        let block = lookup.get(key);
+        if (!block) {
+            block = create_each_block(key, child_ctx);
+            block.c();
+        }
+        else if (dynamic) {
+            block.p(child_ctx, dirty);
+        }
+        new_lookup.set(key, new_blocks[i] = block);
+        if (key in old_indexes)
+            deltas.set(key, Math.abs(i - old_indexes[key]));
+    }
+    const will_move = new Set();
+    const did_move = new Set();
+    function insert(block) {
+        transition_in(block, 1);
+        block.m(node, next);
+        lookup.set(block.key, block);
+        next = block.first;
+        n--;
+    }
+    while (o && n) {
+        const new_block = new_blocks[n - 1];
+        const old_block = old_blocks[o - 1];
+        const new_key = new_block.key;
+        const old_key = old_block.key;
+        if (new_block === old_block) {
+            // do nothing
+            next = new_block.first;
+            o--;
+            n--;
+        }
+        else if (!new_lookup.has(old_key)) {
+            // remove old block
+            destroy(old_block, lookup);
+            o--;
+        }
+        else if (!lookup.has(new_key) || will_move.has(new_key)) {
+            insert(new_block);
+        }
+        else if (did_move.has(old_key)) {
+            o--;
+        }
+        else if (deltas.get(new_key) > deltas.get(old_key)) {
+            did_move.add(new_key);
+            insert(new_block);
+        }
+        else {
+            will_move.add(old_key);
+            o--;
+        }
+    }
+    while (o--) {
+        const old_block = old_blocks[o];
+        if (!new_lookup.has(old_block.key))
+            destroy(old_block, lookup);
+    }
+    while (n)
+        insert(new_blocks[n - 1]);
+    return new_blocks;
+}
+
+function get_spread_update(levels, updates) {
+    const update = {};
+    const to_null_out = {};
+    const accounted_for = { $$scope: 1 };
+    let i = levels.length;
+    while (i--) {
+        const o = levels[i];
+        const n = updates[i];
+        if (n) {
+            for (const key in o) {
+                if (!(key in n))
+                    to_null_out[key] = 1;
+            }
+            for (const key in n) {
+                if (!accounted_for[key]) {
+                    update[key] = n[key];
+                    accounted_for[key] = 1;
+                }
+            }
+            levels[i] = n;
+        }
+        else {
+            for (const key in o) {
+                accounted_for[key] = 1;
+            }
+        }
+    }
+    for (const key in to_null_out) {
+        if (!(key in update))
+            update[key] = undefined;
+    }
+    return update;
+}
+function get_spread_object(spread_props) {
+    return typeof spread_props === 'object' && spread_props !== null ? spread_props : {};
+}
+function create_component(block) {
+    block && block.c();
+}
+function mount_component(component, target, anchor, customElement) {
+    const { fragment, on_mount, on_destroy, after_update } = component.$$;
+    fragment && fragment.m(target, anchor);
+    if (!customElement) {
+        // onMount happens before the initial afterUpdate
+        add_render_callback(() => {
+            const new_on_destroy = on_mount.map(run).filter(is_function);
+            if (on_destroy) {
+                on_destroy.push(...new_on_destroy);
+            }
+            else {
+                // Edge case - component was destroyed immediately,
+                // most likely as a result of a binding initialising
+                run_all(new_on_destroy);
+            }
+            component.$$.on_mount = [];
+        });
+    }
+    after_update.forEach(add_render_callback);
+}
+function destroy_component(component, detaching) {
+    const $$ = component.$$;
+    if ($$.fragment !== null) {
+        run_all($$.on_destroy);
+        $$.fragment && $$.fragment.d(detaching);
+        // TODO null out other refs, including component.$$ (but need to
+        // preserve final state?)
+        $$.on_destroy = $$.fragment = null;
+        $$.ctx = [];
+    }
+}
+function make_dirty(component, i) {
+    if (component.$$.dirty[0] === -1) {
+        dirty_components.push(component);
+        schedule_update();
+        component.$$.dirty.fill(0);
+    }
+    component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));
+}
+function init(component, options, instance, create_fragment, not_equal, props, dirty = [-1]) {
+    const parent_component = current_component;
+    set_current_component(component);
+    const $$ = component.$$ = {
+        fragment: null,
+        ctx: null,
+        // state
+        props,
+        update: noop,
+        not_equal,
+        bound: blank_object(),
+        // lifecycle
+        on_mount: [],
+        on_destroy: [],
+        on_disconnect: [],
+        before_update: [],
+        after_update: [],
+        context: new Map(parent_component ? parent_component.$$.context : []),
+        // everything else
+        callbacks: blank_object(),
+        dirty,
+        skip_bound: false
+    };
+    let ready = false;
+    $$.ctx = instance
+        ? instance(component, options.props || {}, (i, ret, ...rest) => {
+            const value = rest.length ? rest[0] : ret;
+            if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {
+                if (!$$.skip_bound && $$.bound[i])
+                    $$.bound[i](value);
+                if (ready)
+                    make_dirty(component, i);
+            }
+            return ret;
+        })
+        : [];
+    $$.update();
+    ready = true;
+    run_all($$.before_update);
+    // `false` as a special case of no DOM component
+    $$.fragment = create_fragment ? create_fragment($$.ctx) : false;
+    if (options.target) {
+        if (options.hydrate) {
+            const nodes = children(options.target);
+            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+            $$.fragment && $$.fragment.l(nodes);
+            nodes.forEach(detach);
+        }
+        else {
+            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+            $$.fragment && $$.fragment.c();
+        }
+        if (options.intro)
+            transition_in(component.$$.fragment);
+        mount_component(component, options.target, options.anchor, options.customElement);
+        flush();
+    }
+    set_current_component(parent_component);
+}
+/**
+ * Base class for Svelte components. Used when dev=false.
+ */
+class SvelteComponent {
+    $destroy() {
+        destroy_component(this, 1);
+        this.$destroy = noop;
+    }
+    $on(type, callback) {
+        const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));
+        callbacks.push(callback);
+        return () => {
+            const index = callbacks.indexOf(callback);
+            if (index !== -1)
+                callbacks.splice(index, 1);
+        };
+    }
+    $set($$props) {
+        if (this.$$set && !is_empty($$props)) {
+            this.$$.skip_bound = true;
+            this.$$set($$props);
+            this.$$.skip_bound = false;
+        }
+    }
+}
+
+/**
+ * dateUID is a way of weekly identifying daily/weekly/monthly notes.
+ * They are prefixed with the granularity to avoid ambiguity.
+ */
+function getDateUID(date, granularity = "day") {
+    const ts = date.clone().startOf(granularity).format();
+    return `${granularity}-${ts}`;
+}
+var getDateUID_1 = getDateUID;
+
+/* src/components/Dot.svelte generated by Svelte v3.35.0 */
+
+function add_css$5() {
+	var style = element("style");
+	style.id = "svelte-1widvzq-style";
+	style.textContent = ".dot.svelte-1widvzq,.hollow.svelte-1widvzq{display:inline-block;height:6px;width:6px;margin:0 1px}.filled.svelte-1widvzq{fill:var(--color-dot)}.active.filled.svelte-1widvzq{fill:var(--text-on-accent)}.hollow.svelte-1widvzq{fill:none;stroke:var(--color-dot)}.active.hollow.svelte-1widvzq{fill:none;stroke:var(--text-on-accent)}";
+	append(document.head, style);
+}
+
+// (14:0) {:else}
+function create_else_block$1(ctx) {
+	let svg;
+	let circle;
+	let svg_class_value;
+
+	return {
+		c() {
+			svg = svg_element("svg");
+			circle = svg_element("circle");
+			attr(circle, "cx", "3");
+			attr(circle, "cy", "3");
+			attr(circle, "r", "2");
+			attr(svg, "class", svg_class_value = "" + (null_to_empty(`hollow ${/*className*/ ctx[0]}`) + " svelte-1widvzq"));
+			attr(svg, "viewBox", "0 0 6 6");
+			attr(svg, "xmlns", "http://www.w3.org/2000/svg");
+			toggle_class(svg, "active", /*isActive*/ ctx[2]);
+		},
+		m(target, anchor) {
+			insert(target, svg, anchor);
+			append(svg, circle);
+		},
+		p(ctx, dirty) {
+			if (dirty & /*className*/ 1 && svg_class_value !== (svg_class_value = "" + (null_to_empty(`hollow ${/*className*/ ctx[0]}`) + " svelte-1widvzq"))) {
+				attr(svg, "class", svg_class_value);
+			}
+
+			if (dirty & /*className, isActive*/ 5) {
+				toggle_class(svg, "active", /*isActive*/ ctx[2]);
+			}
+		},
+		d(detaching) {
+			if (detaching) detach(svg);
+		}
+	};
+}
+
+// (6:0) {#if isFilled}
+function create_if_block$2(ctx) {
+	let svg;
+	let circle;
+	let svg_class_value;
+
+	return {
+		c() {
+			svg = svg_element("svg");
+			circle = svg_element("circle");
+			attr(circle, "cx", "3");
+			attr(circle, "cy", "3");
+			attr(circle, "r", "2");
+			attr(svg, "class", svg_class_value = "" + (null_to_empty(`dot filled ${/*className*/ ctx[0]}`) + " svelte-1widvzq"));
+			attr(svg, "viewBox", "0 0 6 6");
+			attr(svg, "xmlns", "http://www.w3.org/2000/svg");
+			toggle_class(svg, "active", /*isActive*/ ctx[2]);
+		},
+		m(target, anchor) {
+			insert(target, svg, anchor);
+			append(svg, circle);
+		},
+		p(ctx, dirty) {
+			if (dirty & /*className*/ 1 && svg_class_value !== (svg_class_value = "" + (null_to_empty(`dot filled ${/*className*/ ctx[0]}`) + " svelte-1widvzq"))) {
+				attr(svg, "class", svg_class_value);
+			}
+
+			if (dirty & /*className, isActive*/ 5) {
+				toggle_class(svg, "active", /*isActive*/ ctx[2]);
+			}
+		},
+		d(detaching) {
+			if (detaching) detach(svg);
+		}
+	};
+}
+
+function create_fragment$6(ctx) {
+	let if_block_anchor;
+
+	function select_block_type(ctx, dirty) {
+		if (/*isFilled*/ ctx[1]) return create_if_block$2;
+		return create_else_block$1;
+	}
+
+	let current_block_type = select_block_type(ctx);
+	let if_block = current_block_type(ctx);
+
+	return {
+		c() {
+			if_block.c();
+			if_block_anchor = empty();
+		},
+		m(target, anchor) {
+			if_block.m(target, anchor);
+			insert(target, if_block_anchor, anchor);
+		},
+		p(ctx, [dirty]) {
+			if (current_block_type === (current_block_type = select_block_type(ctx)) && if_block) {
+				if_block.p(ctx, dirty);
+			} else {
+				if_block.d(1);
+				if_block = current_block_type(ctx);
+
+				if (if_block) {
+					if_block.c();
+					if_block.m(if_block_anchor.parentNode, if_block_anchor);
+				}
+			}
+		},
+		i: noop,
+		o: noop,
+		d(detaching) {
+			if_block.d(detaching);
+			if (detaching) detach(if_block_anchor);
+		}
+	};
+}
+
+function instance$6($$self, $$props, $$invalidate) {
+	let { className = "" } = $$props;
+	let { isFilled } = $$props;
+	let { isActive } = $$props;
+
+	$$self.$$set = $$props => {
+		if ("className" in $$props) $$invalidate(0, className = $$props.className);
+		if ("isFilled" in $$props) $$invalidate(1, isFilled = $$props.isFilled);
+		if ("isActive" in $$props) $$invalidate(2, isActive = $$props.isActive);
+	};
+
+	return [className, isFilled, isActive];
+}
+
+class Dot extends SvelteComponent {
+	constructor(options) {
+		super();
+		if (!document.getElementById("svelte-1widvzq-style")) add_css$5();
+		init(this, options, instance$6, create_fragment$6, safe_not_equal, { className: 0, isFilled: 1, isActive: 2 });
+	}
+}
+
+/* src/components/MetadataResolver.svelte generated by Svelte v3.35.0 */
+
+const get_default_slot_changes_1 = dirty => ({});
+const get_default_slot_context_1 = ctx => ({ metadata: null });
+const get_default_slot_changes = dirty => ({ metadata: dirty & /*metadata*/ 1 });
+const get_default_slot_context = ctx => ({ metadata: /*resolvedMeta*/ ctx[3] });
+
+// (11:0) {:else}
+function create_else_block(ctx) {
+	let current;
+	const default_slot_template = /*#slots*/ ctx[2].default;
+	const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[1], get_default_slot_context_1);
+
+	return {
+		c() {
+			if (default_slot) default_slot.c();
+		},
+		m(target, anchor) {
+			if (default_slot) {
+				default_slot.m(target, anchor);
+			}
+
+			current = true;
+		},
+		p(ctx, dirty) {
+			if (default_slot) {
+				if (default_slot.p && dirty & /*$$scope*/ 2) {
+					update_slot(default_slot, default_slot_template, ctx, /*$$scope*/ ctx[1], dirty, get_default_slot_changes_1, get_default_slot_context_1);
+				}
+			}
+		},
+		i(local) {
+			if (current) return;
+			transition_in(default_slot, local);
+			current = true;
+		},
+		o(local) {
+			transition_out(default_slot, local);
+			current = false;
+		},
+		d(detaching) {
+			if (default_slot) default_slot.d(detaching);
+		}
+	};
+}
+
+// (7:0) {#if metadata}
+function create_if_block$1(ctx) {
+	let await_block_anchor;
+	let promise;
+	let current;
+
+	let info = {
+		ctx,
+		current: null,
+		token: null,
+		hasCatch: false,
+		pending: create_pending_block,
+		then: create_then_block,
+		catch: create_catch_block,
+		value: 3,
+		blocks: [,,,]
+	};
+
+	handle_promise(promise = /*metadata*/ ctx[0], info);
+
+	return {
+		c() {
+			await_block_anchor = empty();
+			info.block.c();
+		},
+		m(target, anchor) {
+			insert(target, await_block_anchor, anchor);
+			info.block.m(target, info.anchor = anchor);
+			info.mount = () => await_block_anchor.parentNode;
+			info.anchor = await_block_anchor;
+			current = true;
+		},
+		p(new_ctx, dirty) {
+			ctx = new_ctx;
+			info.ctx = ctx;
+
+			if (dirty & /*metadata*/ 1 && promise !== (promise = /*metadata*/ ctx[0]) && handle_promise(promise, info)) ; else {
+				const child_ctx = ctx.slice();
+				child_ctx[3] = info.resolved;
+				info.block.p(child_ctx, dirty);
+			}
+		},
+		i(local) {
+			if (current) return;
+			transition_in(info.block);
+			current = true;
+		},
+		o(local) {
+			for (let i = 0; i < 3; i += 1) {
+				const block = info.blocks[i];
+				transition_out(block);
+			}
+
+			current = false;
+		},
+		d(detaching) {
+			if (detaching) detach(await_block_anchor);
+			info.block.d(detaching);
+			info.token = null;
+			info = null;
+		}
+	};
+}
+
+// (1:0) <svelte:options immutable />  <script lang="ts">; export let metadata; </script>  {#if metadata}
+function create_catch_block(ctx) {
+	return {
+		c: noop,
+		m: noop,
+		p: noop,
+		i: noop,
+		o: noop,
+		d: noop
+	};
+}
+
+// (8:37)      <slot metadata="{resolvedMeta}
+function create_then_block(ctx) {
+	let current;
+	const default_slot_template = /*#slots*/ ctx[2].default;
+	const default_slot = create_slot(default_slot_template, ctx, /*$$scope*/ ctx[1], get_default_slot_context);
+
+	return {
+		c() {
+			if (default_slot) default_slot.c();
+		},
+		m(target, anchor) {
+			if (default_slot) {
+				default_slot.m(target, anchor);
+			}
+
+			current = true;
+		},
+		p(ctx, dirty) {
+			if (default_slot) {
+				if (default_slot.p && dirty & /*$$scope, metadata*/ 3) {
+					update_slot(default_slot, default_slot_template, ctx, /*$$scope*/ ctx[1], dirty, get_default_slot_changes, get_default_slot_context);
+				}
+			}
+		},
+		i(local) {
+			if (current) return;
+			transition_in(default_slot, local);
+			current = true;
+		},
+		o(local) {
+			transition_out(default_slot, local);
+			current = false;
+		},
+		d(detaching) {
+			if (default_slot) default_slot.d(detaching);
+		}
+	};
+}
+
+// (1:0) <svelte:options immutable />  <script lang="ts">; export let metadata; </script>  {#if metadata}
+function create_pending_block(ctx) {
+	return {
+		c: noop,
+		m: noop,
+		p: noop,
+		i: noop,
+		o: noop,
+		d: noop
+	};
+}
+
+function create_fragment$5(ctx) {
+	let current_block_type_index;
+	let if_block;
+	let if_block_anchor;
+	let current;
+	const if_block_creators = [create_if_block$1, create_else_block];
+	const if_blocks = [];
+
+	function select_block_type(ctx, dirty) {
+		if (/*metadata*/ ctx[0]) return 0;
+		return 1;
+	}
+
+	current_block_type_index = select_block_type(ctx);
+	if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
+
+	return {
+		c() {
+			if_block.c();
+			if_block_anchor = empty();
+		},
+		m(target, anchor) {
+			if_blocks[current_block_type_index].m(target, anchor);
+			insert(target, if_block_anchor, anchor);
+			current = true;
+		},
+		p(ctx, [dirty]) {
+			let previous_block_index = current_block_type_index;
+			current_block_type_index = select_block_type(ctx);
+
+			if (current_block_type_index === previous_block_index) {
+				if_blocks[current_block_type_index].p(ctx, dirty);
+			} else {
+				group_outros();
+
+				transition_out(if_blocks[previous_block_index], 1, 1, () => {
+					if_blocks[previous_block_index] = null;
+				});
+
+				check_outros();
+				if_block = if_blocks[current_block_type_index];
+
+				if (!if_block) {
+					if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx);
+					if_block.c();
+				} else {
+					if_block.p(ctx, dirty);
+				}
+
+				transition_in(if_block, 1);
+				if_block.m(if_block_anchor.parentNode, if_block_anchor);
+			}
+		},
+		i(local) {
+			if (current) return;
+			transition_in(if_block);
+			current = true;
+		},
+		o(local) {
+			transition_out(if_block);
+			current = false;
+		},
+		d(detaching) {
+			if_blocks[current_block_type_index].d(detaching);
+			if (detaching) detach(if_block_anchor);
+		}
+	};
+}
+
+function instance$5($$self, $$props, $$invalidate) {
+	let { $$slots: slots = {}, $$scope } = $$props;
+	
+	let { metadata } = $$props;
+
+	$$self.$$set = $$props => {
+		if ("metadata" in $$props) $$invalidate(0, metadata = $$props.metadata);
+		if ("$$scope" in $$props) $$invalidate(1, $$scope = $$props.$$scope);
+	};
+
+	return [metadata, $$scope, slots];
+}
+
+class MetadataResolver extends SvelteComponent {
+	constructor(options) {
+		super();
+		init(this, options, instance$5, create_fragment$5, not_equal, { metadata: 0 });
+	}
+}
+
+function isMacOS() {
+    return navigator.appVersion.indexOf("Mac") !== -1;
+}
+function isMetaPressed(e) {
+    return isMacOS() ? e.metaKey : e.ctrlKey;
+}
+function getDaysOfWeek(..._args) {
+    return window.moment.weekdaysShort(true);
+}
+function isWeekend(date) {
+    return date.isoWeekday() === 6 || date.isoWeekday() === 7;
+}
+function getStartOfWeek(days) {
+    return days[0].weekday(0);
+}
+/**
+ * Generate a 2D array of daily information to power
+ * the calendar view.
+ */
+function getMonth(displayedMonth, ..._args) {
+    const locale = window.moment().locale();
+    const month = [];
+    let week;
+    const startOfMonth = displayedMonth.clone().locale(locale).date(1);
+    const startOffset = startOfMonth.weekday();
+    let date = startOfMonth.clone().subtract(startOffset, "days");
+    for (let _day = 0; _day < 42; _day++) {
+        if (_day % 7 === 0) {
+            week = {
+                days: [],
+                weekNum: date.week(),
+            };
+            month.push(week);
+        }
+        week.days.push(date);
+        date = date.clone().add(1, "days");
+    }
+    return month;
+}
+
+/* src/components/Day.svelte generated by Svelte v3.35.0 */
+
+function add_css$4() {
+	var style = element("style");
+	style.id = "svelte-q3wqg9-style";
+	style.textContent = ".day.svelte-q3wqg9{background-color:var(--color-background-day);border-radius:4px;color:var(--color-text-day);cursor:pointer;font-size:0.8em;height:100%;padding:4px;position:relative;text-align:center;transition:background-color 0.1s ease-in, color 0.1s ease-in;vertical-align:baseline}.day.svelte-q3wqg9:hover{background-color:var(--interactive-hover)}.day.active.svelte-q3wqg9:hover{background-color:var(--interactive-accent-hover)}.adjacent-month.svelte-q3wqg9{opacity:0.25}.today.svelte-q3wqg9{color:var(--color-text-today)}.day.svelte-q3wqg9:active,.active.svelte-q3wqg9,.active.today.svelte-q3wqg9{color:var(--text-on-accent);background-color:var(--interactive-accent)}.dot-container.svelte-q3wqg9{display:flex;flex-wrap:wrap;justify-content:center;line-height:6px;min-height:6px}";
+	append(document.head, style);
+}
+
+function get_each_context$2(ctx, list, i) {
+	const child_ctx = ctx.slice();
+	child_ctx[11] = list[i];
+	return child_ctx;
+}
+
+// (36:8) {#each metadata.dots as dot}
+function create_each_block$2(ctx) {
+	let dot;
+	let current;
+	const dot_spread_levels = [/*dot*/ ctx[11]];
+	let dot_props = {};
+
+	for (let i = 0; i < dot_spread_levels.length; i += 1) {
+		dot_props = assign(dot_props, dot_spread_levels[i]);
+	}
+
+	dot = new Dot({ props: dot_props });
+
+	return {
+		c() {
+			create_component(dot.$$.fragment);
+		},
+		m(target, anchor) {
+			mount_component(dot, target, anchor);
+			current = true;
+		},
+		p(ctx, dirty) {
+			const dot_changes = (dirty & /*metadata*/ 128)
+			? get_spread_update(dot_spread_levels, [get_spread_object(/*dot*/ ctx[11])])
+			: {};
+
+			dot.$set(dot_changes);
+		},
+		i(local) {
+			if (current) return;
+			transition_in(dot.$$.fragment, local);
+			current = true;
+		},
+		o(local) {
+			transition_out(dot.$$.fragment, local);
+			current = false;
+		},
+		d(detaching) {
+			destroy_component(dot, detaching);
+		}
+	};
+}
+
+// (22:2) <MetadataResolver metadata="{metadata}" let:metadata>
+function create_default_slot$1(ctx) {
+	let div1;
+	let t0_value = /*date*/ ctx[0].format("D") + "";
+	let t0;
+	let t1;
+	let div0;
+	let div1_class_value;
+	let current;
+	let mounted;
+	let dispose;
+	let each_value = /*metadata*/ ctx[7].dots;
+	let each_blocks = [];
+
+	for (let i = 0; i < each_value.length; i += 1) {
+		each_blocks[i] = create_each_block$2(get_each_context$2(ctx, each_value, i));
+	}
+
+	const out = i => transition_out(each_blocks[i], 1, 1, () => {
+		each_blocks[i] = null;
+	});
+
+	let div1_levels = [
+		{
+			class: div1_class_value = `day ${/*metadata*/ ctx[7].classes.join(" ")}`
+		},
+		/*metadata*/ ctx[7].dataAttributes || {}
+	];
+
+	let div1_data = {};
+
+	for (let i = 0; i < div1_levels.length; i += 1) {
+		div1_data = assign(div1_data, div1_levels[i]);
+	}
+
+	return {
+		c() {
+			div1 = element("div");
+			t0 = text(t0_value);
+			t1 = space();
+			div0 = element("div");
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				each_blocks[i].c();
+			}
+
+			attr(div0, "class", "dot-container svelte-q3wqg9");
+			set_attributes(div1, div1_data);
+			toggle_class(div1, "active", /*selectedId*/ ctx[6] === getDateUID_1(/*date*/ ctx[0], "day"));
+			toggle_class(div1, "adjacent-month", !/*date*/ ctx[0].isSame(/*displayedMonth*/ ctx[5], "month"));
+			toggle_class(div1, "today", /*date*/ ctx[0].isSame(/*today*/ ctx[4], "day"));
+			toggle_class(div1, "svelte-q3wqg9", true);
+		},
+		m(target, anchor) {
+			insert(target, div1, anchor);
+			append(div1, t0);
+			append(div1, t1);
+			append(div1, div0);
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				each_blocks[i].m(div0, null);
+			}
+
+			current = true;
+
+			if (!mounted) {
+				dispose = [
+					listen(div1, "click", function () {
+						if (is_function(/*onClick*/ ctx[2] && /*click_handler*/ ctx[8])) (/*onClick*/ ctx[2] && /*click_handler*/ ctx[8]).apply(this, arguments);
+					}),
+					listen(div1, "contextmenu", function () {
+						if (is_function(/*onContextMenu*/ ctx[3] && /*contextmenu_handler*/ ctx[9])) (/*onContextMenu*/ ctx[3] && /*contextmenu_handler*/ ctx[9]).apply(this, arguments);
+					}),
+					listen(div1, "pointerover", function () {
+						if (is_function(/*onHover*/ ctx[1] && /*pointerover_handler*/ ctx[10])) (/*onHover*/ ctx[1] && /*pointerover_handler*/ ctx[10]).apply(this, arguments);
+					})
+				];
+
+				mounted = true;
+			}
+		},
+		p(new_ctx, dirty) {
+			ctx = new_ctx;
+			if ((!current || dirty & /*date*/ 1) && t0_value !== (t0_value = /*date*/ ctx[0].format("D") + "")) set_data(t0, t0_value);
+
+			if (dirty & /*metadata*/ 128) {
+				each_value = /*metadata*/ ctx[7].dots;
+				let i;
+
+				for (i = 0; i < each_value.length; i += 1) {
+					const child_ctx = get_each_context$2(ctx, each_value, i);
+
+					if (each_blocks[i]) {
+						each_blocks[i].p(child_ctx, dirty);
+						transition_in(each_blocks[i], 1);
+					} else {
+						each_blocks[i] = create_each_block$2(child_ctx);
+						each_blocks[i].c();
+						transition_in(each_blocks[i], 1);
+						each_blocks[i].m(div0, null);
+					}
+				}
+
+				group_outros();
+
+				for (i = each_value.length; i < each_blocks.length; i += 1) {
+					out(i);
+				}
+
+				check_outros();
+			}
+
+			set_attributes(div1, div1_data = get_spread_update(div1_levels, [
+				(!current || dirty & /*metadata*/ 128 && div1_class_value !== (div1_class_value = `day ${/*metadata*/ ctx[7].classes.join(" ")}`)) && { class: div1_class_value },
+				dirty & /*metadata*/ 128 && (/*metadata*/ ctx[7].dataAttributes || {})
+			]));
+
+			toggle_class(div1, "active", /*selectedId*/ ctx[6] === getDateUID_1(/*date*/ ctx[0], "day"));
+			toggle_class(div1, "adjacent-month", !/*date*/ ctx[0].isSame(/*displayedMonth*/ ctx[5], "month"));
+			toggle_class(div1, "today", /*date*/ ctx[0].isSame(/*today*/ ctx[4], "day"));
+			toggle_class(div1, "svelte-q3wqg9", true);
+		},
+		i(local) {
+			if (current) return;
+
+			for (let i = 0; i < each_value.length; i += 1) {
+				transition_in(each_blocks[i]);
+			}
+
+			current = true;
+		},
+		o(local) {
+			each_blocks = each_blocks.filter(Boolean);
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				transition_out(each_blocks[i]);
+			}
+
+			current = false;
+		},
+		d(detaching) {
+			if (detaching) detach(div1);
+			destroy_each(each_blocks, detaching);
+			mounted = false;
+			run_all(dispose);
+		}
+	};
+}
+
+function create_fragment$4(ctx) {
+	let td;
+	let metadataresolver;
+	let current;
+
+	metadataresolver = new MetadataResolver({
+			props: {
+				metadata: /*metadata*/ ctx[7],
+				$$slots: {
+					default: [
+						create_default_slot$1,
+						({ metadata }) => ({ 7: metadata }),
+						({ metadata }) => metadata ? 128 : 0
+					]
+				},
+				$$scope: { ctx }
+			}
+		});
+
+	return {
+		c() {
+			td = element("td");
+			create_component(metadataresolver.$$.fragment);
+		},
+		m(target, anchor) {
+			insert(target, td, anchor);
+			mount_component(metadataresolver, td, null);
+			current = true;
+		},
+		p(ctx, [dirty]) {
+			const metadataresolver_changes = {};
+			if (dirty & /*metadata*/ 128) metadataresolver_changes.metadata = /*metadata*/ ctx[7];
+
+			if (dirty & /*$$scope, metadata, selectedId, date, displayedMonth, today, onClick, onContextMenu, onHover*/ 16639) {
+				metadataresolver_changes.$$scope = { dirty, ctx };
+			}
+
+			metadataresolver.$set(metadataresolver_changes);
+		},
+		i(local) {
+			if (current) return;
+			transition_in(metadataresolver.$$.fragment, local);
+			current = true;
+		},
+		o(local) {
+			transition_out(metadataresolver.$$.fragment, local);
+			current = false;
+		},
+		d(detaching) {
+			if (detaching) detach(td);
+			destroy_component(metadataresolver);
+		}
+	};
+}
+
+function instance$4($$self, $$props, $$invalidate) {
+	
+	
+	let { date } = $$props;
+	let { metadata } = $$props;
+	let { onHover } = $$props;
+	let { onClick } = $$props;
+	let { onContextMenu } = $$props;
+	let { today } = $$props;
+	let { displayedMonth = null } = $$props;
+	let { selectedId = null } = $$props;
+	const click_handler = e => onClick(date, isMetaPressed(e));
+	const contextmenu_handler = e => onContextMenu(date, e);
+	const pointerover_handler = e => onHover(date, e.target, isMetaPressed(e));
+
+	$$self.$$set = $$props => {
+		if ("date" in $$props) $$invalidate(0, date = $$props.date);
+		if ("metadata" in $$props) $$invalidate(7, metadata = $$props.metadata);
+		if ("onHover" in $$props) $$invalidate(1, onHover = $$props.onHover);
+		if ("onClick" in $$props) $$invalidate(2, onClick = $$props.onClick);
+		if ("onContextMenu" in $$props) $$invalidate(3, onContextMenu = $$props.onContextMenu);
+		if ("today" in $$props) $$invalidate(4, today = $$props.today);
+		if ("displayedMonth" in $$props) $$invalidate(5, displayedMonth = $$props.displayedMonth);
+		if ("selectedId" in $$props) $$invalidate(6, selectedId = $$props.selectedId);
+	};
+
+	return [
+		date,
+		onHover,
+		onClick,
+		onContextMenu,
+		today,
+		displayedMonth,
+		selectedId,
+		metadata,
+		click_handler,
+		contextmenu_handler,
+		pointerover_handler
+	];
+}
+
+class Day extends SvelteComponent {
+	constructor(options) {
+		super();
+		if (!document.getElementById("svelte-q3wqg9-style")) add_css$4();
+
+		init(this, options, instance$4, create_fragment$4, not_equal, {
+			date: 0,
+			metadata: 7,
+			onHover: 1,
+			onClick: 2,
+			onContextMenu: 3,
+			today: 4,
+			displayedMonth: 5,
+			selectedId: 6
+		});
+	}
+}
+
+/* src/components/Arrow.svelte generated by Svelte v3.35.0 */
+
+function add_css$3() {
+	var style = element("style");
+	style.id = "svelte-156w7na-style";
+	style.textContent = ".arrow.svelte-156w7na.svelte-156w7na{align-items:center;cursor:pointer;display:flex;justify-content:center;width:24px}.arrow.is-mobile.svelte-156w7na.svelte-156w7na{width:32px}.right.svelte-156w7na.svelte-156w7na{transform:rotate(180deg)}.arrow.svelte-156w7na svg.svelte-156w7na{color:var(--color-arrow);height:16px;width:16px}";
+	append(document.head, style);
+}
+
+function create_fragment$3(ctx) {
+	let div;
+	let svg;
+	let path;
+	let mounted;
+	let dispose;
+
+	return {
+		c() {
+			div = element("div");
+			svg = svg_element("svg");
+			path = svg_element("path");
+			attr(path, "fill", "currentColor");
+			attr(path, "d", "M34.52 239.03L228.87 44.69c9.37-9.37 24.57-9.37 33.94 0l22.67 22.67c9.36 9.36 9.37 24.52.04 33.9L131.49 256l154.02 154.75c9.34 9.38 9.32 24.54-.04 33.9l-22.67 22.67c-9.37 9.37-24.57 9.37-33.94 0L34.52 272.97c-9.37-9.37-9.37-24.57 0-33.94z");
+			attr(svg, "focusable", "false");
+			attr(svg, "role", "img");
+			attr(svg, "xmlns", "http://www.w3.org/2000/svg");
+			attr(svg, "viewBox", "0 0 320 512");
+			attr(svg, "class", "svelte-156w7na");
+			attr(div, "class", "arrow svelte-156w7na");
+			attr(div, "aria-label", /*tooltip*/ ctx[1]);
+			toggle_class(div, "is-mobile", /*isMobile*/ ctx[3]);
+			toggle_class(div, "right", /*direction*/ ctx[2] === "right");
+		},
+		m(target, anchor) {
+			insert(target, div, anchor);
+			append(div, svg);
+			append(svg, path);
+
+			if (!mounted) {
+				dispose = listen(div, "click", function () {
+					if (is_function(/*onClick*/ ctx[0])) /*onClick*/ ctx[0].apply(this, arguments);
+				});
+
+				mounted = true;
+			}
+		},
+		p(new_ctx, [dirty]) {
+			ctx = new_ctx;
+
+			if (dirty & /*tooltip*/ 2) {
+				attr(div, "aria-label", /*tooltip*/ ctx[1]);
+			}
+
+			if (dirty & /*direction*/ 4) {
+				toggle_class(div, "right", /*direction*/ ctx[2] === "right");
+			}
+		},
+		i: noop,
+		o: noop,
+		d(detaching) {
+			if (detaching) detach(div);
+			mounted = false;
+			dispose();
+		}
+	};
+}
+
+function instance$3($$self, $$props, $$invalidate) {
+	let { onClick } = $$props;
+	let { tooltip } = $$props;
+	let { direction } = $$props;
+
+	// eslint-disable-next-line @typescript-eslint/no-explicit-any
+	let isMobile = window.app.isMobile;
+
+	$$self.$$set = $$props => {
+		if ("onClick" in $$props) $$invalidate(0, onClick = $$props.onClick);
+		if ("tooltip" in $$props) $$invalidate(1, tooltip = $$props.tooltip);
+		if ("direction" in $$props) $$invalidate(2, direction = $$props.direction);
+	};
+
+	return [onClick, tooltip, direction, isMobile];
+}
+
+class Arrow extends SvelteComponent {
+	constructor(options) {
+		super();
+		if (!document.getElementById("svelte-156w7na-style")) add_css$3();
+		init(this, options, instance$3, create_fragment$3, safe_not_equal, { onClick: 0, tooltip: 1, direction: 2 });
+	}
+}
+
+/* src/components/Nav.svelte generated by Svelte v3.35.0 */
+
+function add_css$2() {
+	var style = element("style");
+	style.id = "svelte-1vwr9dd-style";
+	style.textContent = ".nav.svelte-1vwr9dd.svelte-1vwr9dd{align-items:center;display:flex;margin:0.6em 0 1em;padding:0 8px;width:100%}.nav.is-mobile.svelte-1vwr9dd.svelte-1vwr9dd{padding:0}.title.svelte-1vwr9dd.svelte-1vwr9dd{color:var(--color-text-title);font-size:1.5em;margin:0}.is-mobile.svelte-1vwr9dd .title.svelte-1vwr9dd{font-size:1.3em}.month.svelte-1vwr9dd.svelte-1vwr9dd{font-weight:500;text-transform:capitalize}.year.svelte-1vwr9dd.svelte-1vwr9dd{color:var(--interactive-accent)}.right-nav.svelte-1vwr9dd.svelte-1vwr9dd{display:flex;justify-content:center;margin-left:auto}.reset-button.svelte-1vwr9dd.svelte-1vwr9dd{cursor:pointer;border-radius:4px;color:var(--text-muted);font-size:0.7em;font-weight:600;letter-spacing:1px;margin:0 4px;padding:0px 4px;text-transform:uppercase}.is-mobile.svelte-1vwr9dd .reset-button.svelte-1vwr9dd{display:none}";
+	append(document.head, style);
+}
+
+function create_fragment$2(ctx) {
+	let div2;
+	let h3;
+	let span0;
+	let t0_value = /*displayedMonth*/ ctx[0].format("MMM") + "";
+	let t0;
+	let t1;
+	let span1;
+	let t2_value = /*displayedMonth*/ ctx[0].format("YYYY") + "";
+	let t2;
+	let t3;
+	let div1;
+	let arrow0;
+	let t4;
+	let div0;
+	let t6;
+	let arrow1;
+	let current;
+	let mounted;
+	let dispose;
+
+	arrow0 = new Arrow({
+			props: {
+				direction: "left",
+				onClick: /*decrementDisplayedMonth*/ ctx[3],
+				tooltip: "Previous Month"
+			}
+		});
+
+	arrow1 = new Arrow({
+			props: {
+				direction: "right",
+				onClick: /*incrementDisplayedMonth*/ ctx[2],
+				tooltip: "Next Month"
+			}
+		});
+
+	return {
+		c() {
+			div2 = element("div");
+			h3 = element("h3");
+			span0 = element("span");
+			t0 = text(t0_value);
+			t1 = space();
+			span1 = element("span");
+			t2 = text(t2_value);
+			t3 = space();
+			div1 = element("div");
+			create_component(arrow0.$$.fragment);
+			t4 = space();
+			div0 = element("div");
+			div0.textContent = `${/*todayDisplayStr*/ ctx[4]}`;
+			t6 = space();
+			create_component(arrow1.$$.fragment);
+			attr(span0, "class", "month svelte-1vwr9dd");
+			attr(span1, "class", "year svelte-1vwr9dd");
+			attr(h3, "class", "title svelte-1vwr9dd");
+			attr(div0, "class", "reset-button svelte-1vwr9dd");
+			attr(div1, "class", "right-nav svelte-1vwr9dd");
+			attr(div2, "class", "nav svelte-1vwr9dd");
+			toggle_class(div2, "is-mobile", /*isMobile*/ ctx[5]);
+		},
+		m(target, anchor) {
+			insert(target, div2, anchor);
+			append(div2, h3);
+			append(h3, span0);
+			append(span0, t0);
+			append(h3, t1);
+			append(h3, span1);
+			append(span1, t2);
+			append(div2, t3);
+			append(div2, div1);
+			mount_component(arrow0, div1, null);
+			append(div1, t4);
+			append(div1, div0);
+			append(div1, t6);
+			mount_component(arrow1, div1, null);
+			current = true;
+
+			if (!mounted) {
+				dispose = [
+					listen(h3, "click", function () {
+						if (is_function(/*resetDisplayedMonth*/ ctx[1])) /*resetDisplayedMonth*/ ctx[1].apply(this, arguments);
+					}),
+					listen(div0, "click", function () {
+						if (is_function(/*resetDisplayedMonth*/ ctx[1])) /*resetDisplayedMonth*/ ctx[1].apply(this, arguments);
+					})
+				];
+
+				mounted = true;
+			}
+		},
+		p(new_ctx, [dirty]) {
+			ctx = new_ctx;
+			if ((!current || dirty & /*displayedMonth*/ 1) && t0_value !== (t0_value = /*displayedMonth*/ ctx[0].format("MMM") + "")) set_data(t0, t0_value);
+			if ((!current || dirty & /*displayedMonth*/ 1) && t2_value !== (t2_value = /*displayedMonth*/ ctx[0].format("YYYY") + "")) set_data(t2, t2_value);
+			const arrow0_changes = {};
+			if (dirty & /*decrementDisplayedMonth*/ 8) arrow0_changes.onClick = /*decrementDisplayedMonth*/ ctx[3];
+			arrow0.$set(arrow0_changes);
+			const arrow1_changes = {};
+			if (dirty & /*incrementDisplayedMonth*/ 4) arrow1_changes.onClick = /*incrementDisplayedMonth*/ ctx[2];
+			arrow1.$set(arrow1_changes);
+		},
+		i(local) {
+			if (current) return;
+			transition_in(arrow0.$$.fragment, local);
+			transition_in(arrow1.$$.fragment, local);
+			current = true;
+		},
+		o(local) {
+			transition_out(arrow0.$$.fragment, local);
+			transition_out(arrow1.$$.fragment, local);
+			current = false;
+		},
+		d(detaching) {
+			if (detaching) detach(div2);
+			destroy_component(arrow0);
+			destroy_component(arrow1);
+			mounted = false;
+			run_all(dispose);
+		}
+	};
+}
+
+function instance$2($$self, $$props, $$invalidate) {
+	
+	let { displayedMonth } = $$props;
+	let { today } = $$props;
+	let { resetDisplayedMonth } = $$props;
+	let { incrementDisplayedMonth } = $$props;
+	let { decrementDisplayedMonth } = $$props;
+
+	// Get the word 'Today' but localized to the current language
+	const todayDisplayStr = today.calendar().split(/\d|\s/)[0];
+
+	// eslint-disable-next-line @typescript-eslint/no-explicit-any
+	let isMobile = window.app.isMobile;
+
+	$$self.$$set = $$props => {
+		if ("displayedMonth" in $$props) $$invalidate(0, displayedMonth = $$props.displayedMonth);
+		if ("today" in $$props) $$invalidate(6, today = $$props.today);
+		if ("resetDisplayedMonth" in $$props) $$invalidate(1, resetDisplayedMonth = $$props.resetDisplayedMonth);
+		if ("incrementDisplayedMonth" in $$props) $$invalidate(2, incrementDisplayedMonth = $$props.incrementDisplayedMonth);
+		if ("decrementDisplayedMonth" in $$props) $$invalidate(3, decrementDisplayedMonth = $$props.decrementDisplayedMonth);
+	};
+
+	return [
+		displayedMonth,
+		resetDisplayedMonth,
+		incrementDisplayedMonth,
+		decrementDisplayedMonth,
+		todayDisplayStr,
+		isMobile,
+		today
+	];
+}
+
+class Nav extends SvelteComponent {
+	constructor(options) {
+		super();
+		if (!document.getElementById("svelte-1vwr9dd-style")) add_css$2();
+
+		init(this, options, instance$2, create_fragment$2, safe_not_equal, {
+			displayedMonth: 0,
+			today: 6,
+			resetDisplayedMonth: 1,
+			incrementDisplayedMonth: 2,
+			decrementDisplayedMonth: 3
+		});
+	}
+}
+
+/* src/components/WeekNum.svelte generated by Svelte v3.35.0 */
+
+function add_css$1() {
+	var style = element("style");
+	style.id = "svelte-egt0yd-style";
+	style.textContent = "td.svelte-egt0yd{border-right:1px solid var(--background-modifier-border)}.week-num.svelte-egt0yd{background-color:var(--color-background-weeknum);border-radius:4px;color:var(--color-text-weeknum);cursor:pointer;font-size:0.65em;height:100%;padding:4px;text-align:center;transition:background-color 0.1s ease-in, color 0.1s ease-in;vertical-align:baseline}.week-num.svelte-egt0yd:hover{background-color:var(--interactive-hover)}.week-num.active.svelte-egt0yd:hover{background-color:var(--interactive-accent-hover)}.active.svelte-egt0yd{color:var(--text-on-accent);background-color:var(--interactive-accent)}.dot-container.svelte-egt0yd{display:flex;flex-wrap:wrap;justify-content:center;line-height:6px;min-height:6px}";
+	append(document.head, style);
+}
+
+function get_each_context$1(ctx, list, i) {
+	const child_ctx = ctx.slice();
+	child_ctx[11] = list[i];
+	return child_ctx;
+}
+
+// (35:8) {#each metadata.dots as dot}
+function create_each_block$1(ctx) {
+	let dot;
+	let current;
+	const dot_spread_levels = [/*dot*/ ctx[11]];
+	let dot_props = {};
+
+	for (let i = 0; i < dot_spread_levels.length; i += 1) {
+		dot_props = assign(dot_props, dot_spread_levels[i]);
+	}
+
+	dot = new Dot({ props: dot_props });
+
+	return {
+		c() {
+			create_component(dot.$$.fragment);
+		},
+		m(target, anchor) {
+			mount_component(dot, target, anchor);
+			current = true;
+		},
+		p(ctx, dirty) {
+			const dot_changes = (dirty & /*metadata*/ 64)
+			? get_spread_update(dot_spread_levels, [get_spread_object(/*dot*/ ctx[11])])
+			: {};
+
+			dot.$set(dot_changes);
+		},
+		i(local) {
+			if (current) return;
+			transition_in(dot.$$.fragment, local);
+			current = true;
+		},
+		o(local) {
+			transition_out(dot.$$.fragment, local);
+			current = false;
+		},
+		d(detaching) {
+			destroy_component(dot, detaching);
+		}
+	};
+}
+
+// (24:2) <MetadataResolver metadata="{metadata}" let:metadata>
+function create_default_slot(ctx) {
+	let div1;
+	let t0;
+	let t1;
+	let div0;
+	let div1_class_value;
+	let current;
+	let mounted;
+	let dispose;
+	let each_value = /*metadata*/ ctx[6].dots;
+	let each_blocks = [];
+
+	for (let i = 0; i < each_value.length; i += 1) {
+		each_blocks[i] = create_each_block$1(get_each_context$1(ctx, each_value, i));
+	}
+
+	const out = i => transition_out(each_blocks[i], 1, 1, () => {
+		each_blocks[i] = null;
+	});
+
+	return {
+		c() {
+			div1 = element("div");
+			t0 = text(/*weekNum*/ ctx[0]);
+			t1 = space();
+			div0 = element("div");
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				each_blocks[i].c();
+			}
+
+			attr(div0, "class", "dot-container svelte-egt0yd");
+			attr(div1, "class", div1_class_value = "" + (null_to_empty(`week-num ${/*metadata*/ ctx[6].classes.join(" ")}`) + " svelte-egt0yd"));
+			toggle_class(div1, "active", /*selectedId*/ ctx[5] === getDateUID_1(/*days*/ ctx[1][0], "week"));
+		},
+		m(target, anchor) {
+			insert(target, div1, anchor);
+			append(div1, t0);
+			append(div1, t1);
+			append(div1, div0);
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				each_blocks[i].m(div0, null);
+			}
+
+			current = true;
+
+			if (!mounted) {
+				dispose = [
+					listen(div1, "click", function () {
+						if (is_function(/*onClick*/ ctx[3] && /*click_handler*/ ctx[8])) (/*onClick*/ ctx[3] && /*click_handler*/ ctx[8]).apply(this, arguments);
+					}),
+					listen(div1, "contextmenu", function () {
+						if (is_function(/*onContextMenu*/ ctx[4] && /*contextmenu_handler*/ ctx[9])) (/*onContextMenu*/ ctx[4] && /*contextmenu_handler*/ ctx[9]).apply(this, arguments);
+					}),
+					listen(div1, "pointerover", function () {
+						if (is_function(/*onHover*/ ctx[2] && /*pointerover_handler*/ ctx[10])) (/*onHover*/ ctx[2] && /*pointerover_handler*/ ctx[10]).apply(this, arguments);
+					})
+				];
+
+				mounted = true;
+			}
+		},
+		p(new_ctx, dirty) {
+			ctx = new_ctx;
+			if (!current || dirty & /*weekNum*/ 1) set_data(t0, /*weekNum*/ ctx[0]);
+
+			if (dirty & /*metadata*/ 64) {
+				each_value = /*metadata*/ ctx[6].dots;
+				let i;
+
+				for (i = 0; i < each_value.length; i += 1) {
+					const child_ctx = get_each_context$1(ctx, each_value, i);
+
+					if (each_blocks[i]) {
+						each_blocks[i].p(child_ctx, dirty);
+						transition_in(each_blocks[i], 1);
+					} else {
+						each_blocks[i] = create_each_block$1(child_ctx);
+						each_blocks[i].c();
+						transition_in(each_blocks[i], 1);
+						each_blocks[i].m(div0, null);
+					}
+				}
+
+				group_outros();
+
+				for (i = each_value.length; i < each_blocks.length; i += 1) {
+					out(i);
+				}
+
+				check_outros();
+			}
+
+			if (!current || dirty & /*metadata*/ 64 && div1_class_value !== (div1_class_value = "" + (null_to_empty(`week-num ${/*metadata*/ ctx[6].classes.join(" ")}`) + " svelte-egt0yd"))) {
+				attr(div1, "class", div1_class_value);
+			}
+
+			if (dirty & /*metadata, selectedId, getDateUID, days*/ 98) {
+				toggle_class(div1, "active", /*selectedId*/ ctx[5] === getDateUID_1(/*days*/ ctx[1][0], "week"));
+			}
+		},
+		i(local) {
+			if (current) return;
+
+			for (let i = 0; i < each_value.length; i += 1) {
+				transition_in(each_blocks[i]);
+			}
+
+			current = true;
+		},
+		o(local) {
+			each_blocks = each_blocks.filter(Boolean);
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				transition_out(each_blocks[i]);
+			}
+
+			current = false;
+		},
+		d(detaching) {
+			if (detaching) detach(div1);
+			destroy_each(each_blocks, detaching);
+			mounted = false;
+			run_all(dispose);
+		}
+	};
+}
+
+function create_fragment$1(ctx) {
+	let td;
+	let metadataresolver;
+	let current;
+
+	metadataresolver = new MetadataResolver({
+			props: {
+				metadata: /*metadata*/ ctx[6],
+				$$slots: {
+					default: [
+						create_default_slot,
+						({ metadata }) => ({ 6: metadata }),
+						({ metadata }) => metadata ? 64 : 0
+					]
+				},
+				$$scope: { ctx }
+			}
+		});
+
+	return {
+		c() {
+			td = element("td");
+			create_component(metadataresolver.$$.fragment);
+			attr(td, "class", "svelte-egt0yd");
+		},
+		m(target, anchor) {
+			insert(target, td, anchor);
+			mount_component(metadataresolver, td, null);
+			current = true;
+		},
+		p(ctx, [dirty]) {
+			const metadataresolver_changes = {};
+			if (dirty & /*metadata*/ 64) metadataresolver_changes.metadata = /*metadata*/ ctx[6];
+
+			if (dirty & /*$$scope, metadata, selectedId, days, onClick, startOfWeek, onContextMenu, onHover, weekNum*/ 16639) {
+				metadataresolver_changes.$$scope = { dirty, ctx };
+			}
+
+			metadataresolver.$set(metadataresolver_changes);
+		},
+		i(local) {
+			if (current) return;
+			transition_in(metadataresolver.$$.fragment, local);
+			current = true;
+		},
+		o(local) {
+			transition_out(metadataresolver.$$.fragment, local);
+			current = false;
+		},
+		d(detaching) {
+			if (detaching) detach(td);
+			destroy_component(metadataresolver);
+		}
+	};
+}
+
+function instance$1($$self, $$props, $$invalidate) {
+	
+	
+	let { weekNum } = $$props;
+	let { days } = $$props;
+	let { metadata } = $$props;
+	let { onHover } = $$props;
+	let { onClick } = $$props;
+	let { onContextMenu } = $$props;
+	let { selectedId = null } = $$props;
+	let startOfWeek;
+	const click_handler = e => onClick(startOfWeek, isMetaPressed(e));
+	const contextmenu_handler = e => onContextMenu(days[0], e);
+	const pointerover_handler = e => onHover(startOfWeek, e.target, isMetaPressed(e));
+
+	$$self.$$set = $$props => {
+		if ("weekNum" in $$props) $$invalidate(0, weekNum = $$props.weekNum);
+		if ("days" in $$props) $$invalidate(1, days = $$props.days);
+		if ("metadata" in $$props) $$invalidate(6, metadata = $$props.metadata);
+		if ("onHover" in $$props) $$invalidate(2, onHover = $$props.onHover);
+		if ("onClick" in $$props) $$invalidate(3, onClick = $$props.onClick);
+		if ("onContextMenu" in $$props) $$invalidate(4, onContextMenu = $$props.onContextMenu);
+		if ("selectedId" in $$props) $$invalidate(5, selectedId = $$props.selectedId);
+	};
+
+	$$self.$$.update = () => {
+		if ($$self.$$.dirty & /*days*/ 2) {
+			$$invalidate(7, startOfWeek = getStartOfWeek(days));
+		}
+	};
+
+	return [
+		weekNum,
+		days,
+		onHover,
+		onClick,
+		onContextMenu,
+		selectedId,
+		metadata,
+		startOfWeek,
+		click_handler,
+		contextmenu_handler,
+		pointerover_handler
+	];
+}
+
+class WeekNum extends SvelteComponent {
+	constructor(options) {
+		super();
+		if (!document.getElementById("svelte-egt0yd-style")) add_css$1();
+
+		init(this, options, instance$1, create_fragment$1, not_equal, {
+			weekNum: 0,
+			days: 1,
+			metadata: 6,
+			onHover: 2,
+			onClick: 3,
+			onContextMenu: 4,
+			selectedId: 5
+		});
+	}
+}
+
+async function metadataReducer(promisedMetadata) {
+    const meta = {
+        dots: [],
+        classes: [],
+        dataAttributes: {},
+    };
+    const metas = await Promise.all(promisedMetadata);
+    return metas.reduce((acc, meta) => ({
+        classes: [...acc.classes, ...(meta.classes || [])],
+        dataAttributes: Object.assign(acc.dataAttributes, meta.dataAttributes),
+        dots: [...acc.dots, ...(meta.dots || [])],
+    }), meta);
+}
+function getDailyMetadata(sources, date, ..._args) {
+    return metadataReducer(sources.map((source) => source.getDailyMetadata(date)));
+}
+function getWeeklyMetadata(sources, date, ..._args) {
+    return metadataReducer(sources.map((source) => source.getWeeklyMetadata(date)));
+}
+
+/* src/components/Calendar.svelte generated by Svelte v3.35.0 */
+
+function add_css() {
+	var style = element("style");
+	style.id = "svelte-pcimu8-style";
+	style.textContent = ".container.svelte-pcimu8{--color-background-heading:transparent;--color-background-day:transparent;--color-background-weeknum:transparent;--color-background-weekend:transparent;--color-dot:var(--text-muted);--color-arrow:var(--text-muted);--color-button:var(--text-muted);--color-text-title:var(--text-normal);--color-text-heading:var(--text-muted);--color-text-day:var(--text-normal);--color-text-today:var(--interactive-accent);--color-text-weeknum:var(--text-muted)}.container.svelte-pcimu8{padding:0 8px}.container.is-mobile.svelte-pcimu8{padding:0}th.svelte-pcimu8{text-align:center}.weekend.svelte-pcimu8{background-color:var(--color-background-weekend)}.calendar.svelte-pcimu8{border-collapse:collapse;width:100%}th.svelte-pcimu8{background-color:var(--color-background-heading);color:var(--color-text-heading);font-size:0.6em;letter-spacing:1px;padding:4px;text-transform:uppercase}";
+	append(document.head, style);
+}
+
+function get_each_context(ctx, list, i) {
+	const child_ctx = ctx.slice();
+	child_ctx[18] = list[i];
+	return child_ctx;
+}
+
+function get_each_context_1(ctx, list, i) {
+	const child_ctx = ctx.slice();
+	child_ctx[21] = list[i];
+	return child_ctx;
+}
+
+function get_each_context_2(ctx, list, i) {
+	const child_ctx = ctx.slice();
+	child_ctx[24] = list[i];
+	return child_ctx;
+}
+
+function get_each_context_3(ctx, list, i) {
+	const child_ctx = ctx.slice();
+	child_ctx[27] = list[i];
+	return child_ctx;
+}
+
+// (55:6) {#if showWeekNums}
+function create_if_block_2(ctx) {
+	let col;
+
+	return {
+		c() {
+			col = element("col");
+		},
+		m(target, anchor) {
+			insert(target, col, anchor);
+		},
+		d(detaching) {
+			if (detaching) detach(col);
+		}
+	};
+}
+
+// (58:6) {#each month[1].days as date}
+function create_each_block_3(ctx) {
+	let col;
+
+	return {
+		c() {
+			col = element("col");
+			attr(col, "class", "svelte-pcimu8");
+			toggle_class(col, "weekend", isWeekend(/*date*/ ctx[27]));
+		},
+		m(target, anchor) {
+			insert(target, col, anchor);
+		},
+		p(ctx, dirty) {
+			if (dirty & /*isWeekend, month*/ 16384) {
+				toggle_class(col, "weekend", isWeekend(/*date*/ ctx[27]));
+			}
+		},
+		d(detaching) {
+			if (detaching) detach(col);
+		}
+	};
+}
+
+// (64:8) {#if showWeekNums}
+function create_if_block_1(ctx) {
+	let th;
+
+	return {
+		c() {
+			th = element("th");
+			th.textContent = "W";
+			attr(th, "class", "svelte-pcimu8");
+		},
+		m(target, anchor) {
+			insert(target, th, anchor);
+		},
+		d(detaching) {
+			if (detaching) detach(th);
+		}
+	};
+}
+
+// (67:8) {#each daysOfWeek as dayOfWeek}
+function create_each_block_2(ctx) {
+	let th;
+	let t_value = /*dayOfWeek*/ ctx[24] + "";
+	let t;
+
+	return {
+		c() {
+			th = element("th");
+			t = text(t_value);
+			attr(th, "class", "svelte-pcimu8");
+		},
+		m(target, anchor) {
+			insert(target, th, anchor);
+			append(th, t);
+		},
+		p(ctx, dirty) {
+			if (dirty & /*daysOfWeek*/ 32768 && t_value !== (t_value = /*dayOfWeek*/ ctx[24] + "")) set_data(t, t_value);
+		},
+		d(detaching) {
+			if (detaching) detach(th);
+		}
+	};
+}
+
+// (75:10) {#if showWeekNums}
+function create_if_block(ctx) {
+	let weeknum;
+	let current;
+
+	const weeknum_spread_levels = [
+		/*week*/ ctx[18],
+		{
+			metadata: getWeeklyMetadata(/*sources*/ ctx[8], /*week*/ ctx[18].days[0], /*today*/ ctx[10])
+		},
+		{ onClick: /*onClickWeek*/ ctx[7] },
+		{
+			onContextMenu: /*onContextMenuWeek*/ ctx[5]
+		},
+		{ onHover: /*onHoverWeek*/ ctx[3] },
+		{ selectedId: /*selectedId*/ ctx[9] }
+	];
+
+	let weeknum_props = {};
+
+	for (let i = 0; i < weeknum_spread_levels.length; i += 1) {
+		weeknum_props = assign(weeknum_props, weeknum_spread_levels[i]);
+	}
+
+	weeknum = new WeekNum({ props: weeknum_props });
+
+	return {
+		c() {
+			create_component(weeknum.$$.fragment);
+		},
+		m(target, anchor) {
+			mount_component(weeknum, target, anchor);
+			current = true;
+		},
+		p(ctx, dirty) {
+			const weeknum_changes = (dirty & /*month, getWeeklyMetadata, sources, today, onClickWeek, onContextMenuWeek, onHoverWeek, selectedId*/ 18344)
+			? get_spread_update(weeknum_spread_levels, [
+					dirty & /*month*/ 16384 && get_spread_object(/*week*/ ctx[18]),
+					dirty & /*getWeeklyMetadata, sources, month, today*/ 17664 && {
+						metadata: getWeeklyMetadata(/*sources*/ ctx[8], /*week*/ ctx[18].days[0], /*today*/ ctx[10])
+					},
+					dirty & /*onClickWeek*/ 128 && { onClick: /*onClickWeek*/ ctx[7] },
+					dirty & /*onContextMenuWeek*/ 32 && {
+						onContextMenu: /*onContextMenuWeek*/ ctx[5]
+					},
+					dirty & /*onHoverWeek*/ 8 && { onHover: /*onHoverWeek*/ ctx[3] },
+					dirty & /*selectedId*/ 512 && { selectedId: /*selectedId*/ ctx[9] }
+				])
+			: {};
+
+			weeknum.$set(weeknum_changes);
+		},
+		i(local) {
+			if (current) return;
+			transition_in(weeknum.$$.fragment, local);
+			current = true;
+		},
+		o(local) {
+			transition_out(weeknum.$$.fragment, local);
+			current = false;
+		},
+		d(detaching) {
+			destroy_component(weeknum, detaching);
+		}
+	};
+}
+
+// (85:10) {#each week.days as day (day.format())}
+function create_each_block_1(key_1, ctx) {
+	let first;
+	let day;
+	let current;
+
+	day = new Day({
+			props: {
+				date: /*day*/ ctx[21],
+				today: /*today*/ ctx[10],
+				displayedMonth: /*displayedMonth*/ ctx[0],
+				onClick: /*onClickDay*/ ctx[6],
+				onContextMenu: /*onContextMenuDay*/ ctx[4],
+				onHover: /*onHoverDay*/ ctx[2],
+				metadata: getDailyMetadata(/*sources*/ ctx[8], /*day*/ ctx[21], /*today*/ ctx[10]),
+				selectedId: /*selectedId*/ ctx[9]
+			}
+		});
+
+	return {
+		key: key_1,
+		first: null,
+		c() {
+			first = empty();
+			create_component(day.$$.fragment);
+			this.first = first;
+		},
+		m(target, anchor) {
+			insert(target, first, anchor);
+			mount_component(day, target, anchor);
+			current = true;
+		},
+		p(new_ctx, dirty) {
+			ctx = new_ctx;
+			const day_changes = {};
+			if (dirty & /*month*/ 16384) day_changes.date = /*day*/ ctx[21];
+			if (dirty & /*today*/ 1024) day_changes.today = /*today*/ ctx[10];
+			if (dirty & /*displayedMonth*/ 1) day_changes.displayedMonth = /*displayedMonth*/ ctx[0];
+			if (dirty & /*onClickDay*/ 64) day_changes.onClick = /*onClickDay*/ ctx[6];
+			if (dirty & /*onContextMenuDay*/ 16) day_changes.onContextMenu = /*onContextMenuDay*/ ctx[4];
+			if (dirty & /*onHoverDay*/ 4) day_changes.onHover = /*onHoverDay*/ ctx[2];
+			if (dirty & /*sources, month, today*/ 17664) day_changes.metadata = getDailyMetadata(/*sources*/ ctx[8], /*day*/ ctx[21], /*today*/ ctx[10]);
+			if (dirty & /*selectedId*/ 512) day_changes.selectedId = /*selectedId*/ ctx[9];
+			day.$set(day_changes);
+		},
+		i(local) {
+			if (current) return;
+			transition_in(day.$$.fragment, local);
+			current = true;
+		},
+		o(local) {
+			transition_out(day.$$.fragment, local);
+			current = false;
+		},
+		d(detaching) {
+			if (detaching) detach(first);
+			destroy_component(day, detaching);
+		}
+	};
+}
+
+// (73:6) {#each month as week (week.weekNum)}
+function create_each_block(key_1, ctx) {
+	let tr;
+	let t0;
+	let each_blocks = [];
+	let each_1_lookup = new Map();
+	let t1;
+	let current;
+	let if_block = /*showWeekNums*/ ctx[1] && create_if_block(ctx);
+	let each_value_1 = /*week*/ ctx[18].days;
+	const get_key = ctx => /*day*/ ctx[21].format();
+
+	for (let i = 0; i < each_value_1.length; i += 1) {
+		let child_ctx = get_each_context_1(ctx, each_value_1, i);
+		let key = get_key(child_ctx);
+		each_1_lookup.set(key, each_blocks[i] = create_each_block_1(key, child_ctx));
+	}
+
+	return {
+		key: key_1,
+		first: null,
+		c() {
+			tr = element("tr");
+			if (if_block) if_block.c();
+			t0 = space();
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				each_blocks[i].c();
+			}
+
+			t1 = space();
+			this.first = tr;
+		},
+		m(target, anchor) {
+			insert(target, tr, anchor);
+			if (if_block) if_block.m(tr, null);
+			append(tr, t0);
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				each_blocks[i].m(tr, null);
+			}
+
+			append(tr, t1);
+			current = true;
+		},
+		p(new_ctx, dirty) {
+			ctx = new_ctx;
+
+			if (/*showWeekNums*/ ctx[1]) {
+				if (if_block) {
+					if_block.p(ctx, dirty);
+
+					if (dirty & /*showWeekNums*/ 2) {
+						transition_in(if_block, 1);
+					}
+				} else {
+					if_block = create_if_block(ctx);
+					if_block.c();
+					transition_in(if_block, 1);
+					if_block.m(tr, t0);
+				}
+			} else if (if_block) {
+				group_outros();
+
+				transition_out(if_block, 1, 1, () => {
+					if_block = null;
+				});
+
+				check_outros();
+			}
+
+			if (dirty & /*month, today, displayedMonth, onClickDay, onContextMenuDay, onHoverDay, getDailyMetadata, sources, selectedId*/ 18261) {
+				each_value_1 = /*week*/ ctx[18].days;
+				group_outros();
+				each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value_1, each_1_lookup, tr, outro_and_destroy_block, create_each_block_1, t1, get_each_context_1);
+				check_outros();
+			}
+		},
+		i(local) {
+			if (current) return;
+			transition_in(if_block);
+
+			for (let i = 0; i < each_value_1.length; i += 1) {
+				transition_in(each_blocks[i]);
+			}
+
+			current = true;
+		},
+		o(local) {
+			transition_out(if_block);
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				transition_out(each_blocks[i]);
+			}
+
+			current = false;
+		},
+		d(detaching) {
+			if (detaching) detach(tr);
+			if (if_block) if_block.d();
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				each_blocks[i].d();
+			}
+		}
+	};
+}
+
+function create_fragment(ctx) {
+	let div;
+	let nav;
+	let t0;
+	let table;
+	let colgroup;
+	let t1;
+	let t2;
+	let thead;
+	let tr;
+	let t3;
+	let t4;
+	let tbody;
+	let each_blocks = [];
+	let each2_lookup = new Map();
+	let current;
+
+	nav = new Nav({
+			props: {
+				today: /*today*/ ctx[10],
+				displayedMonth: /*displayedMonth*/ ctx[0],
+				incrementDisplayedMonth: /*incrementDisplayedMonth*/ ctx[11],
+				decrementDisplayedMonth: /*decrementDisplayedMonth*/ ctx[12],
+				resetDisplayedMonth: /*resetDisplayedMonth*/ ctx[13]
+			}
+		});
+
+	let if_block0 = /*showWeekNums*/ ctx[1] && create_if_block_2();
+	let each_value_3 = /*month*/ ctx[14][1].days;
+	let each_blocks_2 = [];
+
+	for (let i = 0; i < each_value_3.length; i += 1) {
+		each_blocks_2[i] = create_each_block_3(get_each_context_3(ctx, each_value_3, i));
+	}
+
+	let if_block1 = /*showWeekNums*/ ctx[1] && create_if_block_1();
+	let each_value_2 = /*daysOfWeek*/ ctx[15];
+	let each_blocks_1 = [];
+
+	for (let i = 0; i < each_value_2.length; i += 1) {
+		each_blocks_1[i] = create_each_block_2(get_each_context_2(ctx, each_value_2, i));
+	}
+
+	let each_value = /*month*/ ctx[14];
+	const get_key = ctx => /*week*/ ctx[18].weekNum;
+
+	for (let i = 0; i < each_value.length; i += 1) {
+		let child_ctx = get_each_context(ctx, each_value, i);
+		let key = get_key(child_ctx);
+		each2_lookup.set(key, each_blocks[i] = create_each_block(key, child_ctx));
+	}
+
+	return {
+		c() {
+			div = element("div");
+			create_component(nav.$$.fragment);
+			t0 = space();
+			table = element("table");
+			colgroup = element("colgroup");
+			if (if_block0) if_block0.c();
+			t1 = space();
+
+			for (let i = 0; i < each_blocks_2.length; i += 1) {
+				each_blocks_2[i].c();
+			}
+
+			t2 = space();
+			thead = element("thead");
+			tr = element("tr");
+			if (if_block1) if_block1.c();
+			t3 = space();
+
+			for (let i = 0; i < each_blocks_1.length; i += 1) {
+				each_blocks_1[i].c();
+			}
+
+			t4 = space();
+			tbody = element("tbody");
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				each_blocks[i].c();
+			}
+
+			attr(table, "class", "calendar svelte-pcimu8");
+			attr(div, "id", "calendar-container");
+			attr(div, "class", "container svelte-pcimu8");
+			toggle_class(div, "is-mobile", /*isMobile*/ ctx[16]);
+		},
+		m(target, anchor) {
+			insert(target, div, anchor);
+			mount_component(nav, div, null);
+			append(div, t0);
+			append(div, table);
+			append(table, colgroup);
+			if (if_block0) if_block0.m(colgroup, null);
+			append(colgroup, t1);
+
+			for (let i = 0; i < each_blocks_2.length; i += 1) {
+				each_blocks_2[i].m(colgroup, null);
+			}
+
+			append(table, t2);
+			append(table, thead);
+			append(thead, tr);
+			if (if_block1) if_block1.m(tr, null);
+			append(tr, t3);
+
+			for (let i = 0; i < each_blocks_1.length; i += 1) {
+				each_blocks_1[i].m(tr, null);
+			}
+
+			append(table, t4);
+			append(table, tbody);
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				each_blocks[i].m(tbody, null);
+			}
+
+			current = true;
+		},
+		p(ctx, [dirty]) {
+			const nav_changes = {};
+			if (dirty & /*today*/ 1024) nav_changes.today = /*today*/ ctx[10];
+			if (dirty & /*displayedMonth*/ 1) nav_changes.displayedMonth = /*displayedMonth*/ ctx[0];
+			nav.$set(nav_changes);
+
+			if (/*showWeekNums*/ ctx[1]) {
+				if (if_block0) ; else {
+					if_block0 = create_if_block_2();
+					if_block0.c();
+					if_block0.m(colgroup, t1);
+				}
+			} else if (if_block0) {
+				if_block0.d(1);
+				if_block0 = null;
+			}
+
+			if (dirty & /*isWeekend, month*/ 16384) {
+				each_value_3 = /*month*/ ctx[14][1].days;
+				let i;
+
+				for (i = 0; i < each_value_3.length; i += 1) {
+					const child_ctx = get_each_context_3(ctx, each_value_3, i);
+
+					if (each_blocks_2[i]) {
+						each_blocks_2[i].p(child_ctx, dirty);
+					} else {
+						each_blocks_2[i] = create_each_block_3(child_ctx);
+						each_blocks_2[i].c();
+						each_blocks_2[i].m(colgroup, null);
+					}
+				}
+
+				for (; i < each_blocks_2.length; i += 1) {
+					each_blocks_2[i].d(1);
+				}
+
+				each_blocks_2.length = each_value_3.length;
+			}
+
+			if (/*showWeekNums*/ ctx[1]) {
+				if (if_block1) ; else {
+					if_block1 = create_if_block_1();
+					if_block1.c();
+					if_block1.m(tr, t3);
+				}
+			} else if (if_block1) {
+				if_block1.d(1);
+				if_block1 = null;
+			}
+
+			if (dirty & /*daysOfWeek*/ 32768) {
+				each_value_2 = /*daysOfWeek*/ ctx[15];
+				let i;
+
+				for (i = 0; i < each_value_2.length; i += 1) {
+					const child_ctx = get_each_context_2(ctx, each_value_2, i);
+
+					if (each_blocks_1[i]) {
+						each_blocks_1[i].p(child_ctx, dirty);
+					} else {
+						each_blocks_1[i] = create_each_block_2(child_ctx);
+						each_blocks_1[i].c();
+						each_blocks_1[i].m(tr, null);
+					}
+				}
+
+				for (; i < each_blocks_1.length; i += 1) {
+					each_blocks_1[i].d(1);
+				}
+
+				each_blocks_1.length = each_value_2.length;
+			}
+
+			if (dirty & /*month, today, displayedMonth, onClickDay, onContextMenuDay, onHoverDay, getDailyMetadata, sources, selectedId, getWeeklyMetadata, onClickWeek, onContextMenuWeek, onHoverWeek, showWeekNums*/ 18431) {
+				each_value = /*month*/ ctx[14];
+				group_outros();
+				each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx, each_value, each2_lookup, tbody, outro_and_destroy_block, create_each_block, null, get_each_context);
+				check_outros();
+			}
+		},
+		i(local) {
+			if (current) return;
+			transition_in(nav.$$.fragment, local);
+
+			for (let i = 0; i < each_value.length; i += 1) {
+				transition_in(each_blocks[i]);
+			}
+
+			current = true;
+		},
+		o(local) {
+			transition_out(nav.$$.fragment, local);
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				transition_out(each_blocks[i]);
+			}
+
+			current = false;
+		},
+		d(detaching) {
+			if (detaching) detach(div);
+			destroy_component(nav);
+			if (if_block0) if_block0.d();
+			destroy_each(each_blocks_2, detaching);
+			if (if_block1) if_block1.d();
+			destroy_each(each_blocks_1, detaching);
+
+			for (let i = 0; i < each_blocks.length; i += 1) {
+				each_blocks[i].d();
+			}
+		}
+	};
+}
+
+function instance($$self, $$props, $$invalidate) {
+	
+	
+	let { localeData } = $$props;
+	let { showWeekNums = false } = $$props;
+	let { onHoverDay } = $$props;
+	let { onHoverWeek } = $$props;
+	let { onContextMenuDay } = $$props;
+	let { onContextMenuWeek } = $$props;
+	let { onClickDay } = $$props;
+	let { onClickWeek } = $$props;
+	let { sources = [] } = $$props;
+	let { selectedId } = $$props;
+	let { today = window.moment() } = $$props;
+	let { displayedMonth = today } = $$props;
+	let month;
+	let daysOfWeek;
+
+	// eslint-disable-next-line @typescript-eslint/no-explicit-any
+	let isMobile = window.app.isMobile;
+
+	function incrementDisplayedMonth() {
+		$$invalidate(0, displayedMonth = displayedMonth.clone().add(1, "month"));
+	}
+
+	function decrementDisplayedMonth() {
+		$$invalidate(0, displayedMonth = displayedMonth.clone().subtract(1, "month"));
+	}
+
+	function resetDisplayedMonth() {
+		$$invalidate(0, displayedMonth = today.clone());
+	}
+
+	$$self.$$set = $$props => {
+		if ("localeData" in $$props) $$invalidate(17, localeData = $$props.localeData);
+		if ("showWeekNums" in $$props) $$invalidate(1, showWeekNums = $$props.showWeekNums);
+		if ("onHoverDay" in $$props) $$invalidate(2, onHoverDay = $$props.onHoverDay);
+		if ("onHoverWeek" in $$props) $$invalidate(3, onHoverWeek = $$props.onHoverWeek);
+		if ("onContextMenuDay" in $$props) $$invalidate(4, onContextMenuDay = $$props.onContextMenuDay);
+		if ("onContextMenuWeek" in $$props) $$invalidate(5, onContextMenuWeek = $$props.onContextMenuWeek);
+		if ("onClickDay" in $$props) $$invalidate(6, onClickDay = $$props.onClickDay);
+		if ("onClickWeek" in $$props) $$invalidate(7, onClickWeek = $$props.onClickWeek);
+		if ("sources" in $$props) $$invalidate(8, sources = $$props.sources);
+		if ("selectedId" in $$props) $$invalidate(9, selectedId = $$props.selectedId);
+		if ("today" in $$props) $$invalidate(10, today = $$props.today);
+		if ("displayedMonth" in $$props) $$invalidate(0, displayedMonth = $$props.displayedMonth);
+	};
+
+	$$self.$$.update = () => {
+		if ($$self.$$.dirty & /*displayedMonth, localeData*/ 131073) {
+			$$invalidate(14, month = getMonth(displayedMonth, localeData));
+		}
+
+		if ($$self.$$.dirty & /*today, localeData*/ 132096) {
+			$$invalidate(15, daysOfWeek = getDaysOfWeek(today, localeData));
+		}
+	};
+
+	return [
+		displayedMonth,
+		showWeekNums,
+		onHoverDay,
+		onHoverWeek,
+		onContextMenuDay,
+		onContextMenuWeek,
+		onClickDay,
+		onClickWeek,
+		sources,
+		selectedId,
+		today,
+		incrementDisplayedMonth,
+		decrementDisplayedMonth,
+		resetDisplayedMonth,
+		month,
+		daysOfWeek,
+		isMobile,
+		localeData
+	];
+}
+
+class Calendar extends SvelteComponent {
+	constructor(options) {
+		super();
+		if (!document.getElementById("svelte-pcimu8-style")) add_css();
+
+		init(this, options, instance, create_fragment, not_equal, {
+			localeData: 17,
+			showWeekNums: 1,
+			onHoverDay: 2,
+			onHoverWeek: 3,
+			onContextMenuDay: 4,
+			onContextMenuWeek: 5,
+			onClickDay: 6,
+			onClickWeek: 7,
+			sources: 8,
+			selectedId: 9,
+			today: 10,
+			displayedMonth: 0,
+			incrementDisplayedMonth: 11,
+			decrementDisplayedMonth: 12,
+			resetDisplayedMonth: 13
+		});
+	}
+
+	get incrementDisplayedMonth() {
+		return this.$$.ctx[11];
+	}
+
+	get decrementDisplayedMonth() {
+		return this.$$.ctx[12];
+	}
+
+	get resetDisplayedMonth() {
+		return this.$$.ctx[13];
+	}
+}
+
+/** Generic code for embedded Dataviews. */
+class DataviewRefreshableRenderer extends obsidian.MarkdownRenderChild {
+    container;
+    index;
+    app;
+    settings;
+    lastReload;
+    constructor(container, index, app, settings) {
+        super(container);
+        this.container = container;
+        this.index = index;
+        this.app = app;
+        this.settings = settings;
+        this.lastReload = 0;
+    }
+    onload() {
+        this.render();
+        this.lastReload = this.index.revision;
+        // Refresh after index changes stop.
+        this.registerEvent(this.app.workspace.on("dataview:refresh-views", this.maybeRefresh));
+        // ...or when the DOM is shown (sidebar expands, tab selected, nodes scrolled into view).
+        this.register(this.container.onNodeInserted(this.maybeRefresh));
+    }
+    maybeRefresh = () => {
+        // If the index revision has changed recently, then queue a reload.
+        // But only if we're mounted in the DOM and auto-refreshing is active.
+        if (this.lastReload != this.index.revision && this.container.isShown() && this.settings.refreshEnabled) {
+            this.lastReload = this.index.revision;
+            this.render();
+        }
+    };
+}
+
+class DataviewCalendarRenderer extends DataviewRefreshableRenderer {
+    query;
+    container;
+    index;
+    origin;
+    settings;
+    app;
+    calendar;
+    constructor(query, container, index, origin, settings, app) {
+        super(container, index, app, settings);
+        this.query = query;
+        this.container = container;
+        this.index = index;
+        this.origin = origin;
+        this.settings = settings;
+        this.app = app;
+    }
+    async render() {
+        this.container.innerHTML = "";
+        let maybeResult = await asyncTryOrPropogate(() => executeCalendar(this.query, this.index, this.origin, this.settings));
+        if (!maybeResult.successful) {
+            renderErrorPre(this.container, "Dataview: " + maybeResult.error);
+            return;
+        }
+        else if (maybeResult.value.data.length == 0 && this.settings.warnOnEmptyResult) {
+            renderErrorPre(this.container, "Dataview: Query returned 0 results.");
+            return;
+        }
+        let dateMap = new Map();
+        for (let data of maybeResult.value.data) {
+            const dot = {
+                color: "default",
+                className: "note",
+                isFilled: true,
+                link: data.link,
+            };
+            const d = data.date.toFormat("yyyyLLdd");
+            if (!dateMap.has(d)) {
+                dateMap.set(d, [dot]);
+            }
+            else {
+                dateMap.get(d)?.push(dot);
+            }
+        }
+        const querySource = {
+            getDailyMetadata: async (date) => {
+                return {
+                    dots: dateMap.get(date.format("YYYYMMDD")) || [],
+                };
+            },
+        };
+        const sources = [querySource];
+        const renderer = this;
+        this.calendar = new Calendar({
+            // eslint-disable-next-line @typescript-eslint/no-explicit-any
+            target: this.container,
+            props: {
+                onHoverDay(date, targetEl) {
+                    const vals = dateMap.get(date.format("YYYYMMDD"));
+                    if (!vals || vals.length == 0) {
+                        return;
+                    }
+                    if (vals?.length == 0) {
+                        return;
+                    }
+                    renderer.app.workspace.trigger("link-hover", {}, targetEl, vals[0].link.path, vals[0].link.path);
+                },
+                onClickDay: async (date) => {
+                    const vals = dateMap.get(date.format("YYYYMMDD"));
+                    if (!vals || vals.length == 0) {
+                        return;
+                    }
+                    if (vals?.length == 0) {
+                        return;
+                    }
+                    const file = renderer.app.metadataCache.getFirstLinkpathDest(vals[0].link.path, "");
+                    if (file == null) {
+                        return;
+                    }
+                    const leaf = renderer.app.workspace.getUnpinnedLeaf();
+                    await leaf.openFile(file, { active: true });
+                },
+                showWeekNums: false,
+                sources,
+            },
+        });
+    }
+    onClose() {
+        if (this.calendar) {
+            this.calendar.$destroy();
+        }
+        return Promise.resolve();
+    }
+}
+
+/** Fancy wrappers for the JavaScript API, used both by external plugins AND by the dataview javascript view. */
+/** Asynchronous API calls related to file / system IO. */
+class DataviewInlineIOApi {
+    api;
+    currentFile;
+    constructor(api, currentFile) {
+        this.api = api;
+        this.currentFile = currentFile;
+    }
+    /** Load the contents of a CSV asynchronously, returning a data array of rows (or undefined if it does not exist). */
+    async csv(path, originFile) {
+        return this.api.csv(path, originFile || this.currentFile);
+    }
+    /** Asynchronously load the contents of any link or path in an Obsidian vault. */
+    async load(path, originFile) {
+        return this.api.load(path, originFile || this.currentFile);
+    }
+    /** Normalize a link or path relative to an optional origin file. Returns a textual fully-qualified-path. */
+    normalize(path, originFile) {
+        return this.api.normalize(path, originFile || this.currentFile);
+    }
+}
+class DataviewInlineApi {
+    /**
+     * The raw dataview indices, which track file <-> metadata relations. Use these if the intuitive API does not support
+     * your use case.
+     */
+    index;
+    /** The component that handles the lifetime of this view. Use it if you are adding custom event handlers/components. */
+    component;
+    /** The path to the current file this script is running in. */
+    currentFilePath;
+    /**
+     * The container which holds the output of this view. You can directly append fields to this, if you wish, though
+     * the rendering API is likely to be easier for straight-forward purposes.
+     */
+    container;
+    /** Directly access the Obsidian app object, such as for reaching out to other plugins. */
+    app;
+    /** The general plugin API which much of this inline API delegates to. */
+    api;
+    /** Settings which determine defaults, incl. many rendering options. */
+    settings;
+    /** Evaluation context which expressions can be evaluated in. */
+    evaluationContext;
+    /** Value utilities which allow for type-checking and comparisons. */
+    value = Values;
+    /** Widget utility functions for creating built-in widgets. */
+    widget = Widgets;
+    /** IO utilities which are largely asynchronous. */
+    io;
+    /** Re-exporting of luxon for people who can't easily require it. Sorry! */
+    luxon = Luxon;
+    /** Dataview functions which can be called from DataviewJS. */
+    func;
+    constructor(api, component, container, currentFilePath) {
+        this.index = api.index;
+        this.app = api.app;
+        this.settings = api.settings;
+        this.component = component;
+        this.container = container;
+        this.currentFilePath = currentFilePath;
+        this.api = api;
+        this.io = new DataviewInlineIOApi(this.api.io, this.currentFilePath);
+        // Set up the evaluation context with variables from the current file.
+        let fileMeta = this.index.pages.get(this.currentFilePath)?.serialize(this.index) ?? {};
+        this.evaluationContext = new Context(defaultLinkHandler(this.index, this.currentFilePath), this.settings, {
+            this: fileMeta,
+        });
+        this.func = Functions.bindAll(DEFAULT_FUNCTIONS, this.evaluationContext);
+    }
+    /////////////////////////////
+    // Index + Data Collection //
+    /////////////////////////////
+    /** Return an array of paths (as strings) corresponding to pages which match the query. */
+    pagePaths(query) {
+        return this.api.pagePaths(query, this.currentFilePath);
+    }
+    /** Map a page path to the actual data contained within that page. */
+    page(path) {
+        return this.api.page(path, this.currentFilePath);
+    }
+    /** Return an array of page objects corresponding to pages which match the query. */
+    pages(query) {
+        return this.api.pages(query, this.currentFilePath);
+    }
+    /** Return the information about the current page. */
+    current() {
+        return this.page(this.currentFilePath);
+    }
+    ///////////////////////////////
+    // Dataview Query Evaluation //
+    ///////////////////////////////
+    /** Execute a Dataview query, returning the results in programmatic form. */
+    async query(source, originFile, settings) {
+        return this.api.query(source, originFile ?? this.currentFilePath, settings);
+    }
+    /** Error-throwing version of {@link query}. */
+    async tryQuery(source, originFile, settings) {
+        return this.api.tryQuery(source, originFile ?? this.currentFilePath, settings);
+    }
+    /** Execute a Dataview query, returning the results in Markdown. */
+    async queryMarkdown(source, originFile, settings) {
+        return this.api.queryMarkdown(source, originFile ?? this.currentFilePath, settings);
+    }
+    /** Error-throwing version of {@link queryMarkdown}. */
+    async tryQueryMarkdown(source, originFile, settings) {
+        return this.api.tryQueryMarkdown(source, originFile ?? this.currentFilePath, settings);
+    }
+    /**
+     * Evaluate a dataview expression (like '2 + 2' or 'link("hello")'), returning the evaluated result.
+     * This takes an optional second argument which provides definitions for variables, such as:
+     *
+     * ```
+     * dv.evaluate("x + 6", { x: 2 }) = 8
+     * dv.evaluate('link(target)', { target: "Okay" }) = [[Okay]]
+     * ```
+     *
+     * Note that `this` is implicitly available and refers to the current file.
+     *
+     * This method returns a Result type instead of throwing an error; you can check the result of the
+     * execution via `result.successful` and obtain `result.value` or `result.error` resultingly. If
+     * you'd rather this method throw on an error, use `dv.tryEvaluate`.
+     */
+    evaluate(expression, context) {
+        let field = EXPRESSION.field.parse(expression);
+        if (!field.status)
+            return Result.failure(`Failed to parse expression "${expression}"`);
+        return this.evaluationContext.evaluate(field.value, context);
+    }
+    /** Error-throwing version of `dv.evaluate`. */
+    tryEvaluate(expression, context) {
+        return this.evaluate(expression, context).orElseThrow();
+    }
+    /** Execute a Dataview query and embed it into the current view. */
+    async execute(source) {
+        this.api.execute(source, this.container, this.component, this.currentFilePath);
+    }
+    /** Execute a DataviewJS query and embed it into the current view. */
+    async executeJs(code) {
+        this.api.executeJs(code, this.container, this.component, this.currentFilePath);
+    }
+    /////////////
+    // Utility //
+    /////////////
+    /**
+     * Convert an input element or array into a Dataview data-array. If the input is already a data array,
+     * it is returned unchanged.
+     */
+    array(raw) {
+        return this.api.array(raw);
+    }
+    /** Return true if theg given value is a javascript array OR a dataview data array. */
+    isArray(raw) {
+        return this.api.isArray(raw);
+    }
+    /** Return true if the given value is a dataview data array; this returns FALSE for plain JS arrays. */
+    isDataArray(raw) {
+        return DataArray.isDataArray(raw);
+    }
+    /** Create a dataview file link to the given path. */
+    fileLink(path, embed = false, display) {
+        return Link.file(path, embed, display);
+    }
+    /** Create a dataview section link to the given path. */
+    sectionLink(path, section, embed = false, display) {
+        return Link.header(path, section, embed, display);
+    }
+    /** Create a dataview block link to the given path. */
+    blockLink(path, blockId, embed = false, display) {
+        return Link.block(path, blockId, embed, display);
+    }
+    /** Attempt to extract a date from a string, link or date. */
+    date(pathlike) {
+        return this.api.date(pathlike);
+    }
+    /** Attempt to extract a duration from a string or duration. */
+    duration(dur) {
+        return this.api.duration(dur);
+    }
+    /** Parse a raw textual value into a complex Dataview type, if possible. */
+    parse(value) {
+        return this.api.parse(value);
+    }
+    /** Convert a basic JS type into a Dataview type by parsing dates, links, durations, and so on. */
+    literal(value) {
+        return this.api.literal(value);
+    }
+    /** Deep clone the given literal, returning a new literal which is independent of the original. */
+    clone(value) {
+        return Values.deepCopy(value);
+    }
+    /**
+     * Compare two arbitrary JavaScript values using Dataview's default comparison rules. Returns a negative value if
+     * a < b, 0 if a = b, and a positive value if a > b.
+     */
+    compare(a, b) {
+        return Values.compareValue(a, b);
+    }
+    /** Return true if the two given JavaScript values are equal using Dataview's default comparison rules. */
+    equal(a, b) {
+        return this.compare(a, b) == 0;
+    }
+    /////////////////////////
+    // Rendering Functions //
+    /////////////////////////
+    /** Render an HTML element, containing arbitrary text. */
+    el(el, text, { container = this.container, ...options } = {}) {
+        let wrapped = Values.wrapValue(text);
+        if (wrapped === null || wrapped === undefined) {
+            return container.createEl(el, Object.assign({ text }, options));
+        }
+        let _el = container.createEl(el, options);
+        renderValue(this.app, wrapped.value, _el, this.currentFilePath, this.component, this.settings, true);
+        return _el;
+    }
+    /** Render an HTML header; the level can be anything from 1 - 6. */
+    header(level, text, options) {
+        let header = { 1: "h1", 2: "h2", 3: "h3", 4: "h4", 5: "h5", 6: "h6" }[level];
+        if (!header)
+            throw Error(`Unrecognized level '${level}' (expected 1, 2, 3, 4, 5, or 6)`);
+        return this.el(header, text, options);
+    }
+    /** Render an HTML paragraph, containing arbitrary text. */
+    paragraph(text, options) {
+        return this.el("p", text, options);
+    }
+    /** Render an inline span, containing arbitrary text. */
+    span(text, options) {
+        return this.el("span", text, options);
+    }
+    /**
+     * Render HTML from the output of a template "view" saved as a file in the vault.
+     * Takes a filename and arbitrary input data.
+     */
+    async view(viewName, input) {
+        // Look for `${viewName}.js` first, then for `${viewName}/view.js`.
+        const simpleViewPath = `${viewName}.js`;
+        const complexViewPath = `${viewName}/view.js`;
+        let checkForCss = false;
+        let cssElement = undefined;
+        let viewFile = this.app.metadataCache.getFirstLinkpathDest(simpleViewPath, this.currentFilePath);
+        if (!viewFile) {
+            viewFile = this.app.metadataCache.getFirstLinkpathDest(complexViewPath, this.currentFilePath);
+            checkForCss = true;
+        }
+        if (!viewFile) {
+            renderErrorPre(this.container, `Dataview: custom view not found for '${simpleViewPath}' or '${complexViewPath}'.`);
+            return;
+        }
+        if (checkForCss) {
+            // Check for optional CSS.
+            let cssFile = this.app.metadataCache.getFirstLinkpathDest(`${viewName}/view.css`, this.currentFilePath);
+            if (cssFile) {
+                let cssContents = await this.app.vault.read(cssFile);
+                cssContents += `\n/*# sourceURL=${location.origin}/${cssFile.path} */`;
+                cssElement = this.container.createEl("style", { text: cssContents, attr: { scope: " " } });
+            }
+        }
+        let contents = await this.app.vault.read(viewFile);
+        if (contents.contains("await"))
+            contents = "(async () => { " + contents + " })()";
+        contents += `\n//# sourceURL=${viewFile.path}`;
+        let func = new Function("dv", "input", contents);
+        try {
+            // This may directly render, in which case it will likely return undefined or null.
+            let result = await Promise.resolve(func(this, input));
+            if (result)
+                await renderValue(this.app, result, this.container, this.currentFilePath, this.component, this.settings, true);
+        }
+        catch (ex) {
+            if (cssElement)
+                this.container.removeChild(cssElement);
+            renderErrorPre(this.container, `Dataview: Failed to execute view '${viewFile.path}'.\n\n${ex}`);
+        }
+    }
+    /** Render a dataview list of the given values. */
+    list(values) {
+        return this.api.list(values, this.container, this.component, this.currentFilePath);
+    }
+    /** Render a dataview table with the given headers, and the 2D array of values. */
+    table(headers, values) {
+        return this.api.table(headers, values, this.container, this.component, this.currentFilePath);
+    }
+    /** Render a dataview task view with the given tasks. */
+    taskList(tasks, groupByFile = true) {
+        return this.api.taskList(tasks, groupByFile, this.container, this.component, this.currentFilePath);
+    }
+    ////////////////////////
+    // Markdown Rendering //
+    ////////////////////////
+    /** Render a table directly to markdown, returning the markdown. */
+    markdownTable(headers, values, settings) {
+        return this.api.markdownTable(headers, values, settings);
+    }
+    /** Render a list directly to markdown, returning the markdown. */
+    markdownList(values, settings) {
+        return this.api.markdownList(values, settings);
+    }
+    /** Render at ask list directly to markdown, returning the markdown. */
+    markdownTaskList(values, settings) {
+        return this.api.markdownTaskList(values, settings);
+    }
+}
+/**
+ * Evaluate a script where 'this' for the script is set to the given context. Allows you to define global variables.
+ */
+function evalInContext(script, context) {
+    return function () {
+        return eval(script);
+    }.call(context);
+}
+/**
+ * Evaluate a script possibly asynchronously, if the script contains `async/await` blocks.
+ */
+async function asyncEvalInContext(script, context) {
+    if (script.includes("await")) {
+        return evalInContext("(async () => { " + script + " })()", context);
+    }
+    else {
+        return Promise.resolve(evalInContext(script, context));
+    }
+}
+
+class DataviewJSRenderer extends DataviewRefreshableRenderer {
+    api;
+    script;
+    container;
+    origin;
+    static PREAMBLE = "const dataview = this;const dv = this;";
+    constructor(api, script, container, origin) {
+        super(container, api.index, api.app, api.settings);
+        this.api = api;
+        this.script = script;
+        this.container = container;
+        this.origin = origin;
+    }
+    async render() {
+        this.container.innerHTML = "";
+        if (!this.settings.enableDataviewJs) {
+            this.containerEl.innerHTML = "";
+            renderErrorPre(this.container, "Dataview JS queries are disabled. You can enable them in the Dataview settings.");
+            return;
+        }
+        // Assume that the code is javascript, and try to eval it.
+        try {
+            await asyncEvalInContext(DataviewJSRenderer.PREAMBLE + this.script, new DataviewInlineApi(this.api, this, this.container, this.origin));
+        }
+        catch (e) {
+            this.containerEl.innerHTML = "";
+            renderErrorPre(this.container, "Evaluation Error: " + e.stack);
+        }
+    }
+}
+/** Inline JS renderer accessible using '=$' by default. */
+class DataviewInlineJSRenderer extends DataviewRefreshableRenderer {
+    api;
+    script;
+    container;
+    target;
+    origin;
+    static PREAMBLE = "const dataview = this;const dv=this;";
+    // The box that the error is rendered in, if relevant.
+    errorbox;
+    constructor(api, script, container, target, origin) {
+        super(container, api.index, api.app, api.settings);
+        this.api = api;
+        this.script = script;
+        this.container = container;
+        this.target = target;
+        this.origin = origin;
+    }
+    async render() {
+        this.errorbox?.remove();
+        if (!this.settings.enableDataviewJs || !this.settings.enableInlineDataviewJs) {
+            let temp = document.createElement("span");
+            temp.innerText = "(disabled; enable in settings)";
+            this.target.replaceWith(temp);
+            this.target = temp;
+            return;
+        }
+        // Assume that the code is javascript, and try to eval it.
+        try {
+            let temp = document.createElement("span");
+            let result = await asyncEvalInContext(DataviewInlineJSRenderer.PREAMBLE + this.script, new DataviewInlineApi(this.api, this, temp, this.origin));
+            this.target.replaceWith(temp);
+            this.target = temp;
+            if (result === undefined)
+                return;
+            renderValue(this.api.app, result, temp, this.origin, this, this.settings, false);
+        }
+        catch (e) {
+            this.errorbox = this.container.createEl("div");
+            renderErrorPre(this.errorbox, "Dataview (for inline JS query '" + this.script + "'): " + e);
+        }
+    }
+}
+
+////////////
+// Tables //
+////////////
+/** Render a table of literals to Markdown. */
+function markdownTable(headers, values, settings) {
+    if (values.length > 0 && headers.length != values[0].length)
+        throw new Error(`The number of headers (${headers.length}) must match the number of columns (${values[0].length})`);
+    settings = settings ?? DEFAULT_SETTINGS;
+    const mvalues = [];
+    const maxLengths = Array.from(headers, v => escapeTable(v).length);
+    // Pre-construct the table in memory so we can size columns.
+    for (let row = 0; row < values.length; row++) {
+        const current = [];
+        for (let col = 0; col < values[row].length; col++) {
+            const text = tableLiteral(values[row][col], settings.allowHtml, settings);
+            current.push(text);
+            maxLengths[col] = Math.max(maxLengths[col], text.length);
+        }
+        mvalues.push(current);
+    }
+    // Then construct the actual table...
+    // Append the header fields first.
+    let table = `| ${headers.map((v, i) => padright(escapeTable(v), " ", maxLengths[i])).join(" | ")} |\n`;
+    // Then the separating column.
+    table += `| ${maxLengths.map(i => padright("", "-", i)).join(" | ")} |\n`;
+    // Then the data colunns.
+    for (let row = 0; row < values.length; row++) {
+        table += `| ${mvalues[row].map((v, i) => padright(v, " ", maxLengths[i])).join(" | ")} |\n`;
+    }
+    return table;
+}
+/** Convert a value to a Markdown-friendly string. */
+function tableLiteral(value, allowHtml = true, settings) {
+    return escapeTable(rawTableLiteral(value, allowHtml, settings));
+}
+/** Convert a value to a Markdown-friendly string; does not do escaping. */
+function rawTableLiteral(value, allowHtml = true, settings) {
+    if (!allowHtml)
+        return Values.toString(value, settings);
+    if (Values.isArray(value)) {
+        return `<ul>${value.map(v => "<li>" + tableLiteral(v, allowHtml, settings) + "</li>").join("")}</ul>`;
+    }
+    else if (Values.isObject(value)) {
+        const inner = Object.entries(value)
+            .map(([k, v]) => {
+            return `<li><b>${tableLiteral(k, allowHtml, settings)}</b>: ${tableLiteral(v, allowHtml, settings)}</li>`;
+        })
+            .join("");
+        return `<ul>${inner}</ul>`;
+    }
+    else {
+        return Values.toString(value, settings);
+    }
+}
+/** Don't need to import a library for this one... */
+function padright(text, padding, length) {
+    if (text.length >= length)
+        return text;
+    return text + padding.repeat(length - text.length);
+}
+/** Escape bars inside table content to prevent it from messing up table rows. */
+function escapeTable(text) {
+    return text.split(/(?!\\)\|/i).join("\\|");
+}
+///////////
+// Lists //
+///////////
+/** Render a list of literal elements to a markdown list. */
+function markdownList(values, settings) {
+    return markdownListRec(values, settings, 0);
+}
+/** Internal recursive function which renders markdown lists. */
+function markdownListRec(input, settings, depth = 0) {
+    if (Values.isArray(input)) {
+        let result = depth == 0 ? "" : "\n";
+        for (let value of input) {
+            result += "    ".repeat(depth) + "- ";
+            result += markdownListRec(value, settings, depth);
+            result += "\n";
+        }
+        return result;
+    }
+    else if (Values.isObject(input)) {
+        let result = depth == 0 ? "" : "\n";
+        for (let [key, value] of Object.entries(input)) {
+            result += "    ".repeat(depth) + "- ";
+            result += Values.toString(key) + ": ";
+            result += markdownListRec(value, settings, depth);
+            result += "\n";
+        }
+        return result;
+    }
+    else if (Values.isWidget(input) && Widgets.isListPair(input)) {
+        return `${Values.toString(input.key)}: ${markdownListRec(input.value, settings, depth + 1)}`;
+    }
+    return Values.toString(input);
+}
+///////////
+// Tasks //
+///////////
+/** Render the result of a task query to markdown. */
+function markdownTaskList(tasks, settings, depth = 0) {
+    if (Groupings.isGrouping(tasks)) {
+        let result = "";
+        for (let element of tasks) {
+            result += "#".repeat(depth + 1) + " " + Values.toString(element.key) + "\n\n";
+            result += markdownTaskList(element.rows, settings, depth + 1);
+        }
+        return result;
+    }
+    else {
+        // Remove task line duplicates if present to match `taskList()` behavior.
+        const [dedupTasks, _] = nestItems(tasks);
+        let result = "";
+        for (let element of dedupTasks) {
+            result += "    ".repeat(depth) + "- ";
+            if (element.task) {
+                result += `[${element.status}] ${(element.visual ?? element.text).split("\n").join(" ")}\n`;
+            }
+            else {
+                result += `${(element.visual ?? element.text).split("\n").join(" ")}\n`;
+            }
+            result += markdownTaskList(element.children, settings, depth + 1);
+        }
+        return result;
+    }
+}
+
+/** The general, externally accessible plugin API (available at `app.plugins.plugins.dataview.api` or as global `DataviewAPI`). */
+/** Asynchronous API calls related to file / system IO. */
+class DataviewIOApi {
+    api;
+    constructor(api) {
+        this.api = api;
+    }
+    /** Load the contents of a CSV asynchronously, returning a data array of rows (or undefined if it does not exist). */
+    async csv(path, originFile) {
+        if (!Values.isLink(path) && !Values.isString(path)) {
+            throw Error(`dv.io.csv only handles string or link paths; was provided type '${typeof path}'.`);
+        }
+        let data = await this.api.index.csv.get(this.normalize(path, originFile));
+        if (data.successful)
+            return DataArray.from(data.value, this.api.settings);
+        else
+            throw Error(`Could not find CSV for path '${path}' (relative to origin '${originFile ?? "/"}')`);
+    }
+    /** Asynchronously load the contents of any link or path in an Obsidian vault. */
+    async load(path, originFile) {
+        if (!Values.isLink(path) && !Values.isString(path)) {
+            throw Error(`dv.io.load only handles string or link paths; was provided type '${typeof path}'.`);
+        }
+        let existingFile = this.api.index.vault.getAbstractFileByPath(this.normalize(path, originFile));
+        if (!existingFile || !(existingFile instanceof obsidian.TFile))
+            return undefined;
+        return this.api.index.vault.cachedRead(existingFile);
+    }
+    /** Normalize a link or path relative to an optional origin file. Returns a textual fully-qualified-path. */
+    normalize(path, originFile) {
+        let realPath;
+        if (Values.isLink(path))
+            realPath = path.path;
+        else
+            realPath = path;
+        return this.api.index.prefix.resolveRelative(realPath, originFile);
+    }
+}
+/** Global API for accessing the Dataview API, executing dataview queries, and  */
+class DataviewApi {
+    app;
+    index;
+    settings;
+    verNum;
+    /** Evaluation context which expressions can be evaluated in. */
+    evaluationContext;
+    /** IO API which supports asynchronous loading of data directly. */
+    io;
+    /** Dataview functions which can be called from DataviewJS. */
+    func;
+    /** Value utility functions for comparisons and type-checking. */
+    value = Values;
+    /** Widget utility functions for creating built-in widgets. */
+    widget = Widgets;
+    /** Re-exporting of luxon for people who can't easily require it. Sorry! */
+    luxon = Luxon;
+    constructor(app, index, settings, verNum) {
+        this.app = app;
+        this.index = index;
+        this.settings = settings;
+        this.verNum = verNum;
+        this.evaluationContext = new Context(defaultLinkHandler(index, ""), settings);
+        this.func = Functions.bindAll(DEFAULT_FUNCTIONS, this.evaluationContext);
+        this.io = new DataviewIOApi(this);
+    }
+    /** Utilities to check the current Dataview version and comapre it to SemVer version ranges. */
+    version = (() => {
+        const self = this;
+        return {
+            get current() {
+                return self.verNum;
+            },
+            compare: (op, ver) => compare(this.verNum, ver, op),
+            satisfies: (range) => satisfies(this.verNum, range),
+        };
+    })();
+    /////////////////////////////
+    // Index + Data Collection //
+    /////////////////////////////
+    /** Return an array of paths (as strings) corresponding to pages which match the query. */
+    pagePaths(query, originFile) {
+        let source;
+        try {
+            if (!query || query.trim() === "")
+                source = Sources.folder("");
+            else
+                source = EXPRESSION.source.tryParse(query);
+        }
+        catch (ex) {
+            throw new Error(`Failed to parse query in 'pagePaths': ${ex}`);
+        }
+        return matchingSourcePaths(source, this.index, originFile)
+            .map(s => DataArray.from(s, this.settings))
+            .orElseThrow();
+    }
+    /** Map a page path to the actual data contained within that page. */
+    page(path, originFile) {
+        if (!(typeof path === "string") && !Values.isLink(path)) {
+            throw Error("dv.page only handles string and link paths; was provided type '" + typeof path + "'");
+        }
+        let rawPath = path instanceof Link ? path.path : path;
+        let normPath = this.app.metadataCache.getFirstLinkpathDest(rawPath, originFile ?? "");
+        if (!normPath)
+            return undefined;
+        let pageObject = this.index.pages.get(normPath.path);
+        if (!pageObject)
+            return undefined;
+        return this._addDataArrays(pageObject.serialize(this.index));
+    }
+    /** Return an array of page objects corresponding to pages which match the source query. */
+    pages(query, originFile) {
+        return this.pagePaths(query, originFile).flatMap(p => {
+            let res = this.page(p, originFile);
+            return res ? [res] : [];
+        });
+    }
+    /** Remaps important metadata to add data arrays.  */
+    _addDataArrays(pageObject) {
+        // Remap the "file" metadata entries to be data arrays.
+        for (let [key, value] of Object.entries(pageObject.file)) {
+            if (Array.isArray(value))
+                pageObject.file[key] = DataArray.wrap(value, this.settings);
+        }
+        return pageObject;
+    }
+    /////////////
+    // Utility //
+    /////////////
+    /**
+     * Convert an input element or array into a Dataview data-array. If the input is already a data array,
+     * it is returned unchanged.
+     */
+    array(raw) {
+        if (DataArray.isDataArray(raw))
+            return raw;
+        if (Array.isArray(raw))
+            return DataArray.wrap(raw, this.settings);
+        return DataArray.wrap([raw], this.settings);
+    }
+    /** Return true if the given value is a javascript array OR a dataview data array. */
+    isArray(raw) {
+        return DataArray.isDataArray(raw) || Array.isArray(raw);
+    }
+    /** Return true if the given value is a dataview data array; this returns FALSE for plain JS arrays. */
+    isDataArray(raw) {
+        return DataArray.isDataArray(raw);
+    }
+    /** Create a dataview file link to the given path. */
+    fileLink(path, embed = false, display) {
+        return Link.file(path, embed, display);
+    }
+    /** Create a dataview section link to the given path. */
+    sectionLink(path, section, embed = false, display) {
+        return Link.header(path, section, embed, display);
+    }
+    /** Create a dataview block link to the given path. */
+    blockLink(path, blockId, embed = false, display) {
+        return Link.block(path, blockId, embed, display);
+    }
+    /** Attempt to extract a date from a string, link or date. */
+    date(pathlike) {
+        return this.func.date(pathlike);
+    }
+    /** Attempt to extract a duration from a string or duration. */
+    duration(str) {
+        return this.func.dur(str);
+    }
+    /** Parse a raw textual value into a complex Dataview type, if possible. */
+    parse(value) {
+        let raw = EXPRESSION.inlineField.parse(value);
+        if (raw.status)
+            return raw.value;
+        else
+            return value;
+    }
+    /** Convert a basic JS type into a Dataview type by parsing dates, links, durations, and so on. */
+    literal(value) {
+        return parseFrontmatter(value);
+    }
+    /** Deep clone the given literal, returning a new literal which is independent of the original. */
+    clone(value) {
+        return Values.deepCopy(value);
+    }
+    /**
+     * Compare two arbitrary JavaScript values using Dataview's default comparison rules. Returns a negative value if
+     * a < b, 0 if a = b, and a positive value if a > b.
+     */
+    compare(a, b) {
+        return Values.compareValue(a, b, this.evaluationContext.linkHandler.normalize);
+    }
+    /** Return true if the two given JavaScript values are equal using Dataview's default comparison rules. */
+    equal(a, b) {
+        return this.compare(a, b) == 0;
+    }
+    ///////////////////////////////
+    // Dataview Query Evaluation //
+    ///////////////////////////////
+    /**
+     * Execute an arbitrary Dataview query, returning a query result which:
+     *
+     * 1. Indicates the type of query,
+     * 2. Includes the raw AST of the parsed query.
+     * 3. Includes the output in the form relevant to that query type.
+     *
+     * List queries will return a list of objects ({ id, value }); table queries return a header array
+     * and a 2D array of values; and task arrays return a Grouping<Task> type which allows for recursive
+     * task nesting.
+     */
+    async query(source, originFile, settings) {
+        const query = typeof source === "string" ? parseQuery(source) : Result.success(source);
+        if (!query.successful)
+            return query.cast();
+        const header = query.value.header;
+        switch (header.type) {
+            case "calendar":
+                const cres = await executeCalendar(query.value, this.index, originFile ?? "", this.settings);
+                if (!cres.successful)
+                    return cres.cast();
+                return Result.success({ type: "calendar", values: cres.value.data });
+            case "task":
+                const tasks = await executeTask(query.value, originFile ?? "", this.index, this.settings);
+                if (!tasks.successful)
+                    return tasks.cast();
+                return Result.success({ type: "task", values: tasks.value.tasks });
+            case "list":
+                if (settings?.forceId !== undefined)
+                    header.showId = settings.forceId;
+                const lres = await executeList(query.value, this.index, originFile ?? "", this.settings);
+                if (!lres.successful)
+                    return lres.cast();
+                // TODO: WITHOUT ID probably shouldn't exist, or should be moved to the engine itself.
+                // For now, until I fix it up in an upcoming refactor, we re-implement the behavior here.
+                return Result.success({
+                    type: "list",
+                    values: lres.value.data,
+                    primaryMeaning: lres.value.primaryMeaning,
+                });
+            case "table":
+                if (settings?.forceId !== undefined)
+                    header.showId = settings.forceId;
+                const tres = await executeTable(query.value, this.index, originFile ?? "", this.settings);
+                if (!tres.successful)
+                    return tres.cast();
+                return Result.success({
+                    type: "table",
+                    values: tres.value.data,
+                    headers: tres.value.names,
+                    idMeaning: tres.value.idMeaning,
+                });
+        }
+    }
+    /** Error-throwing version of {@link query}. */
+    async tryQuery(source, originFile, settings) {
+        return (await this.query(source, originFile, settings)).orElseThrow();
+    }
+    /** Execute an arbitrary dataview query, returning the results in well-formatted markdown. */
+    async queryMarkdown(source, originFile, settings) {
+        const result = await this.query(source, originFile, settings);
+        if (!result.successful)
+            return result.cast();
+        switch (result.value.type) {
+            case "list":
+                return Result.success(this.markdownList(result.value.values, settings));
+            case "table":
+                return Result.success(this.markdownTable(result.value.headers, result.value.values, settings));
+            case "task":
+                return Result.success(this.markdownTaskList(result.value.values, settings));
+            case "calendar":
+                return Result.failure("Cannot render calendar queries to markdown.");
+        }
+    }
+    /** Error-throwing version of {@link queryMarkdown}. */
+    async tryQueryMarkdown(source, originFile, settings) {
+        return (await this.queryMarkdown(source, originFile, settings)).orElseThrow();
+    }
+    /**
+     * Evaluate a dataview expression (like '2 + 2' or 'link("hello")'), returning the evaluated result.
+     * This takes an optional second argument which provides definitions for variables, such as:
+     *
+     * ```
+     * dv.evaluate("x + 6", { x: 2 }) = 8
+     * dv.evaluate('link(target)', { target: "Okay" }) = [[Okay]]
+     * ```
+     *
+     * This method returns a Result type instead of throwing an error; you can check the result of the
+     * execution via `result.successful` and obtain `result.value` or `result.error` resultingly. If
+     * you'd rather this method throw on an error, use `dv.tryEvaluate`.
+     */
+    evaluate(expression, context, originFile) {
+        let field = EXPRESSION.field.parse(expression);
+        if (!field.status)
+            return Result.failure(`Failed to parse expression "${expression}"`);
+        let evaluationContext = originFile
+            ? new Context(defaultLinkHandler(this.index, originFile), this.settings)
+            : this.evaluationContext;
+        return evaluationContext.evaluate(field.value, context);
+    }
+    /** Error-throwing version of `dv.evaluate`. */
+    tryEvaluate(expression, context, originFile) {
+        return this.evaluate(expression, context, originFile).orElseThrow();
+    }
+    /** Evaluate an expression in the context of the given file. */
+    evaluateInline(expression, origin) {
+        let field = EXPRESSION.field.parse(expression);
+        if (!field.status)
+            return Result.failure(`Failed to parse expression "${expression}"`);
+        return executeInline(field.value, origin, this.index, this.settings);
+    }
+    ///////////////
+    // Rendering //
+    ///////////////
+    /**
+     * Execute the given query, rendering results into the given container using the components lifecycle.
+     * Your component should be a *real* component which calls onload() on it's child components at some point,
+     * or a MarkdownPostProcessorContext!
+     *
+     * Note that views made in this way are live updating and will automatically clean themselves up when
+     * the component is unloaded or the container is removed.
+     */
+    async execute(source, container, component, filePath) {
+        if (isDataviewDisabled(filePath)) {
+            renderCodeBlock(container, source);
+            return;
+        }
+        let maybeQuery = tryOrPropogate(() => parseQuery(source));
+        // In case of parse error, just render the error.
+        if (!maybeQuery.successful) {
+            renderErrorPre(container, "Dataview: " + maybeQuery.error);
+            return;
+        }
+        let query = maybeQuery.value;
+        let init = { app: this.app, settings: this.settings, index: this.index, container };
+        let childComponent;
+        switch (query.header.type) {
+            case "task":
+                childComponent = createTaskView(init, query, filePath);
+                component.addChild(childComponent);
+                break;
+            case "list":
+                childComponent = createListView(init, query, filePath);
+                component.addChild(childComponent);
+                break;
+            case "table":
+                childComponent = createTableView(init, query, filePath);
+                component.addChild(childComponent);
+                break;
+            case "calendar":
+                childComponent = new DataviewCalendarRenderer(query, container, this.index, filePath, this.settings, this.app);
+                component.addChild(childComponent);
+                break;
+        }
+        childComponent.load();
+    }
+    /**
+     * Execute the given DataviewJS query, rendering results into the given container using the components lifecycle.
+     * See {@link execute} for general rendering semantics.
+     */
+    async executeJs(code, container, component, filePath) {
+        if (isDataviewDisabled(filePath)) {
+            renderCodeBlock(container, code, "javascript");
+            return;
+        }
+        const renderer = new DataviewJSRenderer(this, code, container, filePath);
+        renderer.load();
+        component.addChild(renderer);
+    }
+    /** Render a dataview list of the given values. */
+    async list(values, container, component, filePath) {
+        if (!values)
+            return;
+        if (values !== undefined && values !== null && !Array.isArray(values) && !DataArray.isDataArray(values))
+            values = Array.from(values);
+        // Append a child div, since React will keep re-rendering otherwise.
+        let subcontainer = container.createEl("div");
+        component.addChild(createFixedListView({ app: this.app, settings: this.settings, index: this.index, container: subcontainer }, values, filePath));
+    }
+    /** Render a dataview table with the given headers, and the 2D array of values. */
+    async table(headers, values, container, component, filePath) {
+        if (!headers)
+            headers = [];
+        if (!values)
+            values = [];
+        if (!Array.isArray(headers) && !DataArray.isDataArray(headers))
+            headers = Array.from(headers);
+        // Append a child div, since React will keep re-rendering otherwise.
+        let subcontainer = container.createEl("div");
+        component.addChild(createFixedTableView({ app: this.app, settings: this.settings, index: this.index, container: subcontainer }, headers, values, filePath));
+    }
+    /** Render a dataview task view with the given tasks. */
+    async taskList(tasks, groupByFile = true, container, component, filePath = "") {
+        let groupedTasks = !Groupings.isGrouping(tasks) && groupByFile ? this.array(tasks).groupBy(t => Link.file(t.path)) : tasks;
+        // Append a child div, since React will override several task lists otherwise.
+        let taskContainer = container.createEl("div");
+        component.addChild(createFixedTaskView({ app: this.app, settings: this.settings, index: this.index, container: taskContainer }, groupedTasks, filePath));
+    }
+    /** Render an arbitrary value into a container. */
+    async renderValue(value, container, component, filePath, inline = false) {
+        return renderValue(this.app, value, container, filePath, component, this.settings, inline);
+    }
+    /////////////////
+    // Data Export //
+    /////////////////
+    /** Render data to a markdown table. */
+    markdownTable(headers, values, settings) {
+        if (!headers)
+            headers = [];
+        if (!values)
+            values = [];
+        const combined = Object.assign({}, this.settings, settings);
+        return markdownTable(headers, values, combined);
+    }
+    /** Render data to a markdown list. */
+    markdownList(values, settings) {
+        if (!values)
+            values = [];
+        const combined = Object.assign({}, this.settings, settings);
+        return markdownList(values, combined);
+    }
+    /** Render tasks or list items to a markdown task list. */
+    markdownTaskList(values, settings) {
+        if (!values)
+            values = [];
+        const sparse = nestGroups(values);
+        const combined = Object.assign({}, this.settings, settings);
+        return markdownTaskList(sparse, combined);
+    }
+}
+/** Determines if source-path has a `?no-dataview` annotation that disables dataview. */
+function isDataviewDisabled(sourcePath) {
+    if (!sourcePath)
+        return false;
+    let questionLocation = sourcePath.lastIndexOf("?");
+    if (questionLocation == -1)
+        return false;
+    return sourcePath.substring(questionLocation).contains("no-dataview");
+}
+
+/** Refreshable renderer which renders inline instead of in a div. */
+class DataviewInlineRenderer extends DataviewRefreshableRenderer {
+    field;
+    fieldText;
+    container;
+    target;
+    index;
+    origin;
+    settings;
+    app;
+    // The box that the error is rendered in, if relevant.
+    errorbox;
+    constructor(field, fieldText, container, target, index, origin, settings, app) {
+        super(container, index, app, settings);
+        this.field = field;
+        this.fieldText = fieldText;
+        this.container = container;
+        this.target = target;
+        this.index = index;
+        this.origin = origin;
+        this.settings = settings;
+        this.app = app;
+    }
+    async render() {
+        this.errorbox?.remove();
+        let result = tryOrPropogate(() => executeInline(this.field, this.origin, this.index, this.settings));
+        if (!result.successful) {
+            this.errorbox = this.container.createEl("div");
+            renderErrorPre(this.errorbox, "Dataview (for inline query '" + this.fieldText + "'): " + result.error);
+        }
+        else {
+            let temp = document.createElement("span");
+            temp.addClasses(["dataview", "dataview-inline-query"]);
+            await renderValue(this.app, result.value, temp, this.origin, this, this.settings, false);
+            this.target.replaceWith(temp);
+        }
+    }
+}
+
+/** Replaces raw textual inline fields in text containers with pretty HTML equivalents. */
+async function replaceInlineFields(ctx, init) {
+    const inlineFields = extractInlineFields(init.container.innerHTML);
+    if (inlineFields.length == 0)
+        return;
+    const component = new obsidian.MarkdownRenderChild(init.container);
+    ctx.addChild(component);
+    // Iterate through the raw HTML and replace inline field matches with corresponding rendered values.
+    let result = init.container.innerHTML;
+    for (let x = inlineFields.length - 1; x >= 0; x--) {
+        let field = inlineFields[x];
+        let renderContainer = document.createElement("span");
+        renderContainer.addClasses(["dataview", "inline-field"]);
+        // Block inline fields render the key, parenthesis ones do not.
+        if (field.wrapping == "[") {
+            const key = renderContainer.createSpan({
+                cls: ["dataview", "inline-field-key"],
+                attr: {
+                    "data-dv-key": field.key,
+                    "data-dv-norm-key": canonicalizeVarName(field.key),
+                },
+            });
+            // Explicitly set the inner HTML to respect any key formatting that we should carry over.
+            key.innerHTML = field.key;
+            renderContainer.createSpan({
+                cls: ["dataview", "inline-field-value"],
+                attr: { id: "dataview-inline-field-" + x },
+            });
+        }
+        else {
+            renderContainer.createSpan({
+                cls: ["dataview", "inline-field-standalone-value"],
+                attr: { id: "dataview-inline-field-" + x },
+            });
+        }
+        result = result.slice(0, field.start) + renderContainer.outerHTML + result.slice(field.end);
+    }
+    // Use a <template> block to render this HTML properly to nodes.
+    const template = document.createElement("template");
+    template.innerHTML = result;
+    // Replace the container children with the new rendered children.
+    // TODO: Replace this with a dom-to-dom diff to reduce the actual amount of updates.
+    init.container.replaceChildren(...template.content.childNodes);
+    let inlineFieldsFromText;
+    let hasRetrievedText = false;
+    for (let index = 0; index < inlineFields.length; index++) {
+        const box = init.container.querySelector("#dataview-inline-field-" + index);
+        if (!box)
+            continue;
+        const context = Object.assign({}, init, { container: box, component: component });
+        const parseInlineValueWrapper = (fieldVal) => {
+            if (fieldVal.startsWith('<span class="math"')) {
+                // allows math symbols to be rendered in reading view
+                if (!hasRetrievedText) {
+                    hasRetrievedText = true;
+                    let text = ctx.getSectionInfo(init.container)?.text;
+                    if (text) {
+                        inlineFieldsFromText = extractInlineFields(text);
+                    }
+                }
+                if (!inlineFieldsFromText)
+                    return parseInlineValue(fieldVal);
+                return parseInlineValue(inlineFieldsFromText[index].value);
+            }
+            else {
+                return parseInlineValue(fieldVal);
+            }
+        };
+        D$1(y$1(DataviewContext.Provider, { value: context },
+            y$1(Lit, { value: parseInlineValueWrapper(inlineFields[index].value), inline: true, sourcePath: ctx.sourcePath })), box);
+    }
+}
+
+/*
+ * inspired and adapted from https://github.com/artisticat1/obsidian-latex-suite/blob/main/src/conceal.ts
+ *
+ * The original work is MIT-licensed.
+ *
+ * MIT License
+ *
+ * Copyright (c) 2022 artisticat1
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ *
+ * */
+function selectionAndRangeOverlap(selection, rangeFrom, rangeTo) {
+    for (const range of selection.ranges) {
+        if (range.from <= rangeTo && range.to >= rangeFrom) {
+            return true;
+        }
+    }
+    return false;
+}
+class InlineWidget extends view.WidgetType {
+    cssClasses;
+    rawQuery;
+    el;
+    view;
+    constructor(cssClasses, rawQuery, el, view) {
+        super();
+        this.cssClasses = cssClasses;
+        this.rawQuery = rawQuery;
+        this.el = el;
+        this.view = view;
+    }
+    // Widgets only get updated when the raw query changes/the element gets focus and loses it
+    // to prevent redraws when the editor updates.
+    eq(other) {
+        if (other.rawQuery === this.rawQuery) {
+            // change CSS classes without redrawing the element
+            for (let value of other.cssClasses) {
+                if (!this.cssClasses.includes(value)) {
+                    this.el.removeClass(value);
+                }
+                else {
+                    this.el.addClass(value);
+                }
+            }
+            return true;
+        }
+        return false;
+    }
+    // Add CSS classes and return HTML element.
+    // In "complex" cases it will get filled with the correct text/child elements later.
+    toDOM(view) {
+        this.el.addClasses(this.cssClasses);
+        return this.el;
+    }
+    /* Make queries only editable when shift is pressed (or navigated inside with the keyboard
+     * or the mouse is placed at the end, but that is always possible regardless of this method).
+     * Mostly useful for links, and makes results selectable.
+     * If the widgets should always be expandable, make this always return false.
+     */
+    ignoreEvent(event) {
+        // instanceof check does not work in pop-out windows, so check it like this
+        if (event.type === "mousedown") {
+            const currentPos = this.view.posAtCoords({ x: event.x, y: event.y });
+            if (event.shiftKey) {
+                // Set the cursor after the element so that it doesn't select starting from the last cursor position.
+                if (currentPos) {
+                    const { editor } = this.view.state.field(obsidian.editorInfoField);
+                    if (editor) {
+                        editor.setCursor(editor.offsetToPos(currentPos));
+                    }
+                }
+                return false;
+            }
+        }
+        return true;
+    }
+}
+function getCssClasses(props) {
+    const classes = [];
+    if (props.has("strong")) {
+        classes.push("cm-strong");
+    }
+    if (props.has("em")) {
+        classes.push("cm-em");
+    }
+    if (props.has("highlight")) {
+        classes.push("cm-highlight");
+    }
+    if (props.has("strikethrough")) {
+        classes.push("cm-strikethrough");
+    }
+    if (props.has("comment")) {
+        classes.push("cm-comment");
+    }
+    return classes;
+}
+function inlinePlugin(app, index, settings, api) {
+    return view.ViewPlugin.fromClass(class {
+        decorations;
+        component;
+        constructor(view$1) {
+            this.component = new obsidian.Component();
+            this.component.load();
+            this.decorations = this.inlineRender(view$1) ?? view.Decoration.none;
+        }
+        update(update) {
+            // only activate in LP and not source mode
+            if (!update.state.field(obsidian.editorLivePreviewField)) {
+                this.decorations = view.Decoration.none;
+                return;
+            }
+            if (update.docChanged) {
+                this.decorations = this.decorations.map(update.changes);
+                this.updateTree(update.view);
+            }
+            else if (update.selectionSet) {
+                this.updateTree(update.view);
+            }
+            else if (update.viewportChanged /*|| update.selectionSet*/) {
+                this.decorations = this.inlineRender(update.view) ?? view.Decoration.none;
+            }
+        }
+        updateTree(view) {
+            for (const { from, to } of view.visibleRanges) {
+                language.syntaxTree(view.state).iterate({
+                    from,
+                    to,
+                    enter: ({ node }) => {
+                        const { render, isQuery } = this.renderNode(view, node);
+                        if (!render && isQuery) {
+                            this.removeDeco(node);
+                            return;
+                        }
+                        else if (!render) {
+                            return;
+                        }
+                        else if (render) {
+                            this.addDeco(node, view);
+                        }
+                    },
+                });
+            }
+        }
+        removeDeco(node) {
+            this.decorations.between(node.from - 1, node.to + 1, (from, to, value) => {
+                this.decorations = this.decorations.update({
+                    filterFrom: from,
+                    filterTo: to,
+                    filter: (from, to, value) => false,
+                });
+            });
+        }
+        addDeco(node, view) {
+            const from = node.from - 1;
+            const to = node.to + 1;
+            let exists = false;
+            this.decorations.between(from, to, (from, to, value) => {
+                exists = true;
+            });
+            if (!exists) {
+                /**
+                 * In a note embedded in a Canvas, app.workspace.getActiveFile() returns
+                 * the canvas file, not the note file. On the other hand,
+                 * view.state.field(editorInfoField).file returns the note file itself,
+                 * which is more suitable here.
+                 */
+                const currentFile = view.state.field(obsidian.editorInfoField).file;
+                if (!currentFile)
+                    return;
+                const newDeco = this.renderWidget(node, view, currentFile)?.value;
+                if (newDeco) {
+                    this.decorations = this.decorations.update({
+                        add: [{ from: from, to: to, value: newDeco }],
+                    });
+                }
+            }
+        }
+        // checks whether a node should get rendered/unrendered
+        renderNode(view, node) {
+            const type = node.type;
+            // current node is inline code
+            const tokenProps = type.prop(language.tokenClassNodeProp);
+            const props = new Set(tokenProps?.split(" "));
+            if (props.has("inline-code") && !props.has("formatting")) {
+                // contains the position of inline code
+                const start = node.from;
+                const end = node.to;
+                // don't continue if current cursor position and inline code node (including formatting
+                // symbols) overlap
+                const selection = view.state.selection;
+                if (selectionAndRangeOverlap(selection, start - 1, end + 1)) {
+                    if (this.isInlineQuery(view, start, end)) {
+                        return { render: false, isQuery: true };
+                    }
+                    else {
+                        return { render: false, isQuery: false };
+                    }
+                }
+                else if (this.isInlineQuery(view, start, end)) {
+                    return { render: true, isQuery: true };
+                }
+            }
+            return { render: false, isQuery: false };
+        }
+        isInlineQuery(view, start, end) {
+            const text = view.state.doc.sliceString(start, end);
+            const isInlineQuery = text.startsWith(settings.inlineQueryPrefix) || text.startsWith(settings.inlineJsQueryPrefix);
+            return isInlineQuery;
+        }
+        inlineRender(view$1) {
+            // still doesn't work as expected for tables and callouts
+            if (!index.initialized)
+                return;
+            const currentFile = view$1.state.field(obsidian.editorInfoField).file;
+            if (!currentFile)
+                return;
+            const widgets = [];
+            /* before:
+             *     em for italics
+             *     highlight for highlight
+             * after:
+             *     strong for bold
+             *     strikethrough for strikethrough
+             */
+            for (const { from, to } of view$1.visibleRanges) {
+                language.syntaxTree(view$1.state).iterate({
+                    from,
+                    to,
+                    enter: ({ node }) => {
+                        if (!this.renderNode(view$1, node).render)
+                            return;
+                        const widget = this.renderWidget(node, view$1, currentFile);
+                        if (widget) {
+                            widgets.push(widget);
+                        }
+                    },
+                });
+            }
+            return view.Decoration.set(widgets, true);
+        }
+        renderWidget(node, view$1, currentFile) {
+            const type = node.type;
+            // contains the position of inline code
+            const start = node.from;
+            const end = node.to;
+            // safety net against unclosed inline code
+            if (view$1.state.doc.sliceString(end, end + 1) === "\n") {
+                return;
+            }
+            const text = view$1.state.doc.sliceString(start, end);
+            let code = "";
+            let result = "";
+            const PREAMBLE = "const dataview=this;const dv=this;";
+            const el = createSpan({
+                cls: ["dataview", "dataview-inline"],
+            });
+            /* If the query result is predefined text (e.g. in the case of errors), set innerText to it.
+             * Otherwise, pass on an empty element and fill it in later.
+             * This is necessary because {@link InlineWidget.toDOM} is synchronous but some rendering
+             * asynchronous.
+             */
+            if (text.startsWith(settings.inlineQueryPrefix)) {
+                if (settings.enableInlineDataview) {
+                    code = text.substring(settings.inlineQueryPrefix.length).trim();
+                    const field = tryOrPropogate(() => parseField(code));
+                    if (!field.successful) {
+                        result = `Dataview (inline field '${code}'): ${field.error}`;
+                        el.innerText = result;
+                    }
+                    else {
+                        const fieldValue = field.value;
+                        const intermediateResult = tryOrPropogate(() => executeInline(fieldValue, currentFile.path, index, settings));
+                        if (!intermediateResult.successful) {
+                            result = `Dataview (for inline query '${fieldValue}'): ${intermediateResult.error}`;
+                            el.innerText = result;
+                        }
+                        else {
+                            const { value } = intermediateResult;
+                            result = value;
+                            renderValue(app, result, el, currentFile.path, this.component, settings);
+                        }
+                    }
+                }
+                else {
+                    result = "(disabled; enable in settings)";
+                    el.innerText = result;
+                }
+            }
+            else if (text.startsWith(settings.inlineJsQueryPrefix)) {
+                if (settings.enableInlineDataviewJs) {
+                    code = text.substring(settings.inlineJsQueryPrefix.length).trim();
+                    try {
+                        // for setting the correct context for dv/dataview
+                        const myEl = createDiv();
+                        const dvInlineApi = new DataviewInlineApi(api, this.component, myEl, currentFile.path);
+                        if (code.includes("await")) {
+                            evalInContext("(async () => { " + PREAMBLE + code + " })()").then((result) => {
+                                renderValue(app, result, el, currentFile.path, this.component, settings);
+                            });
+                        }
+                        else {
+                            result = evalInContext(PREAMBLE + code);
+                            renderValue(app, result, el, currentFile.path, this.component, settings);
+                        }
+                        function evalInContext(script) {
+                            return function () {
+                                return eval(script);
+                            }.call(dvInlineApi);
+                        }
+                    }
+                    catch (e) {
+                        result = `Dataview (for inline JS query '${code}'): ${e}`;
+                        el.innerText = result;
+                    }
+                }
+                else {
+                    result = "(disabled; enable in settings)";
+                    el.innerText = result;
+                }
+            }
+            else {
+                return;
+            }
+            const tokenProps = type.prop(language.tokenClassNodeProp);
+            const props = new Set(tokenProps?.split(" "));
+            const classes = getCssClasses(props);
+            return view.Decoration.replace({
+                widget: new InlineWidget(classes, code, el, view$1),
+                inclusive: false,
+                block: false,
+            }).range(start - 1, end + 1);
+        }
+        destroy() {
+            this.component.unload();
+        }
+    }, { decorations: v => v.decorations });
+}
+
+class InlineFieldValue extends state.RangeValue {
+    field;
+    constructor(field) {
+        super();
+        this.field = field;
+    }
+    eq(other) {
+        return this.field.key == other.field.key && this.field.value == other.field.value;
+    }
+}
+function buildInlineFields(state$1) {
+    const builder = new state.RangeSetBuilder();
+    const tree = language.syntaxTree(state$1);
+    for (let lineNumber = 1; lineNumber <= state$1.doc.lines; lineNumber++) {
+        const line = state$1.doc.line(lineNumber);
+        let isInsideCodeBlock = false;
+        tree.iterate({
+            from: line.from,
+            to: line.to,
+            enter: node => {
+                // ignore code blocks
+                if (node.name.startsWith("HyperMD-codeblock")) {
+                    isInsideCodeBlock = true;
+                }
+                return node.name == "Document";
+            },
+        });
+        if (!isInsideCodeBlock) {
+            const inlineFields = extractInlineFields(line.text);
+            for (const field of inlineFields) {
+                builder.add(line.from + field.start, line.from + field.end, new InlineFieldValue(field));
+            }
+        }
+    }
+    return builder.finish();
+}
+/** A state field that stores the inline fields and their positions as a range set. */
+const inlineFieldsField = state.StateField.define({
+    create: buildInlineFields,
+    update(oldFields, tr) {
+        return tr.docChanged ? buildInlineFields(tr.state) : oldFields;
+    },
+});
+/** Create a view plugin that renders inline fields in live preview just as in the reading view. */
+const replaceInlineFieldsInLivePreview = (app, settings) => view.ViewPlugin.fromClass(class {
+    decorations;
+    component;
+    constructor(view) {
+        this.component = new obsidian.Component();
+        this.component.load();
+        this.decorations = this.buildDecorations(view);
+    }
+    destroy() {
+        this.component.unload();
+    }
+    buildDecorations(view$1) {
+        // Disable in the source mode
+        if (!view$1.state.field(obsidian.editorLivePreviewField))
+            return view.Decoration.none;
+        const file = view$1.state.field(obsidian.editorInfoField).file;
+        if (!file)
+            return view.Decoration.none;
+        const info = view$1.state.field(inlineFieldsField);
+        const builder = new state.RangeSetBuilder();
+        const selection = view$1.state.selection;
+        for (const { from, to } of view$1.visibleRanges) {
+            info.between(from, to, (start, end, { field }) => {
+                // If the inline field is not overlapping with the cursor, we replace it with a widget.
+                if (!selectionAndRangeOverlap(selection, start, end)) {
+                    builder.add(start, end, view.Decoration.replace({
+                        widget: new InlineFieldWidget(app, field, file.path, this.component, settings, view$1),
+                    }));
+                }
+            });
+        }
+        return builder.finish();
+    }
+    update(update) {
+        // only activate in LP and not source mode
+        if (!update.state.field(obsidian.editorLivePreviewField)) {
+            this.decorations = view.Decoration.none;
+            return;
+        }
+        const layoutChanged = update.transactions.some(transaction => transaction.effects.some(effect => effect.is(workspaceLayoutChangeEffect)));
+        if (update.docChanged) {
+            this.decorations = this.decorations.map(update.changes);
+            this.updateDecorations(update.view);
+        }
+        else if (update.selectionSet) {
+            this.updateDecorations(update.view);
+        }
+        else if (update.viewportChanged || layoutChanged) {
+            this.decorations = this.buildDecorations(update.view);
+        }
+    }
+    updateDecorations(view$1) {
+        const file = view$1.state.field(obsidian.editorInfoField).file;
+        if (!file) {
+            this.decorations = view.Decoration.none;
+            return;
+        }
+        const inlineFields = view$1.state.field(inlineFieldsField);
+        const selection = view$1.state.selection;
+        for (const { from, to } of view$1.visibleRanges) {
+            inlineFields.between(from, to, (start, end, { field }) => {
+                const overlap = selectionAndRangeOverlap(selection, start, end);
+                if (overlap) {
+                    this.removeDeco(start, end);
+                    return;
+                }
+                else {
+                    this.addDeco(start, end, field, file, view$1);
+                }
+            });
+        }
+    }
+    removeDeco(start, end) {
+        this.decorations.between(start, end, (from, to) => {
+            this.decorations = this.decorations.update({
+                filterFrom: from,
+                filterTo: to,
+                filter: () => false,
+            });
+        });
+    }
+    addDeco(start, end, field, file, view$1) {
+        let exists = false;
+        this.decorations.between(start, end, () => {
+            exists = true;
+        });
+        if (!exists) {
+            this.decorations = this.decorations.update({
+                add: [
+                    {
+                        from: start,
+                        to: end,
+                        value: view.Decoration.replace({
+                            widget: new InlineFieldWidget(app, field, file.path, this.component, settings, view$1),
+                        }),
+                    },
+                ],
+            });
+        }
+    }
+}, {
+    decorations: instance => instance.decorations,
+});
+/** A widget which inline fields are replaced with. */
+class InlineFieldWidget extends view.WidgetType {
+    app;
+    field;
+    sourcePath;
+    component;
+    settings;
+    view;
+    constructor(app, field, sourcePath, component, settings, view) {
+        super();
+        this.app = app;
+        this.field = field;
+        this.sourcePath = sourcePath;
+        this.component = component;
+        this.settings = settings;
+        this.view = view;
+    }
+    eq(other) {
+        return this.field.key == other.field.key && this.field.value == other.field.value;
+    }
+    toDOM() {
+        // A large part of this method was taken from replaceInlineFields() in src/ui/views/inline-field.tsx.
+        // It will be better to extract the common part as a function...
+        const renderContainer = createSpan({
+            cls: ["dataview", "inline-field"],
+        });
+        // Block inline fields render the key, parenthesis ones do not.
+        if (this.field.wrapping == "[") {
+            const key = renderContainer.createSpan({
+                cls: ["dataview", "inline-field-key"],
+                attr: {
+                    "data-dv-key": this.field.key,
+                    "data-dv-norm-key": canonicalizeVarName(this.field.key),
+                },
+            });
+            renderCompactMarkdown(this.app, this.field.key, key, this.sourcePath, this.component, true);
+            const value = renderContainer.createSpan({
+                cls: ["dataview", "inline-field-value"],
+            });
+            renderValue(this.app, parseInlineValue(this.field.value), value, this.sourcePath, this.component, this.settings, false, undefined, undefined, true);
+            this.addKeyClickHandler(key, renderContainer);
+            this.addValueClickHandler(value, renderContainer);
+        }
+        else {
+            const value = renderContainer.createSpan({
+                cls: ["dataview", "inline-field-standalone-value"],
+            });
+            renderValue(this.app, parseInlineValue(this.field.value), value, this.sourcePath, this.component, this.settings, false, undefined, undefined, true);
+            this.addValueClickHandler(value, renderContainer);
+        }
+        return renderContainer;
+    }
+    // https://github.com/blacksmithgu/obsidian-dataview/issues/2101
+    // When the user clicks on a rendered inline field, move the cursor to the clicked position.
+    addKeyClickHandler(key, renderContainer) {
+        key.addEventListener("click", event => {
+            if (event instanceof MouseEvent) {
+                const rect = key.getBoundingClientRect();
+                const relativePos = (event.x - rect.x) / rect.width;
+                const startPos = this.view.posAtCoords(renderContainer.getBoundingClientRect(), false);
+                const clickedPos = Math.round(startPos + (this.field.startValue - 2 - this.field.start) * relativePos); // 2 is the length of "::"
+                this.view.dispatch({ selection: { anchor: clickedPos } });
+            }
+        });
+    }
+    addValueClickHandler(value, renderContainer) {
+        value.addEventListener("click", event => {
+            if (event instanceof MouseEvent) {
+                const rect = value.getBoundingClientRect();
+                const relativePos = (event.x - rect.x) / rect.width;
+                const startPos = this.view.posAtCoords(renderContainer.getBoundingClientRect(), false);
+                const clickedPos = Math.round(startPos +
+                    (this.field.startValue - this.field.start) +
+                    (this.field.end - this.field.startValue) * relativePos);
+                this.view.dispatch({ selection: { anchor: clickedPos } });
+            }
+        });
+    }
+}
+/**
+ * A state effect that represents the workspace's layout change.
+ * Mainly intended to detect when the user switches between live preview and source mode.
+ */
+const workspaceLayoutChangeEffect = state.StateEffect.define();
+
+class DataviewPlugin extends obsidian.Plugin {
+    /** Plugin-wide default settings. */
+    settings;
+    /** The index that stores all dataview data. */
+    index;
+    /** External-facing plugin API. */
+    api;
+    /** CodeMirror 6 extensions that dataview installs. Tracked via array to allow for dynamic updates. */
+    cmExtension;
+    async onload() {
+        // Settings initialization; write defaults first time around.
+        this.settings = Object.assign(DEFAULT_SETTINGS, (await this.loadData()) ?? {});
+        this.addSettingTab(new GeneralSettingsTab(this.app, this));
+        this.index = this.addChild(FullIndex.create(this.app, this.manifest.version, () => {
+            if (this.settings.refreshEnabled)
+                this.debouncedRefresh();
+        }));
+        // Set up automatic (intelligent) view refreshing that debounces.
+        this.updateRefreshSettings();
+        // From this point onwards the dataview API is fully functional (even if the index needs to do some background indexing).
+        this.api = new DataviewApi(this.app, this.index, this.settings, this.manifest.version);
+        // Register API to global window object.
+        (window["DataviewAPI"] = this.api) && this.register(() => delete window["DataviewAPI"]);
+        // Dataview query language code blocks.
+        this.registerPriorityCodeblockPostProcessor("dataview", -100, async (source, el, ctx) => this.dataview(source, el, ctx, ctx.sourcePath));
+        // DataviewJS codeblocks.
+        this.registerPriorityCodeblockPostProcessor(this.settings.dataviewJsKeyword, -100, async (source, el, ctx) => this.dataviewjs(source, el, ctx, ctx.sourcePath));
+        // Dataview inline queries.
+        this.registerPriorityMarkdownPostProcessor(-100, async (el, ctx) => {
+            // Allow for turning off inline queries.
+            if (!this.settings.enableInlineDataview || isDataviewDisabled(ctx.sourcePath))
+                return;
+            this.dataviewInline(el, ctx, ctx.sourcePath);
+        });
+        // Dataview inline-inline query fancy rendering. Runs at a low priority; should apply to Dataview views.
+        this.registerPriorityMarkdownPostProcessor(100, async (el, ctx) => {
+            // Allow for lame people to disable the pretty rendering.
+            if (!this.settings.prettyRenderInlineFields || isDataviewDisabled(ctx.sourcePath))
+                return;
+            // Handle p, header elements explicitly (opt-in rather than opt-out for now).
+            for (let p of el.findAllSelf("p,h1,h2,h3,h4,h5,h6,li,span,th,td")) {
+                const init = {
+                    app: this.app,
+                    index: this.index,
+                    settings: this.settings,
+                    container: p,
+                };
+                await replaceInlineFields(ctx, init);
+            }
+        });
+        // editor extensions
+        this.cmExtension = [];
+        this.registerEditorExtension(this.cmExtension);
+        this.updateEditorExtensions();
+        // Dataview "force refresh" operation.
+        this.addCommand({
+            id: "dataview-force-refresh-views",
+            name: "Force refresh all views and blocks",
+            callback: () => {
+                this.index.revision += 1;
+                this.app.workspace.trigger("dataview:refresh-views");
+            },
+        });
+        this.addCommand({
+            id: "dataview-drop-cache",
+            name: "Drop all cached file metadata",
+            callback: () => {
+                this.index.reinitialize();
+            },
+        });
+        this.addCommand({
+            id: "dataview-rebuild-current-view",
+            name: "Rebuild current view",
+            callback: () => {
+                const activeView = this.app.workspace.getActiveViewOfType(obsidian.MarkdownView);
+                if (activeView) {
+                    activeView.leaf.rebuildView();
+                }
+            },
+        });
+        // Run index initialization, which actually traverses the vault to index files.
+        if (!this.app.workspace.layoutReady) {
+            this.app.workspace.onLayoutReady(async () => this.index.initialize());
+        }
+        else {
+            this.index.initialize();
+        }
+        // Not required anymore, though holding onto it for backwards-compatibility.
+        this.app.metadataCache.trigger("dataview:api-ready", this.api);
+        console.log(`Dataview: version ${this.manifest.version} (requires obsidian ${this.manifest.minAppVersion})`);
+        // Mainly intended to detect when the user switches between live preview and source mode.
+        this.registerEvent(this.app.workspace.on("layout-change", () => {
+            this.app.workspace.iterateAllLeaves(leaf => {
+                if (leaf.view instanceof obsidian.MarkdownView && leaf.view.editor.cm) {
+                    leaf.view.editor.cm.dispatch({
+                        effects: workspaceLayoutChangeEffect.of(null),
+                    });
+                }
+            });
+        }));
+        this.registerDataviewjsCodeHighlighting();
+        this.register(() => this.unregisterDataviewjsCodeHighlighting());
+    }
+    registerDataviewjsCodeHighlighting() {
+        window.CodeMirror.defineMode(this.settings.dataviewJsKeyword, config => window.CodeMirror.getMode(config, "javascript"));
+    }
+    unregisterDataviewjsCodeHighlighting() {
+        window.CodeMirror.defineMode(this.settings.dataviewJsKeyword, config => window.CodeMirror.getMode(config, "null"));
+    }
+    debouncedRefresh = () => null;
+    updateRefreshSettings() {
+        this.debouncedRefresh = obsidian.debounce(() => this.app.workspace.trigger("dataview:refresh-views"), this.settings.refreshInterval, true);
+    }
+    onunload() {
+        console.log(`Dataview: version ${this.manifest.version} unloaded.`);
+    }
+    /** Register a markdown post processor with the given priority. */
+    registerPriorityMarkdownPostProcessor(priority, processor) {
+        let registered = this.registerMarkdownPostProcessor(processor);
+        registered.sortOrder = priority;
+    }
+    /** Register a markdown codeblock post processor with the given priority. */
+    registerPriorityCodeblockPostProcessor(language, priority, processor) {
+        let registered = this.registerMarkdownCodeBlockProcessor(language, processor);
+        registered.sortOrder = priority;
+    }
+    updateEditorExtensions() {
+        // Don't create a new array, keep the same reference
+        this.cmExtension.length = 0;
+        // editor extension for inline queries: enabled regardless of settings (enableInlineDataview/enableInlineDataviewJS)
+        this.cmExtension.push(inlinePlugin(this.app, this.index, this.settings, this.api));
+        // editor extension for rendering inline fields in live preview
+        if (this.settings.prettyRenderInlineFieldsInLivePreview) {
+            this.cmExtension.push(inlineFieldsField, replaceInlineFieldsInLivePreview(this.app, this.settings));
+        }
+        this.app.workspace.updateOptions();
+    }
+    /**
+     * Based on the source, generate a dataview view. This works by doing an initial parsing pass, and then adding
+     * a long-lived view object to the given component for life-cycle management.
+     */
+    async dataview(source, el, component, sourcePath) {
+        el.style.overflowX = "auto";
+        this.api.execute(source, el, component, sourcePath);
+    }
+    /** Generate a DataviewJS view running the given source in the given element. */
+    async dataviewjs(source, el, component, sourcePath) {
+        el.style.overflowX = "auto";
+        this.api.executeJs(source, el, component, sourcePath);
+    }
+    /** Render all dataview inline expressions in the given element. */
+    async dataviewInline(el, component, sourcePath) {
+        if (isDataviewDisabled(sourcePath))
+            return;
+        // Search for <code> blocks inside this element; for each one, look for things of the form `= ...`.
+        let codeblocks = el.querySelectorAll("code");
+        for (let index = 0; index < codeblocks.length; index++) {
+            let codeblock = codeblocks.item(index);
+            // Skip code inside of pre elements if not explicitly enabled.
+            if (codeblock.parentElement &&
+                codeblock.parentElement.nodeName.toLowerCase() == "pre" &&
+                !this.settings.inlineQueriesInCodeblocks)
+                continue;
+            let text = codeblock.innerText.trim();
+            if (this.settings.inlineJsQueryPrefix.length > 0 && text.startsWith(this.settings.inlineJsQueryPrefix)) {
+                let code = text.substring(this.settings.inlineJsQueryPrefix.length).trim();
+                if (code.length == 0)
+                    continue;
+                component.addChild(new DataviewInlineJSRenderer(this.api, code, el, codeblock, sourcePath));
+            }
+            else if (this.settings.inlineQueryPrefix.length > 0 && text.startsWith(this.settings.inlineQueryPrefix)) {
+                let potentialField = text.substring(this.settings.inlineQueryPrefix.length).trim();
+                if (potentialField.length == 0)
+                    continue;
+                let field = tryOrPropogate(() => parseField(potentialField));
+                if (!field.successful) {
+                    let errorBlock = el.createEl("div");
+                    renderErrorPre(errorBlock, `Dataview (inline field '${potentialField}'): ${field.error}`);
+                }
+                else {
+                    let fieldValue = field.value;
+                    component.addChild(new DataviewInlineRenderer(fieldValue, text, el, codeblock, this.index, sourcePath, this.settings, this.app));
+                }
+            }
+        }
+    }
+    /** Update plugin settings. */
+    async updateSettings(settings) {
+        Object.assign(this.settings, settings);
+        this.updateRefreshSettings();
+        await this.saveData(this.settings);
+    }
+    /** @deprecated Call the given callback when the dataview API has initialized. */
+    withApi(callback) {
+        callback(this.api);
+    }
+    /**
+     * Create an API element localized to the given path, with lifecycle management managed by the given component.
+     * The API will output results to the given HTML element.
+     */
+    localApi(path, component, el) {
+        return new DataviewInlineApi(this.api, component, el, path);
+    }
+}
+/** All of the dataview settings in a single, nice tab. */
+class GeneralSettingsTab extends obsidian.PluginSettingTab {
+    plugin;
+    constructor(app, plugin) {
+        super(app, plugin);
+        this.plugin = plugin;
+    }
+    display() {
+        this.containerEl.empty();
+        new obsidian.Setting(this.containerEl)
+            .setName("Enable inline queries")
+            .setDesc("Enable or disable executing regular inline Dataview queries.")
+            .addToggle(toggle => toggle
+            .setValue(this.plugin.settings.enableInlineDataview)
+            .onChange(async (value) => await this.plugin.updateSettings({ enableInlineDataview: value })));
+        new obsidian.Setting(this.containerEl)
+            .setName("Enable JavaScript queries")
+            .setDesc("Enable or disable executing DataviewJS queries.")
+            .addToggle(toggle => toggle
+            .setValue(this.plugin.settings.enableDataviewJs)
+            .onChange(async (value) => await this.plugin.updateSettings({ enableDataviewJs: value })));
+        new obsidian.Setting(this.containerEl)
+            .setName("Enable inline JavaScript queries")
+            .setDesc("Enable or disable executing inline DataviewJS queries. Requires that DataviewJS queries are enabled.")
+            .addToggle(toggle => toggle
+            .setValue(this.plugin.settings.enableInlineDataviewJs)
+            .onChange(async (value) => await this.plugin.updateSettings({ enableInlineDataviewJs: value })));
+        new obsidian.Setting(this.containerEl)
+            .setName("Enable inline field highlighting in reading view")
+            .setDesc("Enables or disables visual highlighting / pretty rendering for inline fields in reading view.")
+            .addToggle(toggle => toggle
+            .setValue(this.plugin.settings.prettyRenderInlineFields)
+            .onChange(async (value) => await this.plugin.updateSettings({ prettyRenderInlineFields: value })));
+        new obsidian.Setting(this.containerEl)
+            .setName("Enable inline field highlighting in Live Preview")
+            .setDesc("Enables or disables visual highlighting / pretty rendering for inline fields in Live Preview.")
+            .addToggle(toggle => toggle.setValue(this.plugin.settings.prettyRenderInlineFieldsInLivePreview).onChange(async (value) => {
+            await this.plugin.updateSettings({ prettyRenderInlineFieldsInLivePreview: value });
+            this.plugin.updateEditorExtensions();
+        }));
+        new obsidian.Setting(this.containerEl).setName("Codeblocks").setHeading();
+        new obsidian.Setting(this.containerEl)
+            .setName("DataviewJS keyword")
+            .setDesc("Keyword for DataviewJS blocks. Defaults to 'dataviewjs'. Reload required for changes to take effect.")
+            .addText(text => text
+            .setPlaceholder("dataviewjs")
+            .setValue(this.plugin.settings.dataviewJsKeyword)
+            .onChange(async (value) => {
+            if (value.length == 0)
+                return;
+            this.plugin.unregisterDataviewjsCodeHighlighting();
+            await this.plugin.updateSettings({ dataviewJsKeyword: value });
+            this.plugin.registerDataviewjsCodeHighlighting();
+        }));
+        new obsidian.Setting(this.containerEl)
+            .setName("Inline query prefix")
+            .setDesc("The prefix to inline queries (to mark them as Dataview queries). Defaults to '='.")
+            .addText(text => text
+            .setPlaceholder("=")
+            .setValue(this.plugin.settings.inlineQueryPrefix)
+            .onChange(async (value) => {
+            if (value.length == 0)
+                return;
+            await this.plugin.updateSettings({ inlineQueryPrefix: value });
+        }));
+        new obsidian.Setting(this.containerEl)
+            .setName("JavaScript inline query prefix")
+            .setDesc("The prefix to JavaScript inline queries (to mark them as DataviewJS queries). Defaults to '$='.")
+            .addText(text => text
+            .setPlaceholder("$=")
+            .setValue(this.plugin.settings.inlineJsQueryPrefix)
+            .onChange(async (value) => {
+            if (value.length == 0)
+                return;
+            await this.plugin.updateSettings({ inlineJsQueryPrefix: value });
+        }));
+        new obsidian.Setting(this.containerEl)
+            .setName("Code block inline queries")
+            .setDesc("If enabled, inline queries will also be evaluated inside full code blocks.")
+            .addToggle(toggle => toggle
+            .setValue(this.plugin.settings.inlineQueriesInCodeblocks)
+            .onChange(async (value) => await this.plugin.updateSettings({ inlineQueriesInCodeblocks: value })));
+        new obsidian.Setting(this.containerEl).setName("View").setHeading();
+        new obsidian.Setting(this.containerEl)
+            .setName("Display result count")
+            .setDesc("If toggled off, the small number in the result header of TASK and TABLE queries will be hidden.")
+            .addToggle(toggle => toggle.setValue(this.plugin.settings.showResultCount).onChange(async (value) => {
+            await this.plugin.updateSettings({ showResultCount: value });
+            this.plugin.index.touch();
+        }));
+        new obsidian.Setting(this.containerEl)
+            .setName("Warn on empty result")
+            .setDesc("If set, queries which return 0 results will render a warning message.")
+            .addToggle(toggle => toggle.setValue(this.plugin.settings.warnOnEmptyResult).onChange(async (value) => {
+            await this.plugin.updateSettings({ warnOnEmptyResult: value });
+            this.plugin.index.touch();
+        }));
+        new obsidian.Setting(this.containerEl)
+            .setName("Render null as")
+            .setDesc("What null/non-existent should show up as in tables, by default. This supports Markdown notation.")
+            .addText(text => text
+            .setPlaceholder("-")
+            .setValue(this.plugin.settings.renderNullAs)
+            .onChange(async (value) => {
+            await this.plugin.updateSettings({ renderNullAs: value });
+            this.plugin.index.touch();
+        }));
+        new obsidian.Setting(this.containerEl)
+            .setName("Automatic view refreshing")
+            .setDesc("If enabled, views will automatically refresh when files in your vault change; this can negatively affect" +
+            " some functionality like embeds in views, so turn it off if such functionality is not working.")
+            .addToggle(toggle => toggle.setValue(this.plugin.settings.refreshEnabled).onChange(async (value) => {
+            await this.plugin.updateSettings({ refreshEnabled: value });
+            this.plugin.index.touch();
+        }));
+        new obsidian.Setting(this.containerEl)
+            .setName("Refresh interval")
+            .setDesc("How long to wait (in milliseconds) for files to stop changing before updating views.")
+            .addText(text => text
+            .setPlaceholder("500")
+            .setValue("" + this.plugin.settings.refreshInterval)
+            .onChange(async (value) => {
+            let parsed = parseInt(value);
+            if (isNaN(parsed))
+                return;
+            parsed = parsed < 100 ? 100 : parsed;
+            await this.plugin.updateSettings({ refreshInterval: parsed });
+        }));
+        let dformat = new obsidian.Setting(this.containerEl)
+            .setName("Date format")
+            .setDesc("The default date format (see Luxon date format options)." +
+            " Currently: " +
+            DateTime.now().toFormat(this.plugin.settings.defaultDateFormat, { locale: currentLocale() }))
+            .addText(text => text
+            .setPlaceholder(DEFAULT_QUERY_SETTINGS.defaultDateFormat)
+            .setValue(this.plugin.settings.defaultDateFormat)
+            .onChange(async (value) => {
+            dformat.setDesc("The default date format (see Luxon date format options)." +
+                " Currently: " +
+                DateTime.now().toFormat(value, { locale: currentLocale() }));
+            await this.plugin.updateSettings({ defaultDateFormat: value });
+            this.plugin.index.touch();
+        }));
+        let dtformat = new obsidian.Setting(this.containerEl)
+            .setName("Date + time format")
+            .setDesc("The default date and time format (see Luxon date format options)." +
+            " Currently: " +
+            DateTime.now().toFormat(this.plugin.settings.defaultDateTimeFormat, { locale: currentLocale() }))
+            .addText(text => text
+            .setPlaceholder(DEFAULT_QUERY_SETTINGS.defaultDateTimeFormat)
+            .setValue(this.plugin.settings.defaultDateTimeFormat)
+            .onChange(async (value) => {
+            dtformat.setDesc("The default date and time format (see Luxon date format options)." +
+                " Currently: " +
+                DateTime.now().toFormat(value, { locale: currentLocale() }));
+            await this.plugin.updateSettings({ defaultDateTimeFormat: value });
+            this.plugin.index.touch();
+        }));
+        new obsidian.Setting(this.containerEl).setName("Tables").setHeading();
+        new obsidian.Setting(this.containerEl)
+            .setName("Primary column name")
+            .setDesc("The name of the default ID column in tables; this is the auto-generated first column that links to the source file.")
+            .addText(text => text
+            .setPlaceholder("File")
+            .setValue(this.plugin.settings.tableIdColumnName)
+            .onChange(async (value) => {
+            await this.plugin.updateSettings({ tableIdColumnName: value });
+            this.plugin.index.touch();
+        }));
+        new obsidian.Setting(this.containerEl)
+            .setName("Grouped column name")
+            .setDesc("The name of the default ID column in tables, when the table is on grouped data; this is the auto-generated first column" +
+            "that links to the source file/group.")
+            .addText(text => text
+            .setPlaceholder("Group")
+            .setValue(this.plugin.settings.tableGroupColumnName)
+            .onChange(async (value) => {
+            await this.plugin.updateSettings({ tableGroupColumnName: value });
+            this.plugin.index.touch();
+        }));
+        new obsidian.Setting(this.containerEl).setName("Tasks").setHeading();
+        let taskCompletionSubsettingsEnabled = this.plugin.settings.taskCompletionTracking;
+        let taskCompletionInlineSubsettingsEnabled = taskCompletionSubsettingsEnabled && !this.plugin.settings.taskCompletionUseEmojiShorthand;
+        new obsidian.Setting(this.containerEl)
+            .setName("Automatic task completion tracking")
+            .setDesc(createFragment(el => {
+            el.appendText("If enabled, Dataview will automatically append tasks with their completion date when they are checked in Dataview views.");
+            el.createEl("br");
+            el.appendText("Example with default field name and date format: - [x] my task [completion:: 2022-01-01]");
+        }))
+            .addToggle(toggle => toggle.setValue(this.plugin.settings.taskCompletionTracking).onChange(async (value) => {
+            await this.plugin.updateSettings({ taskCompletionTracking: value });
+            taskCompletionSubsettingsEnabled = value;
+            this.display();
+        }));
+        let taskEmojiShorthand = new obsidian.Setting(this.containerEl)
+            .setName("Use emoji shorthand for completion")
+            .setDisabled(!taskCompletionSubsettingsEnabled);
+        if (taskCompletionSubsettingsEnabled)
+            taskEmojiShorthand
+                .setDesc(createFragment(el => {
+                el.appendText('If enabled, will use emoji shorthand instead of inline field formatting to fill out implicit task field "completion".');
+                el.createEl("br");
+                el.appendText("Example: - [x] my task ✅ 2022-01-01");
+                el.createEl("br");
+                el.appendText("Disable this to customize the completion date format or field name, or to use Dataview inline field formatting.");
+                el.createEl("br");
+                el.appendText('Only available when "automatic task completion tracking" is enabled.');
+            }))
+                .addToggle(toggle => toggle.setValue(this.plugin.settings.taskCompletionUseEmojiShorthand).onChange(async (value) => {
+                await this.plugin.updateSettings({ taskCompletionUseEmojiShorthand: value });
+                taskCompletionInlineSubsettingsEnabled = taskCompletionSubsettingsEnabled && !value;
+                this.display();
+            }));
+        else
+            taskEmojiShorthand.setDesc('Only available when "automatic task completion tracking" is enabled.');
+        let taskFieldName = new obsidian.Setting(this.containerEl)
+            .setName("Completion field name")
+            .setDisabled(!taskCompletionInlineSubsettingsEnabled);
+        if (taskCompletionInlineSubsettingsEnabled)
+            taskFieldName
+                .setDesc(createFragment(el => {
+                el.appendText("Text used as inline field key for task completion date when toggling a task's checkbox in a Dataview view.");
+                el.createEl("br");
+                el.appendText('Only available when "automatic task completion tracking" is enabled and "use emoji shorthand for completion" is disabled.');
+            }))
+                .addText(text => text.setValue(this.plugin.settings.taskCompletionText).onChange(async (value) => {
+                await this.plugin.updateSettings({ taskCompletionText: value.trim() });
+            }));
+        else
+            taskFieldName.setDesc('Only available when "automatic task completion tracking" is enabled and "use emoji shorthand for completion" is disabled.');
+        let taskDtFormat = new obsidian.Setting(this.containerEl)
+            .setName("Completion date format")
+            .setDisabled(!taskCompletionInlineSubsettingsEnabled);
+        if (taskCompletionInlineSubsettingsEnabled) {
+            let descTextLines = [
+                "Date-time format for task completion date when toggling a task's checkbox in a Dataview view (see Luxon date format options).",
+                'Only available when "automatic task completion tracking" is enabled and "use emoji shorthand for completion" is disabled.',
+                "Currently: ",
+            ];
+            taskDtFormat
+                .setDesc(createFragment(el => {
+                el.appendText(descTextLines[0]);
+                el.createEl("br");
+                el.appendText(descTextLines[1]);
+                el.createEl("br");
+                el.appendText(descTextLines[2] +
+                    DateTime.now().toFormat(this.plugin.settings.taskCompletionDateFormat, {
+                        locale: currentLocale(),
+                    }));
+            }))
+                .addText(text => text
+                .setPlaceholder(DEFAULT_SETTINGS.taskCompletionDateFormat)
+                .setValue(this.plugin.settings.taskCompletionDateFormat)
+                .onChange(async (value) => {
+                taskDtFormat.setDesc(createFragment(el => {
+                    el.appendText(descTextLines[0]);
+                    el.createEl("br");
+                    el.appendText(descTextLines[1]);
+                    el.createEl("br");
+                    el.appendText(descTextLines[2] +
+                        DateTime.now().toFormat(value.trim(), { locale: currentLocale() }));
+                }));
+                await this.plugin.updateSettings({ taskCompletionDateFormat: value.trim() });
+                this.plugin.index.touch();
+            }));
+        }
+        else {
+            taskDtFormat.setDesc('Only available when "automatic task completion tracking" is enabled and "use emoji shorthand for completion" is disabled.');
+        }
+        new obsidian.Setting(this.containerEl)
+            .setName("Recursive sub-task completion")
+            // I gotta word this better :/
+            .setDesc("If enabled, completing a task in a Dataview will automatically complete its subtasks too.")
+            .addToggle(toggle => toggle
+            .setValue(this.plugin.settings.recursiveSubTaskCompletion)
+            .onChange(async (value) => await this.plugin.updateSettings({ recursiveSubTaskCompletion: value })));
+    }
+}
+
+module.exports = DataviewPlugin;
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9lcnJvcnMuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvZm9ybWF0cy5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvem9uZS5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvem9uZXMvc3lzdGVtWm9uZS5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvem9uZXMvSUFOQVpvbmUuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvbG9jYWxlLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy96b25lcy9maXhlZE9mZnNldFpvbmUuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL3pvbmVzL2ludmFsaWRab25lLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL3pvbmVVdGlsLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9zZXR0aW5ncy5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC91dGlsLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2VuZ2xpc2guanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvZm9ybWF0dGVyLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2ludmFsaWQuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2ltcGwvcmVnZXhQYXJzZXIuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2R1cmF0aW9uLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbnRlcnZhbC5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW5mby5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC9kaWZmLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2x1eG9uL3NyYy9pbXBsL2RpZ2l0cy5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC90b2tlblBhcnNlci5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvaW1wbC9jb252ZXJzaW9ucy5qcyIsIi4uL25vZGVfbW9kdWxlcy9sdXhvbi9zcmMvZGF0ZXRpbWUuanMiLCIuLi9ub2RlX21vZHVsZXMvbHV4b24vc3JjL2x1eG9uLmpzIiwiLi4vc3JjL3NldHRpbmdzLnRzIiwiLi4vc3JjL2FwaS9yZXN1bHQudHMiLCIuLi9ub2RlX21vZHVsZXMvcGFyc2ltbW9uL2J1aWxkL3BhcnNpbW1vbi51bWQubWluLmpzIiwiLi4vbm9kZV9tb2R1bGVzL2Vtb2ppLXJlZ2V4L2luZGV4Lm1qcyIsIi4uL3NyYy91dGlsL25vcm1hbGl6ZS50cyIsIi4uL3NyYy9kYXRhLW1vZGVsL3ZhbHVlLnRzIiwiLi4vc3JjL2FwaS9kYXRhLWFycmF5LnRzIiwiLi4vc3JjL3V0aWwvbG9jYWxlLnRzIiwiLi4vc3JjL3VpL3JlbmRlci50cyIsIi4uL25vZGVfbW9kdWxlcy9wYXBhcGFyc2UvcGFwYXBhcnNlLm1pbi5qcyIsIi4uL3NyYy9leHByZXNzaW9uL2ZpZWxkLnRzIiwiLi4vc3JjL2RhdGEtaW5kZXgvc291cmNlLnRzIiwiLi4vc3JjL2V4cHJlc3Npb24vcGFyc2UudHMiLCIuLi9zcmMvZGF0YS1pbXBvcnQvaW5saW5lLWZpZWxkLnRzIiwiLi4vc3JjL2RhdGEtbW9kZWwvbWFya2Rvd24udHMiLCIuLi9zcmMvZGF0YS1pbXBvcnQvbWFya2Rvd24tZmlsZS50cyIsIi4uL3NyYy9kYXRhLWltcG9ydC9jc3YudHMiLCIuLi9zcmMvZGF0YS1tb2RlbC90cmFuc2ZlcmFibGUudHMiLCIuLi9ub2RlX21vZHVsZXMvbG9jYWxmb3JhZ2UvZGlzdC9sb2NhbGZvcmFnZS5qcyIsIi4uL3NyYy9kYXRhLWltcG9ydC9wZXJzaXN0ZXIudHMiLCIuLi9zcmMvZGF0YS1pbXBvcnQvd2ViLXdvcmtlci9pbXBvcnQtbWFuYWdlci50cyIsIi4uL3NyYy9kYXRhLWluZGV4L2luZGV4LnRzIiwiLi4vc3JjL2RhdGEtaW5kZXgvcmVzb2x2ZXIudHMiLCIuLi9zcmMvdXRpbC9oYXNoLnRzIiwiLi4vc3JjL2V4cHJlc3Npb24vZnVuY3Rpb25zLnRzIiwiLi4vc3JjL2V4cHJlc3Npb24vYmluYXJ5b3AudHMiLCIuLi9zcmMvZXhwcmVzc2lvbi9jb250ZXh0LnRzIiwiLi4vc3JjL3F1ZXJ5L2VuZ2luZS50cyIsIi4uL25vZGVfbW9kdWxlcy9jb21wYXJlLXZlcnNpb25zL2luZGV4Lm1qcyIsIi4uL25vZGVfbW9kdWxlcy9wcmVhY3QvZGlzdC9wcmVhY3QubW9kdWxlLmpzIiwiLi4vbm9kZV9tb2R1bGVzL3ByZWFjdC9ob29rcy9kaXN0L2hvb2tzLm1vZHVsZS5qcyIsIi4uL25vZGVfbW9kdWxlcy9wcmVhY3QvY29tcGF0L2Rpc3QvY29tcGF0Lm1vZHVsZS5qcyIsIi4uL3NyYy91dGlsL21lZGlhLnRzIiwiLi4vc3JjL3VpL21hcmtkb3duLnRzeCIsIi4uL3NyYy91aS92aWV3cy90YXNrLXZpZXcudHN4IiwiLi4vc3JjL3VpL3ZpZXdzL2xpc3Qtdmlldy50c3giLCIuLi9zcmMvdWkvdmlld3MvdGFibGUtdmlldy50c3giLCIuLi9zcmMvcXVlcnkvcXVlcnkudHMiLCIuLi9zcmMvcXVlcnkvcGFyc2UudHMiLCIuLi9ub2RlX21vZHVsZXMvb2JzaWRpYW4tY2FsZW5kYXItdWkvZGlzdC9pbmRleC5tanMiLCIuLi9zcmMvdWkvcmVmcmVzaGFibGUtdmlldy50cyIsIi4uL3NyYy91aS92aWV3cy9jYWxlbmRhci12aWV3LnRzIiwiLi4vc3JjL2FwaS9pbmxpbmUtYXBpLnRzIiwiLi4vc3JjL3VpL3ZpZXdzL2pzLXZpZXcudHMiLCIuLi9zcmMvdWkvZXhwb3J0L21hcmtkb3duLnRzIiwiLi4vc3JjL2FwaS9wbHVnaW4tYXBpLnRzIiwiLi4vc3JjL3VpL3ZpZXdzL2lubGluZS12aWV3LnRzIiwiLi4vc3JjL3VpL3ZpZXdzL2lubGluZS1maWVsZC50c3giLCIuLi9zcmMvdWkvbHAtcmVuZGVyLnRzIiwiLi4vc3JjL3VpL3ZpZXdzL2lubGluZS1maWVsZC1saXZlLXByZXZpZXcudHMiLCIuLi9zcmMvbWFpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6bnVsbCwibmFtZXMiOlsibiIsInMiLCJsIiwic2luZ2xldG9uIiwiRW5nbGlzaC5mb3JtYXRSZWxhdGl2ZVRpbWUiLCJFbmdsaXNoLm1vbnRocyIsIkVuZ2xpc2gud2Vla2RheXMiLCJFbmdsaXNoLm1lcmlkaWVtcyIsIkVuZ2xpc2guZXJhcyIsIkZvcm1hdHMuREFURV9TSE9SVCIsIkZvcm1hdHMuREFURV9NRUQiLCJGb3JtYXRzLkRBVEVfRlVMTCIsIkZvcm1hdHMuREFURV9IVUdFIiwiRm9ybWF0cy5USU1FX1NJTVBMRSIsIkZvcm1hdHMuVElNRV9XSVRIX1NFQ09ORFMiLCJGb3JtYXRzLlRJTUVfV0lUSF9TSE9SVF9PRkZTRVQiLCJGb3JtYXRzLlRJTUVfV0lUSF9MT05HX09GRlNFVCIsIkZvcm1hdHMuVElNRV8yNF9TSU1QTEUiLCJGb3JtYXRzLlRJTUVfMjRfV0lUSF9TRUNPTkRTIiwiRm9ybWF0cy5USU1FXzI0X1dJVEhfU0hPUlRfT0ZGU0VUIiwiRm9ybWF0cy5USU1FXzI0X1dJVEhfTE9OR19PRkZTRVQiLCJGb3JtYXRzLkRBVEVUSU1FX1NIT1JUIiwiRm9ybWF0cy5EQVRFVElNRV9NRUQiLCJGb3JtYXRzLkRBVEVUSU1FX0ZVTEwiLCJGb3JtYXRzLkRBVEVUSU1FX0hVR0UiLCJGb3JtYXRzLkRBVEVUSU1FX1NIT1JUX1dJVEhfU0VDT05EUyIsIkZvcm1hdHMuREFURVRJTUVfTUVEX1dJVEhfU0VDT05EUyIsIkZvcm1hdHMuREFURVRJTUVfRlVMTF9XSVRIX1NFQ09ORFMiLCJGb3JtYXRzLkRBVEVUSU1FX0hVR0VfV0lUSF9TRUNPTkRTIiwiRW5nbGlzaC5tZXJpZGllbUZvckRhdGVUaW1lIiwiRW5nbGlzaC5tb250aEZvckRhdGVUaW1lIiwiRW5nbGlzaC53ZWVrZGF5Rm9yRGF0ZVRpbWUiLCJFbmdsaXNoLmVyYUZvckRhdGVUaW1lIiwiRW5nbGlzaC5tb250aHNTaG9ydCIsIkVuZ2xpc2gud2Vla2RheXNMb25nIiwiRW5nbGlzaC53ZWVrZGF5c1Nob3J0IiwiSU5WQUxJRCIsIm9yZGVyZWRVbml0cyIsImNsb25lIiwiRm9ybWF0cy5EQVRFX01FRF9XSVRIX1dFRUtEQVkiLCJGb3JtYXRzLkRBVEVUSU1FX01FRF9XSVRIX1dFRUtEQVkiLCJ0aGlzIiwiUC5hbHQiLCJQLnJlZ2V4IiwiUC53aGl0ZXNwYWNlIiwiUC5hbnkiLCJNYXJrZG93blJlbmRlcmVyIiwiUC5zZXFNYXAiLCJQLnNlcSIsIlAub3B0V2hpdGVzcGFjZSIsIlAuY3VzdG9tIiwiUC5jcmVhdGVMYW5ndWFnZSIsIlAucmVnZXhwIiwiUC5zdHJpbmciLCJQLm5vbmVPZiIsIlAuc3VjY2VlZCIsIlAuZmFpbCIsIkxpc3RJdGVtIiwiUGFwYS5wYXJzZSIsInJlcXVpcmUiLCJnbG9iYWwiLCJDb21wb25lbnQiLCJEYXRhdmlld0ltcG9ydFdvcmtlciIsIlRGaWxlIiwiVEZvbGRlciIsInUiLCJpIiwibyIsInIiLCJmIiwiZSIsImMiLCJhIiwiaCIsInYiLCJwIiwieSIsImQiLCJfIiwiayIsImIiLCJnIiwibSIsInciLCJ4IiwiTCIsIk0iLCJQIiwiQSIsIk8iLCIkIiwicSIsIkMiLCJIIiwiVCIsIkkiLCJ6IiwiaiIsIkIiLCJOIiwiRCIsIkUiLCJGIiwiRyIsIlYiLCJ0IiwiUyIsImNyZWF0ZUNvbnRleHQiLCJ1c2VSZWYiLCJ1c2VDb250ZXh0IiwidXNlRWZmZWN0IiwiUmVhY3QiLCJGcmFnbWVudCIsInVzZVN0YXRlIiwiTWFya2Rvd25SZW5kZXJDaGlsZCIsInJlbmRlciIsInVubW91bnRDb21wb25lbnRBdE5vZGUiLCJQbGF0Zm9ybSIsIlJlc3VsdENvdW50IiwiUC5lb2YiLCJQLlBhcnNlciIsIlAubWFrZUZhaWx1cmUiLCJQLm1ha2VTdWNjZXNzIiwiUC5zZXBCeSIsIldpZGdldFR5cGUiLCJlZGl0b3JJbmZvRmllbGQiLCJWaWV3UGx1Z2luIiwidmlldyIsIkRlY29yYXRpb24iLCJlZGl0b3JMaXZlUHJldmlld0ZpZWxkIiwic3ludGF4VHJlZSIsInRva2VuQ2xhc3NOb2RlUHJvcCIsIlJhbmdlVmFsdWUiLCJzdGF0ZSIsIlJhbmdlU2V0QnVpbGRlciIsIlN0YXRlRmllbGQiLCJTdGF0ZUVmZmVjdCIsIlBsdWdpbiIsIk1hcmtkb3duVmlldyIsImRlYm91bmNlIiwiUGx1Z2luU2V0dGluZ1RhYiIsIlNldHRpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSxVQUFVLFNBQVMsS0FBSyxDQUFDLEVBQUU7QUFDakM7QUFDQTtBQUNBO0FBQ0E7QUFDTyxNQUFNLG9CQUFvQixTQUFTLFVBQVUsQ0FBQztBQUNyRCxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUU7QUFDdEIsSUFBSSxLQUFLLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDckQsR0FBRztBQUNILENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNPLE1BQU0sb0JBQW9CLFNBQVMsVUFBVSxDQUFDO0FBQ3JELEVBQUUsV0FBVyxDQUFDLE1BQU0sRUFBRTtBQUN0QixJQUFJLEtBQUssQ0FBQyxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxHQUFHO0FBQ0gsQ0FBQztBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ08sTUFBTSxvQkFBb0IsU0FBUyxVQUFVLENBQUM7QUFDckQsRUFBRSxXQUFXLENBQUMsTUFBTSxFQUFFO0FBQ3RCLElBQUksS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3JELEdBQUc7QUFDSCxDQUFDO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDTyxNQUFNLDZCQUE2QixTQUFTLFVBQVUsQ0FBQyxFQUFFO0FBQ2hFO0FBQ0E7QUFD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Q0FBQztBQUN0QixHQUFHO0FBQ0g7O0FDdExBO0FBQ0E7QUFDQSxJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDckIsU0FBUyxXQUFXLENBQUMsU0FBUyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUU7QUFDM0MsRUFBRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDaEQsRUFBRSxJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDN0IsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO0FBQ1osSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMvQyxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7QUFDM0IsR0FBRztBQUNILEVBQUUsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBQ0Q7QUFDQSxJQUFJLFdBQVcsR0FBRyxFQUFFLENBQUM7QUFDckIsU0FBUyxZQUFZLENBQUMsU0FBUyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUU7QUFDNUMsRUFBRSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDaEQsRUFBRSxJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDN0IsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO0FBQ1osSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNuRCxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7QUFDM0IsR0FBRztBQUNILEVBQUUsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDO0FBQ0Q7QUFDQSxJQUFJLFlBQVksR0FBRyxFQUFFLENBQUM7QUFDdEIsU0FBUyxZQUFZ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QUM3RixJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0FBQ2hELElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7QUFDOUMsSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQztBQUMvRixNQUFNLENBQUMsSUFBSSxHQUFHLENBQUM7QUFDZixJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0FBQ2hELElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUM7QUFDcEQsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssQ0FBQztBQUNyRDtBQUNBO0FBQ0EsTUFBTSxDQUFDLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQ3JFLElBQUksSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSSxLQUFLLENBQUM7QUFDOUIsSUFBSSxPQUFPLENBQUMsQ0FBQztBQUNiLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLEVB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QUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQztBQUM3RSxFQUFFLFVBQVUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDdkU7QUFDQSxTQUFTLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFO0FBQ3JDLEVBQUUsT0FBTyxJQUFJLE9BQU87QUFDcEIsSUFBSSxtQkFBbUI7QUFDdkIsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUM7QUFDckYsR0FBRyxDQUFDO0FBQ0osQ0FBQztBQUNEO0FBQ0EsU0FBUyxTQUFTLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUU7QUFDckMsRUFBRSxNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDckQ7QUFDQSxFQUFFLElBQUksSUFBSSxHQUFHLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFO0FBQy9CLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7QUFDaEQsR0FBRztBQUNIO0FBQ0EsRUFBRSxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7QUFDM0I7QUFDQSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzNCLENBQUM7QUFDRDtBQUNBLFNBQVMs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QUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLO0FBQzNELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSztBQUMxQixNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDNUQsTUFBTSxNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0QsTUFBTSxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZDLEtBQUs7QUFDTCxJQUFJLE1BQU0sR0FBRyxDQUFDLElBQUksS0FBSztBQUN2QixNQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtBQUMxQixRQUFRLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtBQUN2QyxVQUFVLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDN0UsU0FBUyxNQUFNLE9BQU8sQ0FBQyxDQUFDO0FBQ3hCLE9BQU8sTUFBTTtBQUNiLFFBQVEsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0MsT0FBTztBQUNQLEtBQUssQ0FBQztBQUNOO0FBQ0EsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7QUFDakIsSUFBSSxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFD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QUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0FBQzVDLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUksT0FBTyxHQUFHO0FBQ2hCLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQzVELEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUksS0FBSyxHQUFHO0FBQ2QsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0FBQzdDLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUksR0FBRyxHQUFHO0FBQ1osSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0FBQzNDLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUksSUFBSSxHQUFHO0FBQ2IsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDO0FBQzVDLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUksTUFBTSxHQUFHO0FBQ2YsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDO0FBQzlDLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLElBQUksTUFBTSxHQUFHO0FBQ2YsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFN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QW1ELE1BQWUsQ0FBQSxPQUFBLENBQUEsQ0FBQyxHQUFvSCxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQ2EsY0FBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTSxXQUFXLEVBQUUsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQywrRkFBK0YsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsMkVBQTJFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQywwREFBMEQsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFNLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxZQUFZLE1BQU0sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLCtEQUErRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGdJQUFnSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLG1FQUFtRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLDBDQUEwQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFD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QyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLHdPQUF3TyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsWUFBWSxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsY0FBYyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxjQUFjLFlBQVksTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxZQUFZLE1BQU0sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLGlCQUFpQixFQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsS0FBSyxHQUFHLE1BQU0sR0FBRyxDQUFDLENBQUMsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssRUFBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtEQUFrRCxDQUFDLENBQUMsQ0FBQyxvTkFBb04sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyw0REFBNEQsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxPQUFPLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRSxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsNkNBQTZDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLFlBQVksTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMs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Q0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QyxFQUFFLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNyQyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN0QyxDQUFDLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUVwQyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNyQyxJQUFJLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN0QyxDQUFDLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUVuQyxJQUFJLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN2QyxLQUFLLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QyxFQUFFLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNyQyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN0QyxDQUFDLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUVwQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxPQUFPLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM1QyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QyxJQUFJLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN6QyxDQUFDLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUV0QyxNQUFNLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMzQyxPQUFPLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM1QyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN4QyxJQUFJLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUN6QyxDQUFDLEVBQUUsUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztDQUN6QyxDQUFDO0FBRUY7QUFDTyxNQUFNLGVBQWUsR0FBRztBQUMzQixJQUFBLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQyxLQUFLLEVBQUU7QUFDM0IsSUFBQSxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQztBQUM1QyxJQUFBLFNBQVMsRUFBRSxNQUNQLFFBQVEsQ0FBQyxLQUFLLEVBQUU7U0FDWCxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ2QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNoRCxJQUFBLFFBQVEsRUFBRSxNQUNOLFFBQVEsQ0FBQyxLQUFLLEVBQUU7U0FDWCxPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ2QsSUFBSSxDQUFD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QUNBO0FBQ0E7U0FFZ0IsTUFBTSxDQUFDLEdBQVcsRUFBRSxPQUFlLENBQUMsRUFBQTtJQUNoRCxJQUFJLEVBQUUsR0FBRyxVQUFVLEdBQUcsSUFBSSxFQUN0QixFQUFFLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQztBQUMzQixJQUFBLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNyQyxRQUFBLEVBQUUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDcEMsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUN2QyxLQUFBO0FBQ0QsSUFBQSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBQzdDLElBQUEsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM5QyxJQUFBLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDN0MsSUFBQSxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDOzs7QUFHOUMsSUFBQSxPQUFPLFVBQVUsSUFBSSxPQUFPLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3BEOztBQ3JCQTtBQTZCQTs7O0FBR0c7TUFDVSxl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RyxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQ2xDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztBQUNsQyxTQUFBLEtBQUssRUFBRSxDQUFDO0FBRUEsSUFBQSxnQkFBQSxDQUFBLFVBQVUsR0FBaUIsSUFBSSxlQUFlLENBQUMsWUFBWSxDQUFDO0FBQ3BFLFNBQUEsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxLQUFLLEdBQUcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDN0IsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNwQixTQUFBLEtBQUssRUFBRSxDQUFDO0FBRUEsSUFBQSxnQkFBQSxDQUFBLFFBQVEsR0FBaUIsSUFBSSxlQUFlLENBQUMsVUFBVSxDQUFDO0FBQ2hFLFNBQUEsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDL0QsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDN0IsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNwQixTQUFBLEtBQUssRUFBRSxDQUFDO0FBRUEsSUFBQSxnQkFBQSxDQUFBLE9BQU8sR0FBaUIsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDO1NBQzlELElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUM5RCxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE9BQU8sS0FBSyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNyRixJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztTQUM3QixJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQztTQUM3QixJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDbEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQ2xDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQztTQUNsQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3BCLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ3ZCLFNBQUEsS0FBSyxFQUFFLENBQUM7QUFFQSxJQUFBLGdCQUFBLENBQUEsUUFBUSxHQUFpQixJQUFJLGVBQWUsQ0FBQyxVQUFVLENBQUM7U0FDaEUsSUFBSSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQzVELElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsT0FBTyxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ25GLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQzdCLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQzdCLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztTQUNsQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDbEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQ2xDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDcEIsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkIsU0FBQSxLQUFLLEVBQUUsQ0FBQztBQUVBLElBQUEsZ0JBQUEsQ0FBQSxTQUFTLEdBQWlCLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQztBQUNsRSxTQUFBLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssS0FBSyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlELElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQ2xGLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQzdCLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQzdCLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztTQUNsQyxJQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDbEMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQ2xDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDcEIsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDdkIsU0FBQSxLQUFLLEVBQUUsQ0FBQztBQUVBLElBQUEsZ0JBQUEsQ0FBQSxRQUFRLEdBQWlCLElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQztBQUNoRSxTQUFBLElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFJO1FBQ3hELElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNyQyxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUM7QUFDekUsU0FBQTtBQUFNLGFBQUE7QUFDSCxZQUFBLE9BQU8sR0FBRyxDQUFDO0FBQ2QsU0FBQTtBQUNMLEtBQUMsQ0FBQztTQUNELElBQUksQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssZ0JBQUEsQ0FBQSxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDakYsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDN0IsSUFBSSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDN0IsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sSUFBSSxDQUFDO1NBQ2xDLElBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLElBQUksQ0FBQztTQUNsQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLENBQUM7U0FDbEMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUNwQixTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUN2QixTQUFBLEtBQUssRUFBRSxDQUFDO0FBRUEsSUFBQSxnQkFBQSxDQUFBLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxTQUFTLENBQUM7QUFDakQsU0FBQSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7U0FDdEQsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNwQixTQUFBLEtBQUssRUFBRSxDQUFDO0FBRUEsSUFBQSxnQkFBQSxDQUFBLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBQyxVQUFVLENBQUM7QUFDbEQsU0FBQSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDdEQsU0FBQSxLQUFLLEVBQUUsQ0FBQztBQUVBLElBQUEsZ0JBQUEsQ0FBQSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsUUFBUSxDQUFDO0FBQzlDLFNBQUEsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENB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QUssQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hELFNBQUEsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3RGLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUQsU0FBQSxLQUFLLEVBQUUsQ0FBQztBQUVBLElBQUEsZ0JBQUEsQ0FBQSxJQUFJLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDO1NBQ3pDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3hELFNBQUEsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdEYsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlELFNBQUEsS0FBSyxFQUFFLENBQUM7QUFFQSxJQUFBLGdCQUFBLENBQUEsTUFBTSxHQUFHLElBQUksZUFB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LENBQUM7YUFDdkUsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2xFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxLQUFLLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNoRSxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDbEUsUUFBUSxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ2pFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxLQUFLLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQzNFOztBQUdNLElBQUEsUUFBUSxDQUFDLEVBQVksRUFBRSxJQUFhLEVBQUUsS0FBYyxFQUFFLEdBQVksRUFBQTtRQUNyRSxJQUFJLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckMsUUFBQSxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsSUFBSSxDQUFBLENBQUEsQ0FBRyxDQUFDLENBQUM7QUFDaEUsYUFBQSxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsS0FBSyxDQUFBLENBQUEsQ0FBRyxDQUFDLENBQUM7QUFFNUUsUUFBQSxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztBQUMxRSxRQUFBLElBQUksT0FBTztBQUFFLFlBQUEsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7O0FBRzlELFFBQUEsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDckUsUUFBQSxJQUFJLFFBQVE7QUFBRSxZQUFBLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDOztBQUdoRSxRQUFBLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0FBQ3RFLFFBQUEsSUFBSSxRQUFRO0FBQUUsWUFBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQzs7QUFHaEUsUUFBQSxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRSxRQUFBLElBQUksUUFBUTtBQUFFLFlBQUEsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFFaEUsUUFBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBZ0MsNkJBQUEsRUFBQSxRQUFRLENBQUksQ0FBQSxFQUFBLEVBQUUsQ0FBSSxDQUFBLEVBQUEsU0FBUyxDQUFHLENBQUEsQ0FBQSxDQUFDLENBQUM7S0FDekY7O0FBR00sSUFBQSxPQUFPLElBQUksQ0FBQyxFQUFZLEVBQUUsSUFBc0IsRUFBRSxLQUF1QixFQUFBO0FBQzVFLFFBQUEsT0FBTyxHQUFHLElBQUksQ0FBQSxDQUFBLEVBQUksRUFBRSxDQUFJLENBQUEsRUFBQSxLQUFLLEVBQUUsQ0FBQztLQUNuQztBQUNKLENBQUE7QUFFRDtBQUNNLFNBQVUsZUFBZSxDQUFDLGNBQXFDLEVBQUE7QUFDakUsSUFBQSxRQUNJLGVBQWUsQ0FBQyxNQUFNLEVBQUU7O1NBRW5CLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQzs7U0FFakUsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDM0UsUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7O0FBRTNFLFNBQUEsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xELFNBQUEsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xELFNBQUEsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xELFNBQUEsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xELFNBQUEsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDOztBQUVsRCxTQUFBLFFBQVEsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakYsU0FBQSxRQUFRLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsS0FBSyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pGLFNBQUEsWUFBWSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7O0FBRTNFLFNBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSTtRQUNwQyxPQUFPLGlCQUFpQixDQUNwQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQ3hGLENBQUM7QUFDTixLQUFDLENBQUM7U0FDRCxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDdkQsWUFBWSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDOztTQUUxRCxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM3RSxRQUFRLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUM5RSxTQUFBLFFBQVEsQ0FBQyxVQUFVLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDeEYsU0FBQSxZQUFZLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDOztTQUU1RixRQUFRLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFNLEVBQWdCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQzs7U0FFaEYsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7O0FBRXBFLFNBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUM7QUFDL0MsU0FBQSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQztBQUMvQyxTQUFBLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDO0FBQy9DLFNBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUM7QUFDL0MsU0FBQSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQztBQUMvQyxTQUFBLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDO0FBQy9DLFNBQUEsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxJQUFJLENBQUM7QUFDL0MsU0FBQSxRQUFRLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLElBQUksQ0FBQztBQUMvQyxTQUFBLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQ3REO0FBQ047O0FDN0lBO0FBc0JBOzs7QUFHRztNQUNVLE9BQU8sQ0FBQTtBQU1MLElBQUEsV0FBQSxDQUFBO0FBQ0EsSUFBQSxRQUFBLENBQUE7QUFDQSxJQUFBLE9BQUEsQ0FBQTtBQUNBLElBQUEsU0FBQSxDQUFBO0FBQ0EsSUFBQSxTQUFBLENBQUE7QUFUWDs7O0FBR0c7QUFDSCxJQUFBLFdBQUEsQ0FDVyxXQUF3QixFQUN4QixRQUF1QixFQUN2QixPQUFBLEdBQW1DLEVBQUUsRUFDckMsU0FBQSxHQUE2QixlQUFlLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxFQUNuRSxZQUEwQyxpQkFBaUIsRUFBQTtRQUozRCxJQUFXLENBQUEsV0FBQSxHQUFYLFdBQVcsQ0FBYTtRQUN4QixJQUFRLENBQUEsUUFBQSxHQUFSLFFBQVEsQ0FBZTtRQUN2QixJQUFPLENBQUEsT0FBQSxHQUFQLE9BQU8sQ0FBOEI7UUFDckMsSUFBUyxDQUFBLFNBQUEsR0FBVCxTQUFTLENBQTBEO1FBQ25FLElBQVMsQ0FBQSxTQUFBLEdBQVQsU0FBUyxDQUFrRDtLQUNsRTs7SUFHRyxHQUFHLENBQUMsSUFBWSxFQUFFLEtBQWMsRUFBQTtBQUNuQyxRQUFBLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQzNCLFFBQUEsT0FBTyxJQUFJLENBQUM7S0FDZjs7QUFHTSxJQUFBLEdBQUcsQ0FBQyxJQUFZLEVBQUE7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztLQUNyQzs7QUFHTSxJQUFBLFdBQVcsQ0FBQyxLQUFZLEVBQUUsSUFBQSxHQUFnQyxFQUFFLEVBQUE7UUFDL0QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUNuRDs7QUFHTSxJQUFBLFFBQVEsQ0FBQyxLQUFZLEVBQUUsSUFBQSxHQUFnQyxFQUFFLEVBQUE7UUFDNUQsUUFBUSxLQUFLLENBQUMsSUFBSTtBQUNkLFlBQUEsS0FBSyxTQUFTO2dCQUNWLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDdkMsWUFBQSxLQUFLLFVBQVU7QUFDWCxnQkFBQSxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksSUFBSTtvQkFBRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQzNELHFCQUFBLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTztBQUFFLG9CQUFBLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDOztBQUNoRixvQkFBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDckMsWUFBQSxLQUFLLFNBQVM7Z0JBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRSxZQUFBLEtBQUssVUFBVTtnQkFDWCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQzNGLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FDaEQsQ0FBQztBQUNOLFlBQUEsS0FBSyxNQUFNO2dCQUNQLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztBQUNoQixnQkFBQSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEVBQUU7b0JBQzVCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUN6QyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7QUFBRSx3QkFBQSxPQUFPLE9BQU8sQ0FBQztBQUN4QyxvQkFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QixpQkFBQTtBQUNELGdCQUFBLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNsQyxZQUFBLEtBQUssUUFBUTtnQkFDVCxJQUFJLFNBQVMsR0FBZSxFQUFFLENBQUM7QUFDL0IsZ0JBQUEsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNuRCxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO0FBQUUsd0JBQUEsT0FBTyxPQUFPLENBQUM7QUFDeEMsb0JBQUEsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7QUFDbEMsaUJBQUE7QUFDRCxnQkFBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDckMsWUFBQSxLQUFLLFFBQVE7OztnQkFHVCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFZLEVBQUUsR0FBRyxJQUFlLEtBQUk7b0JBQ3ZELElBQUksSUFBSSxHQUE0QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDNUQsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFO0FBQzFFLHdCQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzFDLHFCQUFBO0FBRUQsb0JBQUEsT0FBTyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDekQsaUJBQUMsQ0FBQyxDQUFDO0FBQ1AsWUFBQSxLQUFLLFVBQVU7Z0JBQ1gsSUFBSSxPQUFPLEdBQ1AsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksVUFBVTtzQkFDdkIsTUFBTSxDQUFDLE9BQU8sQ0FBaUIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7c0JBQy9DLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO0FBQUUsb0JBQUEsT0FBTyxPQUFPLENBQUM7QUFDeEMsZ0JBQUEsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFFekIsSUFBSSxJQUFJLEdBQWMsRUFBRSxDQUFDO0FBQ3pCLGdCQUFBLEtBQUssSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtvQkFDN0IsSUFBSSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVTtBQUFFLHdCQUFBLE9BQU8sUUFBUSxDQUFDO0FBQzFDLG9CQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzdCLGlCQUFBO0FBRUQsZ0JBQUEsSUFBSSxJQUFrQixDQUFDO0FBQ3ZCLGdCQUFBLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQUUsSUFBSSxHQUFHLElBQW9CLENBQUM7cUJBQ3BELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFNBQVM7QUFBRSxvQkFBQSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNqRixxQkFBQSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO29CQUFFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQywrQkFBK0IsSUFBSSxDQUFBLENBQUEsQ0FBRyxDQUFDLENBQUM7O0FBQ3pGLG9CQUFBLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFxQixrQkFBQSxFQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUEsZUFBQSxDQUFpQixDQUFDLENBQUM7Z0JBRXRGLElBQUk7QUFDQSxvQkFBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDOUMsaUJBQUE7QUFBQyxnQkFBQSxPQUFPLENBQUMsRUFBRTtvQkFDUixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3BDLGlCQUFBO0FBQ0wsWUFBQSxLQUFLLE9BQU87O0FBRVIsZ0JBQUEsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3BELGdCQUFBLElBQUksWUFBWSxHQUEyQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFDN0UsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ3hELHNCQUFFLE1BQU0sQ0FBQyxPQUFPLENBQWlDLENBQUMsQ0FBQztzQkFDakQsTUFBTSxDQUFDLE9BQU8sQ0FBQyx3Q0FBd0MsQ0FBQyxDQUNqRSxDQUFDO2dCQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTtBQUFFLG9CQUFBLE9BQU8sWUFBWSxDQUFDO0FBRWxELGdCQUFBLElBQUksS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7QUFDL0IsZ0JBQUEsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztBQUFFLG9CQUFBLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUV0RCxnQkFBQSxJQUFJLGFBQWEsR0FDYixLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxVQUFVLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksS0FBSztBQUN6RCxzQkFBRSxNQUFNLENBQUMsT0FBTyxDQUFrQixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO3NCQUN0RSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzVDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVTtBQUFFLG9CQUFBLE9BQU8sYUFBYSxDQUFDO2dCQUVwRCxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNuRCxnQkFBQSxJQUFJLENBQUMsTUFBTTtvQkFBRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMscUNBQXFDLEdBQUcsTUFBTSxDQUFDLENBQUM7Z0JBRW5GLFFBQVEsTUFBTSxDQUFDLElBQUk7QUFDZixvQkFBQSxLQUFLLFFBQVE7QUFDVCx3QkFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDdkIsNEJBQUEsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7QUFDdEYsd0JBQUEsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7QUFDdkQsb0JBQUEsS0FBSyxNQUFNO0FBQ1Asd0JBQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0FBQ3ZCLDRCQUFBLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO0FBQ3BGLHdCQUFBLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDNUQsd0JBQUEsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztBQUFFLDRCQUFBLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDMUQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztBQUNwRCxvQkFBQSxLQUFLLE9BQU87QUFDUix3QkFBQSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUU7NEJBQ3hCLElBQUksS0FBSyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssR0FBRyxDQUFDO0FBQUUsZ0NBQUEsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDOztnQ0FDdEUsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNuRCx5QkFBQTtBQUFNLDZCQUFBLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTs0QkFDL0IsSUFBSSxNQUFNLEdBQWMsRUFBRSxDQUFDO0FBQzNCLDRCQUFBLEtBQUssSUFBSSxLQUFLLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtnQ0FDNUIsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0NBQ3JGLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtvQ0FBRSxTQUFTO0FBQy9CLGdDQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzNCLDZCQUFBO0FBQ0QsNEJBQUEsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2pDLHlCQUFBO0FBQU0sNkJBQUE7QUFDSCw0QkFBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQ2pCLHlIQUF5SCxDQUM1SCxDQUFDO0FBQ0wseUJBQUE7QUFDTCxvQkFBQSxLQUFLLFFBQVE7QUFDVCx3QkFBQSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDdkIsNEJBQUEsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLDBEQUEwRCxDQUFDLENBQUM7d0JBQ3RGLElBQUksS0FBSyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssR0FBRyxDQUFDO0FBQUUsNEJBQUEsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUMzRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQy9DLG9CQUFBLEtBQUssTUFBTTtBQUNQLHdCQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztBQUN2Qiw0QkFBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsdURBQXVELENBQUMsQ0FBQztBQUNuRix3QkFBQSxRQUFRLEtBQUs7QUFDVCw0QkFBQSxLQUFLLE1BQU07Z0NBQ1AsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDN0MsNEJBQUEsS0FBSyxPQUFPO2dDQUNSLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlDLDRCQUFBLEtBQUssVUFBVTtnQ0FDWCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUNuRCw0QkFBQSxLQUFLLE1BQU07QUFDUCxnQ0FBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUNoRSw0QkFBQSxLQUFLLFNBQVM7Z0NBQ1YsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDaEQsNEJBQUEsS0FBSyxLQUFLO2dDQUNOLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzVDLDRCQUFBLEtBQUssTUFBTTtnQ0FDUCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM3Qyw0QkFBQSxLQUFLLFFBQVE7Z0NBQ1QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDL0MsNEJBQUEsS0FBSyxRQUFRO2dDQUNULE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9DLDRCQUFBLEtBQUssYUFBYTtnQ0FDZCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNwRCw0QkFBQTtBQUNJLGdDQUFBLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuQyx5QkFBQTtBQUNMLG9CQUFBLEtBQUssVUFBVTtBQUNYLHdCQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztBQUN2Qiw0QkFBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsMkRBQTJELENBQUMsQ0FBQztBQUN2Rix3QkFBQSxRQUFRLEtBQUs7QUFDVCw0QkFBQSxLQUFLLE1BQU0sQ0FBQztBQUNaLDRCQUFBLEtBQUssT0FBTztBQUNSLGdDQUFBLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMvRCw0QkFBQSxLQUFLLE9BQU8sQ0FBQztBQUNiLDRCQUFBLEtBQUssUUFBUTtBQUNULGdDQUFBLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqRSw0QkFBQSxLQUFLLE9BQU87QUFDUixnQ0FBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDL0QsNEJBQUEsS0FBSyxLQUFLLENBQUM7QUFDWCw0QkFBQSxLQUFLLE1BQU07QUFDUCxnQ0FBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDN0QsNEJBQUEsS0FBSyxNQUFNLENBQUM7QUFDWiw0QkFBQSxLQUFLLE9BQU87QUFDUixnQ0FBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDL0QsNEJBQUEsS0FBSyxRQUFRLENBQUM7QUFDZCw0QkFBQSxLQUFLLFNBQVM7QUFDVixnQ0FBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbkUsNEJBQUEsS0FBSyxRQUFRLENBQUM7QUFDZCw0QkFBQSxLQUFLLFNBQVM7QUFDVixnQ0FBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDbkUsNEJBQUEsS0FBSyxhQUFhLENBQUM7QUFDbkIsNEJBQUEsS0FBSyxjQUFjO0FBQ2YsZ0NBQUEsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQzdFLDRCQUFBO0FBQ0ksZ0NBQUEsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ25DLHlCQUFBO0FBQ0wsb0JBQUE7QUFDSSx3QkFBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbkMsaUJBQUE7QUFDUixTQUFBO0tBQ0o7QUFDSjs7QUNsT0QsU0FBUyxJQUFJLENBQUksQ0FBSSxFQUFBO0FBQ2pCLElBQUEsT0FBTyxDQUFDLENBQUM7QUFDYixDQUFDO0FBMkJEO1NBQ2dCLFdBQVcsQ0FBQyxJQUFlLEVBQUUsT0FBZ0IsRUFBRSxHQUFxQixFQUFBO0lBQ2hGLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztBQUNyQixJQUFBLElBQUksWUFBWSxHQUFzQixFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztBQUN2RCxJQUFBLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUUzQixJQUFBLEtBQUssSUFBSSxFQUFFLElBQUksR0FBRyxFQUFFO0FBQ2hCLFFBQUEsSUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQzdCLFFBQUEsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMvQixJQUFJLE1BQU0sR0FBeUMsRUFBRSxDQUFDO1FBRXRELFFBQVEsRUFBRSxDQUFDLElBQUk7QUFDWCxZQUFBLEtBQUssT0FBTztnQkFDUixJQUFJLFdBQVcsR0FBYyxFQUFFLENBQUM7QUFDaEMsZ0JBQUEsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7QUFDOUMsb0JBQUEsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3RCLG9CQUFBLElBQUksS0FBSyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2xELElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtBQUFFLHdCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQy9ELHlCQUFBLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDO0FBQUUsd0JBQUEsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNoRSxpQkFBQTtnQkFFRCxJQUFJLEdBQUcsV0FBVyxDQUFDO2dCQUNuQixNQUFNO0FBQ1YsWUFBQSxLQUFLLE1BQU07QUFDUCxnQkFBQSxJQUFJLFVBQVUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDO2dCQUMzQixJQUFJLFVBQVUsR0FBMkMsRUFBRSxDQUFDO0FBQzVELGdCQUFBLEtBQUssRUFBRSxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtBQUNyRCxvQkFBQSxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ3RCLElBQUksUUFBUSxHQUFjLEVBQUUsQ0FBQztBQUM3QixvQkFBQSxLQUFLLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRTtBQUN2RCx3QkFBQSxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pFLHdCQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFO0FBQ25CLDRCQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQzdDLDRCQUFBLFNBQVMsS0FBSyxDQUFDO0FBQ2xCLHlCQUFBO0FBRUQsd0JBQUEsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUIscUJBQUE7QUFFRCxvQkFBQSxVQUFVLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztBQUNwRCxpQkFBQTs7Z0JBR0QsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUk7QUFDckIsb0JBQUEsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7QUFDcEQsd0JBQUEsSUFBSSxNQUFNLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsS0FBSyxXQUFXLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ2xFLHdCQUFBLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxTQUFTO0FBQ3JCLDZCQUFBLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQzs2QkFDeEQsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ25CLHdCQUFBLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7QUFBRSw0QkFBQSxPQUFPLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUU1Qyx3QkFBQSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUMsU0FBUztBQUNyQiw2QkFBQSxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUM7NkJBQ3hELE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNuQix3QkFBQSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDOzRCQUFFLE9BQU8sTUFBTSxHQUFHLENBQUMsQ0FBQztBQUM5QyxxQkFBQTtBQUVELG9CQUFBLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsaUJBQUMsQ0FBQyxDQUFDO0FBRUgsZ0JBQUEsSUFBSSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbkMsTUFBTTtBQUNWLFlBQUEsS0FBSyxPQUFPO2dCQUNSLElBQUksUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVU7b0JBQ3BCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyx1Q0FBdUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3BGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDaEMsb0JBQUEsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUNqQixDQUEyRSx3RUFBQSxFQUFBLE1BQU0sQ0FBQyxNQUFNLENBQ3BGLFFBQVEsQ0FBQyxLQUFLLENBQ2pCLENBQU0sR0FBQSxFQUFBLFFBQVEsQ0FBQyxLQUFLLENBQUEsQ0FBQSxDQUFHLENBQzNCLENBQUM7Z0JBRU4sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDckMsTUFBTTtBQUNWLFlBQUEsS0FBSyxPQUFPO2dCQUNSLElBQUksU0FBUyxHQUFzQyxFQUFFLENBQUM7QUFDdEQsZ0JBQUEsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUU7QUFDOUMsb0JBQUEsSUFBSSxLQUFLLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDL0Qsb0JBQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7QUFDbkIsd0JBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7d0JBQzdDLFNBQVM7QUFDWixxQkFBQTtBQUVELG9CQUFBLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztBQUMzRCxpQkFBQTs7Z0JBR0QsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUk7b0JBQ3BCLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQzlFLG9CQUFBLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7d0JBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztvQkFFbkMsSUFBSSxFQUFFLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDOUUsb0JBQUEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztBQUFFLHdCQUFBLE9BQU8sQ0FBQyxDQUFDO0FBRWxDLG9CQUFBLE9BQU8sQ0FBQyxDQUFDO0FBQ2IsaUJBQUMsQ0FBQyxDQUFDOztnQkFHSCxJQUFJLGNBQWMsR0FBd0UsRUFBRSxDQUFDO0FBQzdGLGdCQUFBLElBQUksU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDO29CQUNwQixjQUFjLENBQUMsSUFBSSxDQUFDO0FBQ2hCLHdCQUFBLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRzt3QkFDckIsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDOUIsd0JBQUEsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRztBQUNwQyxxQkFBQSxDQUFDLENBQUM7QUFFUCxnQkFBQSxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsRUFBRTtBQUNuRCxvQkFBQSxJQUFJLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQ3ZCLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO29CQUNoQyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO0FBQzVFLHdCQUFBLGNBQWMsQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2RSxxQkFBQTtBQUFNLHlCQUFBO3dCQUNILGNBQWMsQ0FBQyxJQUFJLENBQUM7NEJBQ2hCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztBQUNiLDRCQUFBLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDOzRCQUN0QixDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHO0FBQzVCLHlCQUFBLENBQUMsQ0FBQztBQUNOLHFCQUFBO0FBQ0osaUJBQUE7QUFFRCxnQkFBQSxJQUFJLEdBQUcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUc7b0JBQzFCLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFDbEMsaUJBQUMsQ0FBQyxDQUFDO0FBQ0gsZ0JBQUEsWUFBWSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxDQUFDO2dCQUN4RSxNQUFNO0FBQ1YsWUFBQSxLQUFLLFNBQVM7Z0JBQ1YsSUFBSSxhQUFhLEdBQWMsRUFBRSxDQUFDO0FBQ2xDLGdCQUFBLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO0FBQzlDLG9CQUFBLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0QixvQkFBQSxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN2RCxvQkFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRTtBQUNuQix3QkFBQSxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQzt3QkFDN0MsU0FBUztBQUNaLHFCQUFBO29CQUVELElBQUksVUFBVSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0Usb0JBQUEsS0FBSyxJQUFJLENBQUMsSUFBSSxVQUFVLEVBQUU7d0JBQ3RCLElBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7d0JBQ2hDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDN0Isd0JBQUEsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUM1QixxQkFBQTtBQUNKLGlCQUFBO2dCQUVELElBQUksR0FBRyxhQUFhLENBQUM7QUFDckIsZ0JBQUEsSUFBSSxZQUFZLENBQUMsSUFBSSxJQUFJLE9BQU8sSUFBSSxZQUFZLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSTtBQUFFLG9CQUFBLFlBQVksR0FBRyxZQUFZLENBQUMsRUFBRSxDQUFDO2dCQUN2RyxNQUFNO0FBQ1YsWUFBQTtBQUNJLGdCQUFBLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxnQ0FBZ0MsR0FBRyxFQUFFLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDO0FBQy9FLFNBQUE7UUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksWUFBWSxJQUFJLFlBQVksR0FBRyxDQUFDLEVBQUU7QUFDbkQsWUFBQSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBK0IsNEJBQUEsRUFBQSxFQUFFLENBQUMsSUFBSSxDQUFBLDhCQUFBLEVBQWlDLElBQUksQ0FBQyxHQUFHLENBQ2pHLENBQUMsRUFDRCxNQUFNLENBQUMsTUFBTSxDQUNoQixDQUFBO2tCQUNLLE1BQU07QUFDSCxpQkFBQSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDWCxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQzFCLGlCQUFBLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFFLENBQUMsQ0FBQztBQUMxQixTQUFBO1FBRUQsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNiLFlBQVk7WUFDWixNQUFNO1lBQ04sWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNO0FBQ3pCLFlBQUEsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxXQUFXO0FBQ25DLFNBQUEsQ0FBQyxDQUFDO0FBQ04sS0FBQTtJQUVELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUNsQixRQUFBLElBQUksRUFBRSxJQUFJO0FBQ1YsUUFBQSxTQUFTLEVBQUUsWUFBWTtRQUN2QixHQUFHO1FBQ0gsV0FBVztBQUNYLFFBQUEsTUFBTSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxTQUFTO0FBQ2pDLEtBQUEsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVEO0FBQ00sU0FBVSxrQkFBa0IsQ0FDOUIsSUFBZSxFQUNmLE9BQWdCLEVBQ2hCLEdBQXFCLEVBQ3JCLE1BQTZCLEVBQUE7SUFFN0IsSUFBSSxRQUFRLEdBQUcsV0FBVyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVO0FBQUUsUUFBQSxPQUFPLFFBQVEsQ0FBQztBQUUxQyxJQUFBLElBQUksSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUM7QUFDMUIsSUFBQSxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDM0IsSUFBSSxNQUFNLEdBQXFCLEVBQUUsQ0FBQztJQUNsQyxJQUFJLEdBQUcsR0FBYyxFQUFFLENBQUM7QUFFeEIsSUFBQSxLQUFLLEVBQUUsS0FBSyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFO0FBQzFELFFBQUEsSUFBSSxJQUFJLEdBQVksRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQzFELFFBQUEsS0FBSyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDOUMsWUFBQSxJQUFJLEtBQUssR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzNELFlBQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUU7QUFDbkIsZ0JBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0FBQ3BELGdCQUFBLFNBQVMsS0FBSyxDQUFDO0FBQ2xCLGFBQUE7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7QUFDakMsU0FBQTtBQUNELFFBQUEsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNsQixLQUFBO0FBRUQsSUFBQSxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0FBQzNELFFBQUEsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLHNFQUFzRSxJQUFJLENBQUMsR0FBRyxDQUNoRyxNQUFNLENBQUMsTUFBTSxFQUNiLENBQUMsQ0FDSixDQUFBO2NBQ0ssTUFBTTtBQUNILGFBQUEsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDWCxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO0FBQzFCLGFBQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBLENBQUUsQ0FBQyxDQUFDO0FBQzFCLEtBQUE7SUFFRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsU0FBUyxDQUFDO0lBQ3RDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUNsQixRQUFBLElBQUksRUFBRSxHQUFHO1FBQ1QsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO0FBQ3pCLFFBQUEsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO0FBQ2pDLFlBQUE7QUFDSSxnQkFBQSxNQUFNLEVBQUUsUUFBUTtBQUNoQixnQkFBQSxZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO2dCQUM5QixZQUFZLEVBQUUsR0FBRyxDQUFDLE1BQU07Z0JBQ3hCLE1BQU07QUFDVCxhQUFBO1NBQ0osQ0FBQztBQUNGLFFBQUEsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7QUFDbkQsUUFBQSxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRO0FBQ2pDLEtBQUEsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQVFEO0FBQ08sZUFBZSxXQUFXLENBQzdCLEtBQVksRUFDWixLQUFnQixFQUNoQixNQUFjLEVBQ2QsUUFBdUIsRUFBQTs7QUFHdkIsSUFBQSxJQUFJLE9BQU8sR0FBRyxNQUFNLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVU7UUFBRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDOztBQUc5RCxJQUFBLElBQUksV0FBVyxHQUFHLElBQUksT0FBTyxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUU7QUFDdkUsUUFBQSxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7QUFDeEQsS0FBQSxDQUFDLENBQUM7QUFFSCxJQUFBLElBQUksV0FBVyxHQUFJLEtBQUssQ0FBQyxNQUFvQixDQUFDLE1BQU0sQ0FBQztBQUNyRCxJQUFBLElBQUksTUFBTSxHQUFJLEtBQUssQ0FBQyxNQUFvQixDQUFDLE1BQU0sQ0FBQztBQUNoRCxJQUFBLElBQUksTUFBTSxHQUEwQixXQUFXLEdBQUcsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBRS9FLElBQUEsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUc7QUFDdkYsUUFBQSxJQUFJLElBQWUsQ0FBQztRQUNwQixJQUFJLE1BQU0sSUFBSSxXQUFXLEVBQUU7QUFDdkIsWUFBQSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7QUFDL0UsU0FBQTtBQUFNLGFBQUEsSUFBSSxXQUFXLEVBQUU7WUFDcEIsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO0FBQ3ZELFNBQUE7QUFBTSxhQUFBO0FBQ0gsWUFBQSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNuQyxTQUFBO1FBRUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUMxRCxLQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFVRDtBQUNPLGVBQWUsWUFBWSxDQUM5QixLQUFZLEVBQ1osS0FBZ0IsRUFDaEIsTUFBYyxFQUNkLFFBQXVCLEVBQUE7O0FBR3ZCLElBQUEsSUFBSSxPQUFPLEdBQUcsTUFBTSxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1FBQUUsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzs7QUFHOUQsSUFBQSxJQUFJLFdBQVcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFO0FBQ3ZFLFFBQUEsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO0FBQ3hELEtBQUEsQ0FBQyxDQUFDO0FBRUgsSUFBQSxJQUFJLFlBQVksR0FBSSxLQUFLLENBQUMsTUFBcUIsQ0FBQyxNQUFNLENBQUM7QUFDdkQsSUFBQSxJQUFJLE1BQU0sR0FBSSxLQUFLLENBQUMsTUFBcUIsQ0FBQyxNQUFNLENBQUM7SUFDakQsSUFBSSxNQUFNLEdBQTBCLEVBQUUsQ0FBQztJQUN2QyxLQUFLLElBQUksS0FBSyxJQUFJLFlBQVk7UUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUM7QUFFakUsSUFBQSxPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksSUFBRztBQUN2RixRQUFBLElBQUksTUFBTSxFQUFFO1lBQ1IsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQztZQUNsRyxJQUFJLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUUzRCxZQUFBLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQWUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDbkcsWUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztBQUMzRCxTQUFBO0FBQU0sYUFBQTtBQUNILFlBQUEsSUFBSSxLQUFLLEdBQUcsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBRTFDLFlBQUEsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRSxZQUFBLE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0FBQzNELFNBQUE7QUFDTCxLQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFRRDtBQUNBLFNBQVMsb0JBQW9CLENBQUMsRUFBcUIsRUFBRSxJQUFrQixFQUFBO0lBQ25FLFFBQVEsRUFBRSxDQUFDLElBQUk7QUFDWCxRQUFBLEtBQUssTUFBTTtBQUNQLFlBQUEsT0FBTyxJQUFtQixDQUFDO0FBQy9CLFFBQUEsS0FBSyxPQUFPO0FBQ1IsWUFBQSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2xCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQ2IsSUFBSSxDQUFDO0FBQ0QsZ0JBQUEsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ1gsSUFBSSxFQUFFLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQW9CLENBQUM7QUFDNUQsYUFBQSxDQUFDLENBQ0wsQ0FBQztBQUNULEtBQUE7QUFDTCxDQUFDO0FBRUQ7QUFDTyxlQUFlLFdBQVcsQ0FDN0IsS0FBWSxFQUNaLE1BQWMsRUFDZCxLQUFnQixFQUNoQixRQUF1QixFQUFBO0FBRXZCLElBQUEsSUFBSSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDL0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVO1FBQUUsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQzs7SUFHOUQsSUFBSSxhQUFhLEdBQWMsRUFBRSxDQUFDO0FBQ2xDLElBQUEsS0FBSyxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1FBQzVCLElBQUksSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2pDLFFBQUEsSUFBSSxDQUFDLElBQUk7WUFBRSxTQUFTO1FBRXBCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDckMsUUFBQSxJQUFJLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFHO1lBQ3hDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7O0FBR2pDLFlBQUEsS0FBSyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQy9DLElBQUksR0FBRyxJQUFJLEtBQUs7b0JBQUUsU0FBUztBQUMzQixnQkFBQSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ3RCLGFBQUE7QUFFRCxZQUFBLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBRyxFQUFBLFFBQVEsQ0FBQyxJQUFJLENBQUEsQ0FBQSxFQUFJLENBQUMsQ0FBQyxJQUFJLENBQUUsQ0FBQSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsQ0FBQztBQUM3RCxTQUFDLENBQUMsQ0FBQztRQUVILEtBQUssSUFBSSxJQUFJLElBQUksU0FBUztBQUFFLFlBQUEsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUN4RCxLQUFBOztBQUdELElBQUEsSUFBSSxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRTtBQUN2RSxRQUFBLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtBQUN4RCxLQUFBLENBQUMsQ0FBQztBQUVILElBQUEsT0FBTyxXQUFXLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksSUFBRztRQUN4RSxPQUFPO1lBQ0gsSUFBSTtZQUNKLEtBQUssRUFBRSxvQkFBb0IsQ0FDdkIsSUFBSSxDQUFDLFNBQVMsRUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUM3QjtTQUNKLENBQUM7QUFDTixLQUFDLENBQUMsQ0FBQztBQUNQLENBQUM7QUFFRDtBQUNNLFNBQVUsYUFBYSxDQUN6QixLQUFZLEVBQ1osTUFBYyxFQUNkLEtBQWdCLEVBQ2hCLFFBQXVCLEVBQUE7SUFFdkIsT0FBTyxJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFO0FBQzVELFFBQUEsSUFBSSxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFO0FBQ3hELEtBQUEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN2QixDQUFDO0FBRUQ7QUFDZ0IsU0FBQSxrQkFBa0IsQ0FBQyxLQUFnQixFQUFFLE1BQWMsRUFBQTtJQUMvRCxPQUFPO1FBQ0gsT0FBTyxFQUFFLElBQUksSUFBRztBQUNaLFlBQUEsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDdEUsWUFBQSxJQUFJLENBQUMsUUFBUTtBQUFFLGdCQUFBLE9BQU8sSUFBSSxDQUFDO0FBRTNCLFlBQUEsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQzlDLFlBQUEsSUFBSSxDQUFDLFFBQVE7QUFBRSxnQkFBQSxPQUFPLElBQUksQ0FBQztBQUUzQixZQUFBLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNwQztRQUNELFNBQVMsRUFBRSxJQUFJLElBQUc7QUFDZCxZQUFBLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ3RFLFlBQUEsT0FBTyxRQUFRLEVBQUUsSUFBSSxJQUFJLElBQUksQ0FBQztTQUNqQztRQUNELE1BQU0sRUFBRSxJQUFJLElBQUc7QUFDWCxZQUFBLElBQUksUUFBUSxHQUFHLEtBQUssQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQztTQUNyQjtLQUNKLENBQUM7QUFDTixDQUFDO0FBRUQ7QUFDTyxlQUFlLGVBQWUsQ0FDakMsS0FBWSxFQUNaLEtBQWdCLEVBQ2hCLE1BQWMsRUFDZCxRQUF1QixFQUFBOztBQUd2QixJQUFBLElBQUksT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQy9ELElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVTtRQUFFLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7O0FBRzlELElBQUEsSUFBSSxXQUFXLEdBQUcsSUFBSSxPQUFPLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRTtBQUN2RSxRQUFBLElBQUksRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRTtBQUN4RCxLQUFBLENBQUMsQ0FBQztJQUVILElBQUksV0FBVyxHQUFJLEtBQUssQ0FBQyxNQUF3QixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUM7QUFDOUQsSUFBQSxJQUFJLE1BQU0sR0FBMEI7QUFDaEMsUUFBQSxNQUFNLEVBQUUsV0FBVztBQUNuQixRQUFBLElBQUksRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztLQUMxQyxDQUFDO0FBRUYsSUFBQSxPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksSUFBRztBQUN2RixRQUFBLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFDdEIsSUFBSSxDQUFDO0FBQ0QsWUFBQSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQWE7QUFDbEMsWUFBQSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQVM7QUFDL0IsU0FBQSxDQUFDLENBQ0wsQ0FBQztBQUVGLFFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQztBQUMxQixLQUFDLENBQUMsQ0FBQztBQUNQOztBQ3JmZSxTQUFTLGVBQWUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFO0FBQ2hEO0FBQ0EsRUFBRSxNQUFNLEVBQUUsR0FBRyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNsQyxFQUFFLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ2xDO0FBQ0E7QUFDQSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUN0QixFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUN0QjtBQUNBO0FBQ0EsRUFBRSxNQUFNLENBQUMsR0FBRyxlQUFlLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ3BDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3hCO0FBQ0E7QUFDQSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRTtBQUNoQixJQUFJLE9BQU8sZUFBZSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBQ3pELEdBQUcsTUFBTSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUU7QUFDdkIsSUFBSSxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDdkIsR0FBRztBQUNIO0FBQ0EsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUM7QUFDRDtBQUNPLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQztBQUMxQixFQUFFLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDOUQ7QUFDTyxNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxLQUFLO0FBQzdDO0FBQ0EsRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUNoQztBQUNBO0FBQ0E7QUFDQSxFQUFFLE1BQU0sR0FBRyxHQUFHLGVBQWUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDdEM7QUFDQSxFQUFFLE9BQU8sY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNoRCxDQUFDLENBQUM7QUFDRjtBQUNPLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSztBQUNuQztBQUNBLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUNuQyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQzVCO0FBQ0E7QUFDQSxFQUFFLElBQUksRUFBRSxLQUFLLEdBQUcsSUFBSSxFQUFFLEtBQUssR0FBRyxFQUFFLE9BQU8sT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDekQ7QUFDQTtBQUNBLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDM0MsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMzQyxFQUFFLElBQUksY0FBYyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxLQUFLLENBQUM7QUFDakQsRUFBRSxJQUFJLEVBQUUsS0FBSyxHQUFHLEVBQUU7QUFDbEIsSUFBSSxPQUFPLGVBQWUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNwRCxHQUFHO0FBQ0gsRUFBRSxJQUFJLGNBQWMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sS0FBSyxDQUFDO0FBQ2pELEVBQUUsT0FBTyxjQUFjLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyQyxDQUFDLENBQUM7QUFDRjtBQUNBO0FBQ0EsZUFBZSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7QUFDcEMsZUFBZSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7QUFDbEMsZUFBZSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7QUFDdEM7QUFDQSxNQUFNLE1BQU07QUFDWixFQUFFLDRJQUE0SSxDQUFDO0FBQy9JO0FBQ0EsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsS0FBSztBQUNoQyxFQUFFLElBQUksT0FBTyxDQUFDLEtBQUssUUFBUSxFQUFFO0FBQzdCLElBQUksTUFBTSxJQUFJLFNBQVMsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO0FBQzVELEdBQUc7QUFDSCxFQUFFLE1BQU0sS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDaEMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO0FBQ2QsSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsb0NBQW9DLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7QUFDM0UsR0FBRztBQUNILEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQ2hCLEVBQUUsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDLENBQUM7QUFDRjtBQUNBLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDO0FBQzlEO0FBQ0EsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEtBQUs7QUFDeEIsRUFBRSxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzVCLEVBQUUsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUMxQixDQUFDLENBQUM7QUFDRjtBQUNBLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7QUFDdkIsRUFBRSxPQUFPLENBQUMsS0FBSyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxRDtBQUNBLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSztBQUNqQyxFQUFFLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMvQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN2RCxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4QixFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3pCLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDWCxDQUFDLENBQUM7QUFDRjtBQUNBLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSztBQUNsQyxFQUFFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3pELElBQUksTUFBTSxDQUFDLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0FBQ25ELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzFCLEdBQUc7QUFDSCxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBQ0Y7QUFDQSxNQUFNLGNBQWMsR0FBRztBQUN2QixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNWLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNkLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ1YsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDZixFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ1gsQ0FBQyxDQUFDO0FBQ0Y7QUFDQSxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7QUFDckQ7QUFDQSxNQUFNLG1CQUFtQixHQUFHLENBQUMsRUFBRSxLQUFLO0FBQ3BDLEVBQUUsSUFBSSxPQUFPLEVBQUUsS0FBSyxRQUFRLEVBQUU7QUFDOUIsSUFBSSxNQUFNLElBQUksU0FBUztBQUN2QixNQUFNLENBQUMsK0NBQStDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztBQUNuRSxLQUFLLENBQUM7QUFDTixHQUFHO0FBQ0gsRUFBRSxJQUFJLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtBQUMzQyxJQUFJLE1BQU0sSUFBSSxLQUFLO0FBQ25CLE1BQU0sQ0FBQyxrQ0FBa0MsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUN2RSxLQUFLLENBQUM7QUFDTixHQUFHO0FBQ0gsQ0FBQzs7QUMzSEUsSUFBQyxDQUFDLENBQUMzRCxHQUFDLENBQUMrRCxHQUFDLENBQUdDLEdBQUMsQ0FBQ0MsR0FBQyxDQUFDQyxHQUFDLENBQUNDLEdBQUMsQ0FBQ0MsR0FBQyxDQUFDQyxHQUFDLENBQUMsRUFBRSxDQUFDdEUsR0FBQyxDQUFDLEVBQUUsQ0FBQ3VFLEdBQUMsQ0FBQyxtRUFBbUUsQ0FBQ0MsR0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLFNBQVNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBT0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUVaLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFL0QsR0FBQyxDQUFDLEtBQUssRUFBRUEsR0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzRFLEdBQUMsRUFBRSxDQUFDLE9BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLFNBQVNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQ0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFNLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFakIsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDa0IsR0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFakIsR0FBQyxHQUFHakUsR0FBQyxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQ2lFLEdBQUMsQ0FBQ2pFLEdBQUMsQ0FBQyxpQkFBaUIsR0FBR2tFLEdBQUMsRUFBRWdCLEdBQUMsRUFBQyxDQUFDLFNBQVNBLEdBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSWxCLEdBQUMsQ0FBQyxJQUFJLENBQUNHLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0gsR0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDQSxHQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQ1EsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNXLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUNKLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQ0ssR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUVKLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDaEIsR0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUVBLEdBQUMsQ0FBQyxJQUFJLENBQUNHLEdBQUMsQ0FBQyxDQUFDLENBQUNlLEdBQUMsQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFDLFNBQVNHLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRXRGLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDNEUsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQ0osR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDSSxHQUFDLENBQUNFLEdBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDRixHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNXLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDakIsR0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQ2MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRUksR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdsQixHQUFDLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDbUIsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDVCxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ1UsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBU0QsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVNFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsR0FBR25CLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUNtQixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTSixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRSxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxTQUFTSyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRUMsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFFdkIsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxTQUFTc0IsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUVDLEdBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVBLEdBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDQyxHQUFDLENBQUNDLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0QsR0FBQyxDQUFDQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLHlCQUF5QixHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssR0FBRyxPQUFPLEdBQUcsQ0FBQyxFQUFFLFFBQVEsR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLFNBQVMsR0FBRyxDQUFDLEVBQUUsU0FBUyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBU0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMvRixHQUFDLENBQUMsS0FBSyxDQUFDQSxHQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM4RixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzlGLEdBQUMsQ0FBQyxLQUFLLENBQUNBLEdBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBU21GLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNuRixHQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsV0FBVyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSThFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQ2tCLEdBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsd0JBQXdCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUN4QixHQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUksQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLHlCQUF5QixFQUFFLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDeEUsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQ3dFLEdBQUMsQ0FBQ0EsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLHVCQUF1QixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNhLEdBQUMsQ0FBQyxDQUFDLENBQUNkLEdBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHTSxHQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzdFLEdBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQ2lHLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ2pHLEdBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVNvRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQ0csR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDdkYsR0FBQyxDQUFDLEdBQUcsRUFBRUEsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVNpRyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxjQUFjLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxPQUFPLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLDRCQUE0QixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRTVCLEdBQUMsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsRUFBQyxDQUFDLEdBQUdzQixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUdOLEdBQUMsQ0FBQyxDQUFDLENBQUNkLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRVEsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVOLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFbUIsR0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUVBLEdBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTTCxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDdkYsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTeUYsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUd6RixHQUFDLENBQUMsT0FBTyxFQUFFQSxHQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUV1RixHQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsR0FBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUN2RixHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFeUYsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUVoQixHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBQyxDQUFDLFNBQVN1QixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNFLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDbEcsR0FBQyxDQUFDLEVBQUUsRUFBRUEsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUNtRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDVCxHQUFDLENBQUNHLEdBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRVIsR0FBQyxDQUFDQSxHQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDZSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTZSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDRCxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0MsR0FBQyxFQUFDLENBQUMsU0FBU0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDNUIsR0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0csR0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMwQixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUNqQyxHQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUNhLEdBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDbEYsR0FBQyxDQUFDLEtBQUssQ0FBQ0MsR0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLHdCQUF3QixHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLGlCQUFpQixHQUFHLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQytELEdBQUMsQ0FBQyxDQUFDLENBQXVEZSxHQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQ04sR0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUNTLEdBQUMsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDLENBQUNILEdBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQ0csR0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQ0gsR0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUNELEdBQUMsQ0FBQ2IsR0FBQyxDQUFDLEVBQUUsQ0FBQ0UsR0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDQyxHQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDZSxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQ2QsR0FBQyxDQUFDLENBQUM7O0FDQWowVSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUN0RSxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxHQUFHLEVBQUVBLEdBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDa0csR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUNsRyxHQUFDLENBQUMsR0FBRyxFQUFFZ0csR0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDaEcsR0FBQyxDQUFDLEdBQUcsRUFBRWdHLEdBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDTSxHQUFDLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTZCxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTSxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTYyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPTixHQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQ1EsR0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNYLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBU1AsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ3BGLEdBQUMsQ0FBQyxhQUFhLEVBQUVBLEdBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBcUssU0FBU3dHLEdBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDekIsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDSSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUNuRixHQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDK0UsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUNJLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQ25GLEdBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBR0EsR0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUNBLEdBQUMsQ0FBQyxxQkFBcUIsR0FBR2lHLEdBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxDQUFDakcsR0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDK0UsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFSSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQ25GLEdBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDQSxHQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMrRSxHQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFL0UsR0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJaUYsR0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLHFCQUFxQixDQUFDLFNBQVNnQixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUNoQixHQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUNBLEdBQUMsR0FBRyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTRixHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTSSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBU2EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBU0UsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7QUNBdDVGLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDTyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUl6RyxHQUFDLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNzRSxHQUFDLENBQUMsR0FBRyxDQUFDQSxHQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sTUFBTSxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUNGLEdBQUMsQ0FBQ0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDQSxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFLLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQ0EsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDRSxHQUFDLENBQUMsR0FBRyxDQUFDQSxHQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQ0EsR0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU9tQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQ25DLEdBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSXRFLEdBQUMsRUFBRSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFeUcsR0FBQyxDQUFDeEMsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDd0MsR0FBQyxDQUFDeEMsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUNFLEdBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ0EsR0FBQyxDQUFDc0MsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJekcsR0FBQyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDb0UsR0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLE1BQU0sRUFBRSxNQUFNLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyw2UkFBNlIsQ0FBQyxDQUFDLENBQUMsa0NBQWtDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLE9BQU8sUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQ0QsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBT0QsR0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDbEUsR0FBQyxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQywyQkFBMkIsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUNBLEdBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUNzRSxHQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQ0EsR0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUNBLEdBQUMsQ0FBQyxLQUFLLENBQUNBLEdBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLGNBQWMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxHQUFHLENBQUMsRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBRyxDQUFDLEVBQUUsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLGNBQWMsR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxVQUFVLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUNGLEdBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUNBLEdBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFNBQVMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDRSxHQUFDLENBQUMsR0FBRyxDQUFDQSxHQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDQSxHQUFDLENBQUMsTUFBTSxDQUFDQSxHQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsVUFBVSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFJLENBQUMsQ0FBSSxJQUFDLEVBQUUsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWEsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBT21DLEdBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHeEMsR0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDSSxHQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBR0YsR0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDRixHQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUNZLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUNMLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU9LLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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
diff --git a/Edikoyo/.obsidian/plugins/dataview/manifest.json b/Edikoyo/.obsidian/plugins/dataview/manifest.json
new file mode 100644
index 0000000..95b8152
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/dataview/manifest.json
@@ -0,0 +1,11 @@
+{
+  "id": "dataview",
+  "name": "Dataview",
+  "version": "0.5.67",
+  "minAppVersion": "0.13.11",
+  "description": "Complex data views for the data-obsessed.",
+  "author": "Michael Brenan <blacksmithgu@gmail.com>",
+  "authorUrl": "https://github.com/blacksmithgu",
+  "helpUrl": "https://blacksmithgu.github.io/obsidian-dataview/",
+  "isDesktopOnly": false
+}
diff --git a/Edikoyo/.obsidian/plugins/dataview/styles.css b/Edikoyo/.obsidian/plugins/dataview/styles.css
new file mode 100644
index 0000000..e884570
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/dataview/styles.css
@@ -0,0 +1,146 @@
+/** Live Preview padding fixes, specifically for DataviewJS custom HTML elements. */
+.is-live-preview .block-language-dataviewjs > p, .is-live-preview .block-language-dataviewjs > span {
+    line-height: 1.0;
+}
+
+.block-language-dataview {
+    overflow-y: auto;
+}
+
+/*****************/
+/** Table Views **/
+/*****************/
+
+/* List View Default Styling; rendered internally as a table. */
+.table-view-table {
+    width: 100%;
+}
+
+.table-view-table > thead > tr, .table-view-table > tbody > tr {
+    margin-top: 1em;
+    margin-bottom: 1em;
+    text-align: left;
+}
+
+.table-view-table > tbody > tr:hover {
+    background-color: var(--table-row-background-hover);
+}
+
+.table-view-table > thead > tr > th {
+    font-weight: 700;
+    font-size: larger;
+    border-top: none;
+    border-left: none;
+    border-right: none;
+    border-bottom: solid;
+
+    max-width: 100%;
+}
+
+.table-view-table > tbody > tr > td {
+    text-align: left;
+    border: none;
+    font-weight: 400;
+    max-width: 100%;
+}
+
+.table-view-table ul, .table-view-table ol {
+    margin-block-start: 0.2em !important;
+    margin-block-end: 0.2em !important;
+}
+
+/** Rendered value styling for any view. */
+.dataview-result-list-root-ul {
+    padding: 0em !important;
+    margin: 0em !important;
+}
+
+.dataview-result-list-ul {
+    margin-block-start: 0.2em !important;
+    margin-block-end: 0.2em !important;
+}
+
+/** Generic grouping styling. */
+.dataview.result-group {
+    padding-left: 8px;
+}
+
+/*******************/
+/** Inline Fields **/
+/*******************/
+
+.dataview.inline-field-key {
+    padding-left: 8px;
+    padding-right: 8px;
+    font-family: var(--font-monospace);
+    background-color: var(--background-primary-alt);
+    color: var(--text-nav-selected);
+}
+
+.dataview.inline-field-value {
+    padding-left: 8px;
+    padding-right: 8px;
+    font-family: var(--font-monospace);
+    background-color: var(--background-secondary-alt);
+    color: var(--text-nav-selected);
+}
+
+.dataview.inline-field-standalone-value {
+    padding-left: 8px;
+    padding-right: 8px;
+    font-family: var(--font-monospace);
+    background-color: var(--background-secondary-alt);
+    color: var(--text-nav-selected);
+}
+
+/***************/
+/** Task View **/
+/***************/
+
+.dataview.task-list-item, .dataview.task-list-basic-item {
+    margin-top: 3px;
+    margin-bottom: 3px;
+    transition: 0.4s;
+}
+
+.dataview.task-list-item:hover, .dataview.task-list-basic-item:hover {
+    background-color: var(--text-selection);
+    box-shadow: -40px 0 0 var(--text-selection);
+    cursor: pointer;
+}
+
+/*****************/
+/** Error Views **/
+/*****************/
+
+div.dataview-error-box {
+    width: 100%;
+    min-height: 150px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    border: 4px dashed var(--background-secondary);
+}
+
+.dataview-error-message {
+    color: var(--text-muted);
+    text-align: center;
+}
+
+/*************************/
+/** Additional Metadata **/
+/*************************/
+
+.dataview.small-text {
+    font-size: smaller;
+    color: var(--text-muted);
+    margin-left: 3px;
+}
+
+.dataview.small-text::before {
+	content: "(";
+}
+
+.dataview.small-text::after {
+	content: ")";
+}
diff --git a/Edikoyo/.obsidian/plugins/iconic/data.json b/Edikoyo/.obsidian/plugins/iconic/data.json
index 85e96e8..7823d91 100644
--- a/Edikoyo/.obsidian/plugins/iconic/data.json
+++ b/Edikoyo/.obsidian/plugins/iconic/data.json
@@ -19,65 +19,33 @@
     "Animals": {
       "icon": "lucide-cat",
       "unsynced": [
-        "4be35857b7dc5117"
-      ]
-    },
-    "Cities": {
-      "icon": "lucide-building",
-      "unsynced": [
-        "4be35857b7dc5117"
-      ]
-    },
-    "Continents": {
-      "icon": "lucide-globe",
-      "unsynced": [
-        "4be35857b7dc5117"
+        "bc82bad825d7514a"
       ]
     },
     "Countries": {
       "icon": "lucide-trees",
       "unsynced": [
-        "4be35857b7dc5117"
+        "bc82bad825d7514a"
       ]
     },
-    "Cultures": {
-      "icon": "lucide-paintbrush",
+    "Images": {
+      "icon": "lucide-image",
       "unsynced": [
-        "4be35857b7dc5117"
+        "bc82bad825d7514a"
       ]
     },
-    "Landmarks": {
-      "icon": "lucide-landmark",
+    "Languages": {
+      "icon": "lucide-languages",
       "unsynced": [
-        "4be35857b7dc5117"
-      ]
-    },
-    "People": {
-      "icon": "lucide-person-standing",
-      "unsynced": [
-        "4be35857b7dc5117"
-      ]
-    },
-    "Plants": {
-      "icon": "lucide-leaf",
-      "unsynced": [
-        "4be35857b7dc5117"
-      ]
-    },
-    "Religions": {
-      "icon": "lucide-cross",
-      "unsynced": [
-        "4be35857b7dc5117"
-      ]
-    },
-    "Species": {
-      "icon": "lucide-users",
-      "unsynced": [
-        "4be35857b7dc5117"
+        "bc82bad825d7514a"
       ]
     }
   },
   "bookmarkIcons": {},
   "propertyIcons": {},
-  "ribbonIcons": {}
+  "ribbonIcons": {
+    "pinned-notes:Countries": {
+      "icon": "lucide-trees"
+    }
+  }
 }
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/plugins/obsidian-icon-folder/data.json b/Edikoyo/.obsidian/plugins/obsidian-icon-folder/data.json
new file mode 100644
index 0000000..d7e5990
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/obsidian-icon-folder/data.json
@@ -0,0 +1,89 @@
+{
+  "settings": {
+    "migrated": 6,
+    "iconPacksPath": ".obsidian/icons",
+    "fontSize": 16,
+    "emojiStyle": "native",
+    "iconColor": null,
+    "recentlyUsedIcons": [
+      "SlSunflower1",
+      "SlMarsh1",
+      "SlLagoon1",
+      "SlHoney1",
+      "SlGodot1"
+    ],
+    "recentlyUsedIconsSize": 5,
+    "rules": [],
+    "extraMargin": {
+      "top": 0,
+      "right": 4,
+      "bottom": 0,
+      "left": 0
+    },
+    "iconInTabsEnabled": true,
+    "iconInTitleEnabled": true,
+    "iconInTitlePosition": "inline",
+    "iconInFrontmatterEnabled": false,
+    "iconInFrontmatterFieldName": "icon",
+    "iconColorInFrontmatterFieldName": "iconColor",
+    "iconsBackgroundCheckEnabled": false,
+    "iconsInNotesEnabled": true,
+    "iconsInLinksEnabled": true,
+    "iconIdentifier": ":",
+    "lucideIconPackType": "native",
+    "debugMode": false
+  },
+  "Countries/Barrowmaw.md": "FlBarrowmaw",
+  "Countries/Batanoka.md": "FlBatanoka",
+  "Countries/Blanchister.md": "FlBlanchister",
+  "Countries/Dasona.md": "FlDasona",
+  "Countries/Drenvale.md": "FlDrenvale",
+  "Countries/_index.md": "LiTrees",
+  "Countries": "LiTrees",
+  "Languages": "LiLanguages",
+  "Languages/_index.md": "LiLanguages",
+  "Countries/Calcetron.md": "FlCalcetron",
+  "Countries/Dahallow.md": "FlDahallow",
+  "Countries/Dolfeyja.md": "FlDolfeyja",
+  "Animals": "LiCat",
+  "Animals/_index.md": "LiCat",
+  "Cities/_index.md": "LiBuilding",
+  "Cities": "LiBuilding",
+  "Images": "LiImage",
+  "Images/Flags": "LiFlag",
+  "Species": "LiUsers",
+  "Animals/Slimes": "LiShell",
+  "Animals/Slimes/_index.md": "LiShell",
+  "Images/Slimes": "LiShell",
+  "Countries/Dratana.md": "FlDratana",
+  "Countries/Faelani.md": "FlFaelani",
+  "Countries/Falaka.md": "FlFalaka",
+  "Countries/Felmyr.md": "FlFelmyr",
+  "Countries/Gokolm.md": "FlGokolm",
+  "Countries/Gudoko.md": "FlGudoko",
+  "Countries/Hanoka.md": "FlHanoka",
+  "Countries/Krakala.md": "FlKrakala",
+  "Countries/Lavaki.md": "FlLavaki",
+  "Countries/Lekia.md": "FlLekia",
+  "Countries/Llasuki.md": "FlLlasuki",
+  "Countries/Mortham.md": "FlMortham",
+  "Countries/Mantine.md": "FlMantine",
+  "Countries/Nakadon.md": "FlNakadon",
+  "Countries/Nasahra.md": "FlNasahra",
+  "Countries/Nonkur.md": "FlNonkur",
+  "Countries/Oshela.md": "FlOshela",
+  "Countries/Ovanos.md": "FlOvanos",
+  "Countries/Seraphis.md": "FlSeraphis",
+  "Countries/Soljord.md": "FlSoljord",
+  "Countries/Vanatn.md": "FlVanatn",
+  "Countries/Vikogyna.md": "FlVikogyna",
+  "Countries/Vosaka.md": "FlVosaka",
+  "Animals/Slimes/Ababa Slime.md": "SlAbaba1",
+  "Animals/Slimes/Bark Slime.md": "SlBark1",
+  "Animals/Slimes/Garden Slime.md": "SlGarden1",
+  "Animals/Slimes/Godot Slime.md": "SlGodot1",
+  "Animals/Slimes/Honey Slime.md": "SlHoney1",
+  "Animals/Slimes/Lagoon Slime.md": "SlLagoon1",
+  "Animals/Slimes/Marsh Slime.md": "SlMarsh1",
+  "Animals/Slimes/Sunflower Slime.md": "SlSunflower1"
+}
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/plugins/obsidian-icon-folder/main.js b/Edikoyo/.obsidian/plugins/obsidian-icon-folder/main.js
new file mode 100644
index 0000000..490da5f
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/obsidian-icon-folder/main.js
@@ -0,0 +1,7046 @@
+/*
+THIS IS A GENERATED/BUNDLED FILE BY ROLLUP
+if you want to view the source visit the plugins github repository
+*/
+
+'use strict';
+
+var obsidian = require('obsidian');
+var view = require('@codemirror/view');
+var state = require('@codemirror/state');
+var language = require('@codemirror/language');
+
+/******************************************************************************
+Copyright (c) Microsoft Corporation.
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+PERFORMANCE OF THIS SOFTWARE.
+***************************************************************************** */
+
+function __awaiter(thisArg, _arguments, P, generator) {
+    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+    return new (P || (P = Promise))(function (resolve, reject) {
+        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+        step((generator = generator.apply(thisArg, _arguments || [])).next());
+    });
+}
+
+typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
+    var e = new Error(message);
+    return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
+};
+
+const iconPacks$1 = {
+    faBrands: {
+        name: 'font-awesome-brands',
+        displayName: 'FontAwesome Brands',
+        path: 'fontawesome-free-6.5.1-web/svgs/brands/',
+        downloadLink: 'https://github.com/FortAwesome/Font-Awesome/releases/download/6.5.1/fontawesome-free-6.5.1-web.zip',
+    },
+    faRegular: {
+        name: 'font-awesome-regular',
+        displayName: 'FontAwesome Regular',
+        path: 'fontawesome-free-6.5.1-web/svgs/regular/',
+        downloadLink: 'https://github.com/FortAwesome/Font-Awesome/releases/download/6.5.1/fontawesome-free-6.5.1-web.zip',
+    },
+    faSolid: {
+        name: 'font-awesome-solid',
+        displayName: 'FontAwesome Solid',
+        path: 'fontawesome-free-6.5.1-web/svgs/solid/',
+        downloadLink: 'https://github.com/FortAwesome/Font-Awesome/releases/download/6.5.1/fontawesome-free-6.5.1-web.zip',
+    },
+    remixIcons: {
+        name: 'remix-icons',
+        displayName: 'Remix Icons',
+        path: '',
+        downloadLink: 'https://github.com/Remix-Design/RemixIcon/releases/download/v4.2.0/RemixIcon_Svg_v4.2.0.zip',
+    },
+    iconBrew: {
+        name: 'icon-brew',
+        displayName: 'Icon Brew',
+        path: '',
+        downloadLink: 'https://github.com/FlorianWoelki/obsidian-iconize/raw/main/iconPacks/icon-brew.zip',
+    },
+    /** @source https://simpleicons.org/ */
+    simpleIcons: {
+        name: 'simple-icons',
+        displayName: 'Simple Icons',
+        path: 'simple-icons-11.10.0/icons/',
+        downloadLink: 'https://github.com/simple-icons/simple-icons/archive/refs/tags/11.10.0.zip',
+    },
+    lucide: {
+        name: 'lucide-icons',
+        displayName: 'Lucide',
+        path: '',
+        downloadLink: 'https://github.com/lucide-icons/lucide/releases/download/0.363.0/lucide-icons-0.363.0.zip',
+    },
+    tablerIcons: {
+        name: 'tabler-icons',
+        displayName: 'Tabler Icons',
+        path: 'svg',
+        downloadLink: 'https://github.com/tabler/tabler-icons/releases/download/v3.1.0/tabler-icons-3.1.0.zip',
+    },
+    /** @source https://boxicons.com/ */
+    boxicons: {
+        name: 'boxicons',
+        displayName: 'Boxicons',
+        path: 'svg',
+        downloadLink: 'https://github.com/FlorianWoelki/obsidian-iconize/raw/main/iconPacks/boxicons.zip',
+    },
+    /** @source http://nagoshiashumari.github.io/Rpg-Awesome/ */
+    rpgAwesome: {
+        name: 'rpg-awesome',
+        displayName: 'RPG Awesome',
+        path: '',
+        downloadLink: 'https://github.com/FlorianWoelki/obsidian-iconize/raw/main/iconPacks/rpg-awesome.zip',
+    },
+    /** @source https://coolicons.cool/ */
+    coolicons: {
+        name: 'coolicons',
+        displayName: 'Coolicons',
+        path: 'cooliocns SVG',
+        downloadLink: 'https://github.com/krystonschwarze/coolicons/releases/download/v4.1/coolicons.v4.1.zip',
+    },
+    /** @source https://feathericons.com/ */
+    feathericons: {
+        name: 'feather-icons',
+        displayName: 'Feather Icons',
+        path: 'feather-4.29.1/icons/',
+        downloadLink: 'https://github.com/feathericons/feather/archive/refs/tags/v4.29.1.zip',
+    },
+    /** @source https://github.com/primer/octicons */
+    octicons: {
+        name: 'octicons',
+        displayName: 'Octicons',
+        path: 'octicons-19.8.0/icons/',
+        downloadLink: 'https://github.com/primer/octicons/archive/refs/tags/v19.8.0.zip',
+    },
+};
+/**
+ * Returns a possible path to the icon pack.
+ * @param name String of the icon pack name.
+ * @returns String of the path to the icon pack or undefined if the icon pack does not
+ * exist.
+ */
+const getExtraPath = (iconPackName) => {
+    var _a;
+    const path = (_a = Object.values(iconPacks$1).find((iconPack) => iconPack.name === iconPackName)) === null || _a === void 0 ? void 0 : _a.path;
+    return (path === null || path === void 0 ? void 0 : path.length) === 0 ? undefined : path;
+};
+
+// This library file does not include any other dependency and is a standalone file that
+// only include utility functions for manipulating or extracting svg information.
+/**
+ * Extracts an SVG string from a given input string and returns a cleaned up and
+ * formatted SVG string.
+ * @param svgString SVG string to extract from.
+ * @returns Cleaned up and formatted SVG string.
+ */
+const extract = (svgString) => {
+    var _a, _b;
+    // Removes unnecessary spaces and newlines.
+    svgString = svgString.replace(/(\r\n|\n|\r)/gm, '');
+    svgString = svgString.replace(/>\s+</gm, '><');
+    // Create a parser for better parsing of HTML.
+    const parser = new DOMParser();
+    const svg = parser
+        .parseFromString(svgString, 'text/html')
+        .querySelector('svg');
+    // Removes `width` and `height` from the `style` attribute.
+    if (svg.hasAttribute('style')) {
+        svg.style.width = '';
+        svg.style.height = '';
+    }
+    // Add `viewbox`, if it is not already a attribute.
+    if (svg.viewBox.baseVal.width === 0 && svg.viewBox.baseVal.height === 0) {
+        const width = (_a = svg.width.baseVal.value) !== null && _a !== void 0 ? _a : 16;
+        const height = (_b = svg.height.baseVal.value) !== null && _b !== void 0 ? _b : 16;
+        svg.viewBox.baseVal.width = width;
+        svg.viewBox.baseVal.height = height;
+    }
+    if (!svg.hasAttribute('fill')) {
+        svg.setAttribute('fill', 'currentColor');
+    }
+    const possibleTitle = svg.querySelector('title');
+    if (possibleTitle) {
+        possibleTitle.remove();
+    }
+    svg.setAttribute('width', '16px');
+    svg.setAttribute('height', '16px');
+    return svg.outerHTML;
+};
+/**
+ * Sets the font size of an SVG string by modifying its width and/or height attributes.
+ * The font size will be always set in pixels.
+ * @param svgString SVG string to modify.
+ * @param fontSize Font size in pixels to set.
+ * @returns Modified SVG string.
+ */
+const setFontSize = (svgString, fontSize) => {
+    const widthRe = new RegExp(/width="[\d.]+(px)?"/);
+    const heightRe = new RegExp(/height="[\d.]+(px)?"/);
+    if (svgString.match(widthRe)) {
+        svgString = svgString.replace(widthRe, `width="${fontSize}px"`);
+    }
+    if (svgString.match(heightRe)) {
+        svgString = svgString.replace(heightRe, `height="${fontSize}px"`);
+    }
+    return svgString;
+};
+/**
+ * Replaces the fill or stroke color of an SVG string with a given color.
+ * @param svgString SVG string to modify.
+ * @param color Color to set. Defaults to 'currentColor'.
+ * @returns The modified SVG string.
+ */
+const colorize = (svgString, color) => {
+    if (!color) {
+        color = 'currentColor';
+    }
+    const parser = new DOMParser();
+    // Tries to parse the string into a HTML node.
+    const parsedNode = parser.parseFromString(svgString, 'text/html');
+    const svg = parsedNode.querySelector('svg');
+    if (svg) {
+        if (svg.hasAttribute('fill') && svg.getAttribute('fill') !== 'none') {
+            svg.setAttribute('fill', color);
+        }
+        else if (svg.hasAttribute('stroke') &&
+            svg.getAttribute('stroke') !== 'none') {
+            svg.setAttribute('stroke', color);
+        }
+        return svg.outerHTML;
+    }
+    return svgString;
+};
+var svg = {
+    extract,
+    colorize,
+    setFontSize,
+};
+
+var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
+
+function commonjsRequire(path) {
+	throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
+}
+
+var jszip_min = {exports: {}};
+
+/*!
+
+JSZip v3.10.1 - A JavaScript class for generating and reading zip files
+<http://stuartk.com/jszip>
+
+(c) 2009-2016 Stuart Knightley <stuart [at] stuartk.com>
+Dual licenced under the MIT license or GPLv3. See https://raw.github.com/Stuk/jszip/main/LICENSE.markdown.
+
+JSZip uses the library pako released under the MIT license :
+https://github.com/nodeca/pako/blob/main/LICENSE
+*/
+jszip_min.exports;
+
+(function (module, exports) {
+	!function(e){module.exports=e();}(function(){return function s(a,o,h){function u(r,e){if(!o[r]){if(!a[r]){var t="function"==typeof commonjsRequire&&commonjsRequire;if(!e&&t)return t(r,!0);if(l)return l(r,!0);var n=new Error("Cannot find module '"+r+"'");throw n.code="MODULE_NOT_FOUND",n}var i=o[r]={exports:{}};a[r][0].call(i.exports,function(e){var t=a[r][1][e];return u(t||e)},i,i.exports,s,a,o,h);}return o[r].exports}for(var l="function"==typeof commonjsRequire&&commonjsRequire,e=0;e<h.length;e++)u(h[e]);return u}({1:[function(e,t,r){var d=e("./utils"),c=e("./support"),p="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";r.encode=function(e){for(var t,r,n,i,s,a,o,h=[],u=0,l=e.length,f=l,c="string"!==d.getTypeOf(e);u<e.length;)f=l-u,n=c?(t=e[u++],r=u<l?e[u++]:0,u<l?e[u++]:0):(t=e.charCodeAt(u++),r=u<l?e.charCodeAt(u++):0,u<l?e.charCodeAt(u++):0),i=t>>2,s=(3&t)<<4|r>>4,a=1<f?(15&r)<<2|n>>6:64,o=2<f?63&n:64,h.push(p.charAt(i)+p.charAt(s)+p.charAt(a)+p.charAt(o));return h.join("")},r.decode=function(e){var t,r,n,i,s,a,o=0,h=0,u="data:";if(e.substr(0,u.length)===u)throw new Error("Invalid base64 input, it looks like a data url.");var l,f=3*(e=e.replace(/[^A-Za-z0-9+/=]/g,"")).length/4;if(e.charAt(e.length-1)===p.charAt(64)&&f--,e.charAt(e.length-2)===p.charAt(64)&&f--,f%1!=0)throw new Error("Invalid base64 input, bad content length.");for(l=c.uint8array?new Uint8Array(0|f):new Array(0|f);o<e.length;)t=p.indexOf(e.charAt(o++))<<2|(i=p.indexOf(e.charAt(o++)))>>4,r=(15&i)<<4|(s=p.indexOf(e.charAt(o++)))>>2,n=(3&s)<<6|(a=p.indexOf(e.charAt(o++))),l[h++]=t,64!==s&&(l[h++]=r),64!==a&&(l[h++]=n);return l};},{"./support":30,"./utils":32}],2:[function(e,t,r){var n=e("./external"),i=e("./stream/DataWorker"),s=e("./stream/Crc32Probe"),a=e("./stream/DataLengthProbe");function o(e,t,r,n,i){this.compressedSize=e,this.uncompressedSize=t,this.crc32=r,this.compression=n,this.compressedContent=i;}o.prototype={getContentWorker:function(){var e=new i(n.Promise.resolve(this.compressedContent)).pipe(this.compression.uncompressWorker()).pipe(new a("data_length")),t=this;return e.on("end",function(){if(this.streamInfo.data_length!==t.uncompressedSize)throw new Error("Bug : uncompressed data size mismatch")}),e},getCompressedWorker:function(){return new i(n.Promise.resolve(this.compressedContent)).withStreamInfo("compressedSize",this.compressedSize).withStreamInfo("uncompressedSize",this.uncompressedSize).withStreamInfo("crc32",this.crc32).withStreamInfo("compression",this.compression)}},o.createWorkerFrom=function(e,t,r){return e.pipe(new s).pipe(new a("uncompressedSize")).pipe(t.compressWorker(r)).pipe(new a("compressedSize")).withStreamInfo("compression",t)},t.exports=o;},{"./external":6,"./stream/Crc32Probe":25,"./stream/DataLengthProbe":26,"./stream/DataWorker":27}],3:[function(e,t,r){var n=e("./stream/GenericWorker");r.STORE={magic:"\0\0",compressWorker:function(){return new n("STORE compression")},uncompressWorker:function(){return new n("STORE decompression")}},r.DEFLATE=e("./flate");},{"./flate":7,"./stream/GenericWorker":28}],4:[function(e,t,r){var n=e("./utils");var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e;}return t}();t.exports=function(e,t){return void 0!==e&&e.length?"string"!==n.getTypeOf(e)?function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return -1^e}(0|t,e,e.length,0):function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t.charCodeAt(a))];return -1^e}(0|t,e,e.length,0):0};},{"./utils":32}],5:[function(e,t,r){r.base64=!1,r.binary=!1,r.dir=!1,r.createFolders=!0,r.date=null,r.compression=null,r.compressionOptions=null,r.comment=null,r.unixPermissions=null,r.dosPermissions=null;},{}],6:[function(e,t,r){var n=null;n="undefined"!=typeof Promise?Promise:e("lie"),t.exports={Promise:n};},{lie:37}],7:[function(e,t,r){var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array,i=e("pako"),s=e("./utils"),a=e("./stream/GenericWorker"),o=n?"uint8array":"array";function h(e,t){a.call(this,"FlateWorker/"+e),this._pako=null,this._pakoAction=e,this._pakoOptions=t,this.meta={};}r.magic="\b\0",s.inherits(h,a),h.prototype.processChunk=function(e){this.meta=e.meta,null===this._pako&&this._createPako(),this._pako.push(s.transformTo(o,e.data),!1);},h.prototype.flush=function(){a.prototype.flush.call(this),null===this._pako&&this._createPako(),this._pako.push([],!0);},h.prototype.cleanUp=function(){a.prototype.cleanUp.call(this),this._pako=null;},h.prototype._createPako=function(){this._pako=new i[this._pakoAction]({raw:!0,level:this._pakoOptions.level||-1});var t=this;this._pako.onData=function(e){t.push({data:e,meta:t.meta});};},r.compressWorker=function(e){return new h("Deflate",e)},r.uncompressWorker=function(){return new h("Inflate",{})};},{"./stream/GenericWorker":28,"./utils":32,pako:38}],8:[function(e,t,r){function A(e,t){var r,n="";for(r=0;r<t;r++)n+=String.fromCharCode(255&e),e>>>=8;return n}function n(e,t,r,n,i,s){var a,o,h=e.file,u=e.compression,l=s!==O.utf8encode,f=I.transformTo("string",s(h.name)),c=I.transformTo("string",O.utf8encode(h.name)),d=h.comment,p=I.transformTo("string",s(d)),m=I.transformTo("string",O.utf8encode(d)),_=c.length!==h.name.length,g=m.length!==d.length,b="",v="",y="",w=h.dir,k=h.date,x={crc32:0,compressedSize:0,uncompressedSize:0};t&&!r||(x.crc32=e.crc32,x.compressedSize=e.compressedSize,x.uncompressedSize=e.uncompressedSize);var S=0;t&&(S|=8),l||!_&&!g||(S|=2048);var z=0,C=0;w&&(z|=16),"UNIX"===i?(C=798,z|=function(e,t){var r=e;return e||(r=t?16893:33204),(65535&r)<<16}(h.unixPermissions,w)):(C=20,z|=function(e){return 63&(e||0)}(h.dosPermissions)),a=k.getUTCHours(),a<<=6,a|=k.getUTCMinutes(),a<<=5,a|=k.getUTCSeconds()/2,o=k.getUTCFullYear()-1980,o<<=4,o|=k.getUTCMonth()+1,o<<=5,o|=k.getUTCDate(),_&&(v=A(1,1)+A(B(f),4)+c,b+="up"+A(v.length,2)+v),g&&(y=A(1,1)+A(B(p),4)+m,b+="uc"+A(y.length,2)+y);var E="";return E+="\n\0",E+=A(S,2),E+=u.magic,E+=A(a,2),E+=A(o,2),E+=A(x.crc32,4),E+=A(x.compressedSize,4),E+=A(x.uncompressedSize,4),E+=A(f.length,2),E+=A(b.length,2),{fileRecord:R.LOCAL_FILE_HEADER+E+f+b,dirRecord:R.CENTRAL_FILE_HEADER+A(C,2)+E+A(p.length,2)+"\0\0\0\0"+A(z,4)+A(n,4)+f+b+p}}var I=e("../utils"),i=e("../stream/GenericWorker"),O=e("../utf8"),B=e("../crc32"),R=e("../signature");function s(e,t,r,n){i.call(this,"ZipFileWorker"),this.bytesWritten=0,this.zipComment=t,this.zipPlatform=r,this.encodeFileName=n,this.streamFiles=e,this.accumulate=!1,this.contentBuffer=[],this.dirRecords=[],this.currentSourceOffset=0,this.entriesCount=0,this.currentFile=null,this._sources=[];}I.inherits(s,i),s.prototype.push=function(e){var t=e.meta.percent||0,r=this.entriesCount,n=this._sources.length;this.accumulate?this.contentBuffer.push(e):(this.bytesWritten+=e.data.length,i.prototype.push.call(this,{data:e.data,meta:{currentFile:this.currentFile,percent:r?(t+100*(r-n-1))/r:100}}));},s.prototype.openedSource=function(e){this.currentSourceOffset=this.bytesWritten,this.currentFile=e.file.name;var t=this.streamFiles&&!e.file.dir;if(t){var r=n(e,t,!1,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);this.push({data:r.fileRecord,meta:{percent:0}});}else this.accumulate=!0;},s.prototype.closedSource=function(e){this.accumulate=!1;var t=this.streamFiles&&!e.file.dir,r=n(e,t,!0,this.currentSourceOffset,this.zipPlatform,this.encodeFileName);if(this.dirRecords.push(r.dirRecord),t)this.push({data:function(e){return R.DATA_DESCRIPTOR+A(e.crc32,4)+A(e.compressedSize,4)+A(e.uncompressedSize,4)}(e),meta:{percent:100}});else for(this.push({data:r.fileRecord,meta:{percent:0}});this.contentBuffer.length;)this.push(this.contentBuffer.shift());this.currentFile=null;},s.prototype.flush=function(){for(var e=this.bytesWritten,t=0;t<this.dirRecords.length;t++)this.push({data:this.dirRecords[t],meta:{percent:100}});var r=this.bytesWritten-e,n=function(e,t,r,n,i){var s=I.transformTo("string",i(n));return R.CENTRAL_DIRECTORY_END+"\0\0\0\0"+A(e,2)+A(e,2)+A(t,4)+A(r,4)+A(s.length,2)+s}(this.dirRecords.length,r,e,this.zipComment,this.encodeFileName);this.push({data:n,meta:{percent:100}});},s.prototype.prepareNextSource=function(){this.previous=this._sources.shift(),this.openedSource(this.previous.streamInfo),this.isPaused?this.previous.pause():this.previous.resume();},s.prototype.registerPrevious=function(e){this._sources.push(e);var t=this;return e.on("data",function(e){t.processChunk(e);}),e.on("end",function(){t.closedSource(t.previous.streamInfo),t._sources.length?t.prepareNextSource():t.end();}),e.on("error",function(e){t.error(e);}),this},s.prototype.resume=function(){return !!i.prototype.resume.call(this)&&(!this.previous&&this._sources.length?(this.prepareNextSource(),!0):this.previous||this._sources.length||this.generatedError?void 0:(this.end(),!0))},s.prototype.error=function(e){var t=this._sources;if(!i.prototype.error.call(this,e))return !1;for(var r=0;r<t.length;r++)try{t[r].error(e);}catch(e){}return !0},s.prototype.lock=function(){i.prototype.lock.call(this);for(var e=this._sources,t=0;t<e.length;t++)e[t].lock();},t.exports=s;},{"../crc32":4,"../signature":23,"../stream/GenericWorker":28,"../utf8":31,"../utils":32}],9:[function(e,t,r){var u=e("../compressions"),n=e("./ZipFileWorker");r.generateWorker=function(e,a,t){var o=new n(a.streamFiles,t,a.platform,a.encodeFileName),h=0;try{e.forEach(function(e,t){h++;var r=function(e,t){var r=e||t,n=u[r];if(!n)throw new Error(r+" is not a valid compression method !");return n}(t.options.compression,a.compression),n=t.options.compressionOptions||a.compressionOptions||{},i=t.dir,s=t.date;t._compressWorker(r,n).withStreamInfo("file",{name:e,dir:i,date:s,comment:t.comment||"",unixPermissions:t.unixPermissions,dosPermissions:t.dosPermissions}).pipe(o);}),o.entriesCount=h;}catch(e){o.error(e);}return o};},{"../compressions":3,"./ZipFileWorker":8}],10:[function(e,t,r){function n(){if(!(this instanceof n))return new n;if(arguments.length)throw new Error("The constructor with parameters has been removed in JSZip 3.0, please check the upgrade guide.");this.files=Object.create(null),this.comment=null,this.root="",this.clone=function(){var e=new n;for(var t in this)"function"!=typeof this[t]&&(e[t]=this[t]);return e};}(n.prototype=e("./object")).loadAsync=e("./load"),n.support=e("./support"),n.defaults=e("./defaults"),n.version="3.10.1",n.loadAsync=function(e,t){return (new n).loadAsync(e,t)},n.external=e("./external"),t.exports=n;},{"./defaults":5,"./external":6,"./load":11,"./object":15,"./support":30}],11:[function(e,t,r){var u=e("./utils"),i=e("./external"),n=e("./utf8"),s=e("./zipEntries"),a=e("./stream/Crc32Probe"),l=e("./nodejsUtils");function f(n){return new i.Promise(function(e,t){var r=n.decompressed.getContentWorker().pipe(new a);r.on("error",function(e){t(e);}).on("end",function(){r.streamInfo.crc32!==n.decompressed.crc32?t(new Error("Corrupted zip : CRC32 mismatch")):e();}).resume();})}t.exports=function(e,o){var h=this;return o=u.extend(o||{},{base64:!1,checkCRC32:!1,optimizedBinaryString:!1,createFolders:!1,decodeFileName:n.utf8decode}),l.isNode&&l.isStream(e)?i.Promise.reject(new Error("JSZip can't accept a stream when loading a zip file.")):u.prepareContent("the loaded zip file",e,!0,o.optimizedBinaryString,o.base64).then(function(e){var t=new s(o);return t.load(e),t}).then(function(e){var t=[i.Promise.resolve(e)],r=e.files;if(o.checkCRC32)for(var n=0;n<r.length;n++)t.push(f(r[n]));return i.Promise.all(t)}).then(function(e){for(var t=e.shift(),r=t.files,n=0;n<r.length;n++){var i=r[n],s=i.fileNameStr,a=u.resolve(i.fileNameStr);h.file(a,i.decompressed,{binary:!0,optimizedBinaryString:!0,date:i.date,dir:i.dir,comment:i.fileCommentStr.length?i.fileCommentStr:null,unixPermissions:i.unixPermissions,dosPermissions:i.dosPermissions,createFolders:o.createFolders}),i.dir||(h.file(a).unsafeOriginalName=s);}return t.zipComment.length&&(h.comment=t.zipComment),h})};},{"./external":6,"./nodejsUtils":14,"./stream/Crc32Probe":25,"./utf8":31,"./utils":32,"./zipEntries":33}],12:[function(e,t,r){var n=e("../utils"),i=e("../stream/GenericWorker");function s(e,t){i.call(this,"Nodejs stream input adapter for "+e),this._upstreamEnded=!1,this._bindStream(t);}n.inherits(s,i),s.prototype._bindStream=function(e){var t=this;(this._stream=e).pause(),e.on("data",function(e){t.push({data:e,meta:{percent:0}});}).on("error",function(e){t.isPaused?this.generatedError=e:t.error(e);}).on("end",function(){t.isPaused?t._upstreamEnded=!0:t.end();});},s.prototype.pause=function(){return !!i.prototype.pause.call(this)&&(this._stream.pause(),!0)},s.prototype.resume=function(){return !!i.prototype.resume.call(this)&&(this._upstreamEnded?this.end():this._stream.resume(),!0)},t.exports=s;},{"../stream/GenericWorker":28,"../utils":32}],13:[function(e,t,r){var i=e("readable-stream").Readable;function n(e,t,r){i.call(this,t),this._helper=e;var n=this;e.on("data",function(e,t){n.push(e)||n._helper.pause(),r&&r(t);}).on("error",function(e){n.emit("error",e);}).on("end",function(){n.push(null);});}e("../utils").inherits(n,i),n.prototype._read=function(){this._helper.resume();},t.exports=n;},{"../utils":32,"readable-stream":16}],14:[function(e,t,r){t.exports={isNode:"undefined"!=typeof Buffer,newBufferFrom:function(e,t){if(Buffer.from&&Buffer.from!==Uint8Array.from)return Buffer.from(e,t);if("number"==typeof e)throw new Error('The "data" argument must not be a number');return new Buffer(e,t)},allocBuffer:function(e){if(Buffer.alloc)return Buffer.alloc(e);var t=new Buffer(e);return t.fill(0),t},isBuffer:function(e){return Buffer.isBuffer(e)},isStream:function(e){return e&&"function"==typeof e.on&&"function"==typeof e.pause&&"function"==typeof e.resume}};},{}],15:[function(e,t,r){function s(e,t,r){var n,i=u.getTypeOf(t),s=u.extend(r||{},f);s.date=s.date||new Date,null!==s.compression&&(s.compression=s.compression.toUpperCase()),"string"==typeof s.unixPermissions&&(s.unixPermissions=parseInt(s.unixPermissions,8)),s.unixPermissions&&16384&s.unixPermissions&&(s.dir=!0),s.dosPermissions&&16&s.dosPermissions&&(s.dir=!0),s.dir&&(e=g(e)),s.createFolders&&(n=_(e))&&b.call(this,n,!0);var a="string"===i&&!1===s.binary&&!1===s.base64;r&&void 0!==r.binary||(s.binary=!a),(t instanceof c&&0===t.uncompressedSize||s.dir||!t||0===t.length)&&(s.base64=!1,s.binary=!0,t="",s.compression="STORE",i="string");var o=null;o=t instanceof c||t instanceof l?t:p.isNode&&p.isStream(t)?new m(e,t):u.prepareContent(e,t,s.binary,s.optimizedBinaryString,s.base64);var h=new d(e,o,s);this.files[e]=h;}var i=e("./utf8"),u=e("./utils"),l=e("./stream/GenericWorker"),a=e("./stream/StreamHelper"),f=e("./defaults"),c=e("./compressedObject"),d=e("./zipObject"),o=e("./generate"),p=e("./nodejsUtils"),m=e("./nodejs/NodejsStreamInputAdapter"),_=function(e){"/"===e.slice(-1)&&(e=e.substring(0,e.length-1));var t=e.lastIndexOf("/");return 0<t?e.substring(0,t):""},g=function(e){return "/"!==e.slice(-1)&&(e+="/"),e},b=function(e,t){return t=void 0!==t?t:f.createFolders,e=g(e),this.files[e]||s.call(this,e,null,{dir:!0,createFolders:t}),this.files[e]};function h(e){return "[object RegExp]"===Object.prototype.toString.call(e)}var n={load:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},forEach:function(e){var t,r,n;for(t in this.files)n=this.files[t],(r=t.slice(this.root.length,t.length))&&t.slice(0,this.root.length)===this.root&&e(r,n);},filter:function(r){var n=[];return this.forEach(function(e,t){r(e,t)&&n.push(t);}),n},file:function(e,t,r){if(1!==arguments.length)return e=this.root+e,s.call(this,e,t,r),this;if(h(e)){var n=e;return this.filter(function(e,t){return !t.dir&&n.test(e)})}var i=this.files[this.root+e];return i&&!i.dir?i:null},folder:function(r){if(!r)return this;if(h(r))return this.filter(function(e,t){return t.dir&&r.test(e)});var e=this.root+r,t=b.call(this,e),n=this.clone();return n.root=t.name,n},remove:function(r){r=this.root+r;var e=this.files[r];if(e||("/"!==r.slice(-1)&&(r+="/"),e=this.files[r]),e&&!e.dir)delete this.files[r];else for(var t=this.filter(function(e,t){return t.name.slice(0,r.length)===r}),n=0;n<t.length;n++)delete this.files[t[n].name];return this},generate:function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},generateInternalStream:function(e){var t,r={};try{if((r=u.extend(e||{},{streamFiles:!1,compression:"STORE",compressionOptions:null,type:"",platform:"DOS",comment:null,mimeType:"application/zip",encodeFileName:i.utf8encode})).type=r.type.toLowerCase(),r.compression=r.compression.toUpperCase(),"binarystring"===r.type&&(r.type="string"),!r.type)throw new Error("No output type specified.");u.checkSupport(r.type),"darwin"!==r.platform&&"freebsd"!==r.platform&&"linux"!==r.platform&&"sunos"!==r.platform||(r.platform="UNIX"),"win32"===r.platform&&(r.platform="DOS");var n=r.comment||this.comment||"";t=o.generateWorker(this,r,n);}catch(e){(t=new l("error")).error(e);}return new a(t,r.type||"string",r.mimeType)},generateAsync:function(e,t){return this.generateInternalStream(e).accumulate(t)},generateNodeStream:function(e,t){return (e=e||{}).type||(e.type="nodebuffer"),this.generateInternalStream(e).toNodejsStream(t)}};t.exports=n;},{"./compressedObject":2,"./defaults":5,"./generate":9,"./nodejs/NodejsStreamInputAdapter":12,"./nodejsUtils":14,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31,"./utils":32,"./zipObject":35}],16:[function(e,t,r){t.exports=e("stream");},{stream:void 0}],17:[function(e,t,r){var n=e("./DataReader");function i(e){n.call(this,e);for(var t=0;t<this.data.length;t++)e[t]=255&e[t];}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data[this.zero+e]},i.prototype.lastIndexOfSignature=function(e){for(var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.length-4;0<=s;--s)if(this.data[s]===t&&this.data[s+1]===r&&this.data[s+2]===n&&this.data[s+3]===i)return s-this.zero;return -1},i.prototype.readAndCheckSignature=function(e){var t=e.charCodeAt(0),r=e.charCodeAt(1),n=e.charCodeAt(2),i=e.charCodeAt(3),s=this.readData(4);return t===s[0]&&r===s[1]&&n===s[2]&&i===s[3]},i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return [];var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./DataReader":18}],18:[function(e,t,r){var n=e("../utils");function i(e){this.data=e,this.length=e.length,this.index=0,this.zero=0;}i.prototype={checkOffset:function(e){this.checkIndex(this.index+e);},checkIndex:function(e){if(this.length<this.zero+e||e<0)throw new Error("End of data reached (data length = "+this.length+", asked index = "+e+"). Corrupted zip ?")},setIndex:function(e){this.checkIndex(e),this.index=e;},skip:function(e){this.setIndex(this.index+e);},byteAt:function(){},readInt:function(e){var t,r=0;for(this.checkOffset(e),t=this.index+e-1;t>=this.index;t--)r=(r<<8)+this.byteAt(t);return this.index+=e,r},readString:function(e){return n.transformTo("string",this.readData(e))},readData:function(){},lastIndexOfSignature:function(){},readAndCheckSignature:function(){},readDate:function(){var e=this.readInt(4);return new Date(Date.UTC(1980+(e>>25&127),(e>>21&15)-1,e>>16&31,e>>11&31,e>>5&63,(31&e)<<1))}},t.exports=i;},{"../utils":32}],19:[function(e,t,r){var n=e("./Uint8ArrayReader");function i(e){n.call(this,e);}e("../utils").inherits(i,n),i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./Uint8ArrayReader":21}],20:[function(e,t,r){var n=e("./DataReader");function i(e){n.call(this,e);}e("../utils").inherits(i,n),i.prototype.byteAt=function(e){return this.data.charCodeAt(this.zero+e)},i.prototype.lastIndexOfSignature=function(e){return this.data.lastIndexOf(e)-this.zero},i.prototype.readAndCheckSignature=function(e){return e===this.readData(4)},i.prototype.readData=function(e){this.checkOffset(e);var t=this.data.slice(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./DataReader":18}],21:[function(e,t,r){var n=e("./ArrayReader");function i(e){n.call(this,e);}e("../utils").inherits(i,n),i.prototype.readData=function(e){if(this.checkOffset(e),0===e)return new Uint8Array(0);var t=this.data.subarray(this.zero+this.index,this.zero+this.index+e);return this.index+=e,t},t.exports=i;},{"../utils":32,"./ArrayReader":17}],22:[function(e,t,r){var n=e("../utils"),i=e("../support"),s=e("./ArrayReader"),a=e("./StringReader"),o=e("./NodeBufferReader"),h=e("./Uint8ArrayReader");t.exports=function(e){var t=n.getTypeOf(e);return n.checkSupport(t),"string"!==t||i.uint8array?"nodebuffer"===t?new o(e):i.uint8array?new h(n.transformTo("uint8array",e)):new s(n.transformTo("array",e)):new a(e)};},{"../support":30,"../utils":32,"./ArrayReader":17,"./NodeBufferReader":19,"./StringReader":20,"./Uint8ArrayReader":21}],23:[function(e,t,r){r.LOCAL_FILE_HEADER="PK",r.CENTRAL_FILE_HEADER="PK",r.CENTRAL_DIRECTORY_END="PK",r.ZIP64_CENTRAL_DIRECTORY_LOCATOR="PK",r.ZIP64_CENTRAL_DIRECTORY_END="PK",r.DATA_DESCRIPTOR="PK\b";},{}],24:[function(e,t,r){var n=e("./GenericWorker"),i=e("../utils");function s(e){n.call(this,"ConvertWorker to "+e),this.destType=e;}i.inherits(s,n),s.prototype.processChunk=function(e){this.push({data:i.transformTo(this.destType,e.data),meta:e.meta});},t.exports=s;},{"../utils":32,"./GenericWorker":28}],25:[function(e,t,r){var n=e("./GenericWorker"),i=e("../crc32");function s(){n.call(this,"Crc32Probe"),this.withStreamInfo("crc32",0);}e("../utils").inherits(s,n),s.prototype.processChunk=function(e){this.streamInfo.crc32=i(e.data,this.streamInfo.crc32||0),this.push(e);},t.exports=s;},{"../crc32":4,"../utils":32,"./GenericWorker":28}],26:[function(e,t,r){var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataLengthProbe for "+e),this.propName=e,this.withStreamInfo(e,0);}n.inherits(s,i),s.prototype.processChunk=function(e){if(e){var t=this.streamInfo[this.propName]||0;this.streamInfo[this.propName]=t+e.data.length;}i.prototype.processChunk.call(this,e);},t.exports=s;},{"../utils":32,"./GenericWorker":28}],27:[function(e,t,r){var n=e("../utils"),i=e("./GenericWorker");function s(e){i.call(this,"DataWorker");var t=this;this.dataIsReady=!1,this.index=0,this.max=0,this.data=null,this.type="",this._tickScheduled=!1,e.then(function(e){t.dataIsReady=!0,t.data=e,t.max=e&&e.length||0,t.type=n.getTypeOf(e),t.isPaused||t._tickAndRepeat();},function(e){t.error(e);});}n.inherits(s,i),s.prototype.cleanUp=function(){i.prototype.cleanUp.call(this),this.data=null;},s.prototype.resume=function(){return !!i.prototype.resume.call(this)&&(!this._tickScheduled&&this.dataIsReady&&(this._tickScheduled=!0,n.delay(this._tickAndRepeat,[],this)),!0)},s.prototype._tickAndRepeat=function(){this._tickScheduled=!1,this.isPaused||this.isFinished||(this._tick(),this.isFinished||(n.delay(this._tickAndRepeat,[],this),this._tickScheduled=!0));},s.prototype._tick=function(){if(this.isPaused||this.isFinished)return !1;var e=null,t=Math.min(this.max,this.index+16384);if(this.index>=this.max)return this.end();switch(this.type){case"string":e=this.data.substring(this.index,t);break;case"uint8array":e=this.data.subarray(this.index,t);break;case"array":case"nodebuffer":e=this.data.slice(this.index,t);}return this.index=t,this.push({data:e,meta:{percent:this.max?this.index/this.max*100:0}})},t.exports=s;},{"../utils":32,"./GenericWorker":28}],28:[function(e,t,r){function n(e){this.name=e||"default",this.streamInfo={},this.generatedError=null,this.extraStreamInfo={},this.isPaused=!0,this.isFinished=!1,this.isLocked=!1,this._listeners={data:[],end:[],error:[]},this.previous=null;}n.prototype={push:function(e){this.emit("data",e);},end:function(){if(this.isFinished)return !1;this.flush();try{this.emit("end"),this.cleanUp(),this.isFinished=!0;}catch(e){this.emit("error",e);}return !0},error:function(e){return !this.isFinished&&(this.isPaused?this.generatedError=e:(this.isFinished=!0,this.emit("error",e),this.previous&&this.previous.error(e),this.cleanUp()),!0)},on:function(e,t){return this._listeners[e].push(t),this},cleanUp:function(){this.streamInfo=this.generatedError=this.extraStreamInfo=null,this._listeners=[];},emit:function(e,t){if(this._listeners[e])for(var r=0;r<this._listeners[e].length;r++)this._listeners[e][r].call(this,t);},pipe:function(e){return e.registerPrevious(this)},registerPrevious:function(e){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.streamInfo=e.streamInfo,this.mergeStreamInfo(),this.previous=e;var t=this;return e.on("data",function(e){t.processChunk(e);}),e.on("end",function(){t.end();}),e.on("error",function(e){t.error(e);}),this},pause:function(){return !this.isPaused&&!this.isFinished&&(this.isPaused=!0,this.previous&&this.previous.pause(),!0)},resume:function(){if(!this.isPaused||this.isFinished)return !1;var e=this.isPaused=!1;return this.generatedError&&(this.error(this.generatedError),e=!0),this.previous&&this.previous.resume(),!e},flush:function(){},processChunk:function(e){this.push(e);},withStreamInfo:function(e,t){return this.extraStreamInfo[e]=t,this.mergeStreamInfo(),this},mergeStreamInfo:function(){for(var e in this.extraStreamInfo)Object.prototype.hasOwnProperty.call(this.extraStreamInfo,e)&&(this.streamInfo[e]=this.extraStreamInfo[e]);},lock:function(){if(this.isLocked)throw new Error("The stream '"+this+"' has already been used.");this.isLocked=!0,this.previous&&this.previous.lock();},toString:function(){var e="Worker "+this.name;return this.previous?this.previous+" -> "+e:e}},t.exports=n;},{}],29:[function(e,t,r){var h=e("../utils"),i=e("./ConvertWorker"),s=e("./GenericWorker"),u=e("../base64"),n=e("../support"),a=e("../external"),o=null;if(n.nodestream)try{o=e("../nodejs/NodejsStreamOutputAdapter");}catch(e){}function l(e,o){return new a.Promise(function(t,r){var n=[],i=e._internalType,s=e._outputType,a=e._mimeType;e.on("data",function(e,t){n.push(e),o&&o(t);}).on("error",function(e){n=[],r(e);}).on("end",function(){try{var e=function(e,t,r){switch(e){case"blob":return h.newBlob(h.transformTo("arraybuffer",t),r);case"base64":return u.encode(t);default:return h.transformTo(e,t)}}(s,function(e,t){var r,n=0,i=null,s=0;for(r=0;r<t.length;r++)s+=t[r].length;switch(e){case"string":return t.join("");case"array":return Array.prototype.concat.apply([],t);case"uint8array":for(i=new Uint8Array(s),r=0;r<t.length;r++)i.set(t[r],n),n+=t[r].length;return i;case"nodebuffer":return Buffer.concat(t);default:throw new Error("concat : unsupported type '"+e+"'")}}(i,n),a);t(e);}catch(e){r(e);}n=[];}).resume();})}function f(e,t,r){var n=t;switch(t){case"blob":case"arraybuffer":n="uint8array";break;case"base64":n="string";}try{this._internalType=n,this._outputType=t,this._mimeType=r,h.checkSupport(n),this._worker=e.pipe(new i(n)),e.lock();}catch(e){this._worker=new s("error"),this._worker.error(e);}}f.prototype={accumulate:function(e){return l(this,e)},on:function(e,t){var r=this;return "data"===e?this._worker.on(e,function(e){t.call(r,e.data,e.meta);}):this._worker.on(e,function(){h.delay(t,arguments,r);}),this},resume:function(){return h.delay(this._worker.resume,[],this._worker),this},pause:function(){return this._worker.pause(),this},toNodejsStream:function(e){if(h.checkSupport("nodestream"),"nodebuffer"!==this._outputType)throw new Error(this._outputType+" is not supported by this method");return new o(this,{objectMode:"nodebuffer"!==this._outputType},e)}},t.exports=f;},{"../base64":1,"../external":6,"../nodejs/NodejsStreamOutputAdapter":13,"../support":30,"../utils":32,"./ConvertWorker":24,"./GenericWorker":28}],30:[function(e,t,r){if(r.base64=!0,r.array=!0,r.string=!0,r.arraybuffer="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array,r.nodebuffer="undefined"!=typeof Buffer,r.uint8array="undefined"!=typeof Uint8Array,"undefined"==typeof ArrayBuffer)r.blob=!1;else {var n=new ArrayBuffer(0);try{r.blob=0===new Blob([n],{type:"application/zip"}).size;}catch(e){try{var i=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);i.append(n),r.blob=0===i.getBlob("application/zip").size;}catch(e){r.blob=!1;}}}try{r.nodestream=!!e("readable-stream").Readable;}catch(e){r.nodestream=!1;}},{"readable-stream":16}],31:[function(e,t,s){for(var o=e("./utils"),h=e("./support"),r=e("./nodejsUtils"),n=e("./stream/GenericWorker"),u=new Array(256),i=0;i<256;i++)u[i]=252<=i?6:248<=i?5:240<=i?4:224<=i?3:192<=i?2:1;u[254]=u[254]=1;function a(){n.call(this,"utf-8 decode"),this.leftOver=null;}function l(){n.call(this,"utf-8 encode");}s.utf8encode=function(e){return h.nodebuffer?r.newBufferFrom(e,"utf-8"):function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=h.uint8array?new Uint8Array(o):new Array(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t}(e)},s.utf8decode=function(e){return h.nodebuffer?o.transformTo("nodebuffer",e).toString("utf-8"):function(e){var t,r,n,i,s=e.length,a=new Array(2*s);for(t=r=0;t<s;)if((n=e[t++])<128)a[r++]=n;else if(4<(i=u[n]))a[r++]=65533,t+=i-1;else {for(n&=2===i?31:3===i?15:7;1<i&&t<s;)n=n<<6|63&e[t++],i--;1<i?a[r++]=65533:n<65536?a[r++]=n:(n-=65536,a[r++]=55296|n>>10&1023,a[r++]=56320|1023&n);}return a.length!==r&&(a.subarray?a=a.subarray(0,r):a.length=r),o.applyFromCharCode(a)}(e=o.transformTo(h.uint8array?"uint8array":"array",e))},o.inherits(a,n),a.prototype.processChunk=function(e){var t=o.transformTo(h.uint8array?"uint8array":"array",e.data);if(this.leftOver&&this.leftOver.length){if(h.uint8array){var r=t;(t=new Uint8Array(r.length+this.leftOver.length)).set(this.leftOver,0),t.set(r,this.leftOver.length);}else t=this.leftOver.concat(t);this.leftOver=null;}var n=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t}(t),i=t;n!==t.length&&(h.uint8array?(i=t.subarray(0,n),this.leftOver=t.subarray(n,t.length)):(i=t.slice(0,n),this.leftOver=t.slice(n,t.length))),this.push({data:s.utf8decode(i),meta:e.meta});},a.prototype.flush=function(){this.leftOver&&this.leftOver.length&&(this.push({data:s.utf8decode(this.leftOver),meta:{}}),this.leftOver=null);},s.Utf8DecodeWorker=a,o.inherits(l,n),l.prototype.processChunk=function(e){this.push({data:s.utf8encode(e.data),meta:e.meta});},s.Utf8EncodeWorker=l;},{"./nodejsUtils":14,"./stream/GenericWorker":28,"./support":30,"./utils":32}],32:[function(e,t,a){var o=e("./support"),h=e("./base64"),r=e("./nodejsUtils"),u=e("./external");function n(e){return e}function l(e,t){for(var r=0;r<e.length;++r)t[r]=255&e.charCodeAt(r);return t}e("setimmediate"),a.newBlob=function(t,r){a.checkSupport("blob");try{return new Blob([t],{type:r})}catch(e){try{var n=new(self.BlobBuilder||self.WebKitBlobBuilder||self.MozBlobBuilder||self.MSBlobBuilder);return n.append(t),n.getBlob(r)}catch(e){throw new Error("Bug : can't construct the Blob.")}}};var i={stringifyByChunk:function(e,t,r){var n=[],i=0,s=e.length;if(s<=r)return String.fromCharCode.apply(null,e);for(;i<s;)"array"===t||"nodebuffer"===t?n.push(String.fromCharCode.apply(null,e.slice(i,Math.min(i+r,s)))):n.push(String.fromCharCode.apply(null,e.subarray(i,Math.min(i+r,s)))),i+=r;return n.join("")},stringifyByChar:function(e){for(var t="",r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},applyCanBeUsed:{uint8array:function(){try{return o.uint8array&&1===String.fromCharCode.apply(null,new Uint8Array(1)).length}catch(e){return !1}}(),nodebuffer:function(){try{return o.nodebuffer&&1===String.fromCharCode.apply(null,r.allocBuffer(1)).length}catch(e){return !1}}()}};function s(e){var t=65536,r=a.getTypeOf(e),n=!0;if("uint8array"===r?n=i.applyCanBeUsed.uint8array:"nodebuffer"===r&&(n=i.applyCanBeUsed.nodebuffer),n)for(;1<t;)try{return i.stringifyByChunk(e,r,t)}catch(e){t=Math.floor(t/2);}return i.stringifyByChar(e)}function f(e,t){for(var r=0;r<e.length;r++)t[r]=e[r];return t}a.applyFromCharCode=s;var c={};c.string={string:n,array:function(e){return l(e,new Array(e.length))},arraybuffer:function(e){return c.string.uint8array(e).buffer},uint8array:function(e){return l(e,new Uint8Array(e.length))},nodebuffer:function(e){return l(e,r.allocBuffer(e.length))}},c.array={string:s,array:n,arraybuffer:function(e){return new Uint8Array(e).buffer},uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(e)}},c.arraybuffer={string:function(e){return s(new Uint8Array(e))},array:function(e){return f(new Uint8Array(e),new Array(e.byteLength))},arraybuffer:n,uint8array:function(e){return new Uint8Array(e)},nodebuffer:function(e){return r.newBufferFrom(new Uint8Array(e))}},c.uint8array={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return e.buffer},uint8array:n,nodebuffer:function(e){return r.newBufferFrom(e)}},c.nodebuffer={string:s,array:function(e){return f(e,new Array(e.length))},arraybuffer:function(e){return c.nodebuffer.uint8array(e).buffer},uint8array:function(e){return f(e,new Uint8Array(e.length))},nodebuffer:n},a.transformTo=function(e,t){if(t=t||"",!e)return t;a.checkSupport(e);var r=a.getTypeOf(t);return c[r][e](t)},a.resolve=function(e){for(var t=e.split("/"),r=[],n=0;n<t.length;n++){var i=t[n];"."===i||""===i&&0!==n&&n!==t.length-1||(".."===i?r.pop():r.push(i));}return r.join("/")},a.getTypeOf=function(e){return "string"==typeof e?"string":"[object Array]"===Object.prototype.toString.call(e)?"array":o.nodebuffer&&r.isBuffer(e)?"nodebuffer":o.uint8array&&e instanceof Uint8Array?"uint8array":o.arraybuffer&&e instanceof ArrayBuffer?"arraybuffer":void 0},a.checkSupport=function(e){if(!o[e.toLowerCase()])throw new Error(e+" is not supported by this platform")},a.MAX_VALUE_16BITS=65535,a.MAX_VALUE_32BITS=-1,a.pretty=function(e){var t,r,n="";for(r=0;r<(e||"").length;r++)n+="\\x"+((t=e.charCodeAt(r))<16?"0":"")+t.toString(16).toUpperCase();return n},a.delay=function(e,t,r){setImmediate(function(){e.apply(r||null,t||[]);});},a.inherits=function(e,t){function r(){}r.prototype=t.prototype,e.prototype=new r;},a.extend=function(){var e,t,r={};for(e=0;e<arguments.length;e++)for(t in arguments[e])Object.prototype.hasOwnProperty.call(arguments[e],t)&&void 0===r[t]&&(r[t]=arguments[e][t]);return r},a.prepareContent=function(r,e,n,i,s){return u.Promise.resolve(e).then(function(n){return o.blob&&(n instanceof Blob||-1!==["[object File]","[object Blob]"].indexOf(Object.prototype.toString.call(n)))&&"undefined"!=typeof FileReader?new u.Promise(function(t,r){var e=new FileReader;e.onload=function(e){t(e.target.result);},e.onerror=function(e){r(e.target.error);},e.readAsArrayBuffer(n);}):n}).then(function(e){var t=a.getTypeOf(e);return t?("arraybuffer"===t?e=a.transformTo("uint8array",e):"string"===t&&(s?e=h.decode(e):n&&!0!==i&&(e=function(e){return l(e,o.uint8array?new Uint8Array(e.length):new Array(e.length))}(e))),e):u.Promise.reject(new Error("Can't read the data of '"+r+"'. Is it in a supported JavaScript type (String, Blob, ArrayBuffer, etc) ?"))})};},{"./base64":1,"./external":6,"./nodejsUtils":14,"./support":30,setimmediate:54}],33:[function(e,t,r){var n=e("./reader/readerFor"),i=e("./utils"),s=e("./signature"),a=e("./zipEntry"),o=e("./support");function h(e){this.files=[],this.loadOptions=e;}h.prototype={checkSignature:function(e){if(!this.reader.readAndCheckSignature(e)){this.reader.index-=4;var t=this.reader.readString(4);throw new Error("Corrupted zip or bug: unexpected signature ("+i.pretty(t)+", expected "+i.pretty(e)+")")}},isSignature:function(e,t){var r=this.reader.index;this.reader.setIndex(e);var n=this.reader.readString(4)===t;return this.reader.setIndex(r),n},readBlockEndOfCentral:function(){this.diskNumber=this.reader.readInt(2),this.diskWithCentralDirStart=this.reader.readInt(2),this.centralDirRecordsOnThisDisk=this.reader.readInt(2),this.centralDirRecords=this.reader.readInt(2),this.centralDirSize=this.reader.readInt(4),this.centralDirOffset=this.reader.readInt(4),this.zipCommentLength=this.reader.readInt(2);var e=this.reader.readData(this.zipCommentLength),t=o.uint8array?"uint8array":"array",r=i.transformTo(t,e);this.zipComment=this.loadOptions.decodeFileName(r);},readBlockZip64EndOfCentral:function(){this.zip64EndOfCentralSize=this.reader.readInt(8),this.reader.skip(4),this.diskNumber=this.reader.readInt(4),this.diskWithCentralDirStart=this.reader.readInt(4),this.centralDirRecordsOnThisDisk=this.reader.readInt(8),this.centralDirRecords=this.reader.readInt(8),this.centralDirSize=this.reader.readInt(8),this.centralDirOffset=this.reader.readInt(8),this.zip64ExtensibleData={};for(var e,t,r,n=this.zip64EndOfCentralSize-44;0<n;)e=this.reader.readInt(2),t=this.reader.readInt(4),r=this.reader.readData(t),this.zip64ExtensibleData[e]={id:e,length:t,value:r};},readBlockZip64EndOfCentralLocator:function(){if(this.diskWithZip64CentralDirStart=this.reader.readInt(4),this.relativeOffsetEndOfZip64CentralDir=this.reader.readInt(8),this.disksCount=this.reader.readInt(4),1<this.disksCount)throw new Error("Multi-volumes zip are not supported")},readLocalFiles:function(){var e,t;for(e=0;e<this.files.length;e++)t=this.files[e],this.reader.setIndex(t.localHeaderOffset),this.checkSignature(s.LOCAL_FILE_HEADER),t.readLocalPart(this.reader),t.handleUTF8(),t.processAttributes();},readCentralDir:function(){var e;for(this.reader.setIndex(this.centralDirOffset);this.reader.readAndCheckSignature(s.CENTRAL_FILE_HEADER);)(e=new a({zip64:this.zip64},this.loadOptions)).readCentralPart(this.reader),this.files.push(e);if(this.centralDirRecords!==this.files.length&&0!==this.centralDirRecords&&0===this.files.length)throw new Error("Corrupted zip or bug: expected "+this.centralDirRecords+" records in central dir, got "+this.files.length)},readEndOfCentral:function(){var e=this.reader.lastIndexOfSignature(s.CENTRAL_DIRECTORY_END);if(e<0)throw !this.isSignature(0,s.LOCAL_FILE_HEADER)?new Error("Can't find end of central directory : is this a zip file ? If it is, see https://stuk.github.io/jszip/documentation/howto/read_zip.html"):new Error("Corrupted zip: can't find end of central directory");this.reader.setIndex(e);var t=e;if(this.checkSignature(s.CENTRAL_DIRECTORY_END),this.readBlockEndOfCentral(),this.diskNumber===i.MAX_VALUE_16BITS||this.diskWithCentralDirStart===i.MAX_VALUE_16BITS||this.centralDirRecordsOnThisDisk===i.MAX_VALUE_16BITS||this.centralDirRecords===i.MAX_VALUE_16BITS||this.centralDirSize===i.MAX_VALUE_32BITS||this.centralDirOffset===i.MAX_VALUE_32BITS){if(this.zip64=!0,(e=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR))<0)throw new Error("Corrupted zip: can't find the ZIP64 end of central directory locator");if(this.reader.setIndex(e),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_LOCATOR),this.readBlockZip64EndOfCentralLocator(),!this.isSignature(this.relativeOffsetEndOfZip64CentralDir,s.ZIP64_CENTRAL_DIRECTORY_END)&&(this.relativeOffsetEndOfZip64CentralDir=this.reader.lastIndexOfSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.relativeOffsetEndOfZip64CentralDir<0))throw new Error("Corrupted zip: can't find the ZIP64 end of central directory");this.reader.setIndex(this.relativeOffsetEndOfZip64CentralDir),this.checkSignature(s.ZIP64_CENTRAL_DIRECTORY_END),this.readBlockZip64EndOfCentral();}var r=this.centralDirOffset+this.centralDirSize;this.zip64&&(r+=20,r+=12+this.zip64EndOfCentralSize);var n=t-r;if(0<n)this.isSignature(t,s.CENTRAL_FILE_HEADER)||(this.reader.zero=n);else if(n<0)throw new Error("Corrupted zip: missing "+Math.abs(n)+" bytes.")},prepareReader:function(e){this.reader=n(e);},load:function(e){this.prepareReader(e),this.readEndOfCentral(),this.readCentralDir(),this.readLocalFiles();}},t.exports=h;},{"./reader/readerFor":22,"./signature":23,"./support":30,"./utils":32,"./zipEntry":34}],34:[function(e,t,r){var n=e("./reader/readerFor"),s=e("./utils"),i=e("./compressedObject"),a=e("./crc32"),o=e("./utf8"),h=e("./compressions"),u=e("./support");function l(e,t){this.options=e,this.loadOptions=t;}l.prototype={isEncrypted:function(){return 1==(1&this.bitFlag)},useUTF8:function(){return 2048==(2048&this.bitFlag)},readLocalPart:function(e){var t,r;if(e.skip(22),this.fileNameLength=e.readInt(2),r=e.readInt(2),this.fileName=e.readData(this.fileNameLength),e.skip(r),-1===this.compressedSize||-1===this.uncompressedSize)throw new Error("Bug or corrupted zip : didn't get enough information from the central directory (compressedSize === -1 || uncompressedSize === -1)");if(null===(t=function(e){for(var t in h)if(Object.prototype.hasOwnProperty.call(h,t)&&h[t].magic===e)return h[t];return null}(this.compressionMethod)))throw new Error("Corrupted zip : compression "+s.pretty(this.compressionMethod)+" unknown (inner file : "+s.transformTo("string",this.fileName)+")");this.decompressed=new i(this.compressedSize,this.uncompressedSize,this.crc32,t,e.readData(this.compressedSize));},readCentralPart:function(e){this.versionMadeBy=e.readInt(2),e.skip(2),this.bitFlag=e.readInt(2),this.compressionMethod=e.readString(2),this.date=e.readDate(),this.crc32=e.readInt(4),this.compressedSize=e.readInt(4),this.uncompressedSize=e.readInt(4);var t=e.readInt(2);if(this.extraFieldsLength=e.readInt(2),this.fileCommentLength=e.readInt(2),this.diskNumberStart=e.readInt(2),this.internalFileAttributes=e.readInt(2),this.externalFileAttributes=e.readInt(4),this.localHeaderOffset=e.readInt(4),this.isEncrypted())throw new Error("Encrypted zip are not supported");e.skip(t),this.readExtraFields(e),this.parseZIP64ExtraField(e),this.fileComment=e.readData(this.fileCommentLength);},processAttributes:function(){this.unixPermissions=null,this.dosPermissions=null;var e=this.versionMadeBy>>8;this.dir=!!(16&this.externalFileAttributes),0==e&&(this.dosPermissions=63&this.externalFileAttributes),3==e&&(this.unixPermissions=this.externalFileAttributes>>16&65535),this.dir||"/"!==this.fileNameStr.slice(-1)||(this.dir=!0);},parseZIP64ExtraField:function(){if(this.extraFields[1]){var e=n(this.extraFields[1].value);this.uncompressedSize===s.MAX_VALUE_32BITS&&(this.uncompressedSize=e.readInt(8)),this.compressedSize===s.MAX_VALUE_32BITS&&(this.compressedSize=e.readInt(8)),this.localHeaderOffset===s.MAX_VALUE_32BITS&&(this.localHeaderOffset=e.readInt(8)),this.diskNumberStart===s.MAX_VALUE_32BITS&&(this.diskNumberStart=e.readInt(4));}},readExtraFields:function(e){var t,r,n,i=e.index+this.extraFieldsLength;for(this.extraFields||(this.extraFields={});e.index+4<i;)t=e.readInt(2),r=e.readInt(2),n=e.readData(r),this.extraFields[t]={id:t,length:r,value:n};e.setIndex(i);},handleUTF8:function(){var e=u.uint8array?"uint8array":"array";if(this.useUTF8())this.fileNameStr=o.utf8decode(this.fileName),this.fileCommentStr=o.utf8decode(this.fileComment);else {var t=this.findExtraFieldUnicodePath();if(null!==t)this.fileNameStr=t;else {var r=s.transformTo(e,this.fileName);this.fileNameStr=this.loadOptions.decodeFileName(r);}var n=this.findExtraFieldUnicodeComment();if(null!==n)this.fileCommentStr=n;else {var i=s.transformTo(e,this.fileComment);this.fileCommentStr=this.loadOptions.decodeFileName(i);}}},findExtraFieldUnicodePath:function(){var e=this.extraFields[28789];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileName)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null},findExtraFieldUnicodeComment:function(){var e=this.extraFields[25461];if(e){var t=n(e.value);return 1!==t.readInt(1)?null:a(this.fileComment)!==t.readInt(4)?null:o.utf8decode(t.readData(e.length-5))}return null}},t.exports=l;},{"./compressedObject":2,"./compressions":3,"./crc32":4,"./reader/readerFor":22,"./support":30,"./utf8":31,"./utils":32}],35:[function(e,t,r){function n(e,t,r){this.name=e,this.dir=r.dir,this.date=r.date,this.comment=r.comment,this.unixPermissions=r.unixPermissions,this.dosPermissions=r.dosPermissions,this._data=t,this._dataBinary=r.binary,this.options={compression:r.compression,compressionOptions:r.compressionOptions};}var s=e("./stream/StreamHelper"),i=e("./stream/DataWorker"),a=e("./utf8"),o=e("./compressedObject"),h=e("./stream/GenericWorker");n.prototype={internalStream:function(e){var t=null,r="string";try{if(!e)throw new Error("No output type specified.");var n="string"===(r=e.toLowerCase())||"text"===r;"binarystring"!==r&&"text"!==r||(r="string"),t=this._decompressWorker();var i=!this._dataBinary;i&&!n&&(t=t.pipe(new a.Utf8EncodeWorker)),!i&&n&&(t=t.pipe(new a.Utf8DecodeWorker));}catch(e){(t=new h("error")).error(e);}return new s(t,r,"")},async:function(e,t){return this.internalStream(e).accumulate(t)},nodeStream:function(e,t){return this.internalStream(e||"nodebuffer").toNodejsStream(t)},_compressWorker:function(e,t){if(this._data instanceof o&&this._data.compression.magic===e.magic)return this._data.getCompressedWorker();var r=this._decompressWorker();return this._dataBinary||(r=r.pipe(new a.Utf8EncodeWorker)),o.createWorkerFrom(r,e,t)},_decompressWorker:function(){return this._data instanceof o?this._data.getContentWorker():this._data instanceof h?this._data:new i(this._data)}};for(var u=["asText","asBinary","asNodeBuffer","asUint8Array","asArrayBuffer"],l=function(){throw new Error("This method has been removed in JSZip 3.0, please check the upgrade guide.")},f=0;f<u.length;f++)n.prototype[u[f]]=l;t.exports=n;},{"./compressedObject":2,"./stream/DataWorker":27,"./stream/GenericWorker":28,"./stream/StreamHelper":29,"./utf8":31}],36:[function(e,l,t){(function(t){var r,n,e=t.MutationObserver||t.WebKitMutationObserver;if(e){var i=0,s=new e(u),a=t.document.createTextNode("");s.observe(a,{characterData:!0}),r=function(){a.data=i=++i%2;};}else if(t.setImmediate||void 0===t.MessageChannel)r="document"in t&&"onreadystatechange"in t.document.createElement("script")?function(){var e=t.document.createElement("script");e.onreadystatechange=function(){u(),e.onreadystatechange=null,e.parentNode.removeChild(e),e=null;},t.document.documentElement.appendChild(e);}:function(){setTimeout(u,0);};else {var o=new t.MessageChannel;o.port1.onmessage=u,r=function(){o.port2.postMessage(0);};}var h=[];function u(){var e,t;n=!0;for(var r=h.length;r;){for(t=h,h=[],e=-1;++e<r;)t[e]();r=h.length;}n=!1;}l.exports=function(e){1!==h.push(e)||n||r();};}).call(this,"undefined"!=typeof commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}],37:[function(e,t,r){var i=e("immediate");function u(){}var l={},s=["REJECTED"],a=["FULFILLED"],n=["PENDING"];function o(e){if("function"!=typeof e)throw new TypeError("resolver must be a function");this.state=n,this.queue=[],this.outcome=void 0,e!==u&&d(this,e);}function h(e,t,r){this.promise=e,"function"==typeof t&&(this.onFulfilled=t,this.callFulfilled=this.otherCallFulfilled),"function"==typeof r&&(this.onRejected=r,this.callRejected=this.otherCallRejected);}function f(t,r,n){i(function(){var e;try{e=r(n);}catch(e){return l.reject(t,e)}e===t?l.reject(t,new TypeError("Cannot resolve promise with itself")):l.resolve(t,e);});}function c(e){var t=e&&e.then;if(e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof t)return function(){t.apply(e,arguments);}}function d(t,e){var r=!1;function n(e){r||(r=!0,l.reject(t,e));}function i(e){r||(r=!0,l.resolve(t,e));}var s=p(function(){e(i,n);});"error"===s.status&&n(s.value);}function p(e,t){var r={};try{r.value=e(t),r.status="success";}catch(e){r.status="error",r.value=e;}return r}(t.exports=o).prototype.finally=function(t){if("function"!=typeof t)return this;var r=this.constructor;return this.then(function(e){return r.resolve(t()).then(function(){return e})},function(e){return r.resolve(t()).then(function(){throw e})})},o.prototype.catch=function(e){return this.then(null,e)},o.prototype.then=function(e,t){if("function"!=typeof e&&this.state===a||"function"!=typeof t&&this.state===s)return this;var r=new this.constructor(u);this.state!==n?f(r,this.state===a?e:t,this.outcome):this.queue.push(new h(r,e,t));return r},h.prototype.callFulfilled=function(e){l.resolve(this.promise,e);},h.prototype.otherCallFulfilled=function(e){f(this.promise,this.onFulfilled,e);},h.prototype.callRejected=function(e){l.reject(this.promise,e);},h.prototype.otherCallRejected=function(e){f(this.promise,this.onRejected,e);},l.resolve=function(e,t){var r=p(c,t);if("error"===r.status)return l.reject(e,r.value);var n=r.value;if(n)d(e,n);else {e.state=a,e.outcome=t;for(var i=-1,s=e.queue.length;++i<s;)e.queue[i].callFulfilled(t);}return e},l.reject=function(e,t){e.state=s,e.outcome=t;for(var r=-1,n=e.queue.length;++r<n;)e.queue[r].callRejected(t);return e},o.resolve=function(e){if(e instanceof this)return e;return l.resolve(new this(u),e)},o.reject=function(e){var t=new this(u);return l.reject(t,e)},o.all=function(e){var r=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var n=e.length,i=!1;if(!n)return this.resolve([]);var s=new Array(n),a=0,t=-1,o=new this(u);for(;++t<n;)h(e[t],t);return o;function h(e,t){r.resolve(e).then(function(e){s[t]=e,++a!==n||i||(i=!0,l.resolve(o,s));},function(e){i||(i=!0,l.reject(o,e));});}},o.race=function(e){var t=this;if("[object Array]"!==Object.prototype.toString.call(e))return this.reject(new TypeError("must be an array"));var r=e.length,n=!1;if(!r)return this.resolve([]);var i=-1,s=new this(u);for(;++i<r;)a=e[i],t.resolve(a).then(function(e){n||(n=!0,l.resolve(s,e));},function(e){n||(n=!0,l.reject(s,e));});var a;return s};},{immediate:36}],38:[function(e,t,r){var n={};(0, e("./lib/utils/common").assign)(n,e("./lib/deflate"),e("./lib/inflate"),e("./lib/zlib/constants")),t.exports=n;},{"./lib/deflate":39,"./lib/inflate":40,"./lib/utils/common":41,"./lib/zlib/constants":44}],39:[function(e,t,r){var a=e("./zlib/deflate"),o=e("./utils/common"),h=e("./utils/strings"),i=e("./zlib/messages"),s=e("./zlib/zstream"),u=Object.prototype.toString,l=0,f=-1,c=0,d=8;function p(e){if(!(this instanceof p))return new p(e);this.options=o.assign({level:f,method:d,chunkSize:16384,windowBits:15,memLevel:8,strategy:c,to:""},e||{});var t=this.options;t.raw&&0<t.windowBits?t.windowBits=-t.windowBits:t.gzip&&0<t.windowBits&&t.windowBits<16&&(t.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new s,this.strm.avail_out=0;var r=a.deflateInit2(this.strm,t.level,t.method,t.windowBits,t.memLevel,t.strategy);if(r!==l)throw new Error(i[r]);if(t.header&&a.deflateSetHeader(this.strm,t.header),t.dictionary){var n;if(n="string"==typeof t.dictionary?h.string2buf(t.dictionary):"[object ArrayBuffer]"===u.call(t.dictionary)?new Uint8Array(t.dictionary):t.dictionary,(r=a.deflateSetDictionary(this.strm,n))!==l)throw new Error(i[r]);this._dict_set=!0;}}function n(e,t){var r=new p(t);if(r.push(e,!0),r.err)throw r.msg||i[r.err];return r.result}p.prototype.push=function(e,t){var r,n,i=this.strm,s=this.options.chunkSize;if(this.ended)return !1;n=t===~~t?t:!0===t?4:0,"string"==typeof e?i.input=h.string2buf(e):"[object ArrayBuffer]"===u.call(e)?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(0===i.avail_out&&(i.output=new o.Buf8(s),i.next_out=0,i.avail_out=s),1!==(r=a.deflate(i,n))&&r!==l)return this.onEnd(r),!(this.ended=!0);0!==i.avail_out&&(0!==i.avail_in||4!==n&&2!==n)||("string"===this.options.to?this.onData(h.buf2binstring(o.shrinkBuf(i.output,i.next_out))):this.onData(o.shrinkBuf(i.output,i.next_out)));}while((0<i.avail_in||0===i.avail_out)&&1!==r);return 4===n?(r=a.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===l):2!==n||(this.onEnd(l),!(i.avail_out=0))},p.prototype.onData=function(e){this.chunks.push(e);},p.prototype.onEnd=function(e){e===l&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg;},r.Deflate=p,r.deflate=n,r.deflateRaw=function(e,t){return (t=t||{}).raw=!0,n(e,t)},r.gzip=function(e,t){return (t=t||{}).gzip=!0,n(e,t)};},{"./utils/common":41,"./utils/strings":42,"./zlib/deflate":46,"./zlib/messages":51,"./zlib/zstream":53}],40:[function(e,t,r){var c=e("./zlib/inflate"),d=e("./utils/common"),p=e("./utils/strings"),m=e("./zlib/constants"),n=e("./zlib/messages"),i=e("./zlib/zstream"),s=e("./zlib/gzheader"),_=Object.prototype.toString;function a(e){if(!(this instanceof a))return new a(e);this.options=d.assign({chunkSize:16384,windowBits:0,to:""},e||{});var t=this.options;t.raw&&0<=t.windowBits&&t.windowBits<16&&(t.windowBits=-t.windowBits,0===t.windowBits&&(t.windowBits=-15)),!(0<=t.windowBits&&t.windowBits<16)||e&&e.windowBits||(t.windowBits+=32),15<t.windowBits&&t.windowBits<48&&0==(15&t.windowBits)&&(t.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new i,this.strm.avail_out=0;var r=c.inflateInit2(this.strm,t.windowBits);if(r!==m.Z_OK)throw new Error(n[r]);this.header=new s,c.inflateGetHeader(this.strm,this.header);}function o(e,t){var r=new a(t);if(r.push(e,!0),r.err)throw r.msg||n[r.err];return r.result}a.prototype.push=function(e,t){var r,n,i,s,a,o,h=this.strm,u=this.options.chunkSize,l=this.options.dictionary,f=!1;if(this.ended)return !1;n=t===~~t?t:!0===t?m.Z_FINISH:m.Z_NO_FLUSH,"string"==typeof e?h.input=p.binstring2buf(e):"[object ArrayBuffer]"===_.call(e)?h.input=new Uint8Array(e):h.input=e,h.next_in=0,h.avail_in=h.input.length;do{if(0===h.avail_out&&(h.output=new d.Buf8(u),h.next_out=0,h.avail_out=u),(r=c.inflate(h,m.Z_NO_FLUSH))===m.Z_NEED_DICT&&l&&(o="string"==typeof l?p.string2buf(l):"[object ArrayBuffer]"===_.call(l)?new Uint8Array(l):l,r=c.inflateSetDictionary(this.strm,o)),r===m.Z_BUF_ERROR&&!0===f&&(r=m.Z_OK,f=!1),r!==m.Z_STREAM_END&&r!==m.Z_OK)return this.onEnd(r),!(this.ended=!0);h.next_out&&(0!==h.avail_out&&r!==m.Z_STREAM_END&&(0!==h.avail_in||n!==m.Z_FINISH&&n!==m.Z_SYNC_FLUSH)||("string"===this.options.to?(i=p.utf8border(h.output,h.next_out),s=h.next_out-i,a=p.buf2string(h.output,i),h.next_out=s,h.avail_out=u-s,s&&d.arraySet(h.output,h.output,i,s,0),this.onData(a)):this.onData(d.shrinkBuf(h.output,h.next_out)))),0===h.avail_in&&0===h.avail_out&&(f=!0);}while((0<h.avail_in||0===h.avail_out)&&r!==m.Z_STREAM_END);return r===m.Z_STREAM_END&&(n=m.Z_FINISH),n===m.Z_FINISH?(r=c.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===m.Z_OK):n!==m.Z_SYNC_FLUSH||(this.onEnd(m.Z_OK),!(h.avail_out=0))},a.prototype.onData=function(e){this.chunks.push(e);},a.prototype.onEnd=function(e){e===m.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=d.flattenChunks(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg;},r.Inflate=a,r.inflate=o,r.inflateRaw=function(e,t){return (t=t||{}).raw=!0,o(e,t)},r.ungzip=o;},{"./utils/common":41,"./utils/strings":42,"./zlib/constants":44,"./zlib/gzheader":47,"./zlib/inflate":49,"./zlib/messages":51,"./zlib/zstream":53}],41:[function(e,t,r){var n="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;r.assign=function(e){for(var t=Array.prototype.slice.call(arguments,1);t.length;){var r=t.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)r.hasOwnProperty(n)&&(e[n]=r[n]);}}return e},r.shrinkBuf=function(e,t){return e.length===t?e:e.subarray?e.subarray(0,t):(e.length=t,e)};var i={arraySet:function(e,t,r,n,i){if(t.subarray&&e.subarray)e.set(t.subarray(r,r+n),i);else for(var s=0;s<n;s++)e[i+s]=t[r+s];},flattenChunks:function(e){var t,r,n,i,s,a;for(t=n=0,r=e.length;t<r;t++)n+=e[t].length;for(a=new Uint8Array(n),t=i=0,r=e.length;t<r;t++)s=e[t],a.set(s,i),i+=s.length;return a}},s={arraySet:function(e,t,r,n,i){for(var s=0;s<n;s++)e[i+s]=t[r+s];},flattenChunks:function(e){return [].concat.apply([],e)}};r.setTyped=function(e){e?(r.Buf8=Uint8Array,r.Buf16=Uint16Array,r.Buf32=Int32Array,r.assign(r,i)):(r.Buf8=Array,r.Buf16=Array,r.Buf32=Array,r.assign(r,s));},r.setTyped(n);},{}],42:[function(e,t,r){var h=e("./common"),i=!0,s=!0;try{String.fromCharCode.apply(null,[0]);}catch(e){i=!1;}try{String.fromCharCode.apply(null,new Uint8Array(1));}catch(e){s=!1;}for(var u=new h.Buf8(256),n=0;n<256;n++)u[n]=252<=n?6:248<=n?5:240<=n?4:224<=n?3:192<=n?2:1;function l(e,t){if(t<65537&&(e.subarray&&s||!e.subarray&&i))return String.fromCharCode.apply(null,h.shrinkBuf(e,t));for(var r="",n=0;n<t;n++)r+=String.fromCharCode(e[n]);return r}u[254]=u[254]=1,r.string2buf=function(e){var t,r,n,i,s,a=e.length,o=0;for(i=0;i<a;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),o+=r<128?1:r<2048?2:r<65536?3:4;for(t=new h.Buf8(o),i=s=0;s<o;i++)55296==(64512&(r=e.charCodeAt(i)))&&i+1<a&&56320==(64512&(n=e.charCodeAt(i+1)))&&(r=65536+(r-55296<<10)+(n-56320),i++),r<128?t[s++]=r:(r<2048?t[s++]=192|r>>>6:(r<65536?t[s++]=224|r>>>12:(t[s++]=240|r>>>18,t[s++]=128|r>>>12&63),t[s++]=128|r>>>6&63),t[s++]=128|63&r);return t},r.buf2binstring=function(e){return l(e,e.length)},r.binstring2buf=function(e){for(var t=new h.Buf8(e.length),r=0,n=t.length;r<n;r++)t[r]=e.charCodeAt(r);return t},r.buf2string=function(e,t){var r,n,i,s,a=t||e.length,o=new Array(2*a);for(r=n=0;r<a;)if((i=e[r++])<128)o[n++]=i;else if(4<(s=u[i]))o[n++]=65533,r+=s-1;else {for(i&=2===s?31:3===s?15:7;1<s&&r<a;)i=i<<6|63&e[r++],s--;1<s?o[n++]=65533:i<65536?o[n++]=i:(i-=65536,o[n++]=55296|i>>10&1023,o[n++]=56320|1023&i);}return l(o,n)},r.utf8border=function(e,t){var r;for((t=t||e.length)>e.length&&(t=e.length),r=t-1;0<=r&&128==(192&e[r]);)r--;return r<0?t:0===r?t:r+u[e[r]]>t?r:t};},{"./common":41}],43:[function(e,t,r){t.exports=function(e,t,r,n){for(var i=65535&e|0,s=e>>>16&65535|0,a=0;0!==r;){for(r-=a=2e3<r?2e3:r;s=s+(i=i+t[n++]|0)|0,--a;);i%=65521,s%=65521;}return i|s<<16|0};},{}],44:[function(e,t,r){t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};},{}],45:[function(e,t,r){var o=function(){for(var e,t=[],r=0;r<256;r++){e=r;for(var n=0;n<8;n++)e=1&e?3988292384^e>>>1:e>>>1;t[r]=e;}return t}();t.exports=function(e,t,r,n){var i=o,s=n+r;e^=-1;for(var a=n;a<s;a++)e=e>>>8^i[255&(e^t[a])];return -1^e};},{}],46:[function(e,t,r){var h,c=e("../utils/common"),u=e("./trees"),d=e("./adler32"),p=e("./crc32"),n=e("./messages"),l=0,f=4,m=0,_=-2,g=-1,b=4,i=2,v=8,y=9,s=286,a=30,o=19,w=2*s+1,k=15,x=3,S=258,z=S+x+1,C=42,E=113,A=1,I=2,O=3,B=4;function R(e,t){return e.msg=n[t],t}function T(e){return (e<<1)-(4<e?9:0)}function D(e){for(var t=e.length;0<=--t;)e[t]=0;}function F(e){var t=e.state,r=t.pending;r>e.avail_out&&(r=e.avail_out),0!==r&&(c.arraySet(e.output,t.pending_buf,t.pending_out,r,e.next_out),e.next_out+=r,t.pending_out+=r,e.total_out+=r,e.avail_out-=r,t.pending-=r,0===t.pending&&(t.pending_out=0));}function N(e,t){u._tr_flush_block(e,0<=e.block_start?e.block_start:-1,e.strstart-e.block_start,t),e.block_start=e.strstart,F(e.strm);}function U(e,t){e.pending_buf[e.pending++]=t;}function P(e,t){e.pending_buf[e.pending++]=t>>>8&255,e.pending_buf[e.pending++]=255&t;}function L(e,t){var r,n,i=e.max_chain_length,s=e.strstart,a=e.prev_length,o=e.nice_match,h=e.strstart>e.w_size-z?e.strstart-(e.w_size-z):0,u=e.window,l=e.w_mask,f=e.prev,c=e.strstart+S,d=u[s+a-1],p=u[s+a];e.prev_length>=e.good_match&&(i>>=2),o>e.lookahead&&(o=e.lookahead);do{if(u[(r=t)+a]===p&&u[r+a-1]===d&&u[r]===u[s]&&u[++r]===u[s+1]){s+=2,r++;do{}while(u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&u[++s]===u[++r]&&s<c);if(n=S-(c-s),s=c-S,a<n){if(e.match_start=t,o<=(a=n))break;d=u[s+a-1],p=u[s+a];}}}while((t=f[t&l])>h&&0!=--i);return a<=e.lookahead?a:e.lookahead}function j(e){var t,r,n,i,s,a,o,h,u,l,f=e.w_size;do{if(i=e.window_size-e.lookahead-e.strstart,e.strstart>=f+(f-z)){for(c.arraySet(e.window,e.window,f,f,0),e.match_start-=f,e.strstart-=f,e.block_start-=f,t=r=e.hash_size;n=e.head[--t],e.head[t]=f<=n?n-f:0,--r;);for(t=r=f;n=e.prev[--t],e.prev[t]=f<=n?n-f:0,--r;);i+=f;}if(0===e.strm.avail_in)break;if(a=e.strm,o=e.window,h=e.strstart+e.lookahead,u=i,l=void 0,l=a.avail_in,u<l&&(l=u),r=0===l?0:(a.avail_in-=l,c.arraySet(o,a.input,a.next_in,l,h),1===a.state.wrap?a.adler=d(a.adler,o,l,h):2===a.state.wrap&&(a.adler=p(a.adler,o,l,h)),a.next_in+=l,a.total_in+=l,l),e.lookahead+=r,e.lookahead+e.insert>=x)for(s=e.strstart-e.insert,e.ins_h=e.window[s],e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+1])&e.hash_mask;e.insert&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[s+x-1])&e.hash_mask,e.prev[s&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=s,s++,e.insert--,!(e.lookahead+e.insert<x)););}while(e.lookahead<z&&0!==e.strm.avail_in)}function Z(e,t){for(var r,n;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!==r&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r)),e.match_length>=x)if(n=u._tr_tally(e,e.strstart-e.match_start,e.match_length-x),e.lookahead-=e.match_length,e.match_length<=e.max_lazy_match&&e.lookahead>=x){for(e.match_length--;e.strstart++,e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart,0!=--e.match_length;);e.strstart++;}else e.strstart+=e.match_length,e.match_length=0,e.ins_h=e.window[e.strstart],e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+1])&e.hash_mask;else n=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++;if(n&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function W(e,t){for(var r,n,i;;){if(e.lookahead<z){if(j(e),e.lookahead<z&&t===l)return A;if(0===e.lookahead)break}if(r=0,e.lookahead>=x&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),e.prev_length=e.match_length,e.prev_match=e.match_start,e.match_length=x-1,0!==r&&e.prev_length<e.max_lazy_match&&e.strstart-r<=e.w_size-z&&(e.match_length=L(e,r),e.match_length<=5&&(1===e.strategy||e.match_length===x&&4096<e.strstart-e.match_start)&&(e.match_length=x-1)),e.prev_length>=x&&e.match_length<=e.prev_length){for(i=e.strstart+e.lookahead-x,n=u._tr_tally(e,e.strstart-1-e.prev_match,e.prev_length-x),e.lookahead-=e.prev_length-1,e.prev_length-=2;++e.strstart<=i&&(e.ins_h=(e.ins_h<<e.hash_shift^e.window[e.strstart+x-1])&e.hash_mask,r=e.prev[e.strstart&e.w_mask]=e.head[e.ins_h],e.head[e.ins_h]=e.strstart),0!=--e.prev_length;);if(e.match_available=0,e.match_length=x-1,e.strstart++,n&&(N(e,!1),0===e.strm.avail_out))return A}else if(e.match_available){if((n=u._tr_tally(e,0,e.window[e.strstart-1]))&&N(e,!1),e.strstart++,e.lookahead--,0===e.strm.avail_out)return A}else e.match_available=1,e.strstart++,e.lookahead--;}return e.match_available&&(n=u._tr_tally(e,0,e.window[e.strstart-1]),e.match_available=0),e.insert=e.strstart<x-1?e.strstart:x-1,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}function M(e,t,r,n,i){this.good_length=e,this.max_lazy=t,this.nice_length=r,this.max_chain=n,this.func=i;}function H(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=v,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new c.Buf16(2*w),this.dyn_dtree=new c.Buf16(2*(2*a+1)),this.bl_tree=new c.Buf16(2*(2*o+1)),D(this.dyn_ltree),D(this.dyn_dtree),D(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new c.Buf16(k+1),this.heap=new c.Buf16(2*s+1),D(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new c.Buf16(2*s+1),D(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0;}function G(e){var t;return e&&e.state?(e.total_in=e.total_out=0,e.data_type=i,(t=e.state).pending=0,t.pending_out=0,t.wrap<0&&(t.wrap=-t.wrap),t.status=t.wrap?C:E,e.adler=2===t.wrap?0:1,t.last_flush=l,u._tr_init(t),m):R(e,_)}function K(e){var t=G(e);return t===m&&function(e){e.window_size=2*e.w_size,D(e.head),e.max_lazy_match=h[e.level].max_lazy,e.good_match=h[e.level].good_length,e.nice_match=h[e.level].nice_length,e.max_chain_length=h[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=x-1,e.match_available=0,e.ins_h=0;}(e.state),t}function Y(e,t,r,n,i,s){if(!e)return _;var a=1;if(t===g&&(t=6),n<0?(a=0,n=-n):15<n&&(a=2,n-=16),i<1||y<i||r!==v||n<8||15<n||t<0||9<t||s<0||b<s)return R(e,_);8===n&&(n=9);var o=new H;return (e.state=o).strm=e,o.wrap=a,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=i+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+x-1)/x),o.window=new c.Buf8(2*o.w_size),o.head=new c.Buf16(o.hash_size),o.prev=new c.Buf16(o.w_size),o.lit_bufsize=1<<i+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new c.Buf8(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=t,o.strategy=s,o.method=r,K(e)}h=[new M(0,0,0,0,function(e,t){var r=65535;for(r>e.pending_buf_size-5&&(r=e.pending_buf_size-5);;){if(e.lookahead<=1){if(j(e),0===e.lookahead&&t===l)return A;if(0===e.lookahead)break}e.strstart+=e.lookahead,e.lookahead=0;var n=e.block_start+r;if((0===e.strstart||e.strstart>=n)&&(e.lookahead=e.strstart-n,e.strstart=n,N(e,!1),0===e.strm.avail_out))return A;if(e.strstart-e.block_start>=e.w_size-z&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):(e.strstart>e.block_start&&(N(e,!1),e.strm.avail_out),A)}),new M(4,4,8,4,Z),new M(4,5,16,8,Z),new M(4,6,32,32,Z),new M(4,4,16,16,W),new M(8,16,32,32,W),new M(8,16,128,128,W),new M(8,32,128,256,W),new M(32,128,258,1024,W),new M(32,258,258,4096,W)],r.deflateInit=function(e,t){return Y(e,t,v,15,8,0)},r.deflateInit2=Y,r.deflateReset=K,r.deflateResetKeep=G,r.deflateSetHeader=function(e,t){return e&&e.state?2!==e.state.wrap?_:(e.state.gzhead=t,m):_},r.deflate=function(e,t){var r,n,i,s;if(!e||!e.state||5<t||t<0)return e?R(e,_):_;if(n=e.state,!e.output||!e.input&&0!==e.avail_in||666===n.status&&t!==f)return R(e,0===e.avail_out?-5:_);if(n.strm=e,r=n.last_flush,n.last_flush=t,n.status===C)if(2===n.wrap)e.adler=0,U(n,31),U(n,139),U(n,8),n.gzhead?(U(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),U(n,255&n.gzhead.time),U(n,n.gzhead.time>>8&255),U(n,n.gzhead.time>>16&255),U(n,n.gzhead.time>>24&255),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(U(n,255&n.gzhead.extra.length),U(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(e.adler=p(e.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(U(n,0),U(n,0),U(n,0),U(n,0),U(n,0),U(n,9===n.level?2:2<=n.strategy||n.level<2?4:0),U(n,3),n.status=E);else {var a=v+(n.w_bits-8<<4)<<8;a|=(2<=n.strategy||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(a|=32),a+=31-a%31,n.status=E,P(n,a),0!==n.strstart&&(P(n,e.adler>>>16),P(n,65535&e.adler)),e.adler=1;}if(69===n.status)if(n.gzhead.extra){for(i=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending!==n.pending_buf_size));)U(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73);}else n.status=73;if(73===n.status)if(n.gzhead.name){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,U(n,s);}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.gzindex=0,n.status=91);}else n.status=91;if(91===n.status)if(n.gzhead.comment){i=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),F(e),i=n.pending,n.pending===n.pending_buf_size)){s=1;break}s=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,U(n,s);}while(0!==s);n.gzhead.hcrc&&n.pending>i&&(e.adler=p(e.adler,n.pending_buf,n.pending-i,i)),0===s&&(n.status=103);}else n.status=103;if(103===n.status&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&F(e),n.pending+2<=n.pending_buf_size&&(U(n,255&e.adler),U(n,e.adler>>8&255),e.adler=0,n.status=E)):n.status=E),0!==n.pending){if(F(e),0===e.avail_out)return n.last_flush=-1,m}else if(0===e.avail_in&&T(t)<=T(r)&&t!==f)return R(e,-5);if(666===n.status&&0!==e.avail_in)return R(e,-5);if(0!==e.avail_in||0!==n.lookahead||t!==l&&666!==n.status){var o=2===n.strategy?function(e,t){for(var r;;){if(0===e.lookahead&&(j(e),0===e.lookahead)){if(t===l)return A;break}if(e.match_length=0,r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++,r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):3===n.strategy?function(e,t){for(var r,n,i,s,a=e.window;;){if(e.lookahead<=S){if(j(e),e.lookahead<=S&&t===l)return A;if(0===e.lookahead)break}if(e.match_length=0,e.lookahead>=x&&0<e.strstart&&(n=a[i=e.strstart-1])===a[++i]&&n===a[++i]&&n===a[++i]){s=e.strstart+S;do{}while(n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&n===a[++i]&&i<s);e.match_length=S-(s-i),e.match_length>e.lookahead&&(e.match_length=e.lookahead);}if(e.match_length>=x?(r=u._tr_tally(e,1,e.match_length-x),e.lookahead-=e.match_length,e.strstart+=e.match_length,e.match_length=0):(r=u._tr_tally(e,0,e.window[e.strstart]),e.lookahead--,e.strstart++),r&&(N(e,!1),0===e.strm.avail_out))return A}return e.insert=0,t===f?(N(e,!0),0===e.strm.avail_out?O:B):e.last_lit&&(N(e,!1),0===e.strm.avail_out)?A:I}(n,t):h[n.level].func(n,t);if(o!==O&&o!==B||(n.status=666),o===A||o===O)return 0===e.avail_out&&(n.last_flush=-1),m;if(o===I&&(1===t?u._tr_align(n):5!==t&&(u._tr_stored_block(n,0,0,!1),3===t&&(D(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),F(e),0===e.avail_out))return n.last_flush=-1,m}return t!==f?m:n.wrap<=0?1:(2===n.wrap?(U(n,255&e.adler),U(n,e.adler>>8&255),U(n,e.adler>>16&255),U(n,e.adler>>24&255),U(n,255&e.total_in),U(n,e.total_in>>8&255),U(n,e.total_in>>16&255),U(n,e.total_in>>24&255)):(P(n,e.adler>>>16),P(n,65535&e.adler)),F(e),0<n.wrap&&(n.wrap=-n.wrap),0!==n.pending?m:1)},r.deflateEnd=function(e){var t;return e&&e.state?(t=e.state.status)!==C&&69!==t&&73!==t&&91!==t&&103!==t&&t!==E&&666!==t?R(e,_):(e.state=null,t===E?R(e,-3):m):_},r.deflateSetDictionary=function(e,t){var r,n,i,s,a,o,h,u,l=t.length;if(!e||!e.state)return _;if(2===(s=(r=e.state).wrap)||1===s&&r.status!==C||r.lookahead)return _;for(1===s&&(e.adler=d(e.adler,t,l,0)),r.wrap=0,l>=r.w_size&&(0===s&&(D(r.head),r.strstart=0,r.block_start=0,r.insert=0),u=new c.Buf8(r.w_size),c.arraySet(u,t,l-r.w_size,r.w_size,0),t=u,l=r.w_size),a=e.avail_in,o=e.next_in,h=e.input,e.avail_in=l,e.next_in=0,e.input=t,j(r);r.lookahead>=x;){for(n=r.strstart,i=r.lookahead-(x-1);r.ins_h=(r.ins_h<<r.hash_shift^r.window[n+x-1])&r.hash_mask,r.prev[n&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=n,n++,--i;);r.strstart=n,r.lookahead=x-1,j(r);}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=x-1,r.match_available=0,e.next_in=o,e.input=h,e.avail_in=a,r.wrap=s,m},r.deflateInfo="pako deflate (from Nodeca project)";},{"../utils/common":41,"./adler32":43,"./crc32":45,"./messages":51,"./trees":52}],47:[function(e,t,r){t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1;};},{}],48:[function(e,t,r){t.exports=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C;r=e.state,n=e.next_in,z=e.input,i=n+(e.avail_in-5),s=e.next_out,C=e.output,a=s-(t-e.avail_out),o=s+(e.avail_out-257),h=r.dmax,u=r.wsize,l=r.whave,f=r.wnext,c=r.window,d=r.hold,p=r.bits,m=r.lencode,_=r.distcode,g=(1<<r.lenbits)-1,b=(1<<r.distbits)-1;e:do{p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=m[d&g];t:for(;;){if(d>>>=y=v>>>24,p-=y,0===(y=v>>>16&255))C[s++]=65535&v;else {if(!(16&y)){if(0==(64&y)){v=m[(65535&v)+(d&(1<<y)-1)];continue t}if(32&y){r.mode=12;break e}e.msg="invalid literal/length code",r.mode=30;break e}w=65535&v,(y&=15)&&(p<y&&(d+=z[n++]<<p,p+=8),w+=d&(1<<y)-1,d>>>=y,p-=y),p<15&&(d+=z[n++]<<p,p+=8,d+=z[n++]<<p,p+=8),v=_[d&b];r:for(;;){if(d>>>=y=v>>>24,p-=y,!(16&(y=v>>>16&255))){if(0==(64&y)){v=_[(65535&v)+(d&(1<<y)-1)];continue r}e.msg="invalid distance code",r.mode=30;break e}if(k=65535&v,p<(y&=15)&&(d+=z[n++]<<p,(p+=8)<y&&(d+=z[n++]<<p,p+=8)),h<(k+=d&(1<<y)-1)){e.msg="invalid distance too far back",r.mode=30;break e}if(d>>>=y,p-=y,(y=s-a)<k){if(l<(y=k-y)&&r.sane){e.msg="invalid distance too far back",r.mode=30;break e}if(S=c,(x=0)===f){if(x+=u-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C;}}else if(f<y){if(x+=u+f-y,(y-=f)<w){for(w-=y;C[s++]=c[x++],--y;);if(x=0,f<w){for(w-=y=f;C[s++]=c[x++],--y;);x=s-k,S=C;}}}else if(x+=f-y,y<w){for(w-=y;C[s++]=c[x++],--y;);x=s-k,S=C;}for(;2<w;)C[s++]=S[x++],C[s++]=S[x++],C[s++]=S[x++],w-=3;w&&(C[s++]=S[x++],1<w&&(C[s++]=S[x++]));}else {for(x=s-k;C[s++]=C[x++],C[s++]=C[x++],C[s++]=C[x++],2<(w-=3););w&&(C[s++]=C[x++],1<w&&(C[s++]=C[x++]));}break}}break}}while(n<i&&s<o);n-=w=p>>3,d&=(1<<(p-=w<<3))-1,e.next_in=n,e.next_out=s,e.avail_in=n<i?i-n+5:5-(n-i),e.avail_out=s<o?o-s+257:257-(s-o),r.hold=d,r.bits=p;};},{}],49:[function(e,t,r){var I=e("../utils/common"),O=e("./adler32"),B=e("./crc32"),R=e("./inffast"),T=e("./inftrees"),D=1,F=2,N=0,U=-2,P=1,n=852,i=592;function L(e){return (e>>>24&255)+(e>>>8&65280)+((65280&e)<<8)+((255&e)<<24)}function s(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new I.Buf16(320),this.work=new I.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0;}function a(e){var t;return e&&e.state?(t=e.state,e.total_in=e.total_out=t.total=0,e.msg="",t.wrap&&(e.adler=1&t.wrap),t.mode=P,t.last=0,t.havedict=0,t.dmax=32768,t.head=null,t.hold=0,t.bits=0,t.lencode=t.lendyn=new I.Buf32(n),t.distcode=t.distdyn=new I.Buf32(i),t.sane=1,t.back=-1,N):U}function o(e){var t;return e&&e.state?((t=e.state).wsize=0,t.whave=0,t.wnext=0,a(e)):U}function h(e,t){var r,n;return e&&e.state?(n=e.state,t<0?(r=0,t=-t):(r=1+(t>>4),t<48&&(t&=15)),t&&(t<8||15<t)?U:(null!==n.window&&n.wbits!==t&&(n.window=null),n.wrap=r,n.wbits=t,o(e))):U}function u(e,t){var r,n;return e?(n=new s,(e.state=n).window=null,(r=h(e,t))!==N&&(e.state=null),r):U}var l,f,c=!0;function j(e){if(c){var t;for(l=new I.Buf32(512),f=new I.Buf32(32),t=0;t<144;)e.lens[t++]=8;for(;t<256;)e.lens[t++]=9;for(;t<280;)e.lens[t++]=7;for(;t<288;)e.lens[t++]=8;for(T(D,e.lens,0,288,l,0,e.work,{bits:9}),t=0;t<32;)e.lens[t++]=5;T(F,e.lens,0,32,f,0,e.work,{bits:5}),c=!1;}e.lencode=l,e.lenbits=9,e.distcode=f,e.distbits=5;}function Z(e,t,r,n){var i,s=e.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new I.Buf8(s.wsize)),n>=s.wsize?(I.arraySet(s.window,t,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n<(i=s.wsize-s.wnext)&&(i=n),I.arraySet(s.window,t,r-n,i,s.wnext),(n-=i)?(I.arraySet(s.window,t,r-n,n,0),s.wnext=n,s.whave=s.wsize):(s.wnext+=i,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=i))),0}r.inflateReset=o,r.inflateReset2=h,r.inflateResetKeep=a,r.inflateInit=function(e){return u(e,15)},r.inflateInit2=u,r.inflate=function(e,t){var r,n,i,s,a,o,h,u,l,f,c,d,p,m,_,g,b,v,y,w,k,x,S,z,C=0,E=new I.Buf8(4),A=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!e||!e.state||!e.output||!e.input&&0!==e.avail_in)return U;12===(r=e.state).mode&&(r.mode=13),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,f=o,c=h,x=N;e:for(;;)switch(r.mode){case P:if(0===r.wrap){r.mode=13;break}for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(2&r.wrap&&35615===u){E[r.check=0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0),l=u=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&u)<<8)+(u>>8))%31){e.msg="incorrect header check",r.mode=30;break}if(8!=(15&u)){e.msg="unknown compression method",r.mode=30;break}if(l-=4,k=8+(15&(u>>>=4)),0===r.wbits)r.wbits=k;else if(k>r.wbits){e.msg="invalid window size",r.mode=30;break}r.dmax=1<<k,e.adler=r.check=1,r.mode=512&u?10:12,l=u=0;break;case 2:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(r.flags=u,8!=(255&r.flags)){e.msg="unknown compression method",r.mode=30;break}if(57344&r.flags){e.msg="unknown header flags set",r.mode=30;break}r.head&&(r.head.text=u>>8&1),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=3;case 3:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}r.head&&(r.head.time=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,E[2]=u>>>16&255,E[3]=u>>>24&255,r.check=B(r.check,E,4,0)),l=u=0,r.mode=4;case 4:for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}r.head&&(r.head.xflags=255&u,r.head.os=u>>8),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0,r.mode=5;case 5:if(1024&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}r.length=u,r.head&&(r.head.extra_len=u),512&r.flags&&(E[0]=255&u,E[1]=u>>>8&255,r.check=B(r.check,E,2,0)),l=u=0;}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(o<(d=r.length)&&(d=o),d&&(r.head&&(k=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),I.arraySet(r.head.extra,n,s,d,k)),512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,r.length-=d),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.name+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===o)break e;for(d=0;k=n[s+d++],r.head&&k&&r.length<65536&&(r.head.comment+=String.fromCharCode(k)),k&&d<o;);if(512&r.flags&&(r.check=B(r.check,n,d,s)),o-=d,s+=d,k)break e}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;l<16;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(u!==(65535&r.check)){e.msg="header crc mismatch",r.mode=30;break}l=u=0;}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),e.adler=r.check=0,r.mode=12;break;case 10:for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}e.adler=r.check=L(u),l=u=0,r.mode=11;case 11:if(0===r.havedict)return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,2;e.adler=r.check=1,r.mode=12;case 12:if(5===t||6===t)break e;case 13:if(r.last){u>>>=7&l,l-=7&l,r.mode=27;break}for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}switch(r.last=1&u,l-=1,3&(u>>>=1)){case 0:r.mode=14;break;case 1:if(j(r),r.mode=20,6!==t)break;u>>>=2,l-=2;break e;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=30;}u>>>=2,l-=2;break;case 14:for(u>>>=7&l,l-=7&l;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if((65535&u)!=(u>>>16^65535)){e.msg="invalid stored block lengths",r.mode=30;break}if(r.length=65535&u,l=u=0,r.mode=15,6===t)break e;case 15:r.mode=16;case 16:if(d=r.length){if(o<d&&(d=o),h<d&&(d=h),0===d)break e;I.arraySet(i,n,s,d,a),o-=d,s+=d,h-=d,a+=d,r.length-=d;break}r.mode=12;break;case 17:for(;l<14;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(r.nlen=257+(31&u),u>>>=5,l-=5,r.ndist=1+(31&u),u>>>=5,l-=5,r.ncode=4+(15&u),u>>>=4,l-=4,286<r.nlen||30<r.ndist){e.msg="too many length or distance symbols",r.mode=30;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;l<3;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}r.lens[A[r.have++]]=7&u,u>>>=3,l-=3;}for(;r.have<19;)r.lens[A[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,S={bits:r.lenbits},x=T(0,r.lens,0,19,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid code lengths set",r.mode=30;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(b<16)u>>>=_,l-=_,r.lens[r.have++]=b;else {if(16===b){for(z=_+2;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(u>>>=_,l-=_,0===r.have){e.msg="invalid bit length repeat",r.mode=30;break}k=r.lens[r.have-1],d=3+(3&u),u>>>=2,l-=2;}else if(17===b){for(z=_+3;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}l-=_,k=0,d=3+(7&(u>>>=_)),u>>>=3,l-=3;}else {for(z=_+7;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}l-=_,k=0,d=11+(127&(u>>>=_)),u>>>=7,l-=7;}if(r.have+d>r.nlen+r.ndist){e.msg="invalid bit length repeat",r.mode=30;break}for(;d--;)r.lens[r.have++]=k;}}if(30===r.mode)break;if(0===r.lens[256]){e.msg="invalid code -- missing end-of-block",r.mode=30;break}if(r.lenbits=9,S={bits:r.lenbits},x=T(D,r.lens,0,r.nlen,r.lencode,0,r.work,S),r.lenbits=S.bits,x){e.msg="invalid literal/lengths set",r.mode=30;break}if(r.distbits=6,r.distcode=r.distdyn,S={bits:r.distbits},x=T(F,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,S),r.distbits=S.bits,x){e.msg="invalid distances set",r.mode=30;break}if(r.mode=20,6===t)break e;case 20:r.mode=21;case 21:if(6<=o&&258<=h){e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,R(e,c),a=e.next_out,i=e.output,h=e.avail_out,s=e.next_in,n=e.input,o=e.avail_in,u=r.hold,l=r.bits,12===r.mode&&(r.back=-1);break}for(r.back=0;g=(C=r.lencode[u&(1<<r.lenbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(g&&0==(240&g)){for(v=_,y=g,w=b;g=(C=r.lencode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}u>>>=v,l-=v,r.back+=v;}if(u>>>=_,l-=_,r.back+=_,r.length=b,0===g){r.mode=26;break}if(32&g){r.back=-1,r.mode=12;break}if(64&g){e.msg="invalid literal/length code",r.mode=30;break}r.extra=15&g,r.mode=22;case 22:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}r.length+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra;}r.was=r.length,r.mode=23;case 23:for(;g=(C=r.distcode[u&(1<<r.distbits)-1])>>>16&255,b=65535&C,!((_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(0==(240&g)){for(v=_,y=g,w=b;g=(C=r.distcode[w+((u&(1<<v+y)-1)>>v)])>>>16&255,b=65535&C,!(v+(_=C>>>24)<=l);){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}u>>>=v,l-=v,r.back+=v;}if(u>>>=_,l-=_,r.back+=_,64&g){e.msg="invalid distance code",r.mode=30;break}r.offset=b,r.extra=15&g,r.mode=24;case 24:if(r.extra){for(z=r.extra;l<z;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}r.offset+=u&(1<<r.extra)-1,u>>>=r.extra,l-=r.extra,r.back+=r.extra;}if(r.offset>r.dmax){e.msg="invalid distance too far back",r.mode=30;break}r.mode=25;case 25:if(0===h)break e;if(d=c-h,r.offset>d){if((d=r.offset-d)>r.whave&&r.sane){e.msg="invalid distance too far back",r.mode=30;break}p=d>r.wnext?(d-=r.wnext,r.wsize-d):r.wnext-d,d>r.length&&(d=r.length),m=r.window;}else m=i,p=a-r.offset,d=r.length;for(h<d&&(d=h),h-=d,r.length-=d;i[a++]=m[p++],--d;);0===r.length&&(r.mode=21);break;case 26:if(0===h)break e;i[a++]=r.length,h--,r.mode=21;break;case 27:if(r.wrap){for(;l<32;){if(0===o)break e;o--,u|=n[s++]<<l,l+=8;}if(c-=h,e.total_out+=c,r.total+=c,c&&(e.adler=r.check=r.flags?B(r.check,i,c,a-c):O(r.check,i,c,a-c)),c=h,(r.flags?u:L(u))!==r.check){e.msg="incorrect data check",r.mode=30;break}l=u=0;}r.mode=28;case 28:if(r.wrap&&r.flags){for(;l<32;){if(0===o)break e;o--,u+=n[s++]<<l,l+=8;}if(u!==(4294967295&r.total)){e.msg="incorrect length check",r.mode=30;break}l=u=0;}r.mode=29;case 29:x=1;break e;case 30:x=-3;break e;case 31:return -4;case 32:default:return U}return e.next_out=a,e.avail_out=h,e.next_in=s,e.avail_in=o,r.hold=u,r.bits=l,(r.wsize||c!==e.avail_out&&r.mode<30&&(r.mode<27||4!==t))&&Z(e,e.output,e.next_out,c-e.avail_out)?(r.mode=31,-4):(f-=e.avail_in,c-=e.avail_out,e.total_in+=f,e.total_out+=c,r.total+=c,r.wrap&&c&&(e.adler=r.check=r.flags?B(r.check,i,c,e.next_out-c):O(r.check,i,c,e.next_out-c)),e.data_type=r.bits+(r.last?64:0)+(12===r.mode?128:0)+(20===r.mode||15===r.mode?256:0),(0==f&&0===c||4===t)&&x===N&&(x=-5),x)},r.inflateEnd=function(e){if(!e||!e.state)return U;var t=e.state;return t.window&&(t.window=null),e.state=null,N},r.inflateGetHeader=function(e,t){var r;return e&&e.state?0==(2&(r=e.state).wrap)?U:((r.head=t).done=!1,N):U},r.inflateSetDictionary=function(e,t){var r,n=t.length;return e&&e.state?0!==(r=e.state).wrap&&11!==r.mode?U:11===r.mode&&O(1,t,n,0)!==r.check?-3:Z(e,t,n,n)?(r.mode=31,-4):(r.havedict=1,N):U},r.inflateInfo="pako inflate (from Nodeca project)";},{"../utils/common":41,"./adler32":43,"./crc32":45,"./inffast":48,"./inftrees":50}],50:[function(e,t,r){var D=e("../utils/common"),F=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],N=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],U=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],P=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(e,t,r,n,i,s,a,o){var h,u,l,f,c,d,p,m,_,g=o.bits,b=0,v=0,y=0,w=0,k=0,x=0,S=0,z=0,C=0,E=0,A=null,I=0,O=new D.Buf16(16),B=new D.Buf16(16),R=null,T=0;for(b=0;b<=15;b++)O[b]=0;for(v=0;v<n;v++)O[t[r+v]]++;for(k=g,w=15;1<=w&&0===O[w];w--);if(w<k&&(k=w),0===w)return i[s++]=20971520,i[s++]=20971520,o.bits=1,0;for(y=1;y<w&&0===O[y];y++);for(k<y&&(k=y),b=z=1;b<=15;b++)if(z<<=1,(z-=O[b])<0)return -1;if(0<z&&(0===e||1!==w))return -1;for(B[1]=0,b=1;b<15;b++)B[b+1]=B[b]+O[b];for(v=0;v<n;v++)0!==t[r+v]&&(a[B[t[r+v]]++]=v);if(d=0===e?(A=R=a,19):1===e?(A=F,I-=257,R=N,T-=257,256):(A=U,R=P,-1),b=y,c=s,S=v=E=0,l=-1,f=(C=1<<(x=k))-1,1===e&&852<C||2===e&&592<C)return 1;for(;;){for(p=b-S,_=a[v]<d?(m=0,a[v]):a[v]>d?(m=R[T+a[v]],A[I+a[v]]):(m=96,0),h=1<<b-S,y=u=1<<x;i[c+(E>>S)+(u-=h)]=p<<24|m<<16|_|0,0!==u;);for(h=1<<b-1;E&h;)h>>=1;if(0!==h?(E&=h-1,E+=h):E=0,v++,0==--O[b]){if(b===w)break;b=t[r+a[v]];}if(k<b&&(E&f)!==l){for(0===S&&(S=k),c+=y,z=1<<(x=b-S);x+S<w&&!((z-=O[x+S])<=0);)x++,z<<=1;if(C+=1<<x,1===e&&852<C||2===e&&592<C)return 1;i[l=E&f]=k<<24|x<<16|c-s|0;}}return 0!==E&&(i[c+E]=b-S<<24|64<<16|0),o.bits=k,0};},{"../utils/common":41}],51:[function(e,t,r){t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};},{}],52:[function(e,t,r){var i=e("../utils/common"),o=0,h=1;function n(e){for(var t=e.length;0<=--t;)e[t]=0;}var s=0,a=29,u=256,l=u+1+a,f=30,c=19,_=2*l+1,g=15,d=16,p=7,m=256,b=16,v=17,y=18,w=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],k=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],x=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],z=new Array(2*(l+2));n(z);var C=new Array(2*f);n(C);var E=new Array(512);n(E);var A=new Array(256);n(A);var I=new Array(a);n(I);var O,B,R,T=new Array(f);function D(e,t,r,n,i){this.static_tree=e,this.extra_bits=t,this.extra_base=r,this.elems=n,this.max_length=i,this.has_stree=e&&e.length;}function F(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t;}function N(e){return e<256?E[e]:E[256+(e>>>7)]}function U(e,t){e.pending_buf[e.pending++]=255&t,e.pending_buf[e.pending++]=t>>>8&255;}function P(e,t,r){e.bi_valid>d-r?(e.bi_buf|=t<<e.bi_valid&65535,U(e,e.bi_buf),e.bi_buf=t>>d-e.bi_valid,e.bi_valid+=r-d):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=r);}function L(e,t,r){P(e,r[2*t],r[2*t+1]);}function j(e,t){for(var r=0;r|=1&e,e>>>=1,r<<=1,0<--t;);return r>>>1}function Z(e,t,r){var n,i,s=new Array(g+1),a=0;for(n=1;n<=g;n++)s[n]=a=a+r[n-1]<<1;for(i=0;i<=t;i++){var o=e[2*i+1];0!==o&&(e[2*i]=j(s[o]++,o));}}function W(e){var t;for(t=0;t<l;t++)e.dyn_ltree[2*t]=0;for(t=0;t<f;t++)e.dyn_dtree[2*t]=0;for(t=0;t<c;t++)e.bl_tree[2*t]=0;e.dyn_ltree[2*m]=1,e.opt_len=e.static_len=0,e.last_lit=e.matches=0;}function M(e){8<e.bi_valid?U(e,e.bi_buf):0<e.bi_valid&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0;}function H(e,t,r,n){var i=2*t,s=2*r;return e[i]<e[s]||e[i]===e[s]&&n[t]<=n[r]}function G(e,t,r){for(var n=e.heap[r],i=r<<1;i<=e.heap_len&&(i<e.heap_len&&H(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!H(t,n,e.heap[i],e.depth));)e.heap[r]=e.heap[i],r=i,i<<=1;e.heap[r]=n;}function K(e,t,r){var n,i,s,a,o=0;if(0!==e.last_lit)for(;n=e.pending_buf[e.d_buf+2*o]<<8|e.pending_buf[e.d_buf+2*o+1],i=e.pending_buf[e.l_buf+o],o++,0===n?L(e,i,t):(L(e,(s=A[i])+u+1,t),0!==(a=w[s])&&P(e,i-=I[s],a),L(e,s=N(--n),r),0!==(a=k[s])&&P(e,n-=T[s],a)),o<e.last_lit;);L(e,m,t);}function Y(e,t){var r,n,i,s=t.dyn_tree,a=t.stat_desc.static_tree,o=t.stat_desc.has_stree,h=t.stat_desc.elems,u=-1;for(e.heap_len=0,e.heap_max=_,r=0;r<h;r++)0!==s[2*r]?(e.heap[++e.heap_len]=u=r,e.depth[r]=0):s[2*r+1]=0;for(;e.heap_len<2;)s[2*(i=e.heap[++e.heap_len]=u<2?++u:0)]=1,e.depth[i]=0,e.opt_len--,o&&(e.static_len-=a[2*i+1]);for(t.max_code=u,r=e.heap_len>>1;1<=r;r--)G(e,s,r);for(i=h;r=e.heap[1],e.heap[1]=e.heap[e.heap_len--],G(e,s,1),n=e.heap[1],e.heap[--e.heap_max]=r,e.heap[--e.heap_max]=n,s[2*i]=s[2*r]+s[2*n],e.depth[i]=(e.depth[r]>=e.depth[n]?e.depth[r]:e.depth[n])+1,s[2*r+1]=s[2*n+1]=i,e.heap[1]=i++,G(e,s,1),2<=e.heap_len;);e.heap[--e.heap_max]=e.heap[1],function(e,t){var r,n,i,s,a,o,h=t.dyn_tree,u=t.max_code,l=t.stat_desc.static_tree,f=t.stat_desc.has_stree,c=t.stat_desc.extra_bits,d=t.stat_desc.extra_base,p=t.stat_desc.max_length,m=0;for(s=0;s<=g;s++)e.bl_count[s]=0;for(h[2*e.heap[e.heap_max]+1]=0,r=e.heap_max+1;r<_;r++)p<(s=h[2*h[2*(n=e.heap[r])+1]+1]+1)&&(s=p,m++),h[2*n+1]=s,u<n||(e.bl_count[s]++,a=0,d<=n&&(a=c[n-d]),o=h[2*n],e.opt_len+=o*(s+a),f&&(e.static_len+=o*(l[2*n+1]+a)));if(0!==m){do{for(s=p-1;0===e.bl_count[s];)s--;e.bl_count[s]--,e.bl_count[s+1]+=2,e.bl_count[p]--,m-=2;}while(0<m);for(s=p;0!==s;s--)for(n=e.bl_count[s];0!==n;)u<(i=e.heap[--r])||(h[2*i+1]!==s&&(e.opt_len+=(s-h[2*i+1])*h[2*i],h[2*i+1]=s),n--);}}(e,t),Z(s,u,e.bl_count);}function X(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),t[2*(r+1)+1]=65535,n=0;n<=r;n++)i=a,a=t[2*(n+1)+1],++o<h&&i===a||(o<u?e.bl_tree[2*i]+=o:0!==i?(i!==s&&e.bl_tree[2*i]++,e.bl_tree[2*b]++):o<=10?e.bl_tree[2*v]++:e.bl_tree[2*y]++,s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4));}function V(e,t,r){var n,i,s=-1,a=t[1],o=0,h=7,u=4;for(0===a&&(h=138,u=3),n=0;n<=r;n++)if(i=a,a=t[2*(n+1)+1],!(++o<h&&i===a)){if(o<u)for(;L(e,i,e.bl_tree),0!=--o;);else 0!==i?(i!==s&&(L(e,i,e.bl_tree),o--),L(e,b,e.bl_tree),P(e,o-3,2)):o<=10?(L(e,v,e.bl_tree),P(e,o-3,3)):(L(e,y,e.bl_tree),P(e,o-11,7));s=i,u=(o=0)===a?(h=138,3):i===a?(h=6,3):(h=7,4);}}n(T);var q=!1;function J(e,t,r,n){P(e,(s<<1)+(n?1:0),3),function(e,t,r,n){M(e),n&&(U(e,r),U(e,~r)),i.arraySet(e.pending_buf,e.window,t,r,e.pending),e.pending+=r;}(e,t,r,!0);}r._tr_init=function(e){q||(function(){var e,t,r,n,i,s=new Array(g+1);for(n=r=0;n<a-1;n++)for(I[n]=r,e=0;e<1<<w[n];e++)A[r++]=n;for(A[r-1]=n,n=i=0;n<16;n++)for(T[n]=i,e=0;e<1<<k[n];e++)E[i++]=n;for(i>>=7;n<f;n++)for(T[n]=i<<7,e=0;e<1<<k[n]-7;e++)E[256+i++]=n;for(t=0;t<=g;t++)s[t]=0;for(e=0;e<=143;)z[2*e+1]=8,e++,s[8]++;for(;e<=255;)z[2*e+1]=9,e++,s[9]++;for(;e<=279;)z[2*e+1]=7,e++,s[7]++;for(;e<=287;)z[2*e+1]=8,e++,s[8]++;for(Z(z,l+1,s),e=0;e<f;e++)C[2*e+1]=5,C[2*e]=j(e,5);O=new D(z,w,u+1,l,g),B=new D(C,k,0,f,g),R=new D(new Array(0),x,0,c,p);}(),q=!0),e.l_desc=new F(e.dyn_ltree,O),e.d_desc=new F(e.dyn_dtree,B),e.bl_desc=new F(e.bl_tree,R),e.bi_buf=0,e.bi_valid=0,W(e);},r._tr_stored_block=J,r._tr_flush_block=function(e,t,r,n){var i,s,a=0;0<e.level?(2===e.strm.data_type&&(e.strm.data_type=function(e){var t,r=4093624447;for(t=0;t<=31;t++,r>>>=1)if(1&r&&0!==e.dyn_ltree[2*t])return o;if(0!==e.dyn_ltree[18]||0!==e.dyn_ltree[20]||0!==e.dyn_ltree[26])return h;for(t=32;t<u;t++)if(0!==e.dyn_ltree[2*t])return h;return o}(e)),Y(e,e.l_desc),Y(e,e.d_desc),a=function(e){var t;for(X(e,e.dyn_ltree,e.l_desc.max_code),X(e,e.dyn_dtree,e.d_desc.max_code),Y(e,e.bl_desc),t=c-1;3<=t&&0===e.bl_tree[2*S[t]+1];t--);return e.opt_len+=3*(t+1)+5+5+4,t}(e),i=e.opt_len+3+7>>>3,(s=e.static_len+3+7>>>3)<=i&&(i=s)):i=s=r+5,r+4<=i&&-1!==t?J(e,t,r,n):4===e.strategy||s===i?(P(e,2+(n?1:0),3),K(e,z,C)):(P(e,4+(n?1:0),3),function(e,t,r,n){var i;for(P(e,t-257,5),P(e,r-1,5),P(e,n-4,4),i=0;i<n;i++)P(e,e.bl_tree[2*S[i]+1],3);V(e,e.dyn_ltree,t-1),V(e,e.dyn_dtree,r-1);}(e,e.l_desc.max_code+1,e.d_desc.max_code+1,a+1),K(e,e.dyn_ltree,e.dyn_dtree)),W(e),n&&M(e);},r._tr_tally=function(e,t,r){return e.pending_buf[e.d_buf+2*e.last_lit]=t>>>8&255,e.pending_buf[e.d_buf+2*e.last_lit+1]=255&t,e.pending_buf[e.l_buf+e.last_lit]=255&r,e.last_lit++,0===t?e.dyn_ltree[2*r]++:(e.matches++,t--,e.dyn_ltree[2*(A[r]+u+1)]++,e.dyn_dtree[2*N(t)]++),e.last_lit===e.lit_bufsize-1},r._tr_align=function(e){P(e,2,3),L(e,m,z),function(e){16===e.bi_valid?(U(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):8<=e.bi_valid&&(e.pending_buf[e.pending++]=255&e.bi_buf,e.bi_buf>>=8,e.bi_valid-=8);}(e);};},{"../utils/common":41}],53:[function(e,t,r){t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0;};},{}],54:[function(e,t,r){(function(e){!function(r,n){if(!r.setImmediate){var i,s,t,a,o=1,h={},u=!1,l=r.document,e=Object.getPrototypeOf&&Object.getPrototypeOf(r);e=e&&e.setTimeout?e:r,i="[object process]"==={}.toString.call(r.process)?function(e){process.nextTick(function(){c(e);});}:function(){if(r.postMessage&&!r.importScripts){var e=!0,t=r.onmessage;return r.onmessage=function(){e=!1;},r.postMessage("","*"),r.onmessage=t,e}}()?(a="setImmediate$"+Math.random()+"$",r.addEventListener?r.addEventListener("message",d,!1):r.attachEvent("onmessage",d),function(e){r.postMessage(a+e,"*");}):r.MessageChannel?((t=new MessageChannel).port1.onmessage=function(e){c(e.data);},function(e){t.port2.postMessage(e);}):l&&"onreadystatechange"in l.createElement("script")?(s=l.documentElement,function(e){var t=l.createElement("script");t.onreadystatechange=function(){c(e),t.onreadystatechange=null,s.removeChild(t),t=null;},s.appendChild(t);}):function(e){setTimeout(c,0,e);},e.setImmediate=function(e){"function"!=typeof e&&(e=new Function(""+e));for(var t=new Array(arguments.length-1),r=0;r<t.length;r++)t[r]=arguments[r+1];var n={callback:e,args:t};return h[o]=n,i(o),o++},e.clearImmediate=f;}function f(e){delete h[e];}function c(e){if(u)setTimeout(c,0,e);else {var t=h[e];if(t){u=!0;try{!function(e){var t=e.callback,r=e.args;switch(r.length){case 0:t();break;case 1:t(r[0]);break;case 2:t(r[0],r[1]);break;case 3:t(r[0],r[1],r[2]);break;default:t.apply(n,r);}}(t);}finally{f(e),u=!1;}}}}function d(e){e.source===r&&"string"==typeof e.data&&0===e.data.indexOf(a)&&c(+e.data.slice(a.length));}}("undefined"==typeof self?void 0===e?this:e:self);}).call(this,"undefined"!=typeof commonjsGlobal?commonjsGlobal:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{});},{}]},{},[10])(10)}); 
+} (jszip_min, jszip_min.exports));
+
+var jszip_minExports = jszip_min.exports;
+
+/**
+ * Download a zip file from a url and return the bytes of the file as an ArrayBuffer.
+ * @param url String url of the zip file to download.
+ * @returns ArrayBuffer of the zip file.
+ */
+const downloadZipFile = (url) => __awaiter(void 0, void 0, void 0, function* () {
+    const fetched = yield obsidian.requestUrl({ url });
+    const bytes = fetched.arrayBuffer;
+    return bytes;
+});
+/**
+ * Transforms a JSZip file into a File object.
+ * @param file JSZip file to transform.
+ * @returns File object of the JSZip file.
+ */
+const getFileFromJSZipFile = (file) => __awaiter(void 0, void 0, void 0, function* () {
+    const fileData = yield file.async('blob');
+    const filename = file.name.split('/').pop();
+    return new File([fileData], filename);
+});
+/**
+ * Read a zip file and return the files inside it.
+ * @param bytes ArrayBuffer of the zip file.
+ * @param extraPath String path to filter the files inside the zip file. This can be used
+ * to set an extra path (like a directory inside the zip file) to filter the files.
+ * @returns Array of loaded files inside the zip file.
+ */
+const readZipFile = (bytes_1, ...args_1) => __awaiter(void 0, [bytes_1, ...args_1], void 0, function* (bytes, extraPath = '') {
+    const unzippedFiles = yield jszip_minExports.loadAsync(bytes);
+    return Promise.resolve(unzippedFiles).then((unzipped) => {
+        if (!Object.keys(unzipped.files).length) {
+            return Promise.reject('No file was found');
+        }
+        const files = [];
+        // Regex for retrieving the files inside the zip file or inside the directory of a
+        // zip file.
+        const regex = new RegExp(extraPath + '(.+)\\.svg', 'g');
+        Object.entries(unzippedFiles.files).forEach(([_, v]) => {
+            const matched = v.name.match(regex);
+            if (!v.dir && matched && matched.length > 0) {
+                files.push(v);
+            }
+        });
+        return files;
+    });
+});
+
+const PLUGIN_NAME = 'iconize';
+const TITLE_ICON_CLASS = 'iconize-title-icon';
+const INLINE_TITLE_WRAPPER_CLASS = 'iconize-inline-title-wrapper';
+/**
+ * The name of the attribute that is used to store the icon name in the node.
+ * The value of this attributes contains the prefix and the name of the icon.
+ */
+const ICON_ATTRIBUTE_NAME = 'data-icon';
+var config = {
+    PLUGIN_NAME,
+    TITLE_ICON_CLASS,
+    INLINE_TITLE_WRAPPER_CLASS,
+    ICON_ATTRIBUTE_NAME,
+};
+
+var LoggerPrefix;
+(function (LoggerPrefix) {
+    LoggerPrefix["Outline"] = "Outline";
+})(LoggerPrefix || (LoggerPrefix = {}));
+class ConsoleLogger {
+    constructor(projectPrefix, enabled = false) {
+        this.logLevels = {
+            log: { label: 'LOG:' },
+            info: { label: 'INFO:' },
+            warn: { label: 'WARN:' },
+            error: { label: 'ERROR:' },
+        };
+        this.projectPrefix = projectPrefix;
+        this.enabled = enabled;
+    }
+    formatMessage(level, message, prefix, optionalParams) {
+        const timestamp = new Date().toISOString();
+        const { label } = this.logLevels[level];
+        const prefixAsStr = !prefix ? '' : `/${prefix}`;
+        return [
+            `${this.projectPrefix}${prefixAsStr}: [${timestamp}] ${label} ${message}`,
+            ...optionalParams,
+        ];
+    }
+    log(message, prefix, ...optionalParams) {
+        if (this.enabled) {
+            console.log(...this.formatMessage('log', message, prefix, optionalParams));
+        }
+    }
+    info(message, prefix, ...optionalParams) {
+        if (this.enabled) {
+            console.info(...this.formatMessage('info', message, prefix, optionalParams));
+        }
+    }
+    warn(message, prefix, ...optionalParams) {
+        if (this.enabled) {
+            console.warn(...this.formatMessage('warn', message, prefix, optionalParams));
+        }
+    }
+    error(message, prefix, ...optionalParams) {
+        if (this.enabled) {
+            console.error(...this.formatMessage('error', message, prefix, optionalParams));
+        }
+    }
+    toggleLogging(enabled) {
+        this.enabled = enabled;
+    }
+}
+const logger = new ConsoleLogger(config.PLUGIN_NAME);
+
+const LUCIDE_ICON_PACK_NAME = 'lucide-icons';
+let path;
+const getPath = () => {
+    return path;
+};
+const setPath = (newPath) => {
+    if (newPath === 'plugins/obsidian-icon-folder/icons') {
+        newPath = '.obsidian/plugins/obsidian-icon-folder/icons';
+        new obsidian.Notice(`[${config.PLUGIN_NAME}] Due to a change in version v1.2.2, the icon pack folder changed. Please change it in the settings to not be directly in /plugins.`, 8000);
+    }
+    path = newPath;
+};
+let preloadedIcons = [];
+const getPreloadedIcons = () => {
+    return preloadedIcons;
+};
+const resetPreloadedIcons = () => {
+    preloadedIcons = [];
+};
+let iconPacks = [];
+const addLucideIconsPack = (plugin) => {
+    iconPacks.push({
+        name: LUCIDE_ICON_PACK_NAME,
+        prefix: 'Li',
+        custom: false,
+        icons: plugin.doesUseNativeLucideIconPack()
+            ? obsidian.getIconIds()
+                .map((iconId) => iconId.replace(/^lucide-/, ''))
+                .map((iconId) => {
+                const iconEl = obsidian.getIcon(iconId);
+                iconEl.removeClass('svg-icon'); // Removes native `svg-icon` class.
+                return {
+                    name: getNormalizedName(iconId),
+                    filename: iconId,
+                    prefix: 'Li',
+                    svgElement: iconEl === null || iconEl === void 0 ? void 0 : iconEl.outerHTML,
+                    svgContent: iconEl === null || iconEl === void 0 ? void 0 : iconEl.innerHTML,
+                    svgViewbox: '',
+                    iconPackName: LUCIDE_ICON_PACK_NAME,
+                };
+            })
+            : [],
+    });
+};
+const addCustomLucideIconPack = (plugin) => __awaiter(void 0, void 0, void 0, function* () {
+    const iconPackIndex = iconPacks.findIndex((iconPack) => iconPack.name === LUCIDE_ICON_PACK_NAME);
+    if (iconPackIndex > -1) {
+        iconPacks.splice(iconPackIndex);
+    }
+    const iconPack = iconPacks$1['lucide'];
+    const arrayBuffer = yield downloadZipFile(iconPack.downloadLink);
+    yield createZipFile(plugin, `${iconPack.name}.zip`, arrayBuffer);
+    yield registerIconPack(iconPack.name, arrayBuffer);
+});
+const removeCustomLucideIconPack = (plugin) => __awaiter(void 0, void 0, void 0, function* () {
+    const iconPackIndex = iconPacks.findIndex((iconPack) => iconPack.name === LUCIDE_ICON_PACK_NAME);
+    if (iconPackIndex > -1) {
+        iconPacks.splice(iconPackIndex);
+    }
+    yield deleteIconPack(plugin, LUCIDE_ICON_PACK_NAME);
+});
+const moveIconPackDirectories = (plugin, from, to) => __awaiter(void 0, void 0, void 0, function* () {
+    // Tries to move all icon packs to the new folder.
+    for (let i = 0; i < iconPacks.length; i++) {
+        const iconPack = iconPacks[i];
+        if (yield plugin.app.vault.adapter.exists(`${from}/${iconPack.name}`)) {
+            // Tries to create a new directory in the new path.
+            const doesDirExist = yield createDirectory(plugin, iconPack.name);
+            if (doesDirExist) {
+                new obsidian.Notice(`Directory with name ${iconPack.name} already exists.`);
+                continue;
+            }
+        }
+        new obsidian.Notice(`Moving ${iconPack.name}...`);
+        // Move the zip file.
+        if (yield plugin.app.vault.adapter.exists(`${from}/${iconPack.name}.zip`)) {
+            yield plugin.app.vault.adapter.copy(`${from}/${iconPack.name}.zip`, `${to}/${iconPack.name}.zip`);
+        }
+        // Move all other files inside of the iconpack directory.
+        const filesInDirectory = yield getFilesInDirectory(plugin, `${from}/${iconPack.name}`);
+        for (const file of filesInDirectory) {
+            const fileName = file.split('/').pop();
+            yield plugin.app.vault.adapter.copy(`${from}/${iconPack.name}/${fileName}`, `${to}/${iconPack.name}/${fileName}`);
+        }
+        new obsidian.Notice(`...moved ${iconPack.name}`);
+    }
+    // Removes all the existing icon packs in the `from` directory.
+    for (let i = 0; i < iconPacks.length; i++) {
+        const iconPack = iconPacks[i];
+        if (yield plugin.app.vault.adapter.exists(`${from}/${iconPack.name}`)) {
+            yield plugin.app.vault.adapter.rmdir(`${from}/${iconPack.name}`, true);
+        }
+    }
+    // Remove root directory that contains all the icon packs.
+    if (!to.startsWith(from)) {
+        yield plugin.app.vault.adapter.rmdir(`${from}`, true);
+    }
+});
+const createCustomIconPackDirectory = (plugin, dir) => __awaiter(void 0, void 0, void 0, function* () {
+    yield createDirectory(plugin, dir);
+    const prefix = createIconPackPrefix(dir);
+    iconPacks.push({ name: dir, icons: [], prefix, custom: true });
+});
+const deleteIconPack = (plugin, dir) => __awaiter(void 0, void 0, void 0, function* () {
+    iconPacks = iconPacks.filter((iconPack) => iconPack.name !== dir);
+    // Check for the icon pack directory and delete it.
+    if (yield plugin.app.vault.adapter.exists(`${path}/${dir}`)) {
+        yield plugin.app.vault.adapter.rmdir(`${path}/${dir}`, true);
+    }
+    // Check for the icon pack zip file and delete it.
+    if (yield plugin.app.vault.adapter.exists(`${path}/${dir}.zip`)) {
+        yield plugin.app.vault.adapter.remove(`${path}/${dir}.zip`);
+    }
+});
+const doesIconPackExist = (plugin, iconPackName) => {
+    return plugin.app.vault.adapter.exists(`${path}/${iconPackName}`);
+};
+const createDirectory = (plugin, dir) => __awaiter(void 0, void 0, void 0, function* () {
+    const doesDirExist = yield plugin.app.vault.adapter.exists(`${path}/${dir}`);
+    if (!doesDirExist) {
+        yield plugin.app.vault.adapter.mkdir(`${path}/${dir}`);
+    }
+    return doesDirExist;
+});
+const getNormalizedName = (s) => {
+    return s
+        .split(/[ -]|[ _]/g)
+        .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
+        .join('');
+};
+// export const normalizeFileName = async (plugin: Plugin, oldPath: string) => {
+//   const fileName = oldPath.split('/').pop();
+//   const newPath = oldPath.substring(0, oldPath.indexOf(fileName)) + getNormalizedName(fileName);
+//   await plugin.app.vault.adapter.rename(oldPath, newPath);
+// };
+const createZipFile = (plugin, filename, buffer) => __awaiter(void 0, void 0, void 0, function* () {
+    yield plugin.app.vault.adapter.writeBinary(`${path}/${filename}`, buffer);
+});
+const createFile = (plugin, iconPackName, filename, content, absoluteFilename) => __awaiter(void 0, void 0, void 0, function* () {
+    const normalizedFilename = getNormalizedName(filename);
+    const exists = yield plugin.app.vault.adapter.exists(`${path}/${iconPackName}/${normalizedFilename}`);
+    if (exists) {
+        const folderSplit = absoluteFilename.split('/');
+        if (folderSplit.length >= 2) {
+            const folderName = folderSplit[folderSplit.length - 2];
+            const newFilename = folderName + normalizedFilename;
+            yield plugin.app.vault.adapter.write(`${path}/${iconPackName}/${newFilename}`, content);
+            logger.info(`Renamed old file ${normalizedFilename} to ${newFilename} due to duplication`);
+            new obsidian.Notice(`[${config.PLUGIN_NAME}] Renamed ${normalizedFilename} to ${newFilename} to avoid duplication.`, 8000);
+        }
+        else {
+            logger.warn(`Could not create icons with duplicated file names (file name: ${normalizedFilename})`);
+            new obsidian.Notice(`[${config.PLUGIN_NAME}] Could not create duplicated icon name (${normalizedFilename})`, 8000);
+        }
+    }
+    else {
+        yield plugin.app.vault.adapter.write(`${path}/${iconPackName}/${normalizedFilename}`, content);
+    }
+});
+const createDefaultDirectory = (plugin) => __awaiter(void 0, void 0, void 0, function* () {
+    yield createDirectory(plugin, '');
+});
+const getAllIconPacks = () => {
+    return iconPacks;
+};
+const getFilesInDirectory = (plugin, dir) => __awaiter(void 0, void 0, void 0, function* () {
+    if (!(yield plugin.app.vault.adapter.exists(dir))) {
+        return [];
+    }
+    return (yield plugin.app.vault.adapter.list(dir)).files;
+});
+const validIconName = /^[(A-Z)|(0-9)]/;
+const svgViewboxRegex = /viewBox="([^"]*)"/g;
+const svgContentRegex = /<svg.*>(.*?)<\/svg>/g;
+const generateIcon = (iconPackName, iconName, content) => {
+    if (content.length === 0) {
+        return;
+    }
+    content = content.replace(/(\r\n|\n|\r)/gm, '');
+    content = content.replace(/>\s+</gm, '><');
+    const normalizedName = iconName.charAt(0).toUpperCase() + iconName.substring(1);
+    if (!validIconName.exec(normalizedName)) {
+        logger.info(`Skipping icon with invalid name: ${iconName}`);
+        return null;
+    }
+    const svgViewboxMatch = content.match(svgViewboxRegex);
+    let svgViewbox = '';
+    if (svgViewboxMatch && svgViewboxMatch.length !== 0) {
+        svgViewbox = svgViewboxMatch[0];
+    }
+    const svgContentMatch = content.match(svgContentRegex);
+    if (!svgContentMatch) {
+        logger.info(`Skipping icon with invalid svg content: ${iconName}`);
+        return null;
+    }
+    const svgContent = svgContentMatch.map((val) => val.replace(/<\/?svg>/g, '').replace(/<svg.+?>/g, ''))[0];
+    const iconPackPrefix = createIconPackPrefix(iconPackName);
+    const icon = {
+        name: normalizedName.split('.svg')[0],
+        prefix: iconPackPrefix,
+        iconPackName,
+        filename: iconName,
+        svgContent,
+        svgViewbox,
+        svgElement: svg.extract(content),
+    };
+    return icon;
+};
+const createIconPackPrefix = (iconPackName) => {
+    if (iconPackName.includes('-')) {
+        const splitted = iconPackName.split('-');
+        let result = splitted[0].charAt(0).toUpperCase();
+        for (let i = 1; i < splitted.length; i++) {
+            result += splitted[i].charAt(0).toLowerCase();
+        }
+        return result;
+    }
+    return (iconPackName.charAt(0).toUpperCase() + iconPackName.charAt(1).toLowerCase());
+};
+const loadUsedIcons = (plugin, icons) => __awaiter(void 0, void 0, void 0, function* () {
+    const iconPacks = (yield listPath(plugin)).folders.map((iconPack) => iconPack.split('/').pop());
+    if (plugin.doesUseNativeLucideIconPack()) {
+        iconPacks.push(LUCIDE_ICON_PACK_NAME);
+    }
+    for (let i = 0; i < icons.length; i++) {
+        const entry = icons[i];
+        if (!entry) {
+            continue;
+        }
+        yield loadIcon(plugin, iconPacks, entry);
+    }
+});
+const listPath = (plugin, listPath) => {
+    return plugin.app.vault.adapter.list(listPath !== null && listPath !== void 0 ? listPath : path);
+};
+const getIconPackNameByPrefix = (prefix) => {
+    var _a;
+    return (_a = iconPacks.find((iconPack) => iconPack.prefix === prefix)) === null || _a === void 0 ? void 0 : _a.name;
+};
+const nextIdentifier = (iconName) => {
+    return iconName.substring(1).search(/[(A-Z)|(0-9)]/) + 1;
+};
+const loadIcon = (plugin, iconPackNames, iconName) => __awaiter(void 0, void 0, void 0, function* () {
+    const nextLetter = nextIdentifier(iconName);
+    const prefix = iconName.substring(0, nextLetter);
+    const name = iconName.substring(nextLetter);
+    const iconPack = iconPackNames.find((folder) => {
+        const folderPrefix = createIconPackPrefix(folder);
+        return prefix === folderPrefix;
+    });
+    if (!iconPack) {
+        // Ignore because background check automatically adds the icons and icon pack
+        // directories.
+        if (!plugin.getSettings().iconsBackgroundCheckEnabled) {
+            new obsidian.Notice(`Seems like you do not have an icon pack installed. (${iconName})`, 5000);
+        }
+        return;
+    }
+    if (iconPack === LUCIDE_ICON_PACK_NAME &&
+        plugin.doesUseNativeLucideIconPack()) {
+        // Native lucide icons already exist for Obsidian.
+        const lucideIcons = iconPacks.find((iconPack) => iconPack.name === LUCIDE_ICON_PACK_NAME);
+        const icon = lucideIcons.icons.find((icon) => icon.name === name);
+        if (!icon) {
+            logger.warn(`Icon ${icon} does not exist in the native Lucide icon pack.`);
+            return;
+        }
+        preloadedIcons.push(icon);
+        return;
+    }
+    const fullPath = path + '/' + iconPack + '/' + name + '.svg';
+    if (!(yield plugin.app.vault.adapter.exists(fullPath))) {
+        logger.info(`Icon with name '${name}' was not found (full path: ${fullPath})`);
+        return;
+    }
+    const content = yield plugin.app.vault.adapter.read(fullPath);
+    const icon = generateIcon(iconPack, name, content);
+    preloadedIcons.push(icon);
+});
+const initIconPacks = (plugin) => __awaiter(void 0, void 0, void 0, function* () {
+    // Remove the beginning slash because paths which start with `/` are the same as without
+    // a slash.
+    if (path.startsWith('/')) {
+        path = path.slice(1);
+    }
+    const loadedIconPacks = yield plugin.app.vault.adapter.list(path);
+    // Extract all zip files which will be downloaded icon packs.
+    const zipFiles = {};
+    for (let i = 0; i < loadedIconPacks.files.length; i++) {
+        const fileName = loadedIconPacks.files[i];
+        if (fileName.endsWith('.zip')) {
+            const arrayBuffer = yield plugin.app.vault.adapter.readBinary(fileName);
+            const files = yield readZipFile(arrayBuffer);
+            const iconPackName = fileName.split('/').pop().split('.zip')[0];
+            zipFiles[iconPackName] = files;
+        }
+    }
+    // Check for custom-made icon packs.
+    for (let i = 0; i < loadedIconPacks.folders.length; i++) {
+        const folderName = loadedIconPacks.folders[i].split('/').pop();
+        // Continue if the icon pack does have a zip file.
+        if (zipFiles[folderName]) {
+            continue;
+        }
+        const files = yield getFilesInDirectory(plugin, `${path}/${folderName}`);
+        const loadedIcons = [];
+        // Convert files into loaded svgs.
+        for (let j = 0; j < files.length; j++) {
+            const iconNameRegex = files[j].match(new RegExp(path + '/' + folderName + '/(.*)'));
+            const iconName = getNormalizedName(iconNameRegex[1]);
+            const iconContent = yield plugin.app.vault.adapter.read(files[j]);
+            const icon = generateIcon(folderName, iconName, iconContent);
+            if (icon) {
+                loadedIcons.push(icon);
+            }
+        }
+        const prefix = createIconPackPrefix(folderName);
+        iconPacks.push({
+            name: folderName,
+            icons: loadedIcons,
+            prefix,
+            custom: true,
+        });
+        logger.info(`Loaded icon pack '${folderName}' (amount of icons: ${loadedIcons.length})`);
+    }
+    // Extract all files from the zip files.
+    for (const zipFile in zipFiles) {
+        const files = zipFiles[zipFile];
+        const loadedIcons = yield getLoadedIconsFromZipFile(zipFile, files);
+        const prefix = createIconPackPrefix(zipFile);
+        if (zipFile === LUCIDE_ICON_PACK_NAME &&
+            !plugin.doesUseCustomLucideIconPack()) {
+            continue;
+        }
+        iconPacks.push({
+            name: zipFile,
+            icons: loadedIcons,
+            prefix,
+            custom: false,
+        });
+        logger.info(`Loaded icon pack '${zipFile}' (amount of icons: ${loadedIcons.length})`);
+    }
+});
+const getLoadedIconsFromZipFile = (iconPackName, files) => __awaiter(void 0, void 0, void 0, function* () {
+    const loadedIcons = [];
+    const extraPath = getExtraPath(iconPackName);
+    for (let j = 0; j < files.length; j++) {
+        // Checks if the icon pack has an extra path. Also ignores files which do not start
+        // with the extra path.
+        if (extraPath && !files[j].name.startsWith(extraPath)) {
+            continue;
+        }
+        const file = yield getFileFromJSZipFile(files[j]);
+        const iconContent = yield file.text();
+        const iconName = getNormalizedName(file.name);
+        const icon = generateIcon(iconPackName, iconName, iconContent);
+        if (icon) {
+            loadedIcons.push(icon);
+        }
+    }
+    return loadedIcons;
+});
+const addIconToIconPack = (iconPackName, iconName, iconContent) => {
+    // Normalize the icon name to remove `-` or `_` in the name.
+    iconName = getNormalizedName(iconName);
+    const icon = generateIcon(iconPackName, iconName, iconContent);
+    if (!icon) {
+        logger.warn(`Icon could not be generated (icon: ${iconName}, content: ${iconContent})`);
+        return undefined;
+    }
+    const iconPack = iconPacks.find((iconPack) => iconPack.name === iconPackName);
+    if (!iconPack) {
+        logger.warn(`Iconpack with name '${iconPackName}' was not found`);
+        return undefined;
+    }
+    iconPack.icons.push(icon);
+    return icon;
+};
+const removeIconFromIconPackDirectory = (plugin, iconPackName, iconName) => {
+    const iconPack = iconPacks.find((iconPack) => iconPack.name === iconPackName);
+    // Checks if icon pack is custom-made.
+    if (!iconPack.custom) {
+        return plugin.app.vault.adapter.rmdir(`${path}/${iconPackName}/${iconName}.svg`, true);
+    }
+};
+const extractIconToIconPack = (plugin, icon, iconContent) => __awaiter(void 0, void 0, void 0, function* () {
+    const doesIconPackDirExist = yield plugin.app.vault.adapter.exists(`${path}/${icon.iconPackName}`);
+    if (!doesIconPackDirExist) {
+        yield plugin.app.vault.adapter.mkdir(`${path}/${icon.iconPackName}`);
+    }
+    const doesIconFileExists = yield plugin.app.vault.adapter.exists(`${path}/${icon.iconPackName}/${icon.name}.svg`);
+    if (!doesIconFileExists) {
+        yield createFile(plugin, icon.iconPackName, `${icon.name}.svg`, iconContent);
+    }
+});
+const getAllLoadedIconNames = () => {
+    return iconPacks.reduce((total, iconPack) => {
+        total.push(...iconPack.icons);
+        return total;
+    }, []);
+};
+const registerIconPack = (name, arrayBuffer) => __awaiter(void 0, void 0, void 0, function* () {
+    const files = yield readZipFile(arrayBuffer);
+    const loadedIcons = yield getLoadedIconsFromZipFile(name, files);
+    const prefix = createIconPackPrefix(name);
+    iconPacks.push({ name, icons: loadedIcons, prefix, custom: false });
+    logger.info(`Loaded icon pack ${name} (amount of icons: ${loadedIcons.length})`);
+});
+const doesIconExists = (iconName) => {
+    const icons = getAllLoadedIconNames();
+    return (icons.find((icon) => icon.name === iconName || icon.prefix + icon.name === iconName) !== undefined);
+};
+const getIconsFromIconPack = (iconPackName) => {
+    return iconPacks.find((iconPack) => iconPack.name === iconPackName);
+};
+const getIconFromIconPack = (iconPackName, iconPrefix, iconName) => {
+    const foundIcon = preloadedIcons.find((icon) => icon.prefix.toLowerCase() === iconPrefix.toLowerCase() &&
+        icon.name.toLowerCase() === iconName.toLowerCase());
+    if (foundIcon) {
+        return foundIcon;
+    }
+    const iconPack = iconPacks.find((iconPack) => iconPack.name === iconPackName);
+    if (!iconPack) {
+        return undefined;
+    }
+    return iconPack.icons.find((icon) => getNormalizedName(icon.name) === iconName);
+};
+const getSvgFromLoadedIcon = (iconPrefix, iconName) => {
+    let icon = '';
+    let foundIcon = preloadedIcons.find((icon) => icon.prefix.toLowerCase() === iconPrefix.toLowerCase() &&
+        icon.name.toLowerCase() === iconName.toLowerCase());
+    if (!foundIcon) {
+        iconPacks.forEach((iconPack) => {
+            const icon = iconPack.icons.find((icon) => {
+                return (icon.prefix.toLowerCase() === iconPrefix.toLowerCase() &&
+                    getNormalizedName(icon.name).toLowerCase() === iconName.toLowerCase());
+            });
+            if (icon) {
+                foundIcon = icon;
+            }
+        });
+    }
+    if (foundIcon) {
+        icon = foundIcon.svgElement;
+    }
+    return icon;
+};
+
+/*! Copyright Twitter Inc. and other contributors. Licensed under MIT */
+var twemoji=function(){var twemoji={base:"https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.1.0/assets/",ext:".png",size:"72x72",className:"emoji",convert:{fromCodePoint:fromCodePoint,toCodePoint:toCodePoint},onerror:function onerror(){if(this.parentNode){this.parentNode.replaceChild(createText(this.alt,false),this);}},parse:parse,replace:replace,test:test},escaper={"&":"&amp;","<":"&lt;",">":"&gt;","'":"&#39;",'"':"&quot;"},re=/(?:\ud83d\udc68\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffc-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb\udffd-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb-\udffd\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83e\uddd1\ud83c[\udffb-\udffe]|\ud83d\udc68\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc68\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc68\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc68\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffc-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffd-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb\udffc\udffe\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffd\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc68\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83d\udc69\ud83c[\udffb-\udfff]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc68\ud83c[\udffb-\udffe]|\ud83d\udc69\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83d\udc69\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udffb\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffc-\udfff]|\ud83e\uddd1\ud83c\udffb\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb\udffd-\udfff]|\ud83e\uddd1\ud83c\udffc\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\uddd1\ud83c\udffd\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb-\udffd\udfff]|\ud83e\uddd1\ud83c\udffe\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83e\uddd1\ud83c\udfff\u200d\u2764\ufe0f\u200d\ud83e\uddd1\ud83c[\udffb-\udffe]|\ud83e\uddd1\ud83c\udfff\u200d\ud83e\udd1d\u200d\ud83e\uddd1\ud83c[\udffb-\udfff]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d\udc68|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d\udc8b\u200d\ud83d[\udc68\udc69]|\ud83e\udef1\ud83c\udffb\u200d\ud83e\udef2\ud83c[\udffc-\udfff]|\ud83e\udef1\ud83c\udffc\u200d\ud83e\udef2\ud83c[\udffb\udffd-\udfff]|\ud83e\udef1\ud83c\udffd\u200d\ud83e\udef2\ud83c[\udffb\udffc\udffe\udfff]|\ud83e\udef1\ud83c\udffe\u200d\ud83e\udef2\ud83c[\udffb-\udffd\udfff]|\ud83e\udef1\ud83c\udfff\u200d\ud83e\udef2\ud83c[\udffb-\udffe]|\ud83d\udc68\u200d\u2764\ufe0f\u200d\ud83d\udc68|\ud83d\udc69\u200d\u2764\ufe0f\u200d\ud83d[\udc68\udc69]|\ud83e\uddd1\u200d\ud83e\udd1d\u200d\ud83e\uddd1|\ud83d\udc6b\ud83c[\udffb-\udfff]|\ud83d\udc6c\ud83c[\udffb-\udfff]|\ud83d\udc6d\ud83c[\udffb-\udfff]|\ud83d\udc8f\ud83c[\udffb-\udfff]|\ud83d\udc91\ud83c[\udffb-\udfff]|\ud83e\udd1d\ud83c[\udffb-\udfff]|\ud83d[\udc6b-\udc6d\udc8f\udc91]|\ud83e\udd1d)|(?:\ud83d[\udc68\udc69]|\ud83e\uddd1)(?:\ud83c[\udffb-\udfff])?\u200d(?:\u2695\ufe0f|\u2696\ufe0f|\u2708\ufe0f|\ud83c[\udf3e\udf73\udf7c\udf84\udf93\udfa4\udfa8\udfeb\udfed]|\ud83d[\udcbb\udcbc\udd27\udd2c\ude80\ude92]|\ud83e[\uddaf-\uddb3\uddbc\uddbd])(?:\u200d\u27a1\ufe0f)?|(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75]|\u26f9)((?:\ud83c[\udffb-\udfff]|\ufe0f)\u200d[\u2640\u2642]\ufe0f(?:\u200d\u27a1\ufe0f)?)|(?:\ud83c[\udfc3\udfc4\udfca]|\ud83d[\udc6e\udc70\udc71\udc73\udc77\udc81\udc82\udc86\udc87\ude45-\ude47\ude4b\ude4d\ude4e\udea3\udeb4-\udeb6]|\ud83e[\udd26\udd35\udd37-\udd39\udd3d\udd3e\uddb8\uddb9\uddcd-\uddcf\uddd4\uddd6-\udddd])(?:\ud83c[\udffb-\udfff])?\u200d[\u2640\u2642]\ufe0f(?:\u200d\u27a1\ufe0f)?|(?:\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83e\uddd1\u200d\ud83e\uddd1\u200d\ud83e\uddd2\u200d\ud83e\uddd2|\ud83d\udc68\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc68\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc68\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc66\u200d\ud83d\udc66|\ud83d\udc69\u200d\ud83d\udc67\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83e\uddd1\u200d\ud83e\uddd1\u200d\ud83e\uddd2|\ud83e\uddd1\u200d\ud83e\uddd2\u200d\ud83e\uddd2|\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f|\ud83c\udff3\ufe0f\u200d\ud83c\udf08|\ud83d\ude36\u200d\ud83c\udf2b\ufe0f|\u26d3\ufe0f\u200d\ud83d\udca5|\u2764\ufe0f\u200d\ud83d\udd25|\u2764\ufe0f\u200d\ud83e\ude79|\ud83c\udf44\u200d\ud83d\udfeb|\ud83c\udf4b\u200d\ud83d\udfe9|\ud83c\udff4\u200d\u2620\ufe0f|\ud83d\udc15\u200d\ud83e\uddba|\ud83d\udc26\u200d\ud83d\udd25|\ud83d\udc3b\u200d\u2744\ufe0f|\ud83d\udc41\u200d\ud83d\udde8|\ud83d\udc68\u200d\ud83d[\udc66\udc67]|\ud83d\udc69\u200d\ud83d[\udc66\udc67]|\ud83d\udc6f\u200d\u2640\ufe0f|\ud83d\udc6f\u200d\u2642\ufe0f|\ud83d\ude2e\u200d\ud83d\udca8|\ud83d\ude35\u200d\ud83d\udcab|\ud83d\ude42\u200d\u2194\ufe0f|\ud83d\ude42\u200d\u2195\ufe0f|\ud83e\udd3c\u200d\u2640\ufe0f|\ud83e\udd3c\u200d\u2642\ufe0f|\ud83e\uddd1\u200d\ud83e\uddd2|\ud83e\uddde\u200d\u2640\ufe0f|\ud83e\uddde\u200d\u2642\ufe0f|\ud83e\udddf\u200d\u2640\ufe0f|\ud83e\udddf\u200d\u2642\ufe0f|\ud83d\udc08\u200d\u2b1b|\ud83d\udc26\u200d\u2b1b)|[#*0-9]\ufe0f?\u20e3|(?:[©®\u2122\u265f]\ufe0f)|(?:\ud83c[\udc04\udd70\udd71\udd7e\udd7f\ude02\ude1a\ude2f\ude37\udf21\udf24-\udf2c\udf36\udf7d\udf96\udf97\udf99-\udf9b\udf9e\udf9f\udfcd\udfce\udfd4-\udfdf\udff3\udff5\udff7]|\ud83d[\udc3f\udc41\udcfd\udd49\udd4a\udd6f\udd70\udd73\udd76-\udd79\udd87\udd8a-\udd8d\udda5\udda8\uddb1\uddb2\uddbc\uddc2-\uddc4\uddd1-\uddd3\udddc-\uddde\udde1\udde3\udde8\uddef\uddf3\uddfa\udecb\udecd-\udecf\udee0-\udee5\udee9\udef0\udef3]|[\u203c\u2049\u2139\u2194-\u2199\u21a9\u21aa\u231a\u231b\u2328\u23cf\u23ed-\u23ef\u23f1\u23f2\u23f8-\u23fa\u24c2\u25aa\u25ab\u25b6\u25c0\u25fb-\u25fe\u2600-\u2604\u260e\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262a\u262e\u262f\u2638-\u263a\u2640\u2642\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267b\u267f\u2692-\u2697\u2699\u269b\u269c\u26a0\u26a1\u26a7\u26aa\u26ab\u26b0\u26b1\u26bd\u26be\u26c4\u26c5\u26c8\u26cf\u26d1\u26d3\u26d4\u26e9\u26ea\u26f0-\u26f5\u26f8\u26fa\u26fd\u2702\u2708\u2709\u270f\u2712\u2714\u2716\u271d\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u2764\u27a1\u2934\u2935\u2b05-\u2b07\u2b1b\u2b1c\u2b50\u2b55\u3030\u303d\u3297\u3299])(?:\ufe0f|(?!\ufe0e))|(?:(?:\ud83c[\udfcb\udfcc]|\ud83d[\udd74\udd75\udd90]|\ud83e\udef0|[\u261d\u26f7\u26f9\u270c\u270d])(?:\ufe0f|(?!\ufe0e))|(?:\ud83c\udfc3|\ud83d\udeb6|\ud83e\uddce)(?:\ud83c[\udffb-\udfff])?(?:\u200d\u27a1\ufe0f)?|(?:\ud83c[\udf85\udfc2\udfc4\udfc7\udfca]|\ud83d[\udc42\udc43\udc46-\udc50\udc66-\udc69\udc6e\udc70-\udc78\udc7c\udc81-\udc83\udc85-\udc87\udcaa\udd7a\udd95\udd96\ude45-\ude47\ude4b-\ude4f\udea3\udeb4\udeb5\udec0\udecc]|\ud83e[\udd0c\udd0f\udd18-\udd1c\udd1e\udd1f\udd26\udd30-\udd39\udd3d\udd3e\udd77\uddb5\uddb6\uddb8\uddb9\uddbb\uddcd\uddcf\uddd1-\udddd\udec3-\udec5\udef1-\udef8]|[\u270a\u270b]))(?:\ud83c[\udffb-\udfff])?|(?:\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc73\udb40\udc63\udb40\udc74\udb40\udc7f|\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc77\udb40\udc6c\udb40\udc73\udb40\udc7f|\ud83c\udde6\ud83c[\udde8-\uddec\uddee\uddf1\uddf2\uddf4\uddf6-\uddfa\uddfc\uddfd\uddff]|\ud83c\udde7\ud83c[\udde6\udde7\udde9-\uddef\uddf1-\uddf4\uddf6-\uddf9\uddfb\uddfc\uddfe\uddff]|\ud83c\udde8\ud83c[\udde6\udde8\udde9\uddeb-\uddee\uddf0-\uddf5\uddf7\uddfa-\uddff]|\ud83c\udde9\ud83c[\uddea\uddec\uddef\uddf0\uddf2\uddf4\uddff]|\ud83c\uddea\ud83c[\udde6\udde8\uddea\uddec\udded\uddf7-\uddfa]|\ud83c\uddeb\ud83c[\uddee-\uddf0\uddf2\uddf4\uddf7]|\ud83c\uddec\ud83c[\udde6\udde7\udde9-\uddee\uddf1-\uddf3\uddf5-\uddfa\uddfc\uddfe]|\ud83c\udded\ud83c[\uddf0\uddf2\uddf3\uddf7\uddf9\uddfa]|\ud83c\uddee\ud83c[\udde8-\uddea\uddf1-\uddf4\uddf6-\uddf9]|\ud83c\uddef\ud83c[\uddea\uddf2\uddf4\uddf5]|\ud83c\uddf0\ud83c[\uddea\uddec-\uddee\uddf2\uddf3\uddf5\uddf7\uddfc\uddfe\uddff]|\ud83c\uddf1\ud83c[\udde6-\udde8\uddee\uddf0\uddf7-\uddfb\uddfe]|\ud83c\uddf2\ud83c[\udde6\udde8-\udded\uddf0-\uddff]|\ud83c\uddf3\ud83c[\udde6\udde8\uddea-\uddec\uddee\uddf1\uddf4\uddf5\uddf7\uddfa\uddff]|\ud83c\uddf4\ud83c\uddf2|\ud83c\uddf5\ud83c[\udde6\uddea-\udded\uddf0-\uddf3\uddf7-\uddf9\uddfc\uddfe]|\ud83c\uddf6\ud83c\udde6|\ud83c\uddf7\ud83c[\uddea\uddf4\uddf8\uddfa\uddfc]|\ud83c\uddf8\ud83c[\udde6-\uddea\uddec-\uddf4\uddf7-\uddf9\uddfb\uddfd-\uddff]|\ud83c\uddf9\ud83c[\udde6\udde8\udde9\uddeb-\udded\uddef-\uddf4\uddf7\uddf9\uddfb\uddfc\uddff]|\ud83c\uddfa\ud83c[\udde6\uddec\uddf2\uddf3\uddf8\uddfe\uddff]|\ud83c\uddfb\ud83c[\udde6\udde8\uddea\uddec\uddee\uddf3\uddfa]|\ud83c\uddfc\ud83c[\uddeb\uddf8]|\ud83c\uddfd\ud83c\uddf0|\ud83c\uddfe\ud83c[\uddea\uddf9]|\ud83c\uddff\ud83c[\udde6\uddf2\uddfc]|\ud83c[\udccf\udd8e\udd91-\udd9a\udde6-\uddff\ude01\ude32-\ude36\ude38-\ude3a\ude50\ude51\udf00-\udf20\udf2d-\udf35\udf37-\udf7c\udf7e-\udf84\udf86-\udf93\udfa0-\udfc1\udfc5\udfc6\udfc8\udfc9\udfcf-\udfd3\udfe0-\udff0\udff4\udff8-\udfff]|\ud83d[\udc00-\udc3e\udc40\udc44\udc45\udc51-\udc65\udc6a\udc6f\udc79-\udc7b\udc7d-\udc80\udc84\udc88-\udc8e\udc90\udc92-\udca9\udcab-\udcfc\udcff-\udd3d\udd4b-\udd4e\udd50-\udd67\udda4\uddfb-\ude44\ude48-\ude4a\ude80-\udea2\udea4-\udeb3\udeb7-\udebf\udec1-\udec5\uded0-\uded2\uded5-\uded7\udedc-\udedf\udeeb\udeec\udef4-\udefc\udfe0-\udfeb\udff0]|\ud83e[\udd0d\udd0e\udd10-\udd17\udd20-\udd25\udd27-\udd2f\udd3a\udd3c\udd3f-\udd45\udd47-\udd76\udd78-\uddb4\uddb7\uddba\uddbc-\uddcc\uddd0\uddde-\uddff\ude70-\ude7c\ude80-\ude88\ude90-\udebd\udebf-\udec2\udece-\udedb\udee0-\udee8]|[\u23e9-\u23ec\u23f0\u23f3\u267e\u26ce\u2705\u2728\u274c\u274e\u2753-\u2755\u2795-\u2797\u27b0\u27bf\ue50a])|\ufe0f/g,UFE0Fg=/\uFE0F/g,U200D=String.fromCharCode(8205),rescaper=/[&<>'"]/g,shouldntBeParsed=/^(?:iframe|noframes|noscript|script|select|style|textarea)$/,fromCharCode=String.fromCharCode;return twemoji;function createText(text,clean){return document.createTextNode(clean?text.replace(UFE0Fg,""):text)}function escapeHTML(s){return s.replace(rescaper,replacer)}function defaultImageSrcGenerator(icon,options){return "".concat(options.base,options.size,"/",icon,options.ext)}function grabAllTextNodes(node,allText){var childNodes=node.childNodes,length=childNodes.length,subnode,nodeType;while(length--){subnode=childNodes[length];nodeType=subnode.nodeType;if(nodeType===3){allText.push(subnode);}else if(nodeType===1&&!("ownerSVGElement"in subnode)&&!shouldntBeParsed.test(subnode.nodeName.toLowerCase())){grabAllTextNodes(subnode,allText);}}return allText}function grabTheRightIcon(rawText){return toCodePoint(rawText.indexOf(U200D)<0?rawText.replace(UFE0Fg,""):rawText)}function parseNode(node,options){var allText=grabAllTextNodes(node,[]),length=allText.length,attrib,attrname,modified,fragment,subnode,text,match,i,index,img,rawText,iconId,src;while(length--){modified=false;fragment=document.createDocumentFragment();subnode=allText[length];text=subnode.nodeValue;i=0;while(match=re.exec(text)){index=match.index;if(index!==i){fragment.appendChild(createText(text.slice(i,index),true));}rawText=match[0];iconId=grabTheRightIcon(rawText);i=index+rawText.length;src=options.callback(iconId,options);if(iconId&&src){img=new Image;img.onerror=options.onerror;img.setAttribute("draggable","false");attrib=options.attributes(rawText,iconId);for(attrname in attrib){if(attrib.hasOwnProperty(attrname)&&attrname.indexOf("on")!==0&&!img.hasAttribute(attrname)){img.setAttribute(attrname,attrib[attrname]);}}img.className=options.className;img.alt=rawText;img.src=src;modified=true;fragment.appendChild(img);}if(!img)fragment.appendChild(createText(rawText,false));img=null;}if(modified){if(i<text.length){fragment.appendChild(createText(text.slice(i),true));}subnode.parentNode.replaceChild(fragment,subnode);}}return node}function parseString(str,options){return replace(str,function(rawText){var ret=rawText,iconId=grabTheRightIcon(rawText),src=options.callback(iconId,options),attrib,attrname;if(iconId&&src){ret="<img ".concat('class="',options.className,'" ','draggable="false" ','alt="',rawText,'"',' src="',src,'"');attrib=options.attributes(rawText,iconId);for(attrname in attrib){if(attrib.hasOwnProperty(attrname)&&attrname.indexOf("on")!==0&&ret.indexOf(" "+attrname+"=")===-1){ret=ret.concat(" ",attrname,'="',escapeHTML(attrib[attrname]),'"');}}ret=ret.concat("/>");}return ret})}function replacer(m){return escaper[m]}function returnNull(){return null}function toSizeSquaredAsset(value){return typeof value==="number"?value+"x"+value:value}function fromCodePoint(codepoint){var code=typeof codepoint==="string"?parseInt(codepoint,16):codepoint;if(code<65536){return fromCharCode(code)}code-=65536;return fromCharCode(55296+(code>>10),56320+(code&1023))}function parse(what,how){if(!how||typeof how==="function"){how={callback:how};}return (typeof what==="string"?parseString:parseNode)(what,{callback:how.callback||defaultImageSrcGenerator,attributes:typeof how.attributes==="function"?how.attributes:returnNull,base:typeof how.base==="string"?how.base:twemoji.base,ext:how.ext||twemoji.ext,size:how.folder||toSizeSquaredAsset(how.size||twemoji.size),className:how.className||twemoji.className,onerror:how.onerror||twemoji.onerror})}function replace(text,callback){return String(text).replace(re,callback)}function test(text){re.lastIndex=0;var result=re.test(text);re.lastIndex=0;return result}function toCodePoint(unicodeSurrogates,sep){var r=[],c=0,p=0,i=0;while(i<unicodeSurrogates.length){c=unicodeSurrogates.charCodeAt(i++);if(p){r.push((65536+(p-55296<<10)+(c-56320)).toString(16));p=0;}else if(55296<=c&&c<=56319){p=c;}else {r.push(c.toString(16));}}return r.join(sep||"-")}}();
+
+const getRegex = () => {
+    return new RegExp(/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/, 'g');
+};
+const shortNames = {
+    '😀': 'grinning face',
+    '😃': 'grinning face with big eyes',
+    '😄': 'grinning face with smiling eyes',
+    '😁': 'beaming face with smiling eyes',
+    '😆': 'grinning squinting face',
+    '😅': 'grinning face with sweat',
+    '🤣': 'rolling on the floor laughing',
+    '😂': 'face with tears of joy',
+    '🙂': 'slightly smiling face',
+    '🙃': 'upside-down face',
+    '🫠': '⊛ melting face',
+    '😉': 'winking face',
+    '😊': 'smiling face with smiling eyes',
+    '😇': 'smiling face with halo',
+    '🥰': 'smiling face with hearts',
+    '😍': 'smiling face with heart-eyes',
+    '🤩': 'star-struck',
+    '😘': 'face blowing a kiss',
+    '😗': 'kissing face',
+    '☺': 'smiling face',
+    '😚': 'kissing face with closed eyes',
+    '😙': 'kissing face with smiling eyes',
+    '🥲': 'smiling face with tear',
+    '😋': 'face savoring food',
+    '😛': 'face with tongue',
+    '😜': 'winking face with tongue',
+    '🤪': 'zany face',
+    '😝': 'squinting face with tongue',
+    '🤑': 'money-mouth face',
+    '🤗': 'smiling face with open hands',
+    '🤭': 'face with hand over mouth',
+    '🫢': '⊛ face with open eyes and hand over mouth',
+    '🫣': '⊛ face with peeking eye',
+    '🤫': 'shushing face',
+    '🤔': 'thinking face',
+    '🫡': '⊛ saluting face',
+    '🤐': 'zipper-mouth face',
+    '🤨': 'face with raised eyebrow',
+    '😐': 'neutral face',
+    '😑': 'expressionless face',
+    '😶': 'face without mouth',
+    '🫥': '⊛ dotted line face',
+    '😶‍🌫️': 'face in clouds',
+    '😏': 'smirking face',
+    '😒': 'unamused face',
+    '🙄': 'face with rolling eyes',
+    '😬': 'grimacing face',
+    '😮‍💨': 'face exhaling',
+    '🤥': 'lying face',
+    '😌': 'relieved face',
+    '😔': 'pensive face',
+    '😪': 'sleepy face',
+    '🤤': 'drooling face',
+    '😴': 'sleeping face',
+    '😷': 'face with medical mask',
+    '🤒': 'face with thermometer',
+    '🤕': 'face with head-bandage',
+    '🤢': 'nauseated face',
+    '🤮': 'face vomiting',
+    '🤧': 'sneezing face',
+    '🥵': 'hot face',
+    '🥶': 'cold face',
+    '🥴': 'woozy face',
+    '😵': 'face with crossed-out eyes',
+    '😵‍💫': 'face with spiral eyes',
+    '🤯': 'exploding head',
+    '🤠': 'cowboy hat face',
+    '🥳': 'partying face',
+    '🥸': 'disguised face',
+    '😎': 'smiling face with sunglasses',
+    '🤓': 'nerd face',
+    '🧐': 'face with monocle',
+    '😕': 'confused face',
+    '🫤': '⊛ face with diagonal mouth',
+    '😟': 'worried face',
+    '🙁': 'slightly frowning face',
+    '☹': 'frowning face',
+    '😮': 'face with open mouth',
+    '😯': 'hushed face',
+    '😲': 'astonished face',
+    '😳': 'flushed face',
+    '🥺': 'pleading face',
+    '🥹': '⊛ face holding back tears',
+    '😦': 'frowning face with open mouth',
+    '😧': 'anguished face',
+    '😨': 'fearful face',
+    '😰': 'anxious face with sweat',
+    '😥': 'sad but relieved face',
+    '😢': 'crying face',
+    '😭': 'loudly crying face',
+    '😱': 'face screaming in fear',
+    '😖': 'confounded face',
+    '😣': 'persevering face',
+    '😞': 'disappointed face',
+    '😓': 'downcast face with sweat',
+    '😩': 'weary face',
+    '😫': 'tired face',
+    '🥱': 'yawning face',
+    '😤': 'face with steam from nose',
+    '😡': 'pouting face',
+    '😠': 'angry face',
+    '🤬': 'face with symbols on mouth',
+    '😈': 'smiling face with horns',
+    '👿': 'angry face with horns',
+    '💀': 'skull',
+    '☠': 'skull and crossbones',
+    '💩': 'pile of poo',
+    '🤡': 'clown face',
+    '👹': 'ogre',
+    '👺': 'goblin',
+    '👻': 'ghost',
+    '👽': 'alien',
+    '👾': 'alien monster',
+    '🤖': 'robot',
+    '😺': 'grinning cat',
+    '😸': 'grinning cat with smiling eyes',
+    '😹': 'cat with tears of joy',
+    '😻': 'smiling cat with heart-eyes',
+    '😼': 'cat with wry smile',
+    '😽': 'kissing cat',
+    '🙀': 'weary cat',
+    '😿': 'crying cat',
+    '😾': 'pouting cat',
+    '🙈': 'see-no-evil monkey',
+    '🙉': 'hear-no-evil monkey',
+    '🙊': 'speak-no-evil monkey',
+    '💋': 'kiss mark',
+    '💌': 'love letter',
+    '💘': 'heart with arrow',
+    '💝': 'heart with ribbon',
+    '💖': 'sparkling heart',
+    '💗': 'growing heart',
+    '💓': 'beating heart',
+    '💞': 'revolving hearts',
+    '💕': 'two hearts',
+    '💟': 'heart decoration',
+    '❣': 'heart exclamation',
+    '💔': 'broken heart',
+    '❤️‍🔥': 'heart on fire',
+    '❤️‍🩹': 'mending heart',
+    '❤': 'red heart',
+    '🧡': 'orange heart',
+    '💛': 'yellow heart',
+    '💚': 'green heart',
+    '💙': 'blue heart',
+    '💜': 'purple heart',
+    '🤎': 'brown heart',
+    '🖤': 'black heart',
+    '🤍': 'white heart',
+    '💯': 'hundred points',
+    '💢': 'anger symbol',
+    '💥': 'collision',
+    '💫': 'dizzy',
+    '💦': 'sweat droplets',
+    '💨': 'dashing away',
+    '🕳': 'hole',
+    '💣': 'bomb',
+    '💬': 'speech balloon',
+    '👁️‍🗨️': 'eye in speech bubble',
+    '🗨': 'left speech bubble',
+    '🗯': 'right anger bubble',
+    '💭': 'thought balloon',
+    '💤': 'zzz',
+    '👋': 'waving hand',
+    '🤚': 'raised back of hand',
+    '🖐': 'hand with fingers splayed',
+    '✋': 'raised hand',
+    '🖖': 'vulcan salute',
+    '🫱': '⊛ rightwards hand',
+    '🫲': '⊛ leftwards hand',
+    '🫳': '⊛ palm down hand',
+    '🫴': '⊛ palm up hand',
+    '👌': 'OK hand',
+    '🤌': 'pinched fingers',
+    '🤏': 'pinching hand',
+    '✌': 'victory hand',
+    '🤞': 'crossed fingers',
+    '🫰': '⊛ hand with index finger and thumb crossed',
+    '🤟': 'love-you gesture',
+    '🤘': 'sign of the horns',
+    '🤙': 'call me hand',
+    '👈': 'backhand index pointing left',
+    '👉': 'backhand index pointing right',
+    '👆': 'backhand index pointing up',
+    '🖕': 'middle finger',
+    '👇': 'backhand index pointing down',
+    '☝': 'index pointing up',
+    '🫵': '⊛ index pointing at the viewer',
+    '👍': 'thumbs up',
+    '👎': 'thumbs down',
+    '✊': 'raised fist',
+    '👊': 'oncoming fist',
+    '🤛': 'left-facing fist',
+    '🤜': 'right-facing fist',
+    '👏': 'clapping hands',
+    '🙌': 'raising hands',
+    '🫶': '⊛ heart hands',
+    '👐': 'open hands',
+    '🤲': 'palms up together',
+    '🤝': 'handshake',
+    '🙏': 'folded hands',
+    '✍': 'writing hand',
+    '💅': 'nail polish',
+    '🤳': 'selfie',
+    '💪': 'flexed biceps',
+    '🦾': 'mechanical arm',
+    '🦿': 'mechanical leg',
+    '🦵': 'leg',
+    '🦶': 'foot',
+    '👂': 'ear',
+    '🦻': 'ear with hearing aid',
+    '👃': 'nose',
+    '🧠': 'brain',
+    '🫀': 'anatomical heart',
+    '🫁': 'lungs',
+    '🦷': 'tooth',
+    '🦴': 'bone',
+    '👀': 'eyes',
+    '👁': 'eye',
+    '👅': 'tongue',
+    '👄': 'mouth',
+    '🫦': '⊛ biting lip',
+    '👶': 'baby',
+    '🧒': 'child',
+    '👦': 'boy',
+    '👧': 'girl',
+    '🧑': 'person',
+    '👱': 'person: blond hair',
+    '👨': 'man',
+    '🧔': 'person: beard',
+    '🧔‍♂️': 'man: beard',
+    '🧔‍♀️': 'woman: beard',
+    '👨‍🦰': 'man: red hair',
+    '👨‍🦱': 'man: curly hair',
+    '👨‍🦳': 'man: white hair',
+    '👨‍🦲': 'man: bald',
+    '👩': 'woman',
+    '👩‍🦰': 'woman: red hair',
+    '🧑‍🦰': 'person: red hair',
+    '👩‍🦱': 'woman: curly hair',
+    '🧑‍🦱': 'person: curly hair',
+    '👩‍🦳': 'woman: white hair',
+    '🧑‍🦳': 'person: white hair',
+    '👩‍🦲': 'woman: bald',
+    '🧑‍🦲': 'person: bald',
+    '👱‍♀️': 'woman: blond hair',
+    '👱‍♂️': 'man: blond hair',
+    '🧓': 'older person',
+    '👴': 'old man',
+    '👵': 'old woman',
+    '🙍': 'person frowning',
+    '🙍‍♂️': 'man frowning',
+    '🙍‍♀️': 'woman frowning',
+    '🙎': 'person pouting',
+    '🙎‍♂️': 'man pouting',
+    '🙎‍♀️': 'woman pouting',
+    '🙅': 'person gesturing NO',
+    '🙅‍♂️': 'man gesturing NO',
+    '🙅‍♀️': 'woman gesturing NO',
+    '🙆': 'person gesturing OK',
+    '🙆‍♂️': 'man gesturing OK',
+    '🙆‍♀️': 'woman gesturing OK',
+    '💁': 'person tipping hand',
+    '💁‍♂️': 'man tipping hand',
+    '💁‍♀️': 'woman tipping hand',
+    '🙋': 'person raising hand',
+    '🙋‍♂️': 'man raising hand',
+    '🙋‍♀️': 'woman raising hand',
+    '🧏': 'deaf person',
+    '🧏‍♂️': 'deaf man',
+    '🧏‍♀️': 'deaf woman',
+    '🙇': 'person bowing',
+    '🙇‍♂️': 'man bowing',
+    '🙇‍♀️': 'woman bowing',
+    '🤦': 'person facepalming',
+    '🤦‍♂️': 'man facepalming',
+    '🤦‍♀️': 'woman facepalming',
+    '🤷': 'person shrugging',
+    '🤷‍♂️': 'man shrugging',
+    '🤷‍♀️': 'woman shrugging',
+    '🧑‍⚕️': 'health worker',
+    '👨‍⚕️': 'man health worker',
+    '👩‍⚕️': 'woman health worker',
+    '🧑‍🎓': 'student',
+    '👨‍🎓': 'man student',
+    '👩‍🎓': 'woman student',
+    '🧑‍🏫': 'teacher',
+    '👨‍🏫': 'man teacher',
+    '👩‍🏫': 'woman teacher',
+    '🧑‍⚖️': 'judge',
+    '👨‍⚖️': 'man judge',
+    '👩‍⚖️': 'woman judge',
+    '🧑‍🌾': 'farmer',
+    '👨‍🌾': 'man farmer',
+    '👩‍🌾': 'woman farmer',
+    '🧑‍🍳': 'cook',
+    '👨‍🍳': 'man cook',
+    '👩‍🍳': 'woman cook',
+    '🧑‍🔧': 'mechanic',
+    '👨‍🔧': 'man mechanic',
+    '👩‍🔧': 'woman mechanic',
+    '🧑‍🏭': 'factory worker',
+    '👨‍🏭': 'man factory worker',
+    '👩‍🏭': 'woman factory worker',
+    '🧑‍💼': 'office worker',
+    '👨‍💼': 'man office worker',
+    '👩‍💼': 'woman office worker',
+    '🧑‍🔬': 'scientist',
+    '👨‍🔬': 'man scientist',
+    '👩‍🔬': 'woman scientist',
+    '🧑‍💻': 'technologist',
+    '👨‍💻': 'man technologist',
+    '👩‍💻': 'woman technologist',
+    '🧑‍🎤': 'singer',
+    '👨‍🎤': 'man singer',
+    '👩‍🎤': 'woman singer',
+    '🧑‍🎨': 'artist',
+    '👨‍🎨': 'man artist',
+    '👩‍🎨': 'woman artist',
+    '🧑‍✈️': 'pilot',
+    '👨‍✈️': 'man pilot',
+    '👩‍✈️': 'woman pilot',
+    '🧑‍🚀': 'astronaut',
+    '👨‍🚀': 'man astronaut',
+    '👩‍🚀': 'woman astronaut',
+    '🧑‍🚒': 'firefighter',
+    '👨‍🚒': 'man firefighter',
+    '👩‍🚒': 'woman firefighter',
+    '👮': 'police officer',
+    '👮‍♂️': 'man police officer',
+    '👮‍♀️': 'woman police officer',
+    '🕵': 'detective',
+    '🕵️‍♂️': 'man detective',
+    '🕵️‍♀️': 'woman detective',
+    '💂': 'guard',
+    '💂‍♂️': 'man guard',
+    '💂‍♀️': 'woman guard',
+    '🥷': 'ninja',
+    '👷': 'construction worker',
+    '👷‍♂️': 'man construction worker',
+    '👷‍♀️': 'woman construction worker',
+    '🫅': '⊛ person with crown',
+    '🤴': 'prince',
+    '👸': 'princess',
+    '👳': 'person wearing turban',
+    '👳‍♂️': 'man wearing turban',
+    '👳‍♀️': 'woman wearing turban',
+    '👲': 'person with skullcap',
+    '🧕': 'woman with headscarf',
+    '🤵': 'person in tuxedo',
+    '🤵‍♂️': 'man in tuxedo',
+    '🤵‍♀️': 'woman in tuxedo',
+    '👰': 'person with veil',
+    '👰‍♂️': 'man with veil',
+    '👰‍♀️': 'woman with veil',
+    '🤰': 'pregnant woman',
+    '🫃': '⊛ pregnant man',
+    '🫄': '⊛ pregnant person',
+    '🤱': 'breast-feeding',
+    '👩‍🍼': 'woman feeding baby',
+    '👨‍🍼': 'man feeding baby',
+    '🧑‍🍼': 'person feeding baby',
+    '👼': 'baby angel',
+    '🎅': 'Santa Claus',
+    '🤶': 'Mrs. Claus',
+    '🧑‍🎄': 'mx claus',
+    '🦸': 'superhero',
+    '🦸‍♂️': 'man superhero',
+    '🦸‍♀️': 'woman superhero',
+    '🦹': 'supervillain',
+    '🦹‍♂️': 'man supervillain',
+    '🦹‍♀️': 'woman supervillain',
+    '🧙': 'mage',
+    '🧙‍♂️': 'man mage',
+    '🧙‍♀️': 'woman mage',
+    '🧚': 'fairy',
+    '🧚‍♂️': 'man fairy',
+    '🧚‍♀️': 'woman fairy',
+    '🧛': 'vampire',
+    '🧛‍♂️': 'man vampire',
+    '🧛‍♀️': 'woman vampire',
+    '🧜': 'merperson',
+    '🧜‍♂️': 'merman',
+    '🧜‍♀️': 'mermaid',
+    '🧝': 'elf',
+    '🧝‍♂️': 'man elf',
+    '🧝‍♀️': 'woman elf',
+    '🧞': 'genie',
+    '🧞‍♂️': 'man genie',
+    '🧞‍♀️': 'woman genie',
+    '🧟': 'zombie',
+    '🧟‍♂️': 'man zombie',
+    '🧟‍♀️': 'woman zombie',
+    '🧌': '⊛ troll',
+    '💆': 'person getting massage',
+    '💆‍♂️': 'man getting massage',
+    '💆‍♀️': 'woman getting massage',
+    '💇': 'person getting haircut',
+    '💇‍♂️': 'man getting haircut',
+    '💇‍♀️': 'woman getting haircut',
+    '🚶': 'person walking',
+    '🚶‍♂️': 'man walking',
+    '🚶‍♀️': 'woman walking',
+    '🧍': 'person standing',
+    '🧍‍♂️': 'man standing',
+    '🧍‍♀️': 'woman standing',
+    '🧎': 'person kneeling',
+    '🧎‍♂️': 'man kneeling',
+    '🧎‍♀️': 'woman kneeling',
+    '🧑‍🦯': 'person with white cane',
+    '👨‍🦯': 'man with white cane',
+    '👩‍🦯': 'woman with white cane',
+    '🧑‍🦼': 'person in motorized wheelchair',
+    '👨‍🦼': 'man in motorized wheelchair',
+    '👩‍🦼': 'woman in motorized wheelchair',
+    '🧑‍🦽': 'person in manual wheelchair',
+    '👨‍🦽': 'man in manual wheelchair',
+    '👩‍🦽': 'woman in manual wheelchair',
+    '🏃': 'person running',
+    '🏃‍♂️': 'man running',
+    '🏃‍♀️': 'woman running',
+    '💃': 'woman dancing',
+    '🕺': 'man dancing',
+    '🕴': 'person in suit levitating',
+    '👯': 'people with bunny ears',
+    '👯‍♂️': 'men with bunny ears',
+    '👯‍♀️': 'women with bunny ears',
+    '🧖': 'person in steamy room',
+    '🧖‍♂️': 'man in steamy room',
+    '🧖‍♀️': 'woman in steamy room',
+    '🧗': 'person climbing',
+    '🧗‍♂️': 'man climbing',
+    '🧗‍♀️': 'woman climbing',
+    '🤺': 'person fencing',
+    '🏇': 'horse racing',
+    '⛷': 'skier',
+    '🏂': 'snowboarder',
+    '🏌': 'person golfing',
+    '🏌️‍♂️': 'man golfing',
+    '🏌️‍♀️': 'woman golfing',
+    '🏄': 'person surfing',
+    '🏄‍♂️': 'man surfing',
+    '🏄‍♀️': 'woman surfing',
+    '🚣': 'person rowing boat',
+    '🚣‍♂️': 'man rowing boat',
+    '🚣‍♀️': 'woman rowing boat',
+    '🏊': 'person swimming',
+    '🏊‍♂️': 'man swimming',
+    '🏊‍♀️': 'woman swimming',
+    '⛹': 'person bouncing ball',
+    '⛹️‍♂️': 'man bouncing ball',
+    '⛹️‍♀️': 'woman bouncing ball',
+    '🏋': 'person lifting weights',
+    '🏋️‍♂️': 'man lifting weights',
+    '🏋️‍♀️': 'woman lifting weights',
+    '🚴': 'person biking',
+    '🚴‍♂️': 'man biking',
+    '🚴‍♀️': 'woman biking',
+    '🚵': 'person mountain biking',
+    '🚵‍♂️': 'man mountain biking',
+    '🚵‍♀️': 'woman mountain biking',
+    '🤸': 'person cartwheeling',
+    '🤸‍♂️': 'man cartwheeling',
+    '🤸‍♀️': 'woman cartwheeling',
+    '🤼': 'people wrestling',
+    '🤼‍♂️': 'men wrestling',
+    '🤼‍♀️': 'women wrestling',
+    '🤽': 'person playing water polo',
+    '🤽‍♂️': 'man playing water polo',
+    '🤽‍♀️': 'woman playing water polo',
+    '🤾': 'person playing handball',
+    '🤾‍♂️': 'man playing handball',
+    '🤾‍♀️': 'woman playing handball',
+    '🤹': 'person juggling',
+    '🤹‍♂️': 'man juggling',
+    '🤹‍♀️': 'woman juggling',
+    '🧘': 'person in lotus position',
+    '🧘‍♂️': 'man in lotus position',
+    '🧘‍♀️': 'woman in lotus position',
+    '🛀': 'person taking bath',
+    '🛌': 'person in bed',
+    '🧑‍🤝‍🧑': 'people holding hands',
+    '👭': 'women holding hands',
+    '👫': 'woman and man holding hands',
+    '👬': 'men holding hands',
+    '💏': 'kiss',
+    '👩‍❤️‍💋‍👨': 'kiss: woman, man',
+    '👨‍❤️‍💋‍👨': 'kiss: man, man',
+    '👩‍❤️‍💋‍👩': 'kiss: woman, woman',
+    '💑': 'couple with heart',
+    '👩‍❤️‍👨': 'couple with heart: woman, man',
+    '👨‍❤️‍👨': 'couple with heart: man, man',
+    '👩‍❤️‍👩': 'couple with heart: woman, woman',
+    '👪': 'family',
+    '👨‍👩‍👦': 'family: man, woman, boy',
+    '👨‍👩‍👧': 'family: man, woman, girl',
+    '👨‍👩‍👧‍👦': 'family: man, woman, girl, boy',
+    '👨‍👩‍👦‍👦': 'family: man, woman, boy, boy',
+    '👨‍👩‍👧‍👧': 'family: man, woman, girl, girl',
+    '👨‍👨‍👦': 'family: man, man, boy',
+    '👨‍👨‍👧': 'family: man, man, girl',
+    '👨‍👨‍👧‍👦': 'family: man, man, girl, boy',
+    '👨‍👨‍👦‍👦': 'family: man, man, boy, boy',
+    '👨‍👨‍👧‍👧': 'family: man, man, girl, girl',
+    '👩‍👩‍👦': 'family: woman, woman, boy',
+    '👩‍👩‍👧': 'family: woman, woman, girl',
+    '👩‍👩‍👧‍👦': 'family: woman, woman, girl, boy',
+    '👩‍👩‍👦‍👦': 'family: woman, woman, boy, boy',
+    '👩‍👩‍👧‍👧': 'family: woman, woman, girl, girl',
+    '👨‍👦': 'family: man, boy',
+    '👨‍👦‍👦': 'family: man, boy, boy',
+    '👨‍👧': 'family: man, girl',
+    '👨‍👧‍👦': 'family: man, girl, boy',
+    '👨‍👧‍👧': 'family: man, girl, girl',
+    '👩‍👦': 'family: woman, boy',
+    '👩‍👦‍👦': 'family: woman, boy, boy',
+    '👩‍👧': 'family: woman, girl',
+    '👩‍👧‍👦': 'family: woman, girl, boy',
+    '👩‍👧‍👧': 'family: woman, girl, girl',
+    '🗣': 'speaking head',
+    '👤': 'bust in silhouette',
+    '👥': 'busts in silhouette',
+    '🫂': 'people hugging',
+    '👣': 'footprints',
+    '🦰': 'red hair',
+    '🦱': 'curly hair',
+    '🦳': 'white hair',
+    '🦲': 'bald',
+    '🐵': 'monkey face',
+    '🐒': 'monkey',
+    '🦍': 'gorilla',
+    '🦧': 'orangutan',
+    '🐶': 'dog face',
+    '🐕': 'dog',
+    '🦮': 'guide dog',
+    '🐕‍🦺': 'service dog',
+    '🐩': 'poodle',
+    '🐺': 'wolf',
+    '🦊': 'fox',
+    '🦝': 'raccoon',
+    '🐱': 'cat face',
+    '🐈': 'cat',
+    '🐈‍⬛': 'black cat',
+    '🦁': 'lion',
+    '🐯': 'tiger face',
+    '🐅': 'tiger',
+    '🐆': 'leopard',
+    '🐴': 'horse face',
+    '🐎': 'horse',
+    '🦄': 'unicorn',
+    '🦓': 'zebra',
+    '🦌': 'deer',
+    '🦬': 'bison',
+    '🐮': 'cow face',
+    '🐂': 'ox',
+    '🐃': 'water buffalo',
+    '🐄': 'cow',
+    '🐷': 'pig face',
+    '🐖': 'pig',
+    '🐗': 'boar',
+    '🐽': 'pig nose',
+    '🐏': 'ram',
+    '🐑': 'ewe',
+    '🐐': 'goat',
+    '🐪': 'camel',
+    '🐫': 'two-hump camel',
+    '🦙': 'llama',
+    '🦒': 'giraffe',
+    '🐘': 'elephant',
+    '🦣': 'mammoth',
+    '🦏': 'rhinoceros',
+    '🦛': 'hippopotamus',
+    '🐭': 'mouse face',
+    '🐁': 'mouse',
+    '🐀': 'rat',
+    '🐹': 'hamster',
+    '🐰': 'rabbit face',
+    '🐇': 'rabbit',
+    '🐿': 'chipmunk',
+    '🦫': 'beaver',
+    '🦔': 'hedgehog',
+    '🦇': 'bat',
+    '🐻': 'bear',
+    '🐻‍❄️': 'polar bear',
+    '🐨': 'koala',
+    '🐼': 'panda',
+    '🦥': 'sloth',
+    '🦦': 'otter',
+    '🦨': 'skunk',
+    '🦘': 'kangaroo',
+    '🦡': 'badger',
+    '🐾': 'paw prints',
+    '🦃': 'turkey',
+    '🐔': 'chicken',
+    '🐓': 'rooster',
+    '🐣': 'hatching chick',
+    '🐤': 'baby chick',
+    '🐥': 'front-facing baby chick',
+    '🐦': 'bird',
+    '🐧': 'penguin',
+    '🕊': 'dove',
+    '🦅': 'eagle',
+    '🦆': 'duck',
+    '🦢': 'swan',
+    '🦉': 'owl',
+    '🦤': 'dodo',
+    '🪶': 'feather',
+    '🦩': 'flamingo',
+    '🦚': 'peacock',
+    '🦜': 'parrot',
+    '🐸': 'frog',
+    '🐊': 'crocodile',
+    '🐢': 'turtle',
+    '🦎': 'lizard',
+    '🐍': 'snake',
+    '🐲': 'dragon face',
+    '🐉': 'dragon',
+    '🦕': 'sauropod',
+    '🦖': 'T-Rex',
+    '🐳': 'spouting whale',
+    '🐋': 'whale',
+    '🐬': 'dolphin',
+    '🦭': 'seal',
+    '🐟': 'fish',
+    '🐠': 'tropical fish',
+    '🐡': 'blowfish',
+    '🦈': 'shark',
+    '🐙': 'octopus',
+    '🐚': 'spiral shell',
+    '🪸': '⊛ coral',
+    '🐌': 'snail',
+    '🦋': 'butterfly',
+    '🐛': 'bug',
+    '🐜': 'ant',
+    '🐝': 'honeybee',
+    '🪲': 'beetle',
+    '🐞': 'lady beetle',
+    '🦗': 'cricket',
+    '🪳': 'cockroach',
+    '🕷': 'spider',
+    '🕸': 'spider web',
+    '🦂': 'scorpion',
+    '🦟': 'mosquito',
+    '🪰': 'fly',
+    '🪱': 'worm',
+    '🦠': 'microbe',
+    '💐': 'bouquet',
+    '🌸': 'cherry blossom',
+    '💮': 'white flower',
+    '🪷': '⊛ lotus',
+    '🏵': 'rosette',
+    '🌹': 'rose',
+    '🥀': 'wilted flower',
+    '🌺': 'hibiscus',
+    '🌻': 'sunflower',
+    '🌼': 'blossom',
+    '🌷': 'tulip',
+    '🌱': 'seedling',
+    '🪴': 'potted plant',
+    '🌲': 'evergreen tree',
+    '🌳': 'deciduous tree',
+    '🌴': 'palm tree',
+    '🌵': 'cactus',
+    '🌾': 'sheaf of rice',
+    '🌿': 'herb',
+    '☘': 'shamrock',
+    '🍀': 'four leaf clover',
+    '🍁': 'maple leaf',
+    '🍂': 'fallen leaf',
+    '🍃': 'leaf fluttering in wind',
+    '🪹': '⊛ empty nest',
+    '🪺': '⊛ nest with eggs',
+    '🍇': 'grapes',
+    '🍈': 'melon',
+    '🍉': 'watermelon',
+    '🍊': 'tangerine',
+    '🍋': 'lemon',
+    '🍌': 'banana',
+    '🍍': 'pineapple',
+    '🥭': 'mango',
+    '🍎': 'red apple',
+    '🍏': 'green apple',
+    '🍐': 'pear',
+    '🍑': 'peach',
+    '🍒': 'cherries',
+    '🍓': 'strawberry',
+    '🫐': 'blueberries',
+    '🥝': 'kiwi fruit',
+    '🍅': 'tomato',
+    '🫒': 'olive',
+    '🥥': 'coconut',
+    '🥑': 'avocado',
+    '🍆': 'eggplant',
+    '🥔': 'potato',
+    '🥕': 'carrot',
+    '🌽': 'ear of corn',
+    '🌶': 'hot pepper',
+    '🫑': 'bell pepper',
+    '🥒': 'cucumber',
+    '🥬': 'leafy green',
+    '🥦': 'broccoli',
+    '🧄': 'garlic',
+    '🧅': 'onion',
+    '🍄': 'mushroom',
+    '🥜': 'peanuts',
+    '🫘': '⊛ beans',
+    '🌰': 'chestnut',
+    '🍞': 'bread',
+    '🥐': 'croissant',
+    '🥖': 'baguette bread',
+    '🫓': 'flatbread',
+    '🥨': 'pretzel',
+    '🥯': 'bagel',
+    '🥞': 'pancakes',
+    '🧇': 'waffle',
+    '🧀': 'cheese wedge',
+    '🍖': 'meat on bone',
+    '🍗': 'poultry leg',
+    '🥩': 'cut of meat',
+    '🥓': 'bacon',
+    '🍔': 'hamburger',
+    '🍟': 'french fries',
+    '🍕': 'pizza',
+    '🌭': 'hot dog',
+    '🥪': 'sandwich',
+    '🌮': 'taco',
+    '🌯': 'burrito',
+    '🫔': 'tamale',
+    '🥙': 'stuffed flatbread',
+    '🧆': 'falafel',
+    '🥚': 'egg',
+    '🍳': 'cooking',
+    '🥘': 'shallow pan of food',
+    '🍲': 'pot of food',
+    '🫕': 'fondue',
+    '🥣': 'bowl with spoon',
+    '🥗': 'green salad',
+    '🍿': 'popcorn',
+    '🧈': 'butter',
+    '🧂': 'salt',
+    '🥫': 'canned food',
+    '🍱': 'bento box',
+    '🍘': 'rice cracker',
+    '🍙': 'rice ball',
+    '🍚': 'cooked rice',
+    '🍛': 'curry rice',
+    '🍜': 'steaming bowl',
+    '🍝': 'spaghetti',
+    '🍠': 'roasted sweet potato',
+    '🍢': 'oden',
+    '🍣': 'sushi',
+    '🍤': 'fried shrimp',
+    '🍥': 'fish cake with swirl',
+    '🥮': 'moon cake',
+    '🍡': 'dango',
+    '🥟': 'dumpling',
+    '🥠': 'fortune cookie',
+    '🥡': 'takeout box',
+    '🦀': 'crab',
+    '🦞': 'lobster',
+    '🦐': 'shrimp',
+    '🦑': 'squid',
+    '🦪': 'oyster',
+    '🍦': 'soft ice cream',
+    '🍧': 'shaved ice',
+    '🍨': 'ice cream',
+    '🍩': 'doughnut',
+    '🍪': 'cookie',
+    '🎂': 'birthday cake',
+    '🍰': 'shortcake',
+    '🧁': 'cupcake',
+    '🥧': 'pie',
+    '🍫': 'chocolate bar',
+    '🍬': 'candy',
+    '🍭': 'lollipop',
+    '🍮': 'custard',
+    '🍯': 'honey pot',
+    '🍼': 'baby bottle',
+    '🥛': 'glass of milk',
+    '☕': 'hot beverage',
+    '🫖': 'teapot',
+    '🍵': 'teacup without handle',
+    '🍶': 'sake',
+    '🍾': 'bottle with popping cork',
+    '🍷': 'wine glass',
+    '🍸': 'cocktail glass',
+    '🍹': 'tropical drink',
+    '🍺': 'beer mug',
+    '🍻': 'clinking beer mugs',
+    '🥂': 'clinking glasses',
+    '🥃': 'tumbler glass',
+    '🫗': '⊛ pouring liquid',
+    '🥤': 'cup with straw',
+    '🧋': 'bubble tea',
+    '🧃': 'beverage box',
+    '🧉': 'mate',
+    '🧊': 'ice',
+    '🥢': 'chopsticks',
+    '🍽': 'fork and knife with plate',
+    '🍴': 'fork and knife',
+    '🥄': 'spoon',
+    '🔪': 'kitchen knife',
+    '🫙': '⊛ jar',
+    '🏺': 'amphora',
+    '🌍': 'globe showing Europe-Africa',
+    '🌎': 'globe showing Americas',
+    '🌏': 'globe showing Asia-Australia',
+    '🌐': 'globe with meridians',
+    '🗺': 'world map',
+    '🗾': 'map of Japan',
+    '🧭': 'compass',
+    '🏔': 'snow-capped mountain',
+    '⛰': 'mountain',
+    '🌋': 'volcano',
+    '🗻': 'mount fuji',
+    '🏕': 'camping',
+    '🏖': 'beach with umbrella',
+    '🏜': 'desert',
+    '🏝': 'desert island',
+    '🏞': 'national park',
+    '🏟': 'stadium',
+    '🏛': 'classical building',
+    '🏗': 'building construction',
+    '🧱': 'brick',
+    '🪨': 'rock',
+    '🪵': 'wood',
+    '🛖': 'hut',
+    '🏘': 'houses',
+    '🏚': 'derelict house',
+    '🏠': 'house',
+    '🏡': 'house with garden',
+    '🏢': 'office building',
+    '🏣': 'Japanese post office',
+    '🏤': 'post office',
+    '🏥': 'hospital',
+    '🏦': 'bank',
+    '🏨': 'hotel',
+    '🏩': 'love hotel',
+    '🏪': 'convenience store',
+    '🏫': 'school',
+    '🏬': 'department store',
+    '🏭': 'factory',
+    '🏯': 'Japanese castle',
+    '🏰': 'castle',
+    '💒': 'wedding',
+    '🗼': 'Tokyo tower',
+    '🗽': 'Statue of Liberty',
+    '⛪': 'church',
+    '🕌': 'mosque',
+    '🛕': 'hindu temple',
+    '🕍': 'synagogue',
+    '⛩': 'shinto shrine',
+    '🕋': 'kaaba',
+    '⛲': 'fountain',
+    '⛺': 'tent',
+    '🌁': 'foggy',
+    '🌃': 'night with stars',
+    '🏙': 'cityscape',
+    '🌄': 'sunrise over mountains',
+    '🌅': 'sunrise',
+    '🌆': 'cityscape at dusk',
+    '🌇': 'sunset',
+    '🌉': 'bridge at night',
+    '♨': 'hot springs',
+    '🎠': 'carousel horse',
+    '🛝': '⊛ playground slide',
+    '🎡': 'ferris wheel',
+    '🎢': 'roller coaster',
+    '💈': 'barber pole',
+    '🎪': 'circus tent',
+    '🚂': 'locomotive',
+    '🚃': 'railway car',
+    '🚄': 'high-speed train',
+    '🚅': 'bullet train',
+    '🚆': 'train',
+    '🚇': 'metro',
+    '🚈': 'light rail',
+    '🚉': 'station',
+    '🚊': 'tram',
+    '🚝': 'monorail',
+    '🚞': 'mountain railway',
+    '🚋': 'tram car',
+    '🚌': 'bus',
+    '🚍': 'oncoming bus',
+    '🚎': 'trolleybus',
+    '🚐': 'minibus',
+    '🚑': 'ambulance',
+    '🚒': 'fire engine',
+    '🚓': 'police car',
+    '🚔': 'oncoming police car',
+    '🚕': 'taxi',
+    '🚖': 'oncoming taxi',
+    '🚗': 'automobile',
+    '🚘': 'oncoming automobile',
+    '🚙': 'sport utility vehicle',
+    '🛻': 'pickup truck',
+    '🚚': 'delivery truck',
+    '🚛': 'articulated lorry',
+    '🚜': 'tractor',
+    '🏎': 'racing car',
+    '🏍': 'motorcycle',
+    '🛵': 'motor scooter',
+    '🦽': 'manual wheelchair',
+    '🦼': 'motorized wheelchair',
+    '🛺': 'auto rickshaw',
+    '🚲': 'bicycle',
+    '🛴': 'kick scooter',
+    '🛹': 'skateboard',
+    '🛼': 'roller skate',
+    '🚏': 'bus stop',
+    '🛣': 'motorway',
+    '🛤': 'railway track',
+    '🛢': 'oil drum',
+    '⛽': 'fuel pump',
+    '🛞': '⊛ wheel',
+    '🚨': 'police car light',
+    '🚥': 'horizontal traffic light',
+    '🚦': 'vertical traffic light',
+    '🛑': 'stop sign',
+    '🚧': 'construction',
+    '⚓': 'anchor',
+    '🛟': '⊛ ring buoy',
+    '⛵': 'sailboat',
+    '🛶': 'canoe',
+    '🚤': 'speedboat',
+    '🛳': 'passenger ship',
+    '⛴': 'ferry',
+    '🛥': 'motor boat',
+    '🚢': 'ship',
+    '✈': 'airplane',
+    '🛩': 'small airplane',
+    '🛫': 'airplane departure',
+    '🛬': 'airplane arrival',
+    '🪂': 'parachute',
+    '💺': 'seat',
+    '🚁': 'helicopter',
+    '🚟': 'suspension railway',
+    '🚠': 'mountain cableway',
+    '🚡': 'aerial tramway',
+    '🛰': 'satellite',
+    '🚀': 'rocket',
+    '🛸': 'flying saucer',
+    '🛎': 'bellhop bell',
+    '🧳': 'luggage',
+    '⌛': 'hourglass done',
+    '⏳': 'hourglass not done',
+    '⌚': 'watch',
+    '⏰': 'alarm clock',
+    '⏱': 'stopwatch',
+    '⏲': 'timer clock',
+    '🕰': 'mantelpiece clock',
+    '🕛': 'twelve o’clock',
+    '🕧': 'twelve-thirty',
+    '🕐': 'one o’clock',
+    '🕜': 'one-thirty',
+    '🕑': 'two o’clock',
+    '🕝': 'two-thirty',
+    '🕒': 'three o’clock',
+    '🕞': 'three-thirty',
+    '🕓': 'four o’clock',
+    '🕟': 'four-thirty',
+    '🕔': 'five o’clock',
+    '🕠': 'five-thirty',
+    '🕕': 'six o’clock',
+    '🕡': 'six-thirty',
+    '🕖': 'seven o’clock',
+    '🕢': 'seven-thirty',
+    '🕗': 'eight o’clock',
+    '🕣': 'eight-thirty',
+    '🕘': 'nine o’clock',
+    '🕤': 'nine-thirty',
+    '🕙': 'ten o’clock',
+    '🕥': 'ten-thirty',
+    '🕚': 'eleven o’clock',
+    '🕦': 'eleven-thirty',
+    '🌑': 'new moon',
+    '🌒': 'waxing crescent moon',
+    '🌓': 'first quarter moon',
+    '🌔': 'waxing gibbous moon',
+    '🌕': 'full moon',
+    '🌖': 'waning gibbous moon',
+    '🌗': 'last quarter moon',
+    '🌘': 'waning crescent moon',
+    '🌙': 'crescent moon',
+    '🌚': 'new moon face',
+    '🌛': 'first quarter moon face',
+    '🌜': 'last quarter moon face',
+    '🌡': 'thermometer',
+    '☀': 'sun',
+    '🌝': 'full moon face',
+    '🌞': 'sun with face',
+    '🪐': 'ringed planet',
+    '⭐': 'star',
+    '🌟': 'glowing star',
+    '🌠': 'shooting star',
+    '🌌': 'milky way',
+    '☁': 'cloud',
+    '⛅': 'sun behind cloud',
+    '⛈': 'cloud with lightning and rain',
+    '🌤': 'sun behind small cloud',
+    '🌥': 'sun behind large cloud',
+    '🌦': 'sun behind rain cloud',
+    '🌧': 'cloud with rain',
+    '🌨': 'cloud with snow',
+    '🌩': 'cloud with lightning',
+    '🌪': 'tornado',
+    '🌫': 'fog',
+    '🌬': 'wind face',
+    '🌀': 'cyclone',
+    '🌈': 'rainbow',
+    '🌂': 'closed umbrella',
+    '☂': 'umbrella',
+    '☔': 'umbrella with rain drops',
+    '⛱': 'umbrella on ground',
+    '⚡': 'high voltage',
+    '❄': 'snowflake',
+    '☃': 'snowman',
+    '⛄': 'snowman without snow',
+    '☄': 'comet',
+    '🔥': 'fire',
+    '💧': 'droplet',
+    '🌊': 'water wave',
+    '🎃': 'jack-o-lantern',
+    '🎄': 'Christmas tree',
+    '🎆': 'fireworks',
+    '🎇': 'sparkler',
+    '🧨': 'firecracker',
+    '✨': 'sparkles',
+    '🎈': 'balloon',
+    '🎉': 'party popper',
+    '🎊': 'confetti ball',
+    '🎋': 'tanabata tree',
+    '🎍': 'pine decoration',
+    '🎎': 'Japanese dolls',
+    '🎏': 'carp streamer',
+    '🎐': 'wind chime',
+    '🎑': 'moon viewing ceremony',
+    '🧧': 'red envelope',
+    '🎀': 'ribbon',
+    '🎁': 'wrapped gift',
+    '🎗': 'reminder ribbon',
+    '🎟': 'admission tickets',
+    '🎫': 'ticket',
+    '🎖': 'military medal',
+    '🏆': 'trophy',
+    '🏅': 'sports medal',
+    '🥇': '1st place medal',
+    '🥈': '2nd place medal',
+    '🥉': '3rd place medal',
+    '⚽': 'soccer ball',
+    '⚾': 'baseball',
+    '🥎': 'softball',
+    '🏀': 'basketball',
+    '🏐': 'volleyball',
+    '🏈': 'american football',
+    '🏉': 'rugby football',
+    '🎾': 'tennis',
+    '🥏': 'flying disc',
+    '🎳': 'bowling',
+    '🏏': 'cricket game',
+    '🏑': 'field hockey',
+    '🏒': 'ice hockey',
+    '🥍': 'lacrosse',
+    '🏓': 'ping pong',
+    '🏸': 'badminton',
+    '🥊': 'boxing glove',
+    '🥋': 'martial arts uniform',
+    '🥅': 'goal net',
+    '⛳': 'flag in hole',
+    '⛸': 'ice skate',
+    '🎣': 'fishing pole',
+    '🤿': 'diving mask',
+    '🎽': 'running shirt',
+    '🎿': 'skis',
+    '🛷': 'sled',
+    '🥌': 'curling stone',
+    '🎯': 'bullseye',
+    '🪀': 'yo-yo',
+    '🪁': 'kite',
+    '🎱': 'pool 8 ball',
+    '🔮': 'crystal ball',
+    '🪄': 'magic wand',
+    '🧿': 'nazar amulet',
+    '🪬': '⊛ hamsa',
+    '🎮': 'video game',
+    '🕹': 'joystick',
+    '🎰': 'slot machine',
+    '🎲': 'game die',
+    '🧩': 'puzzle piece',
+    '🧸': 'teddy bear',
+    '🪅': 'piñata',
+    '🪩': '⊛ mirror ball',
+    '🪆': 'nesting dolls',
+    '♠': 'spade suit',
+    '♥': 'heart suit',
+    '♦': 'diamond suit',
+    '♣': 'club suit',
+    '♟': 'chess pawn',
+    '🃏': 'joker',
+    '🀄': 'mahjong red dragon',
+    '🎴': 'flower playing cards',
+    '🎭': 'performing arts',
+    '🖼': 'framed picture',
+    '🎨': 'artist palette',
+    '🧵': 'thread',
+    '🪡': 'sewing needle',
+    '🧶': 'yarn',
+    '🪢': 'knot',
+    '👓': 'glasses',
+    '🕶': 'sunglasses',
+    '🥽': 'goggles',
+    '🥼': 'lab coat',
+    '🦺': 'safety vest',
+    '👔': 'necktie',
+    '👕': 't-shirt',
+    '👖': 'jeans',
+    '🧣': 'scarf',
+    '🧤': 'gloves',
+    '🧥': 'coat',
+    '🧦': 'socks',
+    '👗': 'dress',
+    '👘': 'kimono',
+    '🥻': 'sari',
+    '🩱': 'one-piece swimsuit',
+    '🩲': 'briefs',
+    '🩳': 'shorts',
+    '👙': 'bikini',
+    '👚': 'woman’s clothes',
+    '👛': 'purse',
+    '👜': 'handbag',
+    '👝': 'clutch bag',
+    '🛍': 'shopping bags',
+    '🎒': 'backpack',
+    '🩴': 'thong sandal',
+    '👞': 'man’s shoe',
+    '👟': 'running shoe',
+    '🥾': 'hiking boot',
+    '🥿': 'flat shoe',
+    '👠': 'high-heeled shoe',
+    '👡': 'woman’s sandal',
+    '🩰': 'ballet shoes',
+    '👢': 'woman’s boot',
+    '👑': 'crown',
+    '👒': 'woman’s hat',
+    '🎩': 'top hat',
+    '🎓': 'graduation cap',
+    '🧢': 'billed cap',
+    '🪖': 'military helmet',
+    '⛑': 'rescue worker’s helmet',
+    '📿': 'prayer beads',
+    '💄': 'lipstick',
+    '💍': 'ring',
+    '💎': 'gem stone',
+    '🔇': 'muted speaker',
+    '🔈': 'speaker low volume',
+    '🔉': 'speaker medium volume',
+    '🔊': 'speaker high volume',
+    '📢': 'loudspeaker',
+    '📣': 'megaphone',
+    '📯': 'postal horn',
+    '🔔': 'bell',
+    '🔕': 'bell with slash',
+    '🎼': 'musical score',
+    '🎵': 'musical note',
+    '🎶': 'musical notes',
+    '🎙': 'studio microphone',
+    '🎚': 'level slider',
+    '🎛': 'control knobs',
+    '🎤': 'microphone',
+    '🎧': 'headphone',
+    '📻': 'radio',
+    '🎷': 'saxophone',
+    '🪗': 'accordion',
+    '🎸': 'guitar',
+    '🎹': 'musical keyboard',
+    '🎺': 'trumpet',
+    '🎻': 'violin',
+    '🪕': 'banjo',
+    '🥁': 'drum',
+    '🪘': 'long drum',
+    '📱': 'mobile phone',
+    '📲': 'mobile phone with arrow',
+    '☎': 'telephone',
+    '📞': 'telephone receiver',
+    '📟': 'pager',
+    '📠': 'fax machine',
+    '🔋': 'battery',
+    '🪫': '⊛ low battery',
+    '🔌': 'electric plug',
+    '💻': 'laptop',
+    '🖥': 'desktop computer',
+    '🖨': 'printer',
+    '⌨': 'keyboard',
+    '🖱': 'computer mouse',
+    '🖲': 'trackball',
+    '💽': 'computer disk',
+    '💾': 'floppy disk',
+    '💿': 'optical disk',
+    '📀': 'dvd',
+    '🧮': 'abacus',
+    '🎥': 'movie camera',
+    '🎞': 'film frames',
+    '📽': 'film projector',
+    '🎬': 'clapper board',
+    '📺': 'television',
+    '📷': 'camera',
+    '📸': 'camera with flash',
+    '📹': 'video camera',
+    '📼': 'videocassette',
+    '🔍': 'magnifying glass tilted left',
+    '🔎': 'magnifying glass tilted right',
+    '🕯': 'candle',
+    '💡': 'light bulb',
+    '🔦': 'flashlight',
+    '🏮': 'red paper lantern',
+    '🪔': 'diya lamp',
+    '📔': 'notebook with decorative cover',
+    '📕': 'closed book',
+    '📖': 'open book',
+    '📗': 'green book',
+    '📘': 'blue book',
+    '📙': 'orange book',
+    '📚': 'books',
+    '📓': 'notebook',
+    '📒': 'ledger',
+    '📃': 'page with curl',
+    '📜': 'scroll',
+    '📄': 'page facing up',
+    '📰': 'newspaper',
+    '🗞': 'rolled-up newspaper',
+    '📑': 'bookmark tabs',
+    '🔖': 'bookmark',
+    '🏷': 'label',
+    '💰': 'money bag',
+    '🪙': 'coin',
+    '💴': 'yen banknote',
+    '💵': 'dollar banknote',
+    '💶': 'euro banknote',
+    '💷': 'pound banknote',
+    '💸': 'money with wings',
+    '💳': 'credit card',
+    '🧾': 'receipt',
+    '💹': 'chart increasing with yen',
+    '✉': 'envelope',
+    '📧': 'e-mail',
+    '📨': 'incoming envelope',
+    '📩': 'envelope with arrow',
+    '📤': 'outbox tray',
+    '📥': 'inbox tray',
+    '📦': 'package',
+    '📫': 'closed mailbox with raised flag',
+    '📪': 'closed mailbox with lowered flag',
+    '📬': 'open mailbox with raised flag',
+    '📭': 'open mailbox with lowered flag',
+    '📮': 'postbox',
+    '🗳': 'ballot box with ballot',
+    '✏': 'pencil',
+    '✒': 'black nib',
+    '🖋': 'fountain pen',
+    '🖊': 'pen',
+    '🖌': 'paintbrush',
+    '🖍': 'crayon',
+    '📝': 'memo',
+    '💼': 'briefcase',
+    '📁': 'file folder',
+    '📂': 'open file folder',
+    '🗂': 'card index dividers',
+    '📅': 'calendar',
+    '📆': 'tear-off calendar',
+    '🗒': 'spiral notepad',
+    '🗓': 'spiral calendar',
+    '📇': 'card index',
+    '📈': 'chart increasing',
+    '📉': 'chart decreasing',
+    '📊': 'bar chart',
+    '📋': 'clipboard',
+    '📌': 'pushpin',
+    '📍': 'round pushpin',
+    '📎': 'paperclip',
+    '🖇': 'linked paperclips',
+    '📏': 'straight ruler',
+    '📐': 'triangular ruler',
+    '✂': 'scissors',
+    '🗃': 'card file box',
+    '🗄': 'file cabinet',
+    '🗑': 'wastebasket',
+    '🔒': 'locked',
+    '🔓': 'unlocked',
+    '🔏': 'locked with pen',
+    '🔐': 'locked with key',
+    '🔑': 'key',
+    '🗝': 'old key',
+    '🔨': 'hammer',
+    '🪓': 'axe',
+    '⛏': 'pick',
+    '⚒': 'hammer and pick',
+    '🛠': 'hammer and wrench',
+    '🗡': 'dagger',
+    '⚔': 'crossed swords',
+    '🔫': 'water pistol',
+    '🪃': 'boomerang',
+    '🏹': 'bow and arrow',
+    '🛡': 'shield',
+    '🪚': 'carpentry saw',
+    '🔧': 'wrench',
+    '🪛': 'screwdriver',
+    '🔩': 'nut and bolt',
+    '⚙': 'gear',
+    '🗜': 'clamp',
+    '⚖': 'balance scale',
+    '🦯': 'white cane',
+    '🔗': 'link',
+    '⛓': 'chains',
+    '🪝': 'hook',
+    '🧰': 'toolbox',
+    '🧲': 'magnet',
+    '🪜': 'ladder',
+    '⚗': 'alembic',
+    '🧪': 'test tube',
+    '🧫': 'petri dish',
+    '🧬': 'dna',
+    '🔬': 'microscope',
+    '🔭': 'telescope',
+    '📡': 'satellite antenna',
+    '💉': 'syringe',
+    '🩸': 'drop of blood',
+    '💊': 'pill',
+    '🩹': 'adhesive bandage',
+    '🩼': '⊛ crutch',
+    '🩺': 'stethoscope',
+    '🩻': '⊛ x-ray',
+    '🚪': 'door',
+    '🛗': 'elevator',
+    '🪞': 'mirror',
+    '🪟': 'window',
+    '🛏': 'bed',
+    '🛋': 'couch and lamp',
+    '🪑': 'chair',
+    '🚽': 'toilet',
+    '🪠': 'plunger',
+    '🚿': 'shower',
+    '🛁': 'bathtub',
+    '🪤': 'mouse trap',
+    '🪒': 'razor',
+    '🧴': 'lotion bottle',
+    '🧷': 'safety pin',
+    '🧹': 'broom',
+    '🧺': 'basket',
+    '🧻': 'roll of paper',
+    '🪣': 'bucket',
+    '🧼': 'soap',
+    '🫧': '⊛ bubbles',
+    '🪥': 'toothbrush',
+    '🧽': 'sponge',
+    '🧯': 'fire extinguisher',
+    '🛒': 'shopping cart',
+    '🚬': 'cigarette',
+    '⚰': 'coffin',
+    '🪦': 'headstone',
+    '⚱': 'funeral urn',
+    '🗿': 'moai',
+    '🪧': 'placard',
+    '🪪': '⊛ identification card',
+    '🏧': 'ATM sign',
+    '🚮': 'litter in bin sign',
+    '🚰': 'potable water',
+    '♿': 'wheelchair symbol',
+    '🚹': 'men’s room',
+    '🚺': 'women’s room',
+    '🚻': 'restroom',
+    '🚼': 'baby symbol',
+    '🚾': 'water closet',
+    '🛂': 'passport control',
+    '🛃': 'customs',
+    '🛄': 'baggage claim',
+    '🛅': 'left luggage',
+    '⚠': 'warning',
+    '🚸': 'children crossing',
+    '⛔': 'no entry',
+    '🚫': 'prohibited',
+    '🚳': 'no bicycles',
+    '🚭': 'no smoking',
+    '🚯': 'no littering',
+    '🚱': 'non-potable water',
+    '🚷': 'no pedestrians',
+    '📵': 'no mobile phones',
+    '🔞': 'no one under eighteen',
+    '☢': 'radioactive',
+    '☣': 'biohazard',
+    '⬆': 'up arrow',
+    '↗': 'up-right arrow',
+    '➡': 'right arrow',
+    '↘': 'down-right arrow',
+    '⬇': 'down arrow',
+    '↙': 'down-left arrow',
+    '⬅': 'left arrow',
+    '↖': 'up-left arrow',
+    '↕': 'up-down arrow',
+    '↔': 'left-right arrow',
+    '↩': 'right arrow curving left',
+    '↪': 'left arrow curving right',
+    '⤴': 'right arrow curving up',
+    '⤵': 'right arrow curving down',
+    '🔃': 'clockwise vertical arrows',
+    '🔄': 'counterclockwise arrows button',
+    '🔙': 'BACK arrow',
+    '🔚': 'END arrow',
+    '🔛': 'ON! arrow',
+    '🔜': 'SOON arrow',
+    '🔝': 'TOP arrow',
+    '🛐': 'place of worship',
+    '⚛': 'atom symbol',
+    '🕉': 'om',
+    '✡': 'star of David',
+    '☸': 'wheel of dharma',
+    '☯': 'yin yang',
+    '✝': 'latin cross',
+    '☦': 'orthodox cross',
+    '☪': 'star and crescent',
+    '☮': 'peace symbol',
+    '🕎': 'menorah',
+    '🔯': 'dotted six-pointed star',
+    '♈': 'Aries',
+    '♉': 'Taurus',
+    '♊': 'Gemini',
+    '♋': 'Cancer',
+    '♌': 'Leo',
+    '♍': 'Virgo',
+    '♎': 'Libra',
+    '♏': 'Scorpio',
+    '♐': 'Sagittarius',
+    '♑': 'Capricorn',
+    '♒': 'Aquarius',
+    '♓': 'Pisces',
+    '⛎': 'Ophiuchus',
+    '🔀': 'shuffle tracks button',
+    '🔁': 'repeat button',
+    '🔂': 'repeat single button',
+    '▶': 'play button',
+    '⏩': 'fast-forward button',
+    '⏭': 'next track button',
+    '⏯': 'play or pause button',
+    '◀': 'reverse button',
+    '⏪': 'fast reverse button',
+    '⏮': 'last track button',
+    '🔼': 'upwards button',
+    '⏫': 'fast up button',
+    '🔽': 'downwards button',
+    '⏬': 'fast down button',
+    '⏸': 'pause button',
+    '⏹': 'stop button',
+    '⏺': 'record button',
+    '⏏': 'eject button',
+    '🎦': 'cinema',
+    '🔅': 'dim button',
+    '🔆': 'bright button',
+    '📶': 'antenna bars',
+    '📳': 'vibration mode',
+    '📴': 'mobile phone off',
+    '♀': 'female sign',
+    '♂': 'male sign',
+    '⚧': 'transgender symbol',
+    '✖': 'multiply',
+    '➕': 'plus',
+    '➖': 'minus',
+    '➗': 'divide',
+    '🟰': '⊛ heavy equals sign',
+    '♾': 'infinity',
+    '‼': 'double exclamation mark',
+    '⁉': 'exclamation question mark',
+    '❓': 'red question mark',
+    '❔': 'white question mark',
+    '❕': 'white exclamation mark',
+    '❗': 'red exclamation mark',
+    '〰': 'wavy dash',
+    '💱': 'currency exchange',
+    '💲': 'heavy dollar sign',
+    '⚕': 'medical symbol',
+    '♻': 'recycling symbol',
+    '⚜': 'fleur-de-lis',
+    '🔱': 'trident emblem',
+    '📛': 'name badge',
+    '🔰': 'Japanese symbol for beginner',
+    '⭕': 'hollow red circle',
+    '✅': 'check mark button',
+    '☑': 'check box with check',
+    '✔': 'check mark',
+    '❌': 'cross mark',
+    '❎': 'cross mark button',
+    '➰': 'curly loop',
+    '➿': 'double curly loop',
+    '〽': 'part alternation mark',
+    '✳': 'eight-spoked asterisk',
+    '✴': 'eight-pointed star',
+    '❇': 'sparkle',
+    '©': 'copyright',
+    '®': 'registered',
+    '™': 'trade mark',
+    '#️⃣': 'keycap: #',
+    '*️⃣': 'keycap: *',
+    '0️⃣': 'keycap: 0',
+    '1️⃣': 'keycap: 1',
+    '2️⃣': 'keycap: 2',
+    '3️⃣': 'keycap: 3',
+    '4️⃣': 'keycap: 4',
+    '5️⃣': 'keycap: 5',
+    '6️⃣': 'keycap: 6',
+    '7️⃣': 'keycap: 7',
+    '8️⃣': 'keycap: 8',
+    '9️⃣': 'keycap: 9',
+    '🔟': 'keycap: 10',
+    '🔠': 'input latin uppercase',
+    '🔡': 'input latin lowercase',
+    '🔢': 'input numbers',
+    '🔣': 'input symbols',
+    '🔤': 'input latin letters',
+    '🅰': 'A button (blood type)',
+    '🆎': 'AB button (blood type)',
+    '🅱': 'B button (blood type)',
+    '🆑': 'CL button',
+    '🆒': 'COOL button',
+    '🆓': 'FREE button',
+    ℹ: 'information',
+    '🆔': 'ID button',
+    'Ⓜ': 'circled M',
+    '🆕': 'NEW button',
+    '🆖': 'NG button',
+    '🅾': 'O button (blood type)',
+    '🆗': 'OK button',
+    '🅿': 'P button',
+    '🆘': 'SOS button',
+    '🆙': 'UP! button',
+    '🆚': 'VS button',
+    '🈁': 'Japanese “here” button',
+    '🈂': 'Japanese “service charge” button',
+    '🈷': 'Japanese “monthly amount” button',
+    '🈶': 'Japanese “not free of charge” button',
+    '🈯': 'Japanese “reserved” button',
+    '🉐': 'Japanese “bargain” button',
+    '🈹': 'Japanese “discount” button',
+    '🈚': 'Japanese “free of charge” button',
+    '🈲': 'Japanese “prohibited” button',
+    '🉑': 'Japanese “acceptable” button',
+    '🈸': 'Japanese “application” button',
+    '🈴': 'Japanese “passing grade” button',
+    '🈳': 'Japanese “vacancy” button',
+    '㊗': 'Japanese “congratulations” button',
+    '㊙': 'Japanese “secret” button',
+    '🈺': 'Japanese “open for business” button',
+    '🈵': 'Japanese “no vacancy” button',
+    '🔴': 'red circle',
+    '🟠': 'orange circle',
+    '🟡': 'yellow circle',
+    '🟢': 'green circle',
+    '🔵': 'blue circle',
+    '🟣': 'purple circle',
+    '🟤': 'brown circle',
+    '⚫': 'black circle',
+    '⚪': 'white circle',
+    '🟥': 'red square',
+    '🟧': 'orange square',
+    '🟨': 'yellow square',
+    '🟩': 'green square',
+    '🟦': 'blue square',
+    '🟪': 'purple square',
+    '🟫': 'brown square',
+    '⬛': 'black large square',
+    '⬜': 'white large square',
+    '◼': 'black medium square',
+    '◻': 'white medium square',
+    '◾': 'black medium-small square',
+    '◽': 'white medium-small square',
+    '▪': 'black small square',
+    '▫': 'white small square',
+    '🔶': 'large orange diamond',
+    '🔷': 'large blue diamond',
+    '🔸': 'small orange diamond',
+    '🔹': 'small blue diamond',
+    '🔺': 'red triangle pointed up',
+    '🔻': 'red triangle pointed down',
+    '💠': 'diamond with a dot',
+    '🔘': 'radio button',
+    '🔳': 'white square button',
+    '🔲': 'black square button',
+    '🏁': 'chequered flag',
+    '🚩': 'triangular flag',
+    '🎌': 'crossed flags',
+    '🏴': 'black flag',
+    '🏳': 'white flag',
+    '🏳️‍🌈': 'rainbow flag',
+    '🏳️‍⚧️': 'transgender flag',
+    '🏴‍☠️': 'pirate flag',
+    '🇦🇨': 'flag: Ascension Island',
+    '🇦🇩': 'flag: Andorra',
+    '🇦🇪': 'flag: United Arab Emirates',
+    '🇦🇫': 'flag: Afghanistan',
+    '🇦🇬': 'flag: Antigua & Barbuda',
+    '🇦🇮': 'flag: Anguilla',
+    '🇦🇱': 'flag: Albania',
+    '🇦🇲': 'flag: Armenia',
+    '🇦🇴': 'flag: Angola',
+    '🇦🇶': 'flag: Antarctica',
+    '🇦🇷': 'flag: Argentina',
+    '🇦🇸': 'flag: American Samoa',
+    '🇦🇹': 'flag: Austria',
+    '🇦🇺': 'flag: Australia',
+    '🇦🇼': 'flag: Aruba',
+    '🇦🇽': 'flag: Åland Islands',
+    '🇦🇿': 'flag: Azerbaijan',
+    '🇧🇦': 'flag: Bosnia & Herzegovina',
+    '🇧🇧': 'flag: Barbados',
+    '🇧🇩': 'flag: Bangladesh',
+    '🇧🇪': 'flag: Belgium',
+    '🇧🇫': 'flag: Burkina Faso',
+    '🇧🇬': 'flag: Bulgaria',
+    '🇧🇭': 'flag: Bahrain',
+    '🇧🇮': 'flag: Burundi',
+    '🇧🇯': 'flag: Benin',
+    '🇧🇱': 'flag: St. Barthélemy',
+    '🇧🇲': 'flag: Bermuda',
+    '🇧🇳': 'flag: Brunei',
+    '🇧🇴': 'flag: Bolivia',
+    '🇧🇶': 'flag: Caribbean Netherlands',
+    '🇧🇷': 'flag: Brazil',
+    '🇧🇸': 'flag: Bahamas',
+    '🇧🇹': 'flag: Bhutan',
+    '🇧🇻': 'flag: Bouvet Island',
+    '🇧🇼': 'flag: Botswana',
+    '🇧🇾': 'flag: Belarus',
+    '🇧🇿': 'flag: Belize',
+    '🇨🇦': 'flag: Canada',
+    '🇨🇨': 'flag: Cocos (Keeling) Islands',
+    '🇨🇩': 'flag: Congo - Kinshasa',
+    '🇨🇫': 'flag: Central African Republic',
+    '🇨🇬': 'flag: Congo - Brazzaville',
+    '🇨🇭': 'flag: Switzerland',
+    '🇨🇮': 'flag: Côte d’Ivoire',
+    '🇨🇰': 'flag: Cook Islands',
+    '🇨🇱': 'flag: Chile',
+    '🇨🇲': 'flag: Cameroon',
+    '🇨🇳': 'flag: China',
+    '🇨🇴': 'flag: Colombia',
+    '🇨🇵': 'flag: Clipperton Island',
+    '🇨🇷': 'flag: Costa Rica',
+    '🇨🇺': 'flag: Cuba',
+    '🇨🇻': 'flag: Cape Verde',
+    '🇨🇼': 'flag: Curaçao',
+    '🇨🇽': 'flag: Christmas Island',
+    '🇨🇾': 'flag: Cyprus',
+    '🇨🇿': 'flag: Czechia',
+    '🇩🇪': 'flag: Germany',
+    '🇩🇬': 'flag: Diego Garcia',
+    '🇩🇯': 'flag: Djibouti',
+    '🇩🇰': 'flag: Denmark',
+    '🇩🇲': 'flag: Dominica',
+    '🇩🇴': 'flag: Dominican Republic',
+    '🇩🇿': 'flag: Algeria',
+    '🇪🇦': 'flag: Ceuta & Melilla',
+    '🇪🇨': 'flag: Ecuador',
+    '🇪🇪': 'flag: Estonia',
+    '🇪🇬': 'flag: Egypt',
+    '🇪🇭': 'flag: Western Sahara',
+    '🇪🇷': 'flag: Eritrea',
+    '🇪🇸': 'flag: Spain',
+    '🇪🇹': 'flag: Ethiopia',
+    '🇪🇺': 'flag: European Union',
+    '🇫🇮': 'flag: Finland',
+    '🇫🇯': 'flag: Fiji',
+    '🇫🇰': 'flag: Falkland Islands',
+    '🇫🇲': 'flag: Micronesia',
+    '🇫🇴': 'flag: Faroe Islands',
+    '🇫🇷': 'flag: France',
+    '🇬🇦': 'flag: Gabon',
+    '🇬🇧': 'flag: United Kingdom',
+    '🇬🇩': 'flag: Grenada',
+    '🇬🇪': 'flag: Georgia',
+    '🇬🇫': 'flag: French Guiana',
+    '🇬🇬': 'flag: Guernsey',
+    '🇬🇭': 'flag: Ghana',
+    '🇬🇮': 'flag: Gibraltar',
+    '🇬🇱': 'flag: Greenland',
+    '🇬🇲': 'flag: Gambia',
+    '🇬🇳': 'flag: Guinea',
+    '🇬🇵': 'flag: Guadeloupe',
+    '🇬🇶': 'flag: Equatorial Guinea',
+    '🇬🇷': 'flag: Greece',
+    '🇬🇸': 'flag: South Georgia & South Sandwich Islands',
+    '🇬🇹': 'flag: Guatemala',
+    '🇬🇺': 'flag: Guam',
+    '🇬🇼': 'flag: Guinea-Bissau',
+    '🇬🇾': 'flag: Guyana',
+    '🇭🇰': 'flag: Hong Kong SAR China',
+    '🇭🇲': 'flag: Heard & McDonald Islands',
+    '🇭🇳': 'flag: Honduras',
+    '🇭🇷': 'flag: Croatia',
+    '🇭🇹': 'flag: Haiti',
+    '🇭🇺': 'flag: Hungary',
+    '🇮🇨': 'flag: Canary Islands',
+    '🇮🇩': 'flag: Indonesia',
+    '🇮🇪': 'flag: Ireland',
+    '🇮🇱': 'flag: Israel',
+    '🇮🇲': 'flag: Isle of Man',
+    '🇮🇳': 'flag: India',
+    '🇮🇴': 'flag: British Indian Ocean Territory',
+    '🇮🇶': 'flag: Iraq',
+    '🇮🇷': 'flag: Iran',
+    '🇮🇸': 'flag: Iceland',
+    '🇮🇹': 'flag: Italy',
+    '🇯🇪': 'flag: Jersey',
+    '🇯🇲': 'flag: Jamaica',
+    '🇯🇴': 'flag: Jordan',
+    '🇯🇵': 'flag: Japan',
+    '🇰🇪': 'flag: Kenya',
+    '🇰🇬': 'flag: Kyrgyzstan',
+    '🇰🇭': 'flag: Cambodia',
+    '🇰🇮': 'flag: Kiribati',
+    '🇰🇲': 'flag: Comoros',
+    '🇰🇳': 'flag: St. Kitts & Nevis',
+    '🇰🇵': 'flag: North Korea',
+    '🇰🇷': 'flag: South Korea',
+    '🇰🇼': 'flag: Kuwait',
+    '🇰🇾': 'flag: Cayman Islands',
+    '🇰🇿': 'flag: Kazakhstan',
+    '🇱🇦': 'flag: Laos',
+    '🇱🇧': 'flag: Lebanon',
+    '🇱🇨': 'flag: St. Lucia',
+    '🇱🇮': 'flag: Liechtenstein',
+    '🇱🇰': 'flag: Sri Lanka',
+    '🇱🇷': 'flag: Liberia',
+    '🇱🇸': 'flag: Lesotho',
+    '🇱🇹': 'flag: Lithuania',
+    '🇱🇺': 'flag: Luxembourg',
+    '🇱🇻': 'flag: Latvia',
+    '🇱🇾': 'flag: Libya',
+    '🇲🇦': 'flag: Morocco',
+    '🇲🇨': 'flag: Monaco',
+    '🇲🇩': 'flag: Moldova',
+    '🇲🇪': 'flag: Montenegro',
+    '🇲🇫': 'flag: St. Martin',
+    '🇲🇬': 'flag: Madagascar',
+    '🇲🇭': 'flag: Marshall Islands',
+    '🇲🇰': 'flag: North Macedonia',
+    '🇲🇱': 'flag: Mali',
+    '🇲🇲': 'flag: Myanmar (Burma)',
+    '🇲🇳': 'flag: Mongolia',
+    '🇲🇴': 'flag: Macao SAR China',
+    '🇲🇵': 'flag: Northern Mariana Islands',
+    '🇲🇶': 'flag: Martinique',
+    '🇲🇷': 'flag: Mauritania',
+    '🇲🇸': 'flag: Montserrat',
+    '🇲🇹': 'flag: Malta',
+    '🇲🇺': 'flag: Mauritius',
+    '🇲🇻': 'flag: Maldives',
+    '🇲🇼': 'flag: Malawi',
+    '🇲🇽': 'flag: Mexico',
+    '🇲🇾': 'flag: Malaysia',
+    '🇲🇿': 'flag: Mozambique',
+    '🇳🇦': 'flag: Namibia',
+    '🇳🇨': 'flag: New Caledonia',
+    '🇳🇪': 'flag: Niger',
+    '🇳🇫': 'flag: Norfolk Island',
+    '🇳🇬': 'flag: Nigeria',
+    '🇳🇮': 'flag: Nicaragua',
+    '🇳🇱': 'flag: Netherlands',
+    '🇳🇴': 'flag: Norway',
+    '🇳🇵': 'flag: Nepal',
+    '🇳🇷': 'flag: Nauru',
+    '🇳🇺': 'flag: Niue',
+    '🇳🇿': 'flag: New Zealand',
+    '🇴🇲': 'flag: Oman',
+    '🇵🇦': 'flag: Panama',
+    '🇵🇪': 'flag: Peru',
+    '🇵🇫': 'flag: French Polynesia',
+    '🇵🇬': 'flag: Papua New Guinea',
+    '🇵🇭': 'flag: Philippines',
+    '🇵🇰': 'flag: Pakistan',
+    '🇵🇱': 'flag: Poland',
+    '🇵🇲': 'flag: St. Pierre & Miquelon',
+    '🇵🇳': 'flag: Pitcairn Islands',
+    '🇵🇷': 'flag: Puerto Rico',
+    '🇵🇸': 'flag: Palestinian Territories',
+    '🇵🇹': 'flag: Portugal',
+    '🇵🇼': 'flag: Palau',
+    '🇵🇾': 'flag: Paraguay',
+    '🇶🇦': 'flag: Qatar',
+    '🇷🇪': 'flag: Réunion',
+    '🇷🇴': 'flag: Romania',
+    '🇷🇸': 'flag: Serbia',
+    '🇷🇺': 'flag: Russia',
+    '🇷🇼': 'flag: Rwanda',
+    '🇸🇦': 'flag: Saudi Arabia',
+    '🇸🇧': 'flag: Solomon Islands',
+    '🇸🇨': 'flag: Seychelles',
+    '🇸🇩': 'flag: Sudan',
+    '🇸🇪': 'flag: Sweden',
+    '🇸🇬': 'flag: Singapore',
+    '🇸🇭': 'flag: St. Helena',
+    '🇸🇮': 'flag: Slovenia',
+    '🇸🇯': 'flag: Svalbard & Jan Mayen',
+    '🇸🇰': 'flag: Slovakia',
+    '🇸🇱': 'flag: Sierra Leone',
+    '🇸🇲': 'flag: San Marino',
+    '🇸🇳': 'flag: Senegal',
+    '🇸🇴': 'flag: Somalia',
+    '🇸🇷': 'flag: Suriname',
+    '🇸🇸': 'flag: South Sudan',
+    '🇸🇹': 'flag: São Tomé & Príncipe',
+    '🇸🇻': 'flag: El Salvador',
+    '🇸🇽': 'flag: Sint Maarten',
+    '🇸🇾': 'flag: Syria',
+    '🇸🇿': 'flag: Eswatini',
+    '🇹🇦': 'flag: Tristan da Cunha',
+    '🇹🇨': 'flag: Turks & Caicos Islands',
+    '🇹🇩': 'flag: Chad',
+    '🇹🇫': 'flag: French Southern Territories',
+    '🇹🇬': 'flag: Togo',
+    '🇹🇭': 'flag: Thailand',
+    '🇹🇯': 'flag: Tajikistan',
+    '🇹🇰': 'flag: Tokelau',
+    '🇹🇱': 'flag: Timor-Leste',
+    '🇹🇲': 'flag: Turkmenistan',
+    '🇹🇳': 'flag: Tunisia',
+    '🇹🇴': 'flag: Tonga',
+    '🇹🇷': 'flag: Turkey',
+    '🇹🇹': 'flag: Trinidad & Tobago',
+    '🇹🇻': 'flag: Tuvalu',
+    '🇹🇼': 'flag: Taiwan',
+    '🇹🇿': 'flag: Tanzania',
+    '🇺🇦': 'flag: Ukraine',
+    '🇺🇬': 'flag: Uganda',
+    '🇺🇲': 'flag: U.S. Outlying Islands',
+    '🇺🇳': 'flag: United Nations',
+    '🇺🇸': 'flag: United States',
+    '🇺🇾': 'flag: Uruguay',
+    '🇺🇿': 'flag: Uzbekistan',
+    '🇻🇦': 'flag: Vatican City',
+    '🇻🇨': 'flag: St. Vincent & Grenadines',
+    '🇻🇪': 'flag: Venezuela',
+    '🇻🇬': 'flag: British Virgin Islands',
+    '🇻🇮': 'flag: U.S. Virgin Islands',
+    '🇻🇳': 'flag: Vietnam',
+    '🇻🇺': 'flag: Vanuatu',
+    '🇼🇫': 'flag: Wallis & Futuna',
+    '🇼🇸': 'flag: Samoa',
+    '🇽🇰': 'flag: Kosovo',
+    '🇾🇪': 'flag: Yemen',
+    '🇾🇹': 'flag: Mayotte',
+    '🇿🇦': 'flag: South Africa',
+    '🇿🇲': 'flag: Zambia',
+    '🇿🇼': 'flag: Zimbabwe',
+    '🏴󠁧󠁢󠁥󠁮󠁧󠁿': 'flag: England',
+    '🏴󠁧󠁢󠁳󠁣󠁴󠁿': 'flag: Scotland',
+    '🏴󠁧󠁢󠁷󠁬󠁳󠁿': 'flag: Wales',
+};
+const isEmoji = (str) => {
+    const regex = getRegex();
+    const emojiMatches = str.match(regex);
+    const emojiString = emojiMatches ? emojiMatches.join('') : '';
+    return !/\d/.test(str) && emojiString === str;
+};
+const parseEmoji = (style, str, size = 16) => {
+    switch (style) {
+        case 'twemoji':
+            return twemoji.parse(str, {
+                folder: 'svg',
+                ext: '.svg',
+                attributes: () => ({
+                    width: `${size}px`,
+                    height: `${size}px`,
+                }),
+            });
+        case 'native':
+            return str;
+        default:
+            return null;
+    }
+};
+/**
+ * Gets the shortcode for a given emoji by the name of the emoji. This function replaces
+ * spaces with underscores and removes colons.
+ * @param key String to replace with shortcode.
+ * @returns String with shortcode, or `undefined` if no shortcode exists.
+ */
+const getShortcode = (key) => {
+    var _a;
+    // Removable of colons is necessary for the flag shortcodes.
+    return (_a = shortNames[key]) === null || _a === void 0 ? void 0 : _a.replace(/\s/g, '_').replace(/:/g, '').toLowerCase();
+};
+var emoji = {
+    shortNames,
+    isEmoji,
+    getShortcode,
+    parseEmoji,
+    getRegex,
+};
+
+// Default obsidian file icon.
+const DEFAULT_FILE_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-file"><path d="M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"></path><polyline points="14 2 14 8 20 8"></polyline></svg>';
+// Default obsidian folder icon.
+const DEFAULT_FOLDER_ICON = '<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svg-icon lucide-folder"><path d="M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"></path></svg>';
+/**
+ * Tries to read the file synchronously.
+ * @param file File that will be read.
+ * @returns A promise that will resolve to a string which is the content of the file.
+ */
+const readFileSync = (file) => __awaiter(void 0, void 0, void 0, function* () {
+    const content = yield new Promise((resolve) => {
+        const reader = new FileReader();
+        reader.readAsText(file, 'UTF-8');
+        reader.onload = (readerEvent) => resolve(readerEvent.target.result);
+    });
+    return content;
+});
+/**
+ * Gets all the currently opened files by getting the markdown leaves and then checking
+ * for the `file` property in the view. This also returns the leaf of the file.
+ * @param plugin Instance of the IconizePlugin.
+ * @returns An array of {@link FileWithLeaf} objects.
+ */
+const getAllOpenedFiles = (plugin) => {
+    return plugin.app.workspace
+        .getLeavesOfType('markdown')
+        .reduce((prev, curr) => {
+        const file = curr.view.file;
+        if (file) {
+            prev.push(Object.assign(Object.assign({}, file), { leaf: curr, pinned: false }));
+        }
+        return prev;
+    }, []);
+};
+/**
+ * Gets the file item title element by either accessing `titleEl` or `selfEl`.
+ * @param fileItem FileItem which will be used to retrieve the title element from.
+ * @returns HTMLElement which is the title element.
+ */
+const getFileItemTitleEl = (fileItem) => {
+    var _a;
+    return (_a = fileItem.titleEl) !== null && _a !== void 0 ? _a : fileItem.selfEl;
+};
+/**
+ * Gets the file item inner title element by either accessing `titleInnerEl` or `innerEl`.
+ * @param fileItem FileItem which will be used to retrieve the inner title element from.
+ * @returns HTMLElement which is the inner title element.
+ */
+const getFileItemInnerTitleEl = (fileItem) => {
+    var _a;
+    return (_a = fileItem.titleInnerEl) !== null && _a !== void 0 ? _a : fileItem.innerEl;
+};
+/**
+ * A utility function which will add the icon to the icon pack and then extract the icon
+ * to the icon pack.
+ * @param plugin IconizePlugin that will be used for extracting the icon.
+ * @param iconNameWithPrefix String that will be used to add the icon to the icon pack.
+ */
+const saveIconToIconPack = (plugin, iconNameWithPrefix) => {
+    const iconNextIdentifier = nextIdentifier(iconNameWithPrefix);
+    const iconName = iconNameWithPrefix.substring(iconNextIdentifier);
+    const iconPrefix = iconNameWithPrefix.substring(0, iconNextIdentifier);
+    const possibleIcon = getSvgFromLoadedIcon(iconPrefix, iconName);
+    if (!possibleIcon) {
+        throw new Error(`Icon ${iconNameWithPrefix} could not be found.`);
+    }
+    const iconPackName = getIconPackNameByPrefix(iconPrefix);
+    if (iconPackName === LUCIDE_ICON_PACK_NAME &&
+        !plugin.doesUseCustomLucideIconPack()) {
+        return;
+    }
+    const icon = getIconFromIconPack(iconPackName, iconPrefix, iconName);
+    extractIconToIconPack(plugin, icon, possibleIcon);
+};
+/**
+ * A utility function which will remove the icon from the icon pack by removing the icon
+ * file from the icon pack directory.
+ * @param plugin IconizePlugin that will be used for removing the icon.
+ * @param iconNameWithPrefix String that will be used to remove the icon from the icon pack.
+ */
+const removeIconFromIconPack = (plugin, iconNameWithPrefix) => {
+    const identifier = nextIdentifier(iconNameWithPrefix);
+    const prefix = iconNameWithPrefix.substring(0, identifier);
+    const iconName = iconNameWithPrefix.substring(identifier);
+    const iconPackName = getIconPackNameByPrefix(prefix);
+    const duplicatedIcon = plugin.getDataPathByValue(iconNameWithPrefix);
+    if (!duplicatedIcon) {
+        removeIconFromIconPackDirectory(plugin, iconPackName, iconName);
+    }
+};
+/**
+ * A utility function which will convert a string to a hexadecimal color.
+ * @param str String that will be converted to a hexadecimal color.
+ * @returns A string which is the hexadecimal color.
+ */
+const stringToHex = (str) => {
+    const validHex = str.replace(/[^0-9a-fA-F]/g, '');
+    const hex = validHex.padStart(6, '0').substring(0, 6);
+    return `#${hex}`;
+};
+/**
+ * A utility function which will check if a string is a hexadecimal color.
+ * @param str String that will be checked if it is a hexadecimal color.
+ * @param includeHash Boolean which will include the hash in the check.
+ * @returns A boolean which is true if the string is a hexadecimal color.
+ */
+const isHexadecimal = (str, includeHash = false) => {
+    const regex = new RegExp(`^${includeHash ? '#' : ''}[0-9A-Fa-f]{1,6}$`);
+    return regex.test(str);
+};
+
+// This library file does not include any other dependency and is a standalone file that
+/**
+ * Sets the margin for a specific node.
+ * @param el Node where the margin will be set.
+ * @param margin Margin that will be applied to the node.
+ * @returns The modified node with the applied margin.
+ */
+const setMargin = (el, margin) => {
+    el.style.margin = `${margin.top}px ${margin.right}px ${margin.bottom}px ${margin.left}px`;
+    return el;
+};
+/**
+ * Applies all stylings to the specified svg icon string and applies styling to the node
+ * (container). The styling to the specified element is only modified when it is an emoji
+ * or extra margin is defined in the settings.
+ * @param plugin Instance of the IconizePlugin.
+ * @param iconString SVG that will be used to apply the svg styles to.
+ * @param el Node for manipulating the style.
+ * @returns Icon svg string with the manipulate style attributes.
+ */
+const applyAll = (plugin, iconString, container) => {
+    iconString = svg.setFontSize(iconString, plugin.getSettings().fontSize);
+    container.style.color = plugin.getSettings().iconColor;
+    iconString = svg.colorize(iconString, plugin.getSettings().iconColor);
+    // Sets the margin of an element.
+    const margin = plugin.getSettings().extraMargin;
+    const normalizedMargin = {
+        top: margin.top !== undefined ? margin.top : 4,
+        right: margin.right !== undefined ? margin.right : 4,
+        left: margin.left !== undefined ? margin.left : 4,
+        bottom: margin.bottom !== undefined ? margin.bottom : 4,
+    };
+    if (plugin.getSettings().extraMargin) {
+        setMargin(container, normalizedMargin);
+    }
+    if (emoji.isEmoji(iconString)) {
+        container.style.fontSize = `${plugin.getSettings().fontSize}px`;
+        container.style.lineHeight = `${plugin.getSettings().fontSize}px`;
+    }
+    return iconString;
+};
+/**
+ * Refreshes all the styles of all the applied icons where a `.iconize-icon`
+ * class is defined. This function only modifies the styling of the node.
+ * @param plugin Instance of the IconizePlugin.
+ * @param applyStyles Function that is getting called when the icon node is found and
+ * typically applies all the styles to the icon.
+ */
+const refreshIconNodes = (plugin, applyStyles = applyAll) => {
+    const fileExplorers = plugin.app.workspace.getLeavesOfType('file-explorer');
+    for (const fileExplorer of fileExplorers) {
+        Object.keys(plugin.getData()).forEach((path) => {
+            const fileItem = fileExplorer.view.fileItems[path];
+            if (fileItem) {
+                const titleEl = getFileItemTitleEl(fileItem);
+                const iconNode = titleEl.querySelector('.iconize-icon');
+                if (iconNode) {
+                    const pathValue = plugin.getData()[path];
+                    const hasIndividualColor = typeof pathValue === 'object' && pathValue.iconColor;
+                    iconNode.innerHTML = applyStyles(plugin, iconNode.innerHTML, iconNode);
+                    if (hasIndividualColor) {
+                        iconNode.style.color = pathValue.iconColor;
+                        const colorizedInnerHtml = svg.colorize(iconNode.innerHTML, pathValue.iconColor);
+                        iconNode.innerHTML = colorizedInnerHtml;
+                    }
+                }
+            }
+        });
+    }
+};
+var style = {
+    applyAll,
+    setMargin,
+    refreshIconNodes,
+};
+
+/**
+ * Removes the `iconize-icon` icon node from the provided HTMLElement.
+ * @param el HTMLElement from which the icon node will be removed.
+ */
+const removeIconInNode = (el) => {
+    const iconNode = el.querySelector('.iconize-icon');
+    if (!iconNode) {
+        return;
+    }
+    iconNode.remove();
+};
+/**
+ * Removes the 'iconize-icon' icon node from the HTMLElement corresponding
+ * to the specified file path.
+ * @param path File path for which the icon node will be removed.
+ */
+const removeIconInPath = (path, options) => {
+    var _a;
+    const node = (_a = options === null || options === void 0 ? void 0 : options.container) !== null && _a !== void 0 ? _a : document.querySelector(`[data-path="${path}"]`);
+    if (!node) {
+        logger.warn(`Element with data path not found (path: ${path})`);
+        return;
+    }
+    removeIconInNode(node);
+};
+/**
+ * Sets an icon or emoji for an HTMLElement based on the specified icon name and color.
+ * The function manipulates the specified node inline.
+ * @param plugin Instance of the IconizePlugin.
+ * @param iconName Name of the icon or emoji to add.
+ * @param node HTMLElement to which the icon or emoji will be added.
+ * @param color Optional color of the icon to add.
+ */
+const setIconForNode = (plugin, iconName, node, color) => {
+    var _a;
+    // Gets the possible icon based on the icon name.
+    const iconNextIdentifier = nextIdentifier(iconName);
+    const possibleIcon = getSvgFromLoadedIcon(iconName.substring(0, iconNextIdentifier), iconName.substring(iconNextIdentifier));
+    if (possibleIcon) {
+        // The icon is possibly not an emoji.
+        let iconContent = style.applyAll(plugin, possibleIcon, node);
+        if (color) {
+            node.style.color = color;
+            iconContent = svg.colorize(iconContent, color);
+        }
+        node.innerHTML = iconContent;
+    }
+    else {
+        const parsedEmoji = (_a = emoji.parseEmoji(plugin.getSettings().emojiStyle, iconName)) !== null && _a !== void 0 ? _a : iconName;
+        node.innerHTML = style.applyAll(plugin, parsedEmoji, node);
+    }
+    node.setAttribute('title', iconName);
+};
+/**
+ * Creates an icon node for the specified path and inserts it to the DOM.
+ * @param plugin Instance of the IconizePlugin.
+ * @param path Path for which the icon node will be created.
+ * @param iconName Name of the icon or emoji to add.
+ * @param color Optional color of the icon to add.
+ */
+const createIconNode = (plugin, path, iconName, options) => {
+    var _a;
+    // Get the container from the provided options or try to find the node that has the
+    // path from the document itself.
+    const node = (_a = options === null || options === void 0 ? void 0 : options.container) !== null && _a !== void 0 ? _a : document.querySelector(`[data-path="${path}"]`);
+    if (!node) {
+        logger.warn(`Element with data path not found (path: ${path})`);
+        return;
+    }
+    // Get the folder or file title node.
+    let titleNode = node.querySelector('.nav-folder-title-content');
+    if (!titleNode) {
+        titleNode = node.querySelector('.nav-file-title-content');
+        if (!titleNode) {
+            logger.warn(`Element with title node not found (path: ${path})`);
+            return;
+        }
+    }
+    let iconNode = node.querySelector('.iconize-icon');
+    // If the icon is already set in the path, we do not need to create a new div element.
+    if (iconNode) {
+        setIconForNode(plugin, iconName, iconNode, options === null || options === void 0 ? void 0 : options.color);
+    }
+    else {
+        // Creates a new icon node and inserts it to the DOM.
+        iconNode = document.createElement('div');
+        iconNode.setAttribute(config.ICON_ATTRIBUTE_NAME, iconName);
+        iconNode.classList.add('iconize-icon');
+        setIconForNode(plugin, iconName, iconNode, options === null || options === void 0 ? void 0 : options.color);
+        node.insertBefore(iconNode, titleNode);
+    }
+};
+/**
+ * Checks if the element has an icon node by checking if the element has a child with the
+ * class `iconize-icon`.
+ * @param element HTMLElement which will be checked if it has an icon.
+ * @returns Boolean whether the element has an icon node or not.
+ */
+const doesElementHasIconNode = (element) => {
+    return element.querySelector('.iconize-icon') !== null;
+};
+/**
+ * Gets the icon name of the element if it has an icon node.
+ * @param element HTMLElement parent which includes a node with the icon.
+ * @returns String with the icon name if the element has an icon, `undefined` otherwise.
+ */
+const getIconFromElement = (element) => {
+    const iconNode = element.querySelector('.iconize-icon');
+    const existingIcon = iconNode === null || iconNode === void 0 ? void 0 : iconNode.getAttribute(config.ICON_ATTRIBUTE_NAME);
+    return existingIcon;
+};
+const getIconNodeFromPath = (path) => {
+    var _a;
+    return (_a = document
+        .querySelector(`[data-path="${path}"]`)) === null || _a === void 0 ? void 0 : _a.querySelector('[data-icon]');
+};
+var dom = {
+    setIconForNode,
+    createIconNode,
+    doesElementHasIconNode,
+    getIconFromElement,
+    getIconNodeFromPath,
+    removeIconInNode,
+    removeIconInPath,
+};
+
+class IconsPickerModal extends obsidian.FuzzySuggestModal {
+    constructor(app, plugin, path) {
+        super(app);
+        this.renderIndex = 0;
+        this.plugin = plugin;
+        this.path = path;
+        this.limit = 150;
+        const pluginRecentltyUsedItems = [
+            ...plugin.getSettings().recentlyUsedIcons,
+        ];
+        this.recentlyUsedItems = new Set(pluginRecentltyUsedItems.reverse().filter((iconName) => {
+            return doesIconExists(iconName) || emoji.isEmoji(iconName);
+        }));
+        this.resultContainerEl.classList.add('iconize-modal');
+    }
+    onOpen() {
+        super.onOpen();
+    }
+    onClose() {
+        const { contentEl } = this;
+        contentEl.empty();
+    }
+    getItemText(item) {
+        return `${item.name} (${item.prefix})`;
+    }
+    getItems() {
+        const iconKeys = [];
+        if (this.inputEl.value.length === 0) {
+            this.renderIndex = 0;
+            this.recentlyUsedItems.forEach((iconName) => {
+                if (emoji.isEmoji(iconName)) {
+                    iconKeys.push({
+                        name: emoji.shortNames[iconName],
+                        prefix: 'Emoji',
+                        displayName: iconName,
+                        iconPackName: null,
+                    });
+                    return;
+                }
+                const nextLetter = nextIdentifier(iconName);
+                const iconPrefix = iconName.substring(0, nextLetter);
+                const iconPackName = getIconPackNameByPrefix(iconPrefix);
+                iconKeys.push({
+                    name: iconName.substring(nextLetter),
+                    prefix: iconPrefix,
+                    displayName: iconName,
+                    iconPackName: iconPackName,
+                });
+            });
+        }
+        for (const icon of getAllLoadedIconNames()) {
+            iconKeys.push({
+                name: icon.name,
+                prefix: icon.prefix,
+                displayName: icon.prefix + icon.name,
+                iconPackName: icon.iconPackName,
+            });
+        }
+        Object.entries(emoji.shortNames).forEach(([unicode, shortName]) => {
+            iconKeys.push({
+                name: shortName,
+                prefix: 'Emoji',
+                displayName: unicode,
+                iconPackName: null,
+            });
+            iconKeys.push({
+                name: unicode,
+                prefix: 'Emoji',
+                displayName: unicode,
+                iconPackName: null,
+            });
+        });
+        return iconKeys;
+    }
+    onChooseItem(item) {
+        var _a;
+        const iconNameWithPrefix = typeof item === 'object' ? item.displayName : item;
+        dom.createIconNode(this.plugin, this.path, iconNameWithPrefix);
+        (_a = this.onSelect) === null || _a === void 0 ? void 0 : _a.call(this, iconNameWithPrefix);
+        this.plugin.addFolderIcon(this.path, item);
+        // Extracts the icon file to the icon pack.
+        if (typeof item === 'object' && !emoji.isEmoji(iconNameWithPrefix)) {
+            saveIconToIconPack(this.plugin, iconNameWithPrefix);
+        }
+        this.plugin.notifyPlugins();
+    }
+    renderSuggestion(item, el) {
+        super.renderSuggestion(item, el);
+        // if (getAllIconPacks().length === 0) {
+        //   this.resultContainerEl.style.display = 'block';
+        //   this.resultContainerEl.innerHTML = '<div class="suggestion-empty">You need to create an icon pack.</div>';
+        //   return;
+        // }
+        // Render subheadlines for modal.
+        if (this.recentlyUsedItems.size !== 0 && this.inputEl.value.length === 0) {
+            if (this.renderIndex === 0) {
+                const subheadline = this.resultContainerEl.createDiv();
+                subheadline.classList.add('iconize-subheadline');
+                subheadline.innerText = 'Recently used Icons:';
+                this.resultContainerEl.prepend(subheadline);
+            }
+            else if (this.renderIndex === this.recentlyUsedItems.size - 1) {
+                const subheadline = this.resultContainerEl.createDiv();
+                subheadline.classList.add('iconize-subheadline');
+                subheadline.innerText = 'All Icons:';
+                this.resultContainerEl.append(subheadline);
+            }
+        }
+        if (item.item.name !== 'default') {
+            if (item.item.prefix === 'Emoji') {
+                const displayName = emoji.parseEmoji(this.plugin.getSettings().emojiStyle, item.item.displayName);
+                if (!displayName) {
+                    return;
+                }
+                el.innerHTML = `<div>${el.innerHTML}</div><div class="iconize-icon-preview">${displayName}</div>`;
+            }
+            else {
+                el.innerHTML = `<div>${el.innerHTML}</div><div class="iconize-icon-preview">${getSvgFromLoadedIcon(item.item.prefix, item.item.name)}</div>`;
+            }
+        }
+        this.renderIndex++;
+    }
+}
+
+var IconInTitlePosition;
+(function (IconInTitlePosition) {
+    IconInTitlePosition["Above"] = "above";
+    IconInTitlePosition["Inline"] = "inline";
+})(IconInTitlePosition || (IconInTitlePosition = {}));
+const DEFAULT_SETTINGS = {
+    migrated: 2,
+    iconPacksPath: '.obsidian/icons',
+    fontSize: 16,
+    emojiStyle: 'native',
+    iconColor: null,
+    recentlyUsedIcons: [],
+    recentlyUsedIconsSize: 5,
+    rules: [],
+    extraMargin: {
+        top: 0,
+        right: 4,
+        bottom: 0,
+        left: 0,
+    },
+    iconInTabsEnabled: false,
+    iconInTitleEnabled: false,
+    iconInTitlePosition: IconInTitlePosition.Above,
+    iconInFrontmatterEnabled: false,
+    iconInFrontmatterFieldName: 'icon',
+    iconColorInFrontmatterFieldName: 'iconColor',
+    iconsBackgroundCheckEnabled: false,
+    iconsInNotesEnabled: true,
+    iconsInLinksEnabled: true,
+    iconIdentifier: ':',
+    lucideIconPackType: 'native',
+    debugMode: false,
+};
+
+function migrate$5(plugin) {
+    return __awaiter(this, void 0, void 0, function* () {
+        // Migration for new syncing mechanism.
+        if (plugin.getSettings().migrated === 1) {
+            new obsidian.Notice('Please delete your old icon packs and redownload your icon packs to use the new syncing mechanism.', 20000);
+            plugin.getSettings().migrated++;
+        }
+    });
+}
+
+function migrate$4(plugin) {
+    return __awaiter(this, void 0, void 0, function* () {
+        // Migration for new order functionality of custom rules.
+        if (plugin.getSettings().migrated === 2) {
+            // Sorting alphabetically was the default behavior before.
+            plugin
+                .getSettings()
+                .rules.sort((a, b) => a.rule.localeCompare(b.rule))
+                .forEach((rule, i) => {
+                rule.order = i;
+            });
+            plugin.getSettings().migrated++;
+        }
+    });
+}
+
+class IconCache {
+    constructor() {
+        this.cache = new Map();
+        this.set = (path, result) => {
+            this.cache.set(path, result);
+        };
+        this.invalidate = (path) => {
+            this.cache.delete(path);
+        };
+        this.clear = () => {
+            this.cache.clear();
+        };
+        this.get = (path) => {
+            var _a;
+            return (_a = this.cache.get(path)) !== null && _a !== void 0 ? _a : null;
+        };
+        this.doesRecordExist = (path) => {
+            return this.get(path) !== null;
+        };
+        if (IconCache.instance) {
+            throw new Error('Error: Instantiation failed: Use `IconCache.getInstance()` instead of new.');
+        }
+        IconCache.instance = this;
+    }
+}
+IconCache.instance = new IconCache();
+IconCache.getInstance = () => {
+    return IconCache.instance;
+};
+
+/**
+ * Checks if the file type is equal to the `for` property of the custom rule.
+ * @param rule CustomRule that will be checked.
+ * @param fileType CustomRuleFileType that will be checked. Can be either `file` or `folder`.
+ * @returns Boolean whether the custom rule `for` matches the file type or not.
+ */
+const doesMatchFileType = (rule, fileType) => {
+    return (rule.for === 'everything' ||
+        (rule.for === 'files' && fileType === 'file') ||
+        (rule.for === 'folders' && fileType === 'folder'));
+};
+/**
+ * Determines whether a given file or folder matches a specified custom rule.
+ * @param plugin Plugin instance.
+ * @param rule CustomRule to check against the file or folder.
+ * @param file TAbstractFile to check against the custom rule.
+ * @returns Promise that resolves to `true` if the file matches the rule, `false` otherwise.
+ */
+const isApplicable = (plugin, rule, file) => __awaiter(void 0, void 0, void 0, function* () {
+    const metadata = yield plugin.app.vault.adapter.stat(file.path);
+    if (!metadata) {
+        return false;
+    }
+    const fileType = metadata.type;
+    const doesMatch = doesMatchFileType(rule, fileType);
+    if (!doesMatch) {
+        return false;
+    }
+    return doesMatchPath(rule, file.path);
+});
+/**
+ * Removes the icon from the custom rule from all the files and folders, if applicable.
+ * @param plugin IconizePlugin instance.
+ * @param rule CustomRule where the icons will be removed based on this rule.
+ */
+const removeFromAllFiles = (plugin, rule) => __awaiter(void 0, void 0, void 0, function* () {
+    const nodesWithIcon = document.querySelectorAll(`[${config.ICON_ATTRIBUTE_NAME}="${rule.icon}"]`);
+    for (let i = 0; i < nodesWithIcon.length; i++) {
+        const node = nodesWithIcon[i];
+        // Parent element is the node which contains the data path.
+        const parent = node.parentElement;
+        if (!parent) {
+            continue;
+        }
+        const dataPath = parent.getAttribute('data-path');
+        if (!dataPath) {
+            continue;
+        }
+        const fileType = (yield plugin.app.vault.adapter.stat(dataPath)).type;
+        if (doesMatchPath(rule, dataPath) && doesMatchFileType(rule, fileType)) {
+            dom.removeIconInNode(parent);
+            IconCache.getInstance().invalidate(dataPath);
+        }
+    }
+});
+/**
+ * Gets all the custom rules sorted by their order property in ascending order.
+ * @param plugin IconizePlugin instance.
+ * @returns CustomRule array sorted by their order property in ascending order.
+ */
+const getSortedRules = (plugin) => {
+    return plugin.getSettings().rules.sort((a, b) => a.order - b.order);
+};
+/**
+ * Tries to add all specific custom rule icons to all registered files and directories.
+ * It does that by calling the {@link add} function. Custom rules should have the lowest
+ * priority and will get ignored if an icon already exists in the file or directory.
+ * @param plugin IconizePlugin instance.
+ * @param rule CustomRule that will be applied, if applicable, to all files and folders.
+ */
+const addToAllFiles = (plugin, rule) => __awaiter(void 0, void 0, void 0, function* () {
+    const fileItems = yield getFileItems(plugin, rule);
+    for (const fileItem of fileItems) {
+        yield add$2(plugin, rule, fileItem.file, getFileItemTitleEl(fileItem));
+    }
+});
+/**
+ * Tries to add the icon of the custom rule to a file or folder. This function also checks
+ * if the file type matches the `for` property of the custom rule.
+ * @param plugin IconizePlugin instance.
+ * @param rule CustomRule that will be used to check if the rule is applicable to the file
+ * or directory.
+ * @param file TAbstractFile that will be used to possibly create the icon for.
+ * @param container HTMLElement where the icon will be added if the custom rules matches.
+ * @returns A promise that resolves to `true` if the icon was added, `false` otherwise.
+ */
+const add$2 = (plugin, rule, file, container) => __awaiter(void 0, void 0, void 0, function* () {
+    if (container && dom.doesElementHasIconNode(container)) {
+        return false;
+    }
+    // Checks if the file or directory already has an icon.
+    const hasIcon = plugin.getIconNameFromPath(file.path);
+    if (hasIcon) {
+        return false;
+    }
+    const doesMatch = yield isApplicable(plugin, rule, file);
+    if (doesMatch) {
+        IconCache.getInstance().set(file.path, {
+            iconNameWithPrefix: rule.icon,
+            inCustomRule: true,
+        });
+        dom.createIconNode(plugin, file.path, rule.icon, {
+            color: rule.color,
+            container,
+        });
+        return true;
+    }
+    return false;
+});
+/**
+ * Determines whether a given rule exists in a given path.
+ * @param rule Rule to check for.
+ * @param path Path to check in.
+ * @returns True if the rule exists in the path, false otherwise.
+ */
+const doesMatchPath = (rule, path) => {
+    const toMatch = rule.useFilePath ? path : path.split('/').pop();
+    try {
+        // Rule is in some sort of regex.
+        const regex = new RegExp(rule.rule);
+        if (toMatch.match(regex)) {
+            return true;
+        }
+    }
+    catch (_a) {
+        // Rule is not in some sort of regex, check for basic string match.
+        return toMatch.includes(rule.rule);
+    }
+    return false;
+};
+/**
+ * Gets all the file items that can be applied to the specific custom rule.
+ * @param plugin Instance of IconizePlugin.
+ * @param rule Custom rule that will be checked for.
+ * @returns A promise that resolves to an array of file items that match the custom rule.
+ */
+const getFileItems = (plugin, rule) => __awaiter(void 0, void 0, void 0, function* () {
+    const result = [];
+    for (const fileExplorer of plugin.getRegisteredFileExplorers()) {
+        const files = Object.values(fileExplorer.fileItems);
+        for (const fileItem of files) {
+            if (yield isApplicable(plugin, rule, fileItem.file)) {
+                result.push(fileItem);
+            }
+        }
+    }
+    return result;
+});
+var customRule = {
+    getFileItems,
+    doesMatchPath,
+    doesMatchFileType,
+    getSortedRules,
+    removeFromAllFiles,
+    add: add$2,
+    addToAllFiles,
+    isApplicable,
+};
+
+function migrate$3(plugin) {
+    return __awaiter(this, void 0, void 0, function* () {
+        // Migration for inheritance to custom rule.
+        if (plugin.getSettings().migrated === 3) {
+            let hasRemovedInheritance = false;
+            for (const [key, value] of Object.entries(plugin.getData())) {
+                if (key === 'settings' || typeof value !== 'object') {
+                    continue;
+                }
+                const folderData = value;
+                const inheritanceIcon = folderData.inheritanceIcon;
+                if (!inheritanceIcon) {
+                    continue;
+                }
+                const folderIconName = folderData.iconName;
+                // Clean up old data.
+                if (folderData.iconColor && folderIconName) {
+                    delete folderData.inheritanceIcon;
+                }
+                else if (folderIconName) {
+                    delete plugin.getData()[key];
+                    plugin.getData()[key] = folderIconName;
+                }
+                else if (!folderIconName) {
+                    delete plugin.getData()[key];
+                }
+                const folderPath = key + '\\/[\\w\\d\\s]+';
+                const newRule = {
+                    icon: inheritanceIcon,
+                    rule: `${folderPath}\\.(?:\\w+\\.)*\\w+`,
+                    for: 'files',
+                    order: 0,
+                    useFilePath: true,
+                };
+                // Reorder existing custom rules so that the new inheritance custom rule
+                // is at the top.
+                plugin.getSettings().rules.map((rule) => {
+                    rule.order++;
+                });
+                plugin.getSettings().rules.unshift(newRule);
+                // Apply the custom rule.
+                yield customRule.addToAllFiles(plugin, newRule);
+                hasRemovedInheritance = true;
+            }
+            if (hasRemovedInheritance) {
+                new obsidian.Notice(`[${config.PLUGIN_NAME}] Inheritance has been removed and replaced with custom rules.`);
+            }
+            plugin.getSettings().migrated++;
+        }
+    });
+}
+
+function migrate$2(plugin) {
+    return __awaiter(this, void 0, void 0, function* () {
+        if (plugin.getSettings().migrated === 4) {
+            if (plugin.getSettings().emojiStyle === 'none') {
+                plugin.getSettings().emojiStyle = 'native';
+            }
+            plugin.getSettings().migrated++;
+        }
+    });
+}
+
+function migrate$1(plugin) {
+    return __awaiter(this, void 0, void 0, function* () {
+        if (plugin.getSettings().migrated === 5) {
+            yield deleteIconPack(plugin, LUCIDE_ICON_PACK_NAME);
+            plugin.getSettings().migrated++;
+        }
+    });
+}
+
+const migrate = (plugin) => __awaiter(void 0, void 0, void 0, function* () {
+    // eslint-disable-next-line
+    // @ts-ignore - Required because an older version of the plugin saved the `migrated`
+    // property as a boolean instead of a number.
+    if (plugin.getSettings().migrated === true) {
+        plugin.getSettings().migrated = 1;
+    }
+    yield migrate$5(plugin);
+    yield migrate$4(plugin);
+    yield migrate$3(plugin);
+    yield migrate$2(plugin);
+    yield migrate$1(plugin);
+    yield plugin.saveIconFolderData();
+});
+
+class IconFolderSetting {
+    constructor(plugin, containerEl) {
+        this.plugin = plugin;
+        this.containerEl = containerEl;
+    }
+}
+
+/**
+ * Gets the tab leaves of a specific file path by looping through all opened files and
+ * checking if the file path matches.
+ * @param plugin IconizePlugin instance.
+ * @param path String of the file path to get the tab leaf of.
+ * @returns TabHeaderLeaf array that includes all tab leaves of the file path.
+ */
+const getTabLeavesOfFilePath = (plugin, path) => {
+    const openedFiles = getAllOpenedFiles(plugin);
+    const openedFile = openedFiles.filter((openedFile) => openedFile.path === path);
+    const leaves = openedFile.map((openedFile) => openedFile.leaf);
+    return leaves;
+};
+/**
+ * Adds an icon to the tab and its container. This function respects the
+ * custom rules and individually icon set.
+ * @param plugin IconizePlugin instance.
+ * @param file TFile instance of the file to add the icon to.
+ * @param iconContainer HTMLElement where the icon will be added to.
+ * @param options AddOptions for the add function which can optionally be used.
+ */
+const add$1 = (plugin, file, iconContainer, options) => __awaiter(void 0, void 0, void 0, function* () {
+    var _a;
+    const iconColor = (_a = options === null || options === void 0 ? void 0 : options.iconColor) !== null && _a !== void 0 ? _a : plugin.getSettings().iconColor;
+    const data = Object.entries(plugin.getData());
+    // Removes the `display: none` from the obsidian styling.
+    iconContainer.style.display = 'flex';
+    // Only add the icon name manually when it is defined in the options.
+    if (options === null || options === void 0 ? void 0 : options.iconName) {
+        dom.setIconForNode(plugin, options.iconName, iconContainer, iconColor);
+        // TODO: Refactor to include option to `insertIconToNode` function.
+        iconContainer.style.margin = null;
+        return;
+    }
+    // Add icons to tabs if a custom rule is applicable.
+    for (const rule of customRule.getSortedRules(plugin)) {
+        const isApplicable = yield customRule.isApplicable(plugin, rule, file);
+        if (isApplicable) {
+            dom.setIconForNode(plugin, rule.icon, iconContainer, rule.color);
+            // TODO: Refactor to include option to `insertIconToNode` function.
+            iconContainer.style.margin = null;
+            break;
+        }
+    }
+    // Add icons to tabs if there is an icon set.
+    const iconData = data.find(([dataPath]) => dataPath === file.path);
+    if (!iconData) {
+        return;
+    }
+    const value = iconData[1];
+    if (typeof value !== 'string' && typeof value !== 'object') {
+        return;
+    }
+    let iconName;
+    if (typeof value === 'object') {
+        const v = value;
+        if (v.iconName === null) {
+            return;
+        }
+        iconName = v.iconName;
+    }
+    else {
+        iconName = value;
+    }
+    dom.setIconForNode(plugin, iconName, iconContainer, iconColor);
+    // TODO: Refactor to include option to `insertIconToNode` function.
+    iconContainer.style.margin = null;
+});
+/**
+ * Updates the icon in the tab and container by setting calling the `setIconForNode`
+ * function and removing the margin from the icon container.
+ * @param plugin IconizePlugin instance.
+ * @param iconName String of the icon name to update to.
+ * @param iconContainer HTMLElement where the icon is located and will be updated.
+ */
+const update = (plugin, iconName, iconContainer) => {
+    dom.setIconForNode(plugin, iconName, iconContainer);
+    // TODO: Refactor to include option to `insertIconToNode` function.
+    iconContainer.style.margin = null;
+};
+/**
+ * Removes the icon from the tab and container by setting the `display` style property
+ * to `none`. Optionally, the icon can be replaced with the default obsidian icon.
+ * @param iconContainer HTMLElement where the icon is located and will be removed from.
+ * @param options RemoveOptions for the remove function which can optionally be used.
+ */
+const remove$1 = (iconContainer, options) => {
+    if (!(options === null || options === void 0 ? void 0 : options.replaceWithDefaultIcon)) {
+        // Removes the display of the icon container to remove the icons from the tabs.
+        iconContainer.style.display = 'none';
+    }
+    else {
+        iconContainer.innerHTML = DEFAULT_FILE_ICON;
+    }
+};
+var iconTabs = {
+    add: add$1,
+    update,
+    remove: remove$1,
+    getTabLeavesOfFilePath,
+};
+
+const checkMissingIcons = (plugin, data) => __awaiter(void 0, void 0, void 0, function* () {
+    const missingIcons = new Set();
+    const allIcons = new Map();
+    const getMissingIcon = (iconNameWithPrefix) => __awaiter(void 0, void 0, void 0, function* () {
+        const iconNextIdentifier = nextIdentifier(iconNameWithPrefix);
+        const iconName = iconNameWithPrefix.substring(iconNextIdentifier);
+        const iconPrefix = iconNameWithPrefix.substring(0, iconNextIdentifier);
+        const iconPackName = getIconPackNameByPrefix(iconPrefix);
+        if (iconPackName === LUCIDE_ICON_PACK_NAME &&
+            !plugin.doesUseCustomLucideIconPack()) {
+            return;
+        }
+        const icon = getIconFromIconPack(iconPackName, iconPrefix, iconName);
+        if (!icon) {
+            logger.error(`Icon file with name ${iconNameWithPrefix} could not be found`);
+            return null;
+        }
+        const doesIconFileExists = yield plugin.app.vault.adapter.exists(`${getPath()}/${iconPackName}/${iconName}.svg`);
+        if (!doesIconFileExists) {
+            const possibleIcon = getSvgFromLoadedIcon(iconPrefix, iconName);
+            if (!possibleIcon) {
+                logger.error(`Icon SVG with name ${iconNameWithPrefix} could not be found`);
+                return null;
+            }
+            yield extractIconToIconPack(plugin, icon, possibleIcon);
+            return icon;
+        }
+        return null;
+    });
+    for (const rule of plugin.getSettings().rules) {
+        if (!emoji.isEmoji(rule.icon)) {
+            allIcons.set(rule.icon, true);
+            const icon = yield getMissingIcon(rule.icon);
+            if (icon) {
+                missingIcons.add(icon);
+            }
+        }
+    }
+    for (const [_, value] of data) {
+        // Check for missing icon names.
+        let iconNameWithPrefix = value;
+        if (typeof value === 'object') {
+            iconNameWithPrefix = value.iconName;
+        }
+        if (iconNameWithPrefix && !emoji.isEmoji(iconNameWithPrefix)) {
+            allIcons.set(iconNameWithPrefix, true);
+            const icon = yield getMissingIcon(iconNameWithPrefix);
+            if (icon) {
+                missingIcons.add(icon);
+            }
+        }
+    }
+    // Show notice that background check is running.
+    if (missingIcons.size !== 0) {
+        new obsidian.Notice(`[${config.PLUGIN_NAME}] Background Check: found missing icons. Adding missing icons...`, 10000);
+    }
+    // Iterates over all the missing icons with its path and adds the icon to the node.
+    for (const icon of missingIcons) {
+        const normalizedName = getNormalizedName(icon.prefix + icon.name);
+        const nodesWithIcon = document.querySelectorAll(`[${config.ICON_ATTRIBUTE_NAME}="${normalizedName}"]`);
+        nodesWithIcon.forEach((node) => {
+            dom.setIconForNode(plugin, normalizedName, node);
+        });
+    }
+    // Show notice that background check was finished.
+    if (missingIcons.size !== 0) {
+        new obsidian.Notice(`[${config.PLUGIN_NAME}] Background Check: added missing icons`, 10000);
+    }
+    // Remove all icon files that can not be found in the data.
+    for (const iconPack of getAllIconPacks()) {
+        // Checks if the icon pack exists.
+        const doesIconPackExist = yield plugin.app.vault.adapter.exists(`${getPath()}/${iconPack.name}`);
+        if (!doesIconPackExist) {
+            continue;
+        }
+        const iconFiles = yield plugin.app.vault.adapter.list(`${getPath()}/${iconPack.name}`);
+        for (const iconFilePath of iconFiles.files) {
+            const iconNameWithExtension = iconFilePath.split('/').pop();
+            // Removes the file extension.
+            const iconName = iconNameWithExtension === null || iconNameWithExtension === void 0 ? void 0 : iconNameWithExtension.substring(0, iconNameWithExtension.length - 4);
+            const iconNameWithPrefix = iconPack.prefix + iconName;
+            const doesIconExist = allIcons.get(iconNameWithPrefix);
+            if (!doesIconExist) {
+                const path = `${getPath()}/${iconPack.name}/${iconName}.svg`;
+                const doesPathExist = yield plugin.app.vault.adapter.exists(path);
+                if (doesPathExist) {
+                    logger.info(`Removing icon with path '${path}' because it is not used anymore`);
+                    // Removes the icon file.
+                    yield plugin.app.vault.adapter.remove(`${getPath()}/${iconPack.name}/${iconName}.svg`);
+                }
+            }
+        }
+    }
+});
+/**
+ * This function adds all the possible icons to the corresponding nodes. It
+ * adds the icons, that are defined in the data as a basic string to the nodes
+ * and the custom rule icons.
+ * @param plugin Instance of IconizePlugin.
+ * @param data Data that will be used to add all the icons to the nodes.
+ * @param registeredFileExplorers A WeakSet of file explorers that are being used as a
+ * cache for already handled file explorers.
+ * @param callback Callback is being called whenever the icons are added to one file
+ * explorer.
+ */
+const addAll = (plugin, data, registeredFileExplorers, callback) => {
+    const fileExplorers = plugin.app.workspace.getLeavesOfType('file-explorer');
+    for (const fileExplorer of fileExplorers) {
+        if (registeredFileExplorers.has(fileExplorer.view)) {
+            continue;
+        }
+        registeredFileExplorers.add(fileExplorer.view);
+        // Adds icons to already open file tabs.
+        if (plugin.getSettings().iconInTabsEnabled) {
+            for (const leaf of plugin.app.workspace.getLeavesOfType('markdown')) {
+                const file = leaf.view.file;
+                if (file) {
+                    const tabHeaderLeaf = leaf;
+                    const iconColor = plugin.getIconColor(file.path);
+                    iconTabs.add(plugin, file, tabHeaderLeaf.tabHeaderInnerIconEl, {
+                        iconColor,
+                    });
+                }
+            }
+        }
+        for (const [dataPath, value] of data) {
+            const fileItem = fileExplorer.view.fileItems[dataPath];
+            if (fileItem) {
+                const titleEl = getFileItemTitleEl(fileItem);
+                const titleInnerEl = getFileItemInnerTitleEl(fileItem);
+                // Need to check this because refreshing the plugin will duplicate all the icons.
+                if (titleEl.children.length === 2 || titleEl.children.length === 1) {
+                    const iconName = typeof value === 'string' ? value : value.iconName;
+                    const iconColor = typeof value === 'string' ? undefined : value.iconColor;
+                    if (iconName) {
+                        // Removes a possible existing icon.
+                        const existingIcon = titleEl.querySelector('.iconize-icon');
+                        if (existingIcon) {
+                            existingIcon.remove();
+                        }
+                        // Creates the new node with the icon inside.
+                        const iconNode = titleEl.createDiv();
+                        iconNode.setAttribute(config.ICON_ATTRIBUTE_NAME, iconName);
+                        iconNode.classList.add('iconize-icon');
+                        IconCache.getInstance().set(dataPath, {
+                            iconNameWithPrefix: iconName,
+                        });
+                        dom.setIconForNode(plugin, iconName, iconNode, iconColor);
+                        titleEl.insertBefore(iconNode, titleInnerEl);
+                    }
+                }
+            }
+        }
+        // Callback function to register other events to this file explorer.
+        callback === null || callback === void 0 ? void 0 : callback();
+    }
+    // Handles the custom rules.
+    for (const rule of customRule.getSortedRules(plugin)) {
+        customRule.addToAllFiles(plugin, rule);
+    }
+};
+/**
+ * Gets the icon of a given path. This function returns the first occurrence of an icon.
+ * @param plugin Instance of the IconizePlugin.
+ * @param path Path to get the icon of.
+ * @returns The icon of the path if it exists, undefined otherwise.
+ */
+const getByPath = (plugin, path) => {
+    if (path === 'settings' || path === 'migrated') {
+        return undefined;
+    }
+    const value = plugin.getData()[path];
+    if (typeof value === 'string') {
+        // If the value is a plain icon name, return it.
+        return value;
+    }
+    else if (typeof value === 'object') {
+        const v = value;
+        if (v.iconName !== null) {
+            return v.iconName;
+        }
+    }
+    // Tries to get the custom rule for the path and returns its icon if it exists.
+    const rule = customRule.getSortedRules(plugin).find((rule) => {
+        return customRule.doesMatchPath(rule, path);
+    });
+    if (rule) {
+        return rule.icon;
+    }
+    return undefined;
+};
+/**
+ * Gets all the icons with their paths as an object.
+ * @param plugin Instance of the IconizePlugin.
+ * @returns An object that consists of the path and the icon name for the data
+ * or custom rule.
+ */
+const getAllWithPath = (plugin) => {
+    const result = [];
+    Object.keys(plugin.getData()).forEach((path) => {
+        if (path === 'settings' || path === 'migrated') {
+            return;
+        }
+        const icon = getByPath(plugin, path);
+        if (icon && !emoji.isEmoji(icon)) {
+            result.push({ path, icon });
+        }
+    });
+    // Add all icons for the custom rules with the rule as the path.
+    for (const rule of plugin.getSettings().rules) {
+        if (!emoji.isEmoji(rule.icon)) {
+            result.push({ path: rule.rule, icon: rule.icon });
+        }
+    }
+    return result;
+};
+/**
+ * Returns the {@link Icon} for the given icon name. It is important, that the icon name
+ * contains the icon pack prefix.
+ * @param iconNameWithPrefix String that contains the icon pack prefix combined with the
+ * icon name.
+ * @returns Icon if it exists, `null` otherwise.
+ */
+const getIconByName = (iconNameWithPrefix) => {
+    const iconNextIdentifier = nextIdentifier(iconNameWithPrefix);
+    const iconName = iconNameWithPrefix.substring(iconNextIdentifier);
+    const iconPrefix = iconNameWithPrefix.substring(0, iconNextIdentifier);
+    const iconPackName = getIconPackNameByPrefix(iconPrefix);
+    const icon = getIconFromIconPack(iconPackName, iconPrefix, iconName);
+    if (!icon) {
+        return null;
+    }
+    return icon;
+};
+/**
+ * Returns the {@link Icon} for the given path.
+ * @param plugin IconizePlugin instance.
+ * @param path String which is the path to get the icon of.
+ * @returns Icon or Emoji as string if it exists, `null` otherwise.
+ */
+const getIconByPath = (plugin, path) => {
+    const iconNameWithPrefix = getByPath(plugin, path);
+    if (!iconNameWithPrefix) {
+        return null;
+    }
+    if (emoji.isEmoji(iconNameWithPrefix)) {
+        return iconNameWithPrefix;
+    }
+    return getIconByName(iconNameWithPrefix);
+};
+var icon = {
+    addAll,
+    getByPath,
+    getAllWithPath,
+    getIconByPath,
+    getIconByName,
+    checkMissingIcons,
+};
+
+class CustomIconPackSetting extends IconFolderSetting {
+    constructor(plugin, containerEl, refreshDisplay) {
+        super(plugin, containerEl);
+        this.refreshDisplay = refreshDisplay;
+        this.dragOverElement = document.createElement('div');
+        this.dragOverElement.addClass('iconize-dragover-el');
+        this.dragOverElement.style.display = 'hidden';
+        this.dragOverElement.innerHTML = '<p>Drop to add icon.</p>';
+    }
+    normalizeIconPackName(value) {
+        return value.toLowerCase().replace(/\s/g, '-');
+    }
+    preventDefaults(event) {
+        event.preventDefault();
+        event.stopPropagation();
+    }
+    highlight(el) {
+        clearTimeout(this.closeTimer);
+        if (!this.dragTargetElement) {
+            el.appendChild(this.dragOverElement);
+            el.classList.add('iconize-dragover');
+            this.dragTargetElement = el;
+        }
+    }
+    unhighlight(target, el) {
+        if (this.dragTargetElement && this.dragTargetElement !== target) {
+            this.dragTargetElement.removeChild(this.dragOverElement);
+            this.dragTargetElement.classList.remove('iconize-dragover');
+            this.dragTargetElement = undefined;
+        }
+        clearTimeout(this.closeTimer);
+        this.closeTimer = setTimeout(() => {
+            if (this.dragTargetElement) {
+                el.removeChild(this.dragOverElement);
+                el.classList.remove('iconize-dragover');
+                this.dragTargetElement = undefined;
+            }
+        }, 100);
+    }
+    display() {
+        new obsidian.Setting(this.containerEl)
+            .setName('Add custom icon pack')
+            .setDesc('Add a custom icon pack.')
+            .addText((text) => {
+            text.setPlaceholder('Your icon pack name');
+            this.textComponent = text;
+        })
+            .addButton((btn) => {
+            btn.setButtonText('Add icon pack');
+            btn.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                const name = this.textComponent.getValue();
+                if (name.length === 0) {
+                    return;
+                }
+                const normalizedName = this.normalizeIconPackName(this.textComponent.getValue());
+                if (yield doesIconPackExist(this.plugin, normalizedName)) {
+                    new obsidian.Notice('Icon pack already exists.');
+                    return;
+                }
+                yield createCustomIconPackDirectory(this.plugin, normalizedName);
+                this.textComponent.setValue('');
+                this.refreshDisplay();
+                new obsidian.Notice('Icon pack successfully created.');
+            }));
+        });
+        // Sorts lucide icon pack always to the top.
+        const iconPacks = [...getAllIconPacks()].sort((a, b) => {
+            if (a.name === LUCIDE_ICON_PACK_NAME)
+                return -1;
+            if (b.name === LUCIDE_ICON_PACK_NAME)
+                return 1;
+            return a.name.localeCompare(b.name);
+        });
+        iconPacks.forEach((iconPack) => {
+            const isLucideIconPack = iconPack.name === LUCIDE_ICON_PACK_NAME;
+            const additionalLucideDescription = '(Native Pack has fewer icons but 100% Obsidian Sync support)';
+            const iconPackSetting = new obsidian.Setting(this.containerEl)
+                .setName(`${iconPack.name} (${iconPack.prefix})`)
+                .setDesc(`Total icons: ${iconPack.icons.length}${isLucideIconPack ? ` ${additionalLucideDescription}` : ''}`);
+            // iconPackSetting.addButton((btn) => {
+            //   btn.setIcon('broken-link');
+            //   btn.setTooltip('Try to fix icon pack');
+            //   btn.onClick(async () => {
+            //     new Notice('Try to fix icon pack...');
+            //     getIconPack(iconPack.name).icons = [];
+            //     const icons = await getFilesInDirectory(this.plugin, `${getPath()}/${iconPack.name}`);
+            //     for (let i = 0; i < icons.length; i++) {
+            //       const filePath = icons[i];
+            //       const fileName = filePath.split('/').pop();
+            //       const file = await this.plugin.app.vault.adapter.read(filePath);
+            //       const iconContent = file
+            //         .replace(/stroke="#fff"/g, 'stroke="currentColor"')
+            //         .replace(/fill="#fff"/g, 'fill="currentColor"');
+            //       await this.plugin.app.vault.adapter.write(filePath, iconContent);
+            //       await normalizeFileName(this.plugin, filePath);
+            //       addIconToIconPack(iconPack.name, fileName, iconContent);
+            //     }
+            //     new Notice('...tried to fix icon pack');
+            //     // Refreshes the DOM.
+            //     Object.entries(this.plugin.getData()).forEach(async ([k, v]) => {
+            //       const doesPathExist = await this.plugin.app.vault.adapter.exists(k, true);
+            //       if (doesPathExist && typeof v === 'string') {
+            //         // dom.removeIconInPath(k);
+            //         dom.createIconNode(this.plugin, k, v);
+            //       }
+            //     });
+            //   });
+            // });
+            if (isLucideIconPack) {
+                iconPackSetting.addDropdown((dropdown) => {
+                    dropdown.addOptions({
+                        native: 'Native',
+                        custom: 'Custom',
+                        none: 'None',
+                    });
+                    dropdown.setValue(this.plugin.getSettings().lucideIconPackType);
+                    dropdown.onChange((value) => __awaiter(this, void 0, void 0, function* () {
+                        dropdown.setDisabled(true);
+                        new obsidian.Notice('Changing icon packs...');
+                        this.plugin.getSettings().lucideIconPackType = value;
+                        yield this.plugin.saveIconFolderData();
+                        if (value === 'native' || value === 'none') {
+                            yield removeCustomLucideIconPack(this.plugin);
+                            addLucideIconsPack(this.plugin);
+                        }
+                        else {
+                            yield addCustomLucideIconPack(this.plugin);
+                            yield icon.checkMissingIcons(this.plugin, Object.entries(this.plugin.getData()));
+                        }
+                        dropdown.setDisabled(false);
+                        new obsidian.Notice('Done. This change requires a restart of Obsidian');
+                    }));
+                });
+                return;
+            }
+            iconPackSetting.addButton((btn) => {
+                btn.setIcon('plus');
+                btn.setTooltip('Add an icon');
+                btn.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                    const fileSelector = document.createElement('input');
+                    fileSelector.setAttribute('type', 'file');
+                    fileSelector.setAttribute('multiple', 'multiple');
+                    fileSelector.setAttribute('accept', '.svg');
+                    fileSelector.click();
+                    fileSelector.onchange = (e) => __awaiter(this, void 0, void 0, function* () {
+                        const target = e.target;
+                        for (let i = 0; i < target.files.length; i++) {
+                            const file = target.files[i];
+                            const content = yield readFileSync(file);
+                            yield createFile(this.plugin, iconPack.name, file.name, content);
+                            addIconToIconPack(iconPack.name, file.name, content);
+                            iconPackSetting.setDesc(`Total icons: ${iconPack.icons.length} (added: ${file.name})`);
+                        }
+                        new obsidian.Notice('Icons successfully added.');
+                    });
+                }));
+            });
+            iconPackSetting.addButton((btn) => {
+                btn.setIcon('trash');
+                btn.setTooltip('Remove the icon pack');
+                btn.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                    yield deleteIconPack(this.plugin, iconPack.name);
+                    this.refreshDisplay();
+                    new obsidian.Notice('Icon pack successfully deleted.');
+                }));
+            });
+            ['dragenter', 'dragover', 'dragleave', 'drop'].forEach((event) => {
+                iconPackSetting.settingEl.addEventListener(event, this.preventDefaults, false);
+            });
+            ['dragenter', 'dragover'].forEach((event) => {
+                iconPackSetting.settingEl.addEventListener(event, () => this.highlight(iconPackSetting.settingEl), false);
+            });
+            ['dragleave', 'drop'].forEach((event) => {
+                iconPackSetting.settingEl.addEventListener(event, (event) => this.unhighlight(event.currentTarget, iconPackSetting.settingEl), false);
+            });
+            iconPackSetting.settingEl.addEventListener('drop', (event) => __awaiter(this, void 0, void 0, function* () {
+                const files = event.dataTransfer.files;
+                let successful = false;
+                for (let i = 0; i < files.length; i++) {
+                    const file = files[i];
+                    if (file.type !== 'image/svg+xml') {
+                        new obsidian.Notice(`File ${file.name} is not a SVG file.`);
+                        continue;
+                    }
+                    successful = true;
+                    const content = yield readFileSync(file);
+                    yield createFile(this.plugin, iconPack.name, file.name, content);
+                    addIconToIconPack(iconPack.name, file.name, content);
+                    iconPackSetting.setDesc(`Total icons: ${iconPack.icons.length} (added: ${file.name})`);
+                }
+                if (successful) {
+                    new obsidian.Notice('Icons successfully added.');
+                }
+            }), false);
+        });
+    }
+}
+
+class CustomIconRuleSetting extends IconFolderSetting {
+    constructor(plugin, containerEl, app, refreshDisplay) {
+        super(plugin, containerEl);
+        this.app = app;
+        this.refreshDisplay = refreshDisplay;
+    }
+    /**
+     * Updates all the open files based on the custom rule that was specified.
+     * @param rule Rule that will be used to update all the icons for all opened files.
+     * @param remove Whether to remove the icons that are applicable to the rule or not.
+     */
+    updateIconTabs(rule_1, remove_1) {
+        return __awaiter(this, arguments, void 0, function* (rule, remove, cachedPaths = []) {
+            if (this.plugin.getSettings().iconInTabsEnabled) {
+                for (const openedFile of getAllOpenedFiles(this.plugin)) {
+                    if (cachedPaths.includes(openedFile.path)) {
+                        continue;
+                    }
+                    const applicable = yield customRule.isApplicable(this.plugin, rule, openedFile);
+                    if (!applicable) {
+                        continue;
+                    }
+                    const leaf = openedFile.leaf;
+                    if (remove) {
+                        iconTabs.remove(leaf.tabHeaderInnerIconEl, {
+                            replaceWithDefaultIcon: true,
+                        });
+                    }
+                    else {
+                        iconTabs.add(this.plugin, openedFile, leaf.tabHeaderInnerIconEl, {
+                            iconName: rule.icon,
+                            iconColor: rule.color,
+                        });
+                    }
+                }
+            }
+        });
+    }
+    createDescriptionEl(container, text) {
+        const description = container.createEl('p', {
+            text,
+            cls: 'setting-item-description',
+        });
+        description.style.marginBottom = 'var(--size-2-2)';
+    }
+    display() {
+        new obsidian.Setting(this.containerEl)
+            .setName('Add icon rule')
+            .setDesc('Will add the icon based on the defined rule (as a plain string or in regex format).')
+            .addText((text) => {
+            text.onChange((value) => {
+                this.chooseIconBtn.setDisabled(value.length === 0);
+                this.chooseIconBtn.buttonEl.style.cursor =
+                    value.length === 0 ? 'not-allowed' : 'default';
+                this.chooseIconBtn.buttonEl.style.opacity =
+                    value.length === 0 ? '50%' : '100%';
+            });
+            text.setPlaceholder('regex or simple string');
+            this.textComponent = text;
+        })
+            .addButton((btn) => {
+            btn.setDisabled(true);
+            btn.setButtonText('Choose icon');
+            btn.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                if (this.textComponent.getValue().length === 0) {
+                    return;
+                }
+                const modal = new IconsPickerModal(this.app, this.plugin, '');
+                modal.onChooseItem = (item) => __awaiter(this, void 0, void 0, function* () {
+                    const icon = getNormalizedName(typeof item === 'object' ? item.displayName : item);
+                    const rule = {
+                        rule: this.textComponent.getValue(),
+                        icon,
+                        for: 'everything',
+                        order: this.plugin.getSettings().rules.length,
+                    };
+                    this.plugin.getSettings().rules = [
+                        ...this.plugin.getSettings().rules,
+                        rule,
+                    ];
+                    yield this.plugin.saveIconFolderData();
+                    this.refreshDisplay();
+                    new obsidian.Notice('Icon rule added.');
+                    this.textComponent.setValue('');
+                    saveIconToIconPack(this.plugin, rule.icon);
+                    yield customRule.addToAllFiles(this.plugin, rule);
+                    this.updateIconTabs(rule, false);
+                });
+                modal.open();
+            }));
+            this.chooseIconBtn = btn;
+        });
+        this.plugin.getSettings().rules.forEach((rule) => {
+            // Keeping track of the old rule so that we can get a reference to it for old values.
+            const oldRule = Object.assign({}, rule);
+            const settingRuleEl = new obsidian.Setting(this.containerEl)
+                .setName(rule.rule)
+                .setDesc(`Icon: ${rule.icon}`);
+            const currentOrder = rule.order;
+            /**
+             * Re-orders the custom rule based on the value that is passed in.
+             * @param valueForReorder Number that will be used to determine whether to swap the
+             * custom rule with the next rule or the previous rule.
+             */
+            const orderCustomRules = (valueForReorder) => __awaiter(this, void 0, void 0, function* () {
+                const otherRule = this.plugin.getSettings().rules[currentOrder + valueForReorder];
+                // Swap the current rule with the next rule.
+                otherRule.order = otherRule.order - valueForReorder;
+                rule.order = currentOrder + valueForReorder;
+                // Refreshes the DOM.
+                yield customRule.removeFromAllFiles(this.plugin, oldRule);
+                yield this.plugin.saveIconFolderData();
+                const addedPaths = [];
+                for (const fileExplorer of this.plugin.getRegisteredFileExplorers()) {
+                    const files = Object.values(fileExplorer.fileItems);
+                    for (const rule of customRule.getSortedRules(this.plugin)) {
+                        // Removes the icon tabs from all opened files.
+                        this.updateIconTabs(rule, true, addedPaths);
+                        // Adds the icon tabs to all opened files.
+                        this.updateIconTabs(rule, false, addedPaths);
+                        for (const fileItem of files) {
+                            if (addedPaths.includes(fileItem.file.path)) {
+                                continue;
+                            }
+                            const added = yield customRule.add(this.plugin, rule, fileItem.file, getFileItemTitleEl(fileItem));
+                            if (added) {
+                                addedPaths.push(fileItem.file.path);
+                            }
+                        }
+                    }
+                }
+                this.refreshDisplay();
+            });
+            // Add the move down custom rule button to re-order the custom rule.
+            settingRuleEl.addExtraButton((btn) => {
+                const isFirstOrder = currentOrder === 0;
+                btn.setDisabled(isFirstOrder);
+                btn.extraSettingsEl.style.cursor = isFirstOrder
+                    ? 'not-allowed'
+                    : 'default';
+                btn.extraSettingsEl.style.opacity = isFirstOrder ? '50%' : '100%';
+                btn.setIcon('arrow-up');
+                btn.setTooltip('Prioritize the custom rule');
+                btn.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                    yield orderCustomRules(-1);
+                }));
+            });
+            // Add the move up custom rule button to re-order the custom rule.
+            settingRuleEl.addExtraButton((btn) => {
+                const isLastOrder = currentOrder === this.plugin.getSettings().rules.length - 1;
+                btn.setDisabled(isLastOrder);
+                btn.extraSettingsEl.style.cursor = isLastOrder
+                    ? 'not-allowed'
+                    : 'default';
+                btn.extraSettingsEl.style.opacity = isLastOrder ? '50%' : '100%';
+                btn.setIcon('arrow-down');
+                btn.setTooltip('Deprioritize the custom rule');
+                btn.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                    yield orderCustomRules(1);
+                }));
+            });
+            // Add the edit custom rule button.
+            settingRuleEl.addButton((btn) => {
+                btn.setIcon('pencil');
+                btn.setTooltip('Edit the custom rule');
+                btn.onClick(() => {
+                    var _a, _b;
+                    // Create modal and its children elements.
+                    const modal = new obsidian.Modal(this.plugin.app);
+                    modal.contentEl.style.display = 'block';
+                    modal.modalEl.classList.add('iconize-custom-modal');
+                    modal.titleEl.setText('Edit custom rule');
+                    // Create the input for the rule.
+                    this.createDescriptionEl(modal.contentEl, 'Regex or simple string');
+                    const input = new obsidian.TextComponent(modal.contentEl);
+                    input.setValue(rule.rule);
+                    input.onChange((value) => __awaiter(this, void 0, void 0, function* () {
+                        rule.rule = value;
+                    }));
+                    const useFilePathContainer = modal.contentEl.createDiv();
+                    useFilePathContainer.style.display = 'flex';
+                    useFilePathContainer.style.alignItems = 'center';
+                    useFilePathContainer.style.justifyContent = 'space-between';
+                    useFilePathContainer.style.marginTop = 'var(--size-4-5)';
+                    const useFilePathDescription = useFilePathContainer.createEl('p', {
+                        text: 'Include folders and files that are part of the path.',
+                        cls: 'setting-item-description',
+                    });
+                    useFilePathDescription.style.margin = '0';
+                    useFilePathDescription.style.marginBottom = 'var(--size-2-2)';
+                    new obsidian.ToggleComponent(useFilePathContainer)
+                        .setValue(rule.useFilePath === true)
+                        .onChange((value) => {
+                        rule.useFilePath = value;
+                    });
+                    // Create the toggle for changing the rule type.
+                    const ruleTypeContainer = modal.contentEl.createDiv();
+                    ruleTypeContainer.style.display = 'flex';
+                    ruleTypeContainer.style.alignItems = 'center';
+                    ruleTypeContainer.style.justifyContent = 'space-between';
+                    ruleTypeContainer.style.marginTop = 'var(--size-4-5)';
+                    const ruleTypeDescription = ruleTypeContainer.createEl('p', {
+                        text: 'Where the custom rule gets applied to.',
+                        cls: 'setting-item-description',
+                    });
+                    ruleTypeDescription.style.margin = '0';
+                    ruleTypeDescription.style.marginBottom = 'var(--size-2-2)';
+                    const ruleTypeButton = new obsidian.ButtonComponent(ruleTypeContainer);
+                    const setButtonContent = (isFor) => {
+                        if (isFor === 'folders') {
+                            ruleTypeButton.setIcon('folder');
+                        }
+                        else if (isFor === 'files') {
+                            ruleTypeButton.setIcon('document');
+                        }
+                        else {
+                            ruleTypeButton.setIcon('documents');
+                        }
+                        ruleTypeButton.setTooltip(`Icon applicable to: ${isFor}`);
+                    };
+                    setButtonContent((_a = rule.for) !== null && _a !== void 0 ? _a : 'everything');
+                    ruleTypeButton.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                        var _c;
+                        const isFor = (_c = rule.for) !== null && _c !== void 0 ? _c : 'everything';
+                        this.updateIconTabs(rule, true);
+                        yield customRule.removeFromAllFiles(this.plugin, Object.assign(Object.assign({}, rule), { for: isFor }));
+                        if (isFor === 'folders') {
+                            rule.for = 'everything';
+                        }
+                        else if (isFor === 'files') {
+                            rule.for = 'folders';
+                        }
+                        else {
+                            rule.for = 'files';
+                        }
+                        setButtonContent(rule.for);
+                    }));
+                    // Create the change icon button with icon preview.
+                    this.createDescriptionEl(modal.contentEl, 'Custom rule icon');
+                    const iconContainer = modal.contentEl.createDiv();
+                    iconContainer.style.display = 'flex';
+                    iconContainer.style.alignItems = 'center';
+                    iconContainer.style.justifyContent = 'space-between';
+                    const iconEl = iconContainer.createDiv();
+                    const iconPreviewEl = iconEl.createDiv();
+                    dom.setIconForNode(this.plugin, rule.icon, iconPreviewEl);
+                    iconEl.style.display = 'flex';
+                    iconEl.style.alignItems = 'center';
+                    iconEl.style.justifyContent = 'space-between';
+                    iconEl.style.margin = null;
+                    iconPreviewEl.innerHTML = svg.setFontSize(iconPreviewEl.innerHTML, 20);
+                    const iconNameEl = iconEl.createEl('div', {
+                        cls: 'setting-item-description',
+                    });
+                    iconNameEl.style.paddingTop = '0';
+                    iconNameEl.style.marginLeft = 'var(--size-2-2)';
+                    iconNameEl.innerText = rule.icon;
+                    const changeIconBtn = new obsidian.ButtonComponent(iconContainer);
+                    changeIconBtn.setButtonText('Change icon');
+                    changeIconBtn.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                        const modal = new IconsPickerModal(this.app, this.plugin, rule.icon);
+                        modal.onChooseItem = (item) => __awaiter(this, void 0, void 0, function* () {
+                            const icon = typeof item === 'object' ? item.displayName : item;
+                            rule.icon = icon;
+                            dom.setIconForNode(this.plugin, rule.icon, iconPreviewEl);
+                            iconPreviewEl.innerHTML = svg.setFontSize(iconPreviewEl.innerHTML, 20);
+                            iconNameEl.innerText = getNormalizedName(rule.icon);
+                        });
+                        modal.open();
+                    }));
+                    // Create the color picker for the rule.
+                    this.createDescriptionEl(modal.contentEl, 'Color of the icon');
+                    const colorContainer = modal.contentEl.createDiv();
+                    colorContainer.style.display = 'flex';
+                    colorContainer.style.alignItems = 'center';
+                    colorContainer.style.justifyContent = 'space-between';
+                    const colorPicker = new obsidian.ColorComponent(colorContainer)
+                        .setValue((_b = rule.color) !== null && _b !== void 0 ? _b : '#000000')
+                        .onChange((value) => {
+                        rule.color = value;
+                    });
+                    const defaultColorButton = new obsidian.ButtonComponent(colorContainer);
+                    defaultColorButton.setTooltip('Set color to the default one');
+                    defaultColorButton.setButtonText('Default');
+                    defaultColorButton.onClick(() => {
+                        colorPicker.setValue('#000000');
+                        rule.color = undefined;
+                    });
+                    // Create the save button.
+                    const button = new obsidian.ButtonComponent(modal.contentEl);
+                    button.buttonEl.style.marginTop = 'var(--size-4-4)';
+                    button.buttonEl.style.float = 'right';
+                    button.setButtonText('Save Changes');
+                    button.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                        if (!emoji.isEmoji(oldRule.icon)) {
+                            // Tries to remove the previously used icon from the icon pack.
+                            removeIconFromIconPack(this.plugin, oldRule.icon);
+                        }
+                        if (!emoji.isEmoji(rule.icon)) {
+                            // Tries to add the newly used icon to the icon pack.
+                            saveIconToIconPack(this.plugin, rule.icon);
+                            rule.icon = getNormalizedName(rule.icon);
+                        }
+                        this.refreshDisplay();
+                        new obsidian.Notice('Custom rule updated.');
+                        // Refresh the DOM.
+                        yield customRule.removeFromAllFiles(this.plugin, oldRule);
+                        this.updateIconTabs(rule, true);
+                        this.plugin.getSettings().rules.forEach((rule) => __awaiter(this, void 0, void 0, function* () {
+                            yield customRule.addToAllFiles(this.plugin, rule);
+                            this.updateIconTabs(rule, false);
+                        }));
+                        yield this.plugin.saveIconFolderData();
+                        modal.close();
+                    }));
+                    modal.open();
+                });
+            });
+            // Add the delete custom rule button.
+            settingRuleEl.addButton((btn) => {
+                btn.setIcon('trash');
+                btn.setTooltip('Remove the custom rule');
+                btn.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                    const newRules = this.plugin
+                        .getSettings()
+                        .rules.filter((r) => rule.rule !== r.rule ||
+                        rule.color !== r.color ||
+                        rule.icon !== r.icon ||
+                        rule.for !== r.for);
+                    this.plugin.getSettings().rules = newRules;
+                    yield this.plugin.saveIconFolderData();
+                    this.refreshDisplay();
+                    new obsidian.Notice('Custom rule deleted.');
+                    yield customRule.removeFromAllFiles(this.plugin, rule);
+                    removeIconFromIconPack(this.plugin, rule.icon);
+                    this.updateIconTabs(rule, true);
+                    const previousRules = this.plugin
+                        .getSettings()
+                        .rules.filter((r) => rule.for === r.for);
+                    previousRules.forEach((previousRule) => __awaiter(this, void 0, void 0, function* () {
+                        yield customRule.addToAllFiles(this.plugin, previousRule);
+                        this.updateIconTabs(previousRule, false);
+                    }));
+                }));
+            });
+        });
+    }
+}
+
+const getTitleIcon = (leaf) => {
+    return leaf.querySelector(`.${config.TITLE_ICON_CLASS}`);
+};
+const add = (plugin, inlineTitleEl, svgElement, options) => {
+    var _a;
+    if (!inlineTitleEl.parentElement) {
+        return;
+    }
+    if (options === null || options === void 0 ? void 0 : options.fontSize) {
+        svgElement = svg.setFontSize(svgElement, options.fontSize);
+    }
+    let titleIcon = getTitleIcon(inlineTitleEl.parentElement);
+    if (!titleIcon) {
+        titleIcon = document.createElement('div');
+    }
+    const isInline = plugin.getSettings().iconInTitlePosition === IconInTitlePosition.Inline;
+    if (isInline) {
+        titleIcon.style.display = 'inline-block';
+        titleIcon.style.removeProperty('margin-inline');
+        titleIcon.style.removeProperty('width');
+    }
+    else {
+        titleIcon.style.display = 'block';
+        titleIcon.style.width = 'var(--line-width)';
+        titleIcon.style.marginInline = '0';
+    }
+    titleIcon.classList.add(config.TITLE_ICON_CLASS);
+    // Checks if the passed element is an emoji.
+    if (emoji.isEmoji(svgElement) && options.fontSize) {
+        svgElement =
+            (_a = emoji.parseEmoji(plugin.getSettings().emojiStyle, svgElement, options.fontSize)) !== null && _a !== void 0 ? _a : svgElement;
+        titleIcon.style.fontSize = `${options.fontSize}px`;
+    }
+    titleIcon.innerHTML = svgElement;
+    let wrapperElement = inlineTitleEl.parentElement;
+    // Checks the parent and selects the correct wrapper element.
+    // This should only happen in the beginning.
+    if (wrapperElement &&
+        !wrapperElement.classList.contains(config.INLINE_TITLE_WRAPPER_CLASS)) {
+        wrapperElement = wrapperElement.querySelector(`.${config.INLINE_TITLE_WRAPPER_CLASS}`);
+    }
+    // Whenever there is no correct wrapper element, we create one.
+    if (!wrapperElement) {
+        wrapperElement = inlineTitleEl.parentElement.createDiv();
+        wrapperElement.classList.add(config.INLINE_TITLE_WRAPPER_CLASS);
+    }
+    // Avoiding adding the same nodes together when changing the title.
+    if (wrapperElement !== inlineTitleEl.parentElement) {
+        inlineTitleEl.parentElement.prepend(wrapperElement);
+    }
+    if (isInline) {
+        wrapperElement.style.display = 'flex';
+        wrapperElement.style.alignItems = 'flex-start';
+        const inlineTitlePaddingTop = getComputedStyle(inlineTitleEl, null).getPropertyValue('padding-top');
+        titleIcon.style.paddingTop = inlineTitlePaddingTop;
+        if (emoji.isEmoji(svgElement)) {
+            titleIcon.style.transform = 'translateY(-9%)';
+        }
+        else {
+            titleIcon.style.transform = 'translateY(9%)';
+        }
+    }
+    else {
+        wrapperElement.style.display = 'block';
+        titleIcon.style.transform = 'translateY(9%)';
+    }
+    wrapperElement.append(titleIcon);
+    wrapperElement.append(inlineTitleEl);
+};
+const updateStyle = (inlineTitleEl, options) => {
+    if (!inlineTitleEl.parentElement) {
+        return;
+    }
+    const titleIcon = getTitleIcon(inlineTitleEl.parentElement);
+    if (!titleIcon) {
+        return;
+    }
+    if (options.fontSize) {
+        if (!emoji.isEmoji(titleIcon.innerHTML)) {
+            titleIcon.innerHTML = svg.setFontSize(titleIcon.innerHTML, options.fontSize);
+        }
+        else {
+            titleIcon.style.fontSize = `${options.fontSize}px`;
+        }
+    }
+};
+/**
+ * Hides the title icon from the provided HTMLElement.
+ * @param contentEl HTMLElement to hide the title icon from.
+ */
+const hide = (inlineTitleEl) => {
+    if (!inlineTitleEl.parentElement) {
+        return;
+    }
+    const titleIconContainer = getTitleIcon(inlineTitleEl.parentElement);
+    if (!titleIconContainer) {
+        return;
+    }
+    titleIconContainer.style.display = 'none';
+};
+const remove = (inlineTitleEl) => {
+    if (!inlineTitleEl.parentElement) {
+        return;
+    }
+    const titleIconContainer = getTitleIcon(inlineTitleEl.parentElement);
+    if (!titleIconContainer) {
+        return;
+    }
+    titleIconContainer.remove();
+};
+var titleIcon = {
+    add,
+    updateStyle,
+    hide,
+    remove,
+};
+
+const calculateFontTextSize = () => {
+    var _a;
+    let fontSize = parseFloat((_a = getComputedStyle(document.body).getPropertyValue('--font-text-size')) !== null && _a !== void 0 ? _a : '0');
+    if (!fontSize) {
+        fontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
+    }
+    return fontSize;
+};
+const calculateInlineTitleSize = () => {
+    const fontSize = calculateFontTextSize();
+    const inlineTitleSizeValue = getComputedStyle(document.body).getPropertyValue('--inline-title-size');
+    const unit = inlineTitleSizeValue.replace(/[\d.]/g, '');
+    let inlineTitleSize = parseFloat(inlineTitleSizeValue);
+    if (unit === 'px') {
+        inlineTitleSize /= 16;
+    }
+    return fontSize * inlineTitleSize;
+};
+const isHeader = (value) => {
+    return /^h[1-6]$/.test(value);
+};
+const getHTMLHeaderByToken = (header) => {
+    for (let i = 1; i <= 6; i++) {
+        if (header === `header-${i}`) {
+            return `h${i}`;
+        }
+    }
+    return null;
+};
+const calculateHeaderSize = (header) => {
+    var _a;
+    const fontSize = calculateFontTextSize();
+    const htmlHeader = (_a = getHTMLHeaderByToken(header)) !== null && _a !== void 0 ? _a : header;
+    const headerComputedStyle = getComputedStyle(document.body).getPropertyValue(`--${htmlHeader}-size`);
+    let headerSize = parseFloat(headerComputedStyle);
+    if (isPx(headerComputedStyle)) {
+        headerSize = pxToRem(headerSize, fontSize);
+    }
+    // If there is some `calc` operation going on, it has to be evaluated.
+    if (headerComputedStyle.includes('calc')) {
+        const temp = document.createElement('div');
+        temp.style.setProperty('font-size', `var(--${htmlHeader}-size)`);
+        document.body.appendChild(temp);
+        const computedStyle = window.getComputedStyle(temp);
+        const computedValue = computedStyle.getPropertyValue('font-size');
+        headerSize = parseFloat(computedValue);
+        if (isPx(computedValue)) {
+            headerSize = pxToRem(headerSize, fontSize);
+        }
+        document.body.removeChild(temp);
+    }
+    return fontSize * headerSize;
+};
+const pxToRem = (px, baseSize = 16) => {
+    return px / baseSize;
+};
+const isPx = (value) => {
+    return /^-?\d+(\.\d+)?px$/.test(value);
+};
+
+class EmojiStyleSetting extends IconFolderSetting {
+    display() {
+        const emojiStyle = new obsidian.Setting(this.containerEl)
+            .setName('Emoji style')
+            .setDesc('Change the style of your emojis.');
+        emojiStyle.addDropdown((dropdown) => {
+            dropdown.addOption('native', 'Native');
+            dropdown.addOption('twemoji', 'Twemoji');
+            dropdown.setValue(this.plugin.getSettings().emojiStyle);
+            dropdown.onChange((value) => __awaiter(this, void 0, void 0, function* () {
+                this.plugin.getSettings().emojiStyle = value;
+                this.updateDOM();
+                yield this.plugin.saveIconFolderData();
+            }));
+        });
+    }
+    updateDOM() {
+        for (const fileExplorer of this.plugin.getRegisteredFileExplorers()) {
+            const fileItems = Object.entries(fileExplorer.fileItems);
+            for (const [path, _] of fileItems) {
+                let iconName = this.plugin.getData()[path];
+                if (!iconName) {
+                    continue;
+                }
+                const data = this.plugin.getData()[path];
+                if (typeof data === 'object') {
+                    const data = this.plugin.getData()[path];
+                    if (data.iconName) {
+                        iconName = data.iconName;
+                    }
+                }
+                if (emoji.isEmoji(iconName)) {
+                    dom.createIconNode(this.plugin, path, iconName);
+                    if (this.plugin.getSettings().iconInTabsEnabled) {
+                        const tabLeaves = iconTabs.getTabLeavesOfFilePath(this.plugin, path);
+                        for (const tabLeaf of tabLeaves) {
+                            iconTabs.update(this.plugin, iconName, tabLeaf.tabHeaderInnerIconEl);
+                        }
+                    }
+                    if (this.plugin.getSettings().iconInTitleEnabled) {
+                        for (const openedFile of getAllOpenedFiles(this.plugin)) {
+                            const activeView = openedFile.leaf.view;
+                            if (activeView instanceof obsidian.MarkdownView &&
+                                openedFile.path === path) {
+                                titleIcon.add(this.plugin, activeView.inlineTitleEl, iconName, {
+                                    fontSize: calculateInlineTitleSize(),
+                                });
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        for (const rule of customRule.getSortedRules(this.plugin)) {
+            customRule.addToAllFiles(this.plugin, rule);
+        }
+    }
+}
+
+/**
+ * Helper function that refreshes the style of all the icons that are defined
+ * or in a custom rule involved.
+ * @param plugin Instance of the IconizePlugin.
+ */
+const refreshStyleOfIcons = (plugin) => __awaiter(void 0, void 0, void 0, function* () {
+    // Refreshes the icon style for all normally added icons.
+    style.refreshIconNodes(plugin);
+    // Refreshes the icon style for all custom icon rules, when the color of the rule is
+    // not defined.
+    for (const rule of customRule.getSortedRules(plugin)) {
+        const fileItems = yield customRule.getFileItems(plugin, rule);
+        for (const fileItem of fileItems) {
+            const titleEl = getFileItemTitleEl(fileItem);
+            const iconNode = titleEl.querySelector('.iconize-icon');
+            let iconContent = iconNode.innerHTML;
+            iconContent = style.applyAll(plugin, iconContent, iconNode);
+            if (rule.color) {
+                iconContent = svg.colorize(iconContent, rule.color);
+                iconNode.style.color = rule.color;
+            }
+            iconNode.innerHTML = iconContent;
+        }
+    }
+});
+var helper = {
+    refreshStyleOfIcons,
+};
+
+class ExtraMarginSetting extends IconFolderSetting {
+    display() {
+        var _a, _b;
+        const extraMarginSetting = new obsidian.Setting(this.containerEl)
+            .setName('Extra margin (in pixels)')
+            .setDesc('Change the margin of the icons.')
+            .setClass('iconize-setting');
+        const extraMarginDropdown = new obsidian.DropdownComponent(extraMarginSetting.controlEl).addOptions({
+            top: 'Top',
+            right: 'Right',
+            bottom: 'Bottom',
+            left: 'Left',
+        });
+        const extraMarginSlider = new obsidian.SliderComponent(extraMarginSetting.controlEl)
+            .setLimits(-24, 24, 1)
+            .setDynamicTooltip()
+            .setValue((_b = (_a = this.plugin.getSettings().extraMargin) === null || _a === void 0 ? void 0 : _a.top) !== null && _b !== void 0 ? _b : 2)
+            .onChange((val) => __awaiter(this, void 0, void 0, function* () {
+            const dropdownValue = extraMarginDropdown.getValue();
+            if (this.plugin.getSettings().extraMargin) {
+                this.plugin.getSettings().extraMargin[dropdownValue] = val;
+            }
+            else {
+                this.plugin.getSettings().extraMargin = {
+                    [dropdownValue]: val,
+                };
+            }
+            yield this.plugin.saveIconFolderData();
+            helper.refreshStyleOfIcons(this.plugin);
+        }));
+        extraMarginDropdown.onChange((val) => {
+            var _a;
+            if (this.plugin.getSettings().extraMargin) {
+                extraMarginSlider.setValue((_a = this.plugin.getSettings().extraMargin[val]) !== null && _a !== void 0 ? _a : 2);
+            }
+            else {
+                extraMarginSlider.setValue(2);
+            }
+        });
+        extraMarginSetting.components.push(extraMarginDropdown, extraMarginSlider);
+    }
+}
+
+class ResetButtonComponent extends obsidian.ButtonComponent {
+    constructor(contentEl) {
+        super(contentEl);
+        this.contentEl = contentEl;
+        this.setTooltip('Restore default');
+        this.setIcon('rotate-ccw');
+        this.render();
+    }
+    render() {
+        this.buttonEl.classList.add('clickable-icon');
+        this.buttonEl.classList.add('extra-setting-button');
+    }
+}
+
+const DEFAULT_VALUE = DEFAULT_SETTINGS.iconColor;
+class IconColorSetting extends IconFolderSetting {
+    display() {
+        var _a;
+        const setting = new obsidian.Setting(this.containerEl)
+            .setName('Icon color')
+            .setDesc('Change the color of the displayed icons.');
+        new ResetButtonComponent(setting.controlEl).onClick(() => __awaiter(this, void 0, void 0, function* () {
+            colorPicker.setValue(DEFAULT_VALUE);
+            this.plugin.getSettings().iconColor = null;
+            // Custom saving to not save the color black in the data.
+            yield this.plugin.saveIconFolderData();
+            helper.refreshStyleOfIcons(this.plugin);
+        }));
+        const colorPicker = new obsidian.ColorComponent(setting.controlEl)
+            .setValue((_a = this.plugin.getSettings().iconColor) !== null && _a !== void 0 ? _a : DEFAULT_VALUE)
+            .onChange((value) => __awaiter(this, void 0, void 0, function* () {
+            this.plugin.getSettings().iconColor = value;
+            yield this.plugin.saveIconFolderData();
+            helper.refreshStyleOfIcons(this.plugin);
+        }));
+    }
+}
+
+const values = {
+    min: 10,
+    max: 64,
+    default: DEFAULT_SETTINGS.fontSize,
+    step: 1,
+};
+class IconFontSizeSetting extends IconFolderSetting {
+    display() {
+        const setting = new obsidian.Setting(this.containerEl)
+            .setName('Icon font size (in pixels)')
+            .setDesc('Change the font size of the displayed icons.');
+        new ResetButtonComponent(setting.controlEl).onClick(() => {
+            this.slider.setValue(values.default);
+        });
+        setting.addSlider((slider) => {
+            var _a;
+            this.slider = slider;
+            slider
+                .setLimits(values.min, values.max, values.step)
+                .setDynamicTooltip()
+                .setValue((_a = this.plugin.getSettings().fontSize) !== null && _a !== void 0 ? _a : DEFAULT_SETTINGS.fontSize)
+                .onChange((val) => __awaiter(this, void 0, void 0, function* () {
+                this.plugin.getSettings().fontSize = val;
+                yield this.plugin.saveIconFolderData();
+                helper.refreshStyleOfIcons(this.plugin);
+            }));
+        });
+    }
+}
+
+class IconPacksPathSetting extends IconFolderSetting {
+    display() {
+        const iconPacksPathSetting = new obsidian.Setting(this.containerEl)
+            .setName('Icon packs folder path')
+            .setDesc('Change the default icon packs folder path.');
+        iconPacksPathSetting.addText((text) => {
+            this.iconPacksSettingTextComp = text;
+            text.setValue(this.plugin.getSettings().iconPacksPath);
+        });
+        iconPacksPathSetting.addButton((btn) => {
+            btn.setButtonText('Save');
+            btn.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                const newPath = this.iconPacksSettingTextComp.getValue();
+                const oldPath = this.plugin.getSettings().iconPacksPath;
+                if (oldPath === this.iconPacksSettingTextComp.getValue()) {
+                    return;
+                }
+                new obsidian.Notice('Saving in progress...');
+                setPath(newPath);
+                yield createDefaultDirectory(this.plugin);
+                yield moveIconPackDirectories(this.plugin, oldPath, newPath);
+                this.plugin.getSettings().iconPacksPath = newPath;
+                yield this.plugin.saveIconFolderData();
+                new obsidian.Notice('...saved successfully');
+            }));
+        });
+    }
+}
+
+class IconPacksBackgroundChecker extends IconFolderSetting {
+    display() {
+        new obsidian.Setting(this.containerEl)
+            .setName('Icons background check')
+            .setDesc('Check in the background on every load of Obsidian, if icons are missing and it will try to add them to the specific icon pack.')
+            .addToggle((toggle) => {
+            toggle
+                .setValue(this.plugin.getSettings().iconsBackgroundCheckEnabled)
+                .onChange((enabled) => __awaiter(this, void 0, void 0, function* () {
+                this.plugin.getSettings().iconsBackgroundCheckEnabled = enabled;
+                yield this.plugin.saveIconFolderData();
+                if (enabled) {
+                    new obsidian.Notice('You need to reload Obsidian for this to take effect.', 10000);
+                }
+            }));
+        });
+    }
+}
+
+class IconPackBrowserModal extends obsidian.FuzzySuggestModal {
+    constructor(app, plugin) {
+        super(app);
+        this.plugin = plugin;
+        this.resultContainerEl.classList.add('iconize-browse-modal');
+        this.inputEl.placeholder = 'Select to download icon pack';
+    }
+    // eslint-disable-next-line
+    onAddedIconPack() { }
+    onOpen() {
+        super.onOpen();
+    }
+    onClose() {
+        this.contentEl.empty();
+    }
+    getItemText(item) {
+        const prefix = createIconPackPrefix(item.name);
+        return `${item.displayName} (${prefix})`;
+    }
+    getItems() {
+        const predefinedIconPacks = Object.values(iconPacks$1);
+        const allIconPacks = getAllIconPacks();
+        return predefinedIconPacks.filter((iconPack) => allIconPacks.find((ip) => iconPack.name === ip.name) === undefined);
+    }
+    onChooseItem(item, _event) {
+        return __awaiter(this, void 0, void 0, function* () {
+            new obsidian.Notice(`Adding ${item.displayName}...`);
+            const arrayBuffer = yield downloadZipFile(item.downloadLink);
+            yield createZipFile(this.plugin, `${item.name}.zip`, arrayBuffer);
+            yield registerIconPack(item.name, arrayBuffer);
+            new obsidian.Notice(`...${item.displayName} added`);
+            this.onAddedIconPack();
+        });
+    }
+    renderSuggestion(item, el) {
+        super.renderSuggestion(item, el);
+        el.innerHTML = `<div>${el.innerHTML}</div>`;
+    }
+}
+
+class PredefinedIconPacksSetting extends IconFolderSetting {
+    constructor(plugin, containerEl, app, refreshDisplay) {
+        super(plugin, containerEl);
+        this.app = app;
+        this.refreshDisplay = refreshDisplay;
+    }
+    display() {
+        new obsidian.Setting(this.containerEl)
+            .setName('Add predefined icon pack')
+            .setDesc('Add a predefined icon pack that is officially supported.')
+            .addButton((btn) => {
+            btn.setButtonText('Browse icon packs');
+            btn.onClick(() => {
+                const modal = new IconPackBrowserModal(this.app, this.plugin);
+                modal.onAddedIconPack = () => {
+                    this.refreshDisplay();
+                };
+                modal.open();
+            });
+        });
+    }
+}
+
+class RecentlyUsedIconsSetting extends IconFolderSetting {
+    display() {
+        new obsidian.Setting(this.containerEl)
+            .setName('Recently used icons limit')
+            .setDesc('Change the limit for the recently used icons displayed in the icon selection modal.')
+            .addSlider((slider) => {
+            var _a;
+            slider
+                .setLimits(1, 25, 1)
+                .setDynamicTooltip()
+                .setValue((_a = this.plugin.getSettings().recentlyUsedIconsSize) !== null && _a !== void 0 ? _a : DEFAULT_SETTINGS.recentlyUsedIconsSize)
+                .onChange((val) => __awaiter(this, void 0, void 0, function* () {
+                this.plugin.getSettings().recentlyUsedIconsSize = val;
+                yield this.plugin.checkRecentlyUsedIcons();
+                yield this.plugin.saveIconFolderData();
+            }));
+        });
+    }
+}
+
+class ToggleIconInTabs extends IconFolderSetting {
+    display() {
+        new obsidian.Setting(this.containerEl)
+            .setName('Toggle icon in tabs')
+            .setDesc('Toggles the visibility of an icon for a file in the tab bar.')
+            .addToggle((toggle) => {
+            toggle
+                .setValue(this.plugin.getSettings().iconInTabsEnabled)
+                .onChange((enabled) => __awaiter(this, void 0, void 0, function* () {
+                this.plugin.getSettings().iconInTabsEnabled = enabled;
+                yield this.plugin.saveIconFolderData();
+                // Updates the already opened files.
+                this.plugin.app.workspace
+                    .getLeavesOfType('markdown')
+                    .forEach((leaf) => {
+                    const file = leaf.view.file;
+                    if (file) {
+                        const tabHeaderLeaf = leaf;
+                        if (enabled) {
+                            // Adds the icons to already opened files.
+                            iconTabs.add(this.plugin, file, tabHeaderLeaf.tabHeaderInnerIconEl);
+                        }
+                        else {
+                            // Removes the icons from already opened files.
+                            iconTabs.remove(tabHeaderLeaf.tabHeaderInnerIconEl);
+                        }
+                    }
+                });
+            }));
+        });
+    }
+}
+
+class ToggleIconInTitle extends IconFolderSetting {
+    updateLeaves(options) {
+        this.plugin.app.workspace.getLeavesOfType('markdown').forEach((leaf) => {
+            const view = leaf.view;
+            if (view instanceof obsidian.MarkdownView) {
+                const foundIcon = icon.getIconByPath(this.plugin, view.file.path);
+                if (foundIcon && options.enabled) {
+                    if (options.removeBeforeReAdd) {
+                        // Remove the icon before re-adding it. This is needed to update the DOM because
+                        // the icon node will be inserted in the beginning inline title node.
+                        titleIcon.remove(view.contentEl);
+                    }
+                    const content = typeof foundIcon === 'string' ? foundIcon : foundIcon.svgElement;
+                    titleIcon.add(this.plugin, view.inlineTitleEl, content, {
+                        fontSize: calculateInlineTitleSize(),
+                    });
+                }
+                else {
+                    titleIcon.remove(view.contentEl);
+                }
+            }
+        });
+    }
+    display() {
+        new obsidian.Setting(this.containerEl)
+            .setName('Toggle icon in title')
+            .setDesc('Toggles the visibility of an icon above the title of a file.')
+            .addDropdown((dropdown) => {
+            this.dropdown = dropdown;
+            dropdown.setDisabled(!this.plugin.getSettings().iconInTitleEnabled);
+            dropdown.addOptions({
+                above: 'Above title',
+                inline: 'Next to title',
+            });
+            dropdown.setValue(this.plugin.getSettings().iconInTitlePosition);
+            dropdown.onChange((value) => __awaiter(this, void 0, void 0, function* () {
+                this.plugin.getSettings().iconInTitlePosition =
+                    value;
+                yield this.plugin.saveIconFolderData();
+                this.updateLeaves({ enabled: true, removeBeforeReAdd: true });
+            }));
+        })
+            .addToggle((toggle) => {
+            toggle
+                .setValue(this.plugin.getSettings().iconInTitleEnabled)
+                .onChange((enabled) => __awaiter(this, void 0, void 0, function* () {
+                if (this.dropdown) {
+                    this.dropdown.setDisabled(!enabled);
+                }
+                this.plugin.getSettings().iconInTitleEnabled = enabled;
+                yield this.plugin.saveIconFolderData();
+                this.updateLeaves({ enabled });
+            }));
+        });
+    }
+}
+
+class FrontmatterOptions extends IconFolderSetting {
+    display() {
+        new obsidian.Setting(this.containerEl)
+            .setName('Use icon in frontmatter')
+            .setDesc('Toggles whether to set the icon based on the frontmatter property `icon`.')
+            .addToggle((toggle) => {
+            toggle
+                .setValue(this.plugin.getSettings().iconInFrontmatterEnabled)
+                .onChange((enabled) => __awaiter(this, void 0, void 0, function* () {
+                this.plugin.getSettings().iconInFrontmatterEnabled = enabled;
+                yield this.plugin.saveIconFolderData();
+            }));
+        });
+        new obsidian.Setting(this.containerEl)
+            .setName('Frontmatter icon field name')
+            .setDesc('Sets the name of the frontmatter field which contains the icon.')
+            .addText((text) => {
+            this.iconFieldNameTextComp = text;
+            text.setValue(this.plugin.getSettings().iconInFrontmatterFieldName);
+        })
+            .addButton((button) => {
+            button.setButtonText('Save');
+            button.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                const newValue = this.iconFieldNameTextComp.getValue();
+                const oldValue = this.plugin.getSettings().iconInFrontmatterFieldName;
+                if (newValue === oldValue) {
+                    return;
+                }
+                this.plugin.getSettings().iconInFrontmatterFieldName = newValue;
+                yield this.plugin.saveIconFolderData();
+                new obsidian.Notice('...saved successfully');
+            }));
+        });
+        new obsidian.Setting(this.containerEl)
+            .setName('Frontmatter icon color field name')
+            .setDesc('Sets the name of the frontmatter field which contains the icon color.')
+            .addText((text) => {
+            this.iconColorFieldNameTextComp = text;
+            text.setValue(this.plugin.getSettings().iconColorInFrontmatterFieldName);
+        })
+            .addButton((button) => {
+            button.setButtonText('Save');
+            button.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                const newValue = this.iconColorFieldNameTextComp.getValue();
+                const oldValue = this.plugin.getSettings().iconColorInFrontmatterFieldName;
+                if (newValue === oldValue) {
+                    return;
+                }
+                this.plugin.getSettings().iconColorInFrontmatterFieldName = newValue;
+                yield this.plugin.saveIconFolderData();
+                new obsidian.Notice('...saved successfully');
+            }));
+        });
+        new obsidian.Setting(this.containerEl)
+            .setName('Refresh icons from frontmatter')
+            .setDesc('Sets the icon and color for each note in the vault based on the frontmatter properties. WARNING: This will change any manually set icons to the one defined in the frontmatter. IF A NOTE HAS NO FRONTMATTER, THE CURRENT ICON WILL BE REMOVED. Please restart Obsidian after this completes to see the changes.')
+            .addButton((btn) => {
+            btn.setButtonText('Refresh').onClick(() => __awaiter(this, void 0, void 0, function* () {
+                var _a, _b;
+                if (!this.plugin.getSettings().iconInFrontmatterEnabled) {
+                    new obsidian.Notice(`[${config.PLUGIN_NAME}] Please enable "Use icon in frontmatter".`);
+                    return;
+                }
+                new obsidian.Notice(`[${config.PLUGIN_NAME}] Refreshing icons from frontmatter, please wait...`);
+                const files = this.plugin.app.vault.getMarkdownFiles();
+                for (const file of files) {
+                    const fileCache = this.plugin.app.metadataCache.getFileCache(file);
+                    const frontmatterIconKey = this.plugin.getSettings().iconInFrontmatterFieldName;
+                    const frontmatterIconColorKey = this.plugin.getSettings().iconColorInFrontmatterFieldName;
+                    const iconName = (_a = fileCache.frontmatter) === null || _a === void 0 ? void 0 : _a[frontmatterIconKey];
+                    let iconColor = (_b = fileCache.frontmatter) === null || _b === void 0 ? void 0 : _b[frontmatterIconColorKey];
+                    if (!iconName) {
+                        yield this.plugin.removeFolderIcon(file.path);
+                        continue;
+                    }
+                    if (typeof iconName !== 'string') {
+                        const message = `${file.path}\nFrontmatter property type \`${frontmatterIconKey}\` has to be of type \`text\`.`;
+                        logger.warn(message);
+                        new obsidian.Notice(`[${config.PLUGIN_NAME}]\n${message}`);
+                        continue;
+                    }
+                    this.plugin.addFolderIcon(file.path, iconName);
+                    if (!iconColor) {
+                        yield this.plugin.removeIconColor(file.path);
+                        continue;
+                    }
+                    if (typeof iconColor !== 'string') {
+                        const message = `${file.path}\nFrontmatter property type \`${frontmatterIconColorKey}\` has to be of type \`text\`.`;
+                        logger.warn(message);
+                        new obsidian.Notice(`[${config.PLUGIN_NAME}]\n${message}`);
+                        continue;
+                    }
+                    iconColor = isHexadecimal(iconColor)
+                        ? stringToHex(iconColor)
+                        : iconColor;
+                    this.plugin.addIconColor(file.path, iconColor);
+                }
+                new obsidian.Notice(`[${config.PLUGIN_NAME}] Refreshed icons from frontmatter. Please restart Obsidian to see the changes.`);
+            }));
+        });
+    }
+}
+
+class ToggleIconsInEditor extends IconFolderSetting {
+    display() {
+        new obsidian.Setting(this.containerEl)
+            .setName('Toggle icons while editing notes')
+            .setDesc('Toggles whether you are able to add and see icons in your notes and editor (e.g., ability to have :LiSofa: as an icon in your notes).')
+            .addToggle((toggle) => {
+            toggle
+                .setValue(this.plugin.getSettings().iconsInNotesEnabled)
+                .onChange((enabled) => __awaiter(this, void 0, void 0, function* () {
+                this.plugin.getSettings().iconsInNotesEnabled = enabled;
+                yield this.plugin.saveIconFolderData();
+                new obsidian.Notice(`[${config.PLUGIN_NAME}] Obsidian has to be restarted for this change to take effect.`);
+            }));
+        });
+    }
+}
+
+class ToggleIconsInLinks extends IconFolderSetting {
+    display() {
+        new obsidian.Setting(this.containerEl)
+            .setName('Toggle icons in links')
+            .setDesc('Toggles whether you are able to see icons in the links to other notes')
+            .addToggle((toggle) => {
+            toggle
+                .setValue(this.plugin.getSettings().iconsInLinksEnabled)
+                .onChange((enabled) => __awaiter(this, void 0, void 0, function* () {
+                this.plugin.getSettings().iconsInLinksEnabled = enabled;
+                yield this.plugin.saveIconFolderData();
+                new obsidian.Notice(`[${config.PLUGIN_NAME}] Obsidian has to be restarted for this change to take effect.`);
+            }));
+        });
+    }
+}
+
+class IconIdentifierSetting extends IconFolderSetting {
+    display() {
+        const setting = new obsidian.Setting(this.containerEl)
+            .setName('Icon identifier')
+            .setDesc('Change the icon identifier used in notes.')
+            .setClass('iconize-setting');
+        setting.addText((text) => {
+            this.textComp = text;
+            text.setValue(this.plugin.getSettings().iconIdentifier);
+        });
+        setting.addButton((btn) => {
+            btn.setButtonText('Save');
+            btn.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                const newIdentifier = this.textComp.getValue();
+                const oldIdentifier = this.plugin.getSettings().iconIdentifier;
+                if (newIdentifier === oldIdentifier) {
+                    return;
+                }
+                this.plugin.getSettings().iconIdentifier = newIdentifier;
+                yield this.plugin.saveIconFolderData();
+                new obsidian.Notice('...saved successfully');
+            }));
+        });
+    }
+}
+
+class DebugMode extends IconFolderSetting {
+    display() {
+        new obsidian.Setting(this.containerEl)
+            .setName('Toggle Debug Mode')
+            .setDesc('Toggle debug mode to see more detailed logs in the console. Do not touch this unless you know what you are doing.')
+            .addToggle((toggle) => {
+            toggle
+                .setValue(this.plugin.getSettings().debugMode)
+                .onChange((enabled) => __awaiter(this, void 0, void 0, function* () {
+                this.plugin.getSettings().debugMode = enabled;
+                yield this.plugin.saveIconFolderData();
+            }));
+        });
+    }
+}
+
+class IconFolderSettings extends obsidian.PluginSettingTab {
+    constructor(app, plugin) {
+        super(app, plugin);
+        this.plugin = plugin;
+    }
+    display() {
+        const { plugin, containerEl, app } = this;
+        containerEl.empty();
+        containerEl.createEl('h1', { text: 'General' });
+        new RecentlyUsedIconsSetting(plugin, containerEl).display();
+        new IconPacksPathSetting(plugin, containerEl).display();
+        new IconPacksBackgroundChecker(plugin, containerEl).display();
+        new EmojiStyleSetting(plugin, containerEl).display();
+        new IconIdentifierSetting(plugin, containerEl).display();
+        new DebugMode(plugin, containerEl).display();
+        containerEl.createEl('h3', { text: 'Visibility of icons' });
+        new ToggleIconInTabs(plugin, containerEl).display();
+        new ToggleIconInTitle(plugin, containerEl).display();
+        new FrontmatterOptions(plugin, containerEl).display();
+        new ToggleIconsInEditor(plugin, containerEl).display();
+        new ToggleIconsInLinks(plugin, containerEl).display();
+        containerEl.createEl('h1', {
+            text: 'Icon customization for files/folders',
+        });
+        new IconFontSizeSetting(plugin, containerEl).display();
+        new IconColorSetting(plugin, containerEl).display();
+        new ExtraMarginSetting(plugin, containerEl).display();
+        containerEl.createEl('h1', { text: 'Custom icon rules' });
+        new CustomIconRuleSetting(plugin, containerEl, app, () => this.display()).display();
+        containerEl.createEl('h1', { text: 'Icon packs' });
+        new PredefinedIconPacksSetting(plugin, containerEl, app, () => this.display()).display();
+        new CustomIconPackSetting(plugin, containerEl, () => this.display()).display();
+    }
+}
+
+function around(obj, factories) {
+    const removers = Object.keys(factories).map(key => around1(obj, key, factories[key]));
+    return removers.length === 1 ? removers[0] : function () { removers.forEach(r => r()); };
+}
+function around1(obj, method, createWrapper) {
+    const original = obj[method], hadOwn = obj.hasOwnProperty(method);
+    let current = createWrapper(original);
+    // Let our wrapper inherit static props from the wrapping method,
+    // and the wrapping method, props from the original method
+    if (original)
+        Object.setPrototypeOf(current, original);
+    Object.setPrototypeOf(wrapper, current);
+    obj[method] = wrapper;
+    // Return a callback to allow safe removal
+    return remove;
+    function wrapper(...args) {
+        // If we have been deactivated and are no longer wrapped, remove ourselves
+        if (current === original && obj[method] === wrapper)
+            remove();
+        return current.apply(this, args);
+    }
+    function remove() {
+        // If no other patches, just do a direct removal
+        if (obj[method] === wrapper) {
+            if (hadOwn)
+                obj[method] = original;
+            else
+                delete obj[method];
+        }
+        if (current === original)
+            return;
+        // Else pass future calls through, and remove wrapper from the prototype chain
+        current = original;
+        Object.setPrototypeOf(wrapper, original || Function);
+    }
+}
+
+class InternalPluginInjector {
+    constructor(plugin) {
+        this.plugin = plugin;
+    }
+    get fileExplorers() {
+        return this.plugin.app.workspace.getLeavesOfType('file-explorer');
+    }
+    onMount() { }
+}
+
+/**
+ * @deprecated After obsidian 1.2.6 in favor of the bookmarks plugin.
+ */
+class StarredInternalPlugin extends InternalPluginInjector {
+    constructor(plugin) {
+        super(plugin);
+    }
+    get starred() {
+        return this.plugin.app.internalPlugins.getPluginById('starred');
+    }
+    get enabled() {
+        return this.plugin.app.internalPlugins.getPluginById('starred').enabled;
+    }
+    get leaf() {
+        const leaf = this.plugin.app.workspace.getLeavesOfType('starred');
+        if (!leaf) {
+            return undefined;
+        }
+        if (leaf.length === 1) {
+            return leaf[0].view;
+        }
+        return undefined;
+    }
+    setIcon(filePath, node) {
+        const iconName = icon.getByPath(this.plugin, filePath);
+        const iconNode = node.querySelector('.nav-file-icon');
+        if (!iconNode || !iconName) {
+            return;
+        }
+        dom.setIconForNode(this.plugin, iconName, iconNode);
+    }
+    computeNodesWithPath(callback) {
+        const { itemLookup, containerEl } = this.leaf;
+        const navFileEls = containerEl.querySelectorAll('.nav-file');
+        navFileEls.forEach((navFileEl) => {
+            const lookupFile = itemLookup.get(navFileEl);
+            if (!lookupFile) {
+                return;
+            }
+            callback(navFileEl, lookupFile.path);
+        });
+    }
+    onMount() {
+        const nodesWithPath = {};
+        this.computeNodesWithPath((node, filePath) => {
+            nodesWithPath[filePath] = node;
+        });
+        Object.entries(nodesWithPath).forEach(([filePath, node]) => this.setIcon(filePath, node));
+    }
+    register() {
+        if (!this.plugin.app.internalPlugins.getPluginById('file-explorer').enabled) {
+            console.info(`[${config.PLUGIN_NAME}/Starred] Skipping starred internal plugin registration because file-explorer is not enabled.`);
+            return;
+        }
+        if (!this.enabled) {
+            console.info(`[${config.PLUGIN_NAME}/Starred] Skipping starred internal plugin registration because it's not enabled.`);
+            return;
+        }
+        // eslint-disable-next-line
+        const self = this;
+        this.plugin.register(around(this.starred.instance, {
+            addItem: function (next) {
+                return function (file) {
+                    next.call(this, file);
+                    self.onMount();
+                };
+            },
+            removeItem: function (next) {
+                return function (file) {
+                    next.call(this, file);
+                    self.onMount();
+                };
+            },
+        }));
+    }
+}
+
+class BookmarkInternalPlugin extends InternalPluginInjector {
+    constructor(plugin) {
+        super(plugin);
+    }
+    get bookmark() {
+        return this.plugin.app.internalPlugins.getPluginById('bookmarks');
+    }
+    get enabled() {
+        return this.plugin.app.internalPlugins.getPluginById('bookmarks').enabled;
+    }
+    get leaf() {
+        const leaf = this.plugin.app.workspace.getLeavesOfType('bookmarks');
+        if (!leaf) {
+            return undefined;
+        }
+        if (leaf.length === 1) {
+            return leaf[0].view;
+        }
+        return undefined;
+    }
+    setIconOrRemove(filePath, node) {
+        var _a;
+        const iconName = icon.getByPath(this.plugin, filePath);
+        let iconNode = node.querySelector('.tree-item-icon');
+        if (!iconName) {
+            if (iconNode) {
+                // Reset the icon to the default obsidian icon.
+                const items = this.bookmark.instance.items;
+                const item = items.find((item) => item.path === filePath);
+                if ((item === null || item === void 0 ? void 0 : item.type) === 'file') {
+                    iconNode.innerHTML = DEFAULT_FILE_ICON;
+                }
+                else if ((item === null || item === void 0 ? void 0 : item.type) === 'folder') {
+                    iconNode.innerHTML = DEFAULT_FOLDER_ICON;
+                }
+            }
+            return;
+        }
+        // If the icon node is not defined, then we need to recreate it.
+        if (!iconNode) {
+            // Get the tree-item-self element where the original icon is set.
+            const treeItemSelf = node.querySelector('.tree-item-self');
+            if (!treeItemSelf) {
+                return;
+            }
+            iconNode = node.createDiv({ cls: 'tree-item-icon' });
+            // Prepends the icon to the tree-item-self element as a first child.
+            treeItemSelf.prepend(iconNode);
+        }
+        const defaultMargin = iconNode.style.margin;
+        const iconColor = (_a = this.plugin.getIconColor(filePath)) !== null && _a !== void 0 ? _a : this.plugin.getSettings().iconColor;
+        dom.setIconForNode(this.plugin, iconName, iconNode, iconColor);
+        // Reset the margin to the default value to prevent overlapping with the text.
+        iconNode.style.margin = defaultMargin;
+    }
+    computeNodesWithPath(callback) {
+        if (!this.leaf) {
+            return;
+        }
+        /**
+         * Retrieves the lookup item from the bookmark plugin and calls the callback with the
+         * element and the path of the item.
+         * @param item BookmarkItem object which can be a folder or a file.
+         * @param itemDoms WeakMap of the bookmark plugin which contains the lookup item.
+         */
+        const retrieveLookupItem = (item, itemDoms) => {
+            const lookupItem = itemDoms.get(item);
+            if (!lookupItem) {
+                return;
+            }
+            if (item.items) {
+                // If the item is a folder, then we need to retrieve all the items inside it.
+                for (const subItem of item.items) {
+                    retrieveLookupItem(subItem, itemDoms);
+                }
+            }
+            // If the item is a `file` or a `folder` (not of type `group`), then we can call the callback.
+            if (item.type === 'file' || item.type === 'folder') {
+                callback(lookupItem.el, item.path);
+            }
+        };
+        const { itemDoms } = this.leaf;
+        // Retrieves all the items of the bookmark plugin which areo objects.
+        const items = this.bookmark.instance.items;
+        items.forEach((item) => {
+            retrieveLookupItem(item, itemDoms);
+        });
+    }
+    onMount() {
+        const nodesWithPath = {};
+        this.computeNodesWithPath((node, filePath) => {
+            nodesWithPath[filePath] = node;
+        });
+        Object.entries(nodesWithPath).forEach(([filePath, node]) => this.setIconOrRemove(filePath, node));
+    }
+    register() {
+        if (!this.plugin.app.internalPlugins.getPluginById('file-explorer').enabled) {
+            console.info(`[${config.PLUGIN_NAME}/Bookmarks] Skipping bookmark internal plugin registration because file-explorer is not enabled.`);
+            return;
+        }
+        if (!this.enabled) {
+            console.info(`[${config.PLUGIN_NAME}/Bookmarks] Skipping bookmark internal plugin registration because it's not enabled.`);
+            return;
+        }
+        // eslint-disable-next-line
+        const self = this;
+        this.plugin.register(around(this.bookmark.instance, {
+            addItem: function (next) {
+                return function (...args) {
+                    next.call(this, ...args);
+                    // TODO: Remove in the future, I could not think of a better way to do this.
+                    setTimeout(() => {
+                        self.onMount();
+                    }, 1000);
+                };
+            },
+            removeItem: function (next) {
+                return function (...args) {
+                    next.call(this, ...args);
+                    self.onMount();
+                };
+            },
+        }));
+    }
+}
+
+// TODO: Optimize the code to reduce the number of iterations and improve the
+const createIconShortcodeRegex = (plugin) => {
+    return new RegExp(`(${plugin.getSettings().iconIdentifier})((\\w{1,64}:\\d{17,18})|(\\w{1,64}))(${plugin.getSettings().iconIdentifier})`, 'g');
+};
+const createTreeWalker = (plugin, root) => {
+    return document.createTreeWalker(root, NodeFilter.SHOW_ALL, {
+        acceptNode: function (node) {
+            if (node.nodeName === 'CODE') {
+                return NodeFilter.FILTER_REJECT;
+            }
+            else if (node.nodeName === '#text') {
+                if (node.nodeValue &&
+                    (emoji.getRegex().test(node.nodeValue) ||
+                        createIconShortcodeRegex(plugin).test(node.nodeValue))) {
+                    return NodeFilter.FILTER_ACCEPT;
+                }
+                else {
+                    return NodeFilter.FILTER_REJECT;
+                }
+            }
+            return NodeFilter.FILTER_SKIP;
+        },
+    });
+};
+const checkForTextNodes = (treeWalker, match, cb) => {
+    let currentNode = treeWalker.currentNode;
+    while (currentNode) {
+        if (currentNode.nodeType === Node.TEXT_NODE) {
+            const text = currentNode;
+            const textNodes = [...Array.from(text.parentElement.childNodes)].filter((n) => n instanceof Text);
+            for (const text of textNodes) {
+                for (const code of [...text.wholeText.matchAll(match)]
+                    .sort((a, b) => b.index - a.index)
+                    .map((arr) => ({ text: arr[0], index: arr.index }))) {
+                    if (!text.textContent) {
+                        continue;
+                    }
+                    cb(text, code);
+                }
+            }
+        }
+        currentNode = treeWalker.nextNode();
+    }
+};
+const processIconInTextMarkdown = (plugin, element) => {
+    // Ignore if codeblock
+    const codeElement = element.querySelector('pre > code');
+    if (codeElement) {
+        return;
+    }
+    const iconTreeWalker = createTreeWalker(plugin, element);
+    const iconShortcodeRegex = createIconShortcodeRegex(plugin);
+    const iconIdentifierLength = plugin.getSettings().iconIdentifier.length;
+    checkForTextNodes(iconTreeWalker, iconShortcodeRegex, (text, code) => {
+        var _a, _b, _c, _d;
+        const shortcode = code.text;
+        const iconName = shortcode.slice(iconIdentifierLength, shortcode.length - iconIdentifierLength);
+        const iconObject = icon.getIconByName(iconName);
+        if (iconObject) {
+            const toReplace = text.splitText(code.index);
+            const rootSpan = createSpan({
+                cls: 'cm-iconize-icon',
+                attr: {
+                    'aria-label': iconName,
+                    'data-icon': iconName,
+                    'aria-hidden': 'true',
+                },
+            });
+            rootSpan.style.display = 'inline-flex';
+            rootSpan.style.transform = 'translateY(13%)';
+            const tagName = (_c = (_b = (_a = toReplace.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase()) !== null && _c !== void 0 ? _c : '';
+            let fontSize = calculateFontTextSize();
+            if (isHeader(tagName)) {
+                fontSize = calculateHeaderSize(tagName);
+                const svgElement = svg.setFontSize(iconObject.svgElement, fontSize);
+                rootSpan.innerHTML = svgElement;
+            }
+            else {
+                const svgElement = svg.setFontSize(iconObject.svgElement, fontSize);
+                rootSpan.innerHTML = svgElement;
+            }
+            (_d = toReplace.parentElement) === null || _d === void 0 ? void 0 : _d.insertBefore(rootSpan, toReplace);
+            toReplace.textContent = toReplace.wholeText.substring(code.text.length);
+        }
+    });
+    const emojiTreeWalker = createTreeWalker(plugin, element);
+    checkForTextNodes(emojiTreeWalker, emoji.getRegex(), (text, code) => {
+        var _a, _b, _c, _d;
+        if (!emoji.isEmoji(code.text)) {
+            return;
+        }
+        if (plugin.getSettings().emojiStyle === 'twemoji') {
+            const toReplace = text.splitText(code.index);
+            const tagName = (_c = (_b = (_a = toReplace.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase()) !== null && _c !== void 0 ? _c : '';
+            let fontSize = calculateFontTextSize();
+            if (isHeader(tagName)) {
+                fontSize = calculateHeaderSize(tagName);
+            }
+            const emojiValue = emoji.parseEmoji(plugin.getSettings().emojiStyle, code.text, fontSize);
+            if (!emojiValue) {
+                return;
+            }
+            const emojiNode = createSpan();
+            emojiNode.innerHTML = emojiValue;
+            (_d = toReplace.parentElement) === null || _d === void 0 ? void 0 : _d.insertBefore(emojiNode, toReplace);
+            toReplace.textContent = toReplace.wholeText.substring(code.text.length);
+        }
+    });
+};
+
+const processIconInLinkMarkdown = (plugin, element, ctx) => {
+    const linkElements = element.querySelectorAll('a');
+    if (!linkElements || linkElements.length === 0) {
+        return;
+    }
+    linkElements.forEach((linkElement) => {
+        var _a, _b, _c, _d, _e;
+        // Skip if the link element e.g., is a tag.
+        if (!linkElement.hasAttribute('data-href')) {
+            return;
+        }
+        const linkHref = linkElement.getAttribute('href');
+        if (!linkHref) {
+            logger.warn('Link element does not have an `href` attribute');
+            return;
+        }
+        const file = plugin.app.metadataCache.getFirstLinkpathDest(linkHref, ctx.sourcePath);
+        if (!file) {
+            logger.warn('Link element does not have a linkpath to a file');
+            return;
+        }
+        const path = file.path;
+        const iconValue = icon.getIconByPath(plugin, path);
+        if (!iconValue) {
+            return;
+        }
+        let fontSize = calculateFontTextSize();
+        const tagName = (_c = (_b = (_a = linkElement.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === null || _b === void 0 ? void 0 : _b.toLowerCase()) !== null && _c !== void 0 ? _c : '';
+        if (isHeader(tagName)) {
+            fontSize = calculateHeaderSize(tagName);
+        }
+        const iconName = typeof iconValue === 'string'
+            ? iconValue
+            : iconValue.prefix + iconValue.name;
+        const rootSpan = createSpan({
+            cls: 'iconize-icon-in-link',
+            attr: {
+                title: iconName,
+                'aria-label': iconName,
+                'data-icon': iconName,
+                'aria-hidden': 'true',
+            },
+        });
+        rootSpan.style.color =
+            (_d = plugin.getIconColor(path)) !== null && _d !== void 0 ? _d : plugin.getSettings().iconColor;
+        if (emoji.isEmoji(iconName)) {
+            const parsedEmoji = (_e = emoji.parseEmoji(plugin.getSettings().emojiStyle, iconName, fontSize)) !== null && _e !== void 0 ? _e : iconName;
+            rootSpan.style.transform = 'translateY(0)';
+            rootSpan.innerHTML = parsedEmoji;
+        }
+        else {
+            let svgEl = icon.getIconByName(iconName).svgElement;
+            svgEl = svg.setFontSize(svgEl, fontSize);
+            if (svgEl) {
+                rootSpan.style.transform = 'translateY(20%)';
+                rootSpan.innerHTML = svgEl;
+            }
+        }
+        linkElement.prepend(rootSpan);
+    });
+};
+
+const TREE_ITEM_CLASS = 'tree-item-self';
+const TREE_ITEM_INNER = 'tree-item-inner';
+class OutlineInternalPlugin extends InternalPluginInjector {
+    constructor(plugin) {
+        super(plugin);
+    }
+    register() {
+        if (!this.enabled) {
+            logger.info('Skipping internal plugin registration because it is not enabled.', LoggerPrefix.Outline);
+            return;
+        }
+        const updateTreeItems = () => {
+            var _a;
+            const treeItems = Array.from(this.leaf.tree.containerEl.querySelectorAll(`.${TREE_ITEM_CLASS}`));
+            for (const treeItem of treeItems) {
+                const treeItemInner = treeItem.querySelector(`.${TREE_ITEM_INNER}`);
+                let text = treeItemInner === null || treeItemInner === void 0 ? void 0 : treeItemInner.getText();
+                if (!text) {
+                    continue;
+                }
+                const iconShortcodeRegex = createIconShortcodeRegex(this.plugin);
+                const iconIdentifierLength = this.plugin.getSettings().iconIdentifier.length;
+                let trimmedLength = 0;
+                for (const code of [...text.matchAll(iconShortcodeRegex)]
+                    .sort((a, b) => a.index - b.index)
+                    .map((arr) => ({ text: arr[0], index: arr.index }))) {
+                    const shortcode = code.text;
+                    const iconName = shortcode.slice(iconIdentifierLength, shortcode.length - iconIdentifierLength);
+                    const iconObject = icon.getIconByName(iconName);
+                    if (iconObject) {
+                        const startIndex = code.index - trimmedLength;
+                        const endIndex = code.index + code.text.length - trimmedLength;
+                        const str = text.substring(0, startIndex) + text.substring(endIndex);
+                        const iconSpan = createSpan({
+                            cls: 'cm-iconize-icon',
+                            attr: {
+                                'aria-label': iconName,
+                                'data-icon': iconName,
+                                'aria-hidden': 'true',
+                            },
+                        });
+                        const fontSize = parseFloat((_a = getComputedStyle(document.body).getPropertyValue('--nav-item-size')) !== null && _a !== void 0 ? _a : '16');
+                        const svgElement = svg.setFontSize(iconObject.svgElement, fontSize);
+                        iconSpan.style.display = 'inline-flex';
+                        iconSpan.style.transform = 'translateY(13%)';
+                        iconSpan.innerHTML = svgElement;
+                        treeItemInner.innerHTML = treeItemInner.innerHTML.replace(shortcode, iconSpan.outerHTML);
+                        text = str;
+                        trimmedLength += code.text.length;
+                    }
+                }
+            }
+        };
+        this.plugin.getEventEmitter().once('allIconsLoaded', () => {
+            updateTreeItems();
+            const callback = (mutations) => {
+                mutations.forEach((mutation) => {
+                    if (mutation.type !== 'childList') {
+                        return;
+                    }
+                    const addedNodes = mutation.addedNodes;
+                    if (addedNodes.length === 0) {
+                        return;
+                    }
+                    updateTreeItems();
+                });
+                if (!this.enabled) {
+                    observer.disconnect();
+                }
+            };
+            const observer = new MutationObserver(callback);
+            observer.observe(this.leaf.tree.containerEl, {
+                childList: true,
+                subtree: true,
+            });
+        });
+    }
+    get leaf() {
+        const leaf = this.plugin.app.workspace.getLeavesOfType('outline');
+        if (!leaf) {
+            logger.log('`leaf` in outline is undefined', LoggerPrefix.Outline);
+            return undefined;
+        }
+        if (leaf.length === 0) {
+            logger.log('`leaf` length in outline is 0', LoggerPrefix.Outline);
+            return undefined;
+        }
+        return leaf[0].view;
+    }
+    get outline() {
+        return this.plugin.app.internalPlugins.getPluginById('outline');
+    }
+    get enabled() {
+        return this.plugin.app.internalPlugins.getPluginById('outline').enabled;
+    }
+}
+
+class SuggestionIcon extends obsidian.EditorSuggest {
+    constructor(app, plugin) {
+        super(app);
+        this.plugin = plugin;
+    }
+    onTrigger(cursor, editor) {
+        // Isolate shortcode starting position closest to the cursor.
+        const shortcodeStart = editor
+            .getLine(cursor.line)
+            .substring(0, cursor.ch)
+            .lastIndexOf(this.plugin.getSettings().iconIdentifier);
+        // `onTrigger` needs to return `null` as soon as possible to save processing performance.
+        if (shortcodeStart === -1) {
+            return null;
+        }
+        // Regex for checking if the shortcode is not done yet.
+        const regex = new RegExp(`^(${this.plugin.getSettings().iconIdentifier})\\w+$`, 'g');
+        const regexOngoingShortcode = editor
+            .getLine(cursor.line)
+            .substring(shortcodeStart, cursor.ch)
+            .match(regex);
+        if (regexOngoingShortcode === null) {
+            return null;
+        }
+        const startingIndex = editor
+            .getLine(cursor.line)
+            .indexOf(regexOngoingShortcode[0]);
+        return {
+            start: {
+                line: cursor.line,
+                ch: startingIndex,
+            },
+            end: {
+                line: cursor.line,
+                ch: startingIndex + regexOngoingShortcode[0].length,
+            },
+            query: regexOngoingShortcode[0],
+        };
+    }
+    getSuggestions(context) {
+        const queryLowerCase = context.query
+            .substring(this.plugin.getSettings().iconIdentifier.length)
+            .toLowerCase();
+        // Store all icons corresponding to the current query.
+        const iconsNameArray = getAllLoadedIconNames()
+            .filter((iconObject) => {
+            const name = iconObject.prefix.toLowerCase() + iconObject.name.toLowerCase();
+            return name.toLowerCase().includes(queryLowerCase);
+        })
+            .map((iconObject) => iconObject.prefix + iconObject.name);
+        // Store all emojis correspoding to the current query - parsing whitespaces and
+        // colons for shortcodes compatibility.
+        const emojisNameArray = Object.keys(emoji.shortNames).filter((e) => { var _a; return (_a = emoji.getShortcode(e)) === null || _a === void 0 ? void 0 : _a.includes(queryLowerCase); });
+        return [...iconsNameArray, ...emojisNameArray];
+    }
+    renderSuggestion(value, el) {
+        const iconObject = icon.getIconByName(value);
+        el.style.display = 'flex';
+        el.style.alignItems = 'center';
+        el.style.gap = '0.25rem';
+        if (iconObject) {
+            // Suggest an icon.
+            el.innerHTML = `${iconObject.svgElement} <span>${value}</span>`;
+        }
+        else {
+            // Suggest an emoji - display its shortcode version.
+            const shortcode = emoji.getShortcode(value);
+            if (shortcode) {
+                el.innerHTML = `<span>${value}</span> <span>${shortcode}</span>`;
+            }
+        }
+    }
+    selectSuggestion(value) {
+        const isEmoji = emoji.isEmoji(value.replace(/_/g, ' '));
+        if (!isEmoji) {
+            saveIconToIconPack(this.plugin, value);
+        }
+        // Replace query with iconNameWithPrefix or emoji unicode directly.
+        const updatedValue = isEmoji
+            ? value
+            : `${this.plugin.getSettings().iconIdentifier}${value}${this.plugin.getSettings().iconIdentifier}`;
+        this.context.editor.replaceRange(updatedValue, this.context.start, this.context.end);
+    }
+}
+
+class IconInTextWidget extends view.WidgetType {
+    constructor(plugin, id) {
+        super();
+        this.plugin = plugin;
+        this.id = id;
+        this.start = -1;
+        this.end = -1;
+    }
+    setPosition(start, end) {
+        this.start = start;
+        this.end = end;
+    }
+    eq(other) {
+        return other instanceof IconInTextWidget && other.id === this.id;
+    }
+    getSize(view) {
+        let fontSize = calculateFontTextSize();
+        const line = view.state.doc.lineAt(this.end);
+        const headerMatch = line.text.match(/^#{1,6}\s/);
+        if (headerMatch && headerMatch[0].trim()) {
+            const mapping = {
+                '#': 'h1',
+                '##': 'h2',
+                '###': 'h3',
+                '####': 'h4',
+                '#####': 'h5',
+                '######': 'h6',
+            };
+            const header = mapping[headerMatch[0].trim()];
+            fontSize = calculateHeaderSize(header);
+        }
+        return fontSize;
+    }
+    toDOM(view) {
+        const wrap = createSpan({
+            cls: 'cm-iconize-icon',
+            attr: {
+                'aria-label': this.id,
+                'data-icon': this.id,
+                'aria-hidden': 'true',
+            },
+        });
+        const foundIcon = icon.getIconByName(this.id);
+        const fontSize = this.getSize(view);
+        if (foundIcon) {
+            const svgElement = svg.setFontSize(foundIcon.svgElement, fontSize);
+            wrap.style.display = 'inline-flex';
+            wrap.style.transform = 'translateY(13%)';
+            wrap.innerHTML = svgElement;
+        }
+        else if (emoji.isEmoji(this.id)) {
+            wrap.innerHTML = emoji.parseEmoji(this.plugin.getSettings().emojiStyle, this.id, fontSize);
+        }
+        else {
+            wrap.append(`${this.plugin.getSettings().iconIdentifier}${this.id}${this.plugin.getSettings().iconIdentifier}`);
+        }
+        return wrap;
+    }
+    ignoreEvent() {
+        return false;
+    }
+}
+
+class IconInLinkWidget extends view.WidgetType {
+    constructor(plugin, iconData, path, headerType) {
+        super();
+        this.plugin = plugin;
+        this.iconData = iconData;
+        this.path = path;
+        this.headerType = headerType;
+    }
+    toDOM() {
+        var _a;
+        const iconNode = document.createElement('span');
+        const iconName = typeof this.iconData === 'string'
+            ? this.iconData
+            : this.iconData.prefix + this.iconData.name;
+        iconNode.style.color =
+            (_a = this.plugin.getIconColor(this.path)) !== null && _a !== void 0 ? _a : this.plugin.getSettings().iconColor;
+        iconNode.setAttribute('title', iconName);
+        iconNode.classList.add('iconize-icon-in-link');
+        if (typeof this.iconData === 'string') {
+            iconNode.style.transform = 'translateY(0)';
+        }
+        let innerHTML = typeof this.iconData === 'string'
+            ? this.iconData
+            : this.iconData.svgElement;
+        let fontSize = calculateFontTextSize();
+        if (this.headerType) {
+            fontSize = calculateHeaderSize(this.headerType);
+        }
+        if (emoji.isEmoji(innerHTML)) {
+            innerHTML = emoji.parseEmoji(this.plugin.getSettings().emojiStyle, innerHTML, fontSize);
+        }
+        else {
+            innerHTML = svg.setFontSize(innerHTML, fontSize);
+        }
+        iconNode.innerHTML = innerHTML;
+        return iconNode;
+    }
+    ignoreEvent() {
+        return true;
+    }
+}
+
+const buildLinkDecorations = (view$1, plugin) => {
+    const builder = new state.RangeSetBuilder();
+    const mdView = view$1.state.field(obsidian.editorInfoField);
+    for (const { from, to } of view$1.visibleRanges) {
+        language.syntaxTree(view$1.state).iterate({
+            from,
+            to,
+            enter: (node) => {
+                const tokenProps = node.type.prop(language.tokenClassNodeProp);
+                if (tokenProps) {
+                    const props = new Set(tokenProps.split(' '));
+                    const isLink = props.has('hmd-internal-link');
+                    const headerType = [
+                        'header-1',
+                        'header-2',
+                        'header-3',
+                        'header-4',
+                        'header-5',
+                        'header-6',
+                    ].find((header) => props.has(header));
+                    if (isLink) {
+                        let linkText = view$1.state.doc.sliceString(node.from, node.to);
+                        linkText = linkText.split('#')[0];
+                        const file = plugin.app.metadataCache.getFirstLinkpathDest(linkText, mdView.file.basename);
+                        if (file) {
+                            const possibleIcon = icon.getIconByPath(plugin, file.path);
+                            if (possibleIcon) {
+                                const iconDecoration = view.Decoration.widget({
+                                    widget: new IconInLinkWidget(plugin, possibleIcon, file.path, headerType),
+                                });
+                                builder.add(node.from, node.from, iconDecoration);
+                            }
+                        }
+                    }
+                }
+            },
+        });
+    }
+    return builder.finish();
+};
+
+const buildTextDecorations = (view$1, plugin) => {
+    const ranges = [];
+    const iconInfo = view$1.state.field(plugin.positionField);
+    for (const { from, to } of view$1.visibleRanges) {
+        iconInfo.between(from - 1, to + 1, (from, to, { iconId }) => {
+            ranges.push([iconId, from, to]);
+        });
+    }
+    return view.Decoration.set(ranges.map(([code, from, to]) => {
+        const widget = new IconInTextWidget(plugin, code);
+        widget.setPosition(from, to);
+        if (view$1.state.field(obsidian.editorLivePreviewField)) {
+            return view.Decoration.replace({
+                widget,
+                side: -1,
+            }).range(from, to);
+        }
+        return view.Decoration.widget({
+            widget,
+            side: -1,
+        }).range(to);
+    }), true);
+};
+
+const buildIconInTextPlugin = (plugin) => {
+    return view.ViewPlugin.fromClass(class IconPlugin {
+        constructor(view) {
+            this.plugin = plugin;
+            this.decorations = buildTextDecorations(view, plugin);
+        }
+        update(update) {
+            this.decorations = buildTextDecorations(update.view, this.plugin);
+        }
+    }, {
+        decorations: (v) => v.decorations,
+        provide: (plugin) => view.EditorView.atomicRanges.of((view$1) => {
+            const value = view$1.plugin(plugin);
+            return value ? value.decorations : view.Decoration.none;
+        }),
+    });
+};
+
+const buildIconInLinksPlugin = (plugin) => {
+    return view.ViewPlugin.fromClass(class {
+        constructor(view) {
+            this.plugin = plugin;
+            this.decorations = buildLinkDecorations(view, plugin);
+        }
+        destroy() { }
+        update(update) {
+            if (update.docChanged || update.viewportChanged) {
+                this.decorations = buildLinkDecorations(update.view, this.plugin);
+            }
+        }
+    }, {
+        decorations: (v) => v.decorations,
+    });
+};
+
+// TODO: Optimize the code to reduce the number of iterations and improve the
+function checkForSourceMode(plugin) {
+    let isSourceMode = false;
+    // Iterate over all leaves to check if any is in source mode
+    plugin.app.workspace.iterateAllLeaves((leaf) => {
+        var _a;
+        if (!isSourceMode && leaf.view.getViewType() === 'markdown') {
+            if ((_a = leaf.getViewState().state) === null || _a === void 0 ? void 0 : _a.source) {
+                isSourceMode = true;
+            }
+        }
+    });
+    return isSourceMode;
+}
+class IconPosition extends state.RangeValue {
+    constructor(text) {
+        super();
+        this.text = text;
+    }
+    get iconId() {
+        return this.text;
+    }
+    eq(other) {
+        return other instanceof IconPosition && other.text === this.text;
+    }
+}
+/**
+ * Builds a position field for the editor state. This field will track the
+ * positions of the icons in the document.
+ **/
+const buildPositionField = (plugin) => {
+    /**
+     * Checks the ranges of the icons in the document. If the range is not
+     * excluded, the range is added to the range set. If the range is excluded,
+     * the range is removed from the range set.
+     * @param state EditorState to get the ranges from.
+     * @param excludeFrom Number to exclude from the ranges.
+     * @param excludeTo Number to exclude to the ranges.
+     * @param updateRange Function callback to update the range.
+     */
+    const checkRanges = (state, excludeFrom, excludeTo, updateRange) => {
+        const isSourceMode = checkForSourceMode(plugin);
+        const text = state.doc.sliceString(0, state.doc.length);
+        const identifier = plugin.getSettings().iconIdentifier;
+        const regex = new RegExp(`(${identifier})((\\w{1,64}:\\d{17,18})|(\\w{1,64}))(${identifier})`, 'g');
+        for (const { 0: rawCode, index: offset } of text.matchAll(regex)) {
+            const iconName = rawCode.substring(identifier.length, rawCode.length - identifier.length);
+            if (!icon.getIconByName(iconName)) {
+                continue;
+            }
+            const from = offset;
+            const to = offset + rawCode.length;
+            if (!isNodeInRangeAccepted(state, from, to)) {
+                continue;
+            }
+            if (offset < excludeFrom || offset > excludeTo) {
+                updateRange(from, to, new IconPosition(iconName), isSourceMode);
+                continue;
+            }
+            updateRange(from, to, new IconPosition(iconName), true);
+        }
+        for (const { 0: emojiName, index: offset } of text.matchAll(emoji.getRegex())) {
+            if (!emoji.isEmoji(emojiName)) {
+                continue;
+            }
+            const from = offset;
+            const to = offset + emojiName.length;
+            if (!isNodeInRangeAccepted(state, from, to)) {
+                continue;
+            }
+            if (offset < excludeFrom || offset > excludeTo) {
+                updateRange(from, to, new IconPosition(emojiName), isSourceMode);
+                continue;
+            }
+            updateRange(from, to, new IconPosition(emojiName), true);
+        }
+    };
+    const isNodeInRangeAccepted = (state, from, to) => {
+        let isRangeAccepted = true;
+        language.syntaxTree(state).iterate({
+            from,
+            to,
+            enter: ({ type }) => {
+                var _a;
+                if (type.name === 'Document') {
+                    return;
+                }
+                const allowedNodeTypes = [
+                    'header',
+                    'strong',
+                    'em',
+                    'quote',
+                    'link',
+                    'list-1',
+                    'list-2',
+                    'list-3',
+                    'highlight',
+                    'footref',
+                    'comment',
+                    'link-alias',
+                ];
+                const excludedNodeTypes = [
+                    'formatting',
+                    'hmd-codeblock',
+                    'inline-code',
+                    'hr',
+                ];
+                const nodeProps = (_a = type.prop(language.tokenClassNodeProp)) !== null && _a !== void 0 ? _a : '';
+                const s = new Set(nodeProps.split(' '));
+                if (excludedNodeTypes.some((t) => s.has(t)) &&
+                    allowedNodeTypes.every((t) => !s.has(t))) {
+                    isRangeAccepted = false;
+                }
+            },
+        });
+        return isRangeAccepted;
+    };
+    return state.StateField.define({
+        create: (state$1) => {
+            const rangeSet = new state.RangeSetBuilder();
+            const changedLines = [];
+            checkRanges(state$1, -1, -1, (from, to, iconPosition) => {
+                changedLines.push({ from, to, iconPosition });
+            });
+            changedLines.sort((a, b) => a.from - b.from);
+            for (const { from, to, iconPosition } of changedLines) {
+                rangeSet.add(from, to, iconPosition);
+            }
+            return rangeSet.finish();
+        },
+        update: (rangeSet, transaction) => {
+            const newRanges = [];
+            if (!transaction.docChanged) {
+                if (transaction.selection) {
+                    const from = transaction.selection.ranges[0].from;
+                    const to = transaction.selection.ranges[0].to;
+                    const lineEnd = transaction.state.doc.lineAt(to).length;
+                    const lineStart = transaction.state.doc.lineAt(from).from;
+                    // Checks the ranges of the icons in the document except for the
+                    // excluded line start and end.
+                    checkRanges(transaction.state, lineStart, lineStart + lineEnd, (from, to, value, removed) => {
+                        rangeSet = rangeSet.update({
+                            filterFrom: from,
+                            filterTo: to,
+                            filter: () => false,
+                        });
+                        if (!removed) {
+                            newRanges.push(value.range(from, to));
+                        }
+                    });
+                }
+                else {
+                    checkRanges(transaction.state, -1, -1, (from, to, value, removed) => {
+                        rangeSet = rangeSet.update({
+                            filterFrom: from,
+                            filterTo: to,
+                            filter: () => false,
+                        });
+                        if (!removed) {
+                            newRanges.push(value.range(from, to));
+                        }
+                    });
+                }
+                newRanges.sort((a, b) => a.from - b.from);
+                rangeSet = rangeSet.update({ add: newRanges });
+                return rangeSet;
+            }
+            rangeSet = rangeSet.map(transaction.changes);
+            const changedLines = [];
+            transaction.changes.iterChangedRanges((_f, _t, from, to) => {
+                changedLines.push([
+                    transaction.state.doc.lineAt(from).number,
+                    transaction.state.doc.lineAt(to).number,
+                ]);
+            });
+            for (const [start, end] of changedLines) {
+                const from = transaction.state.doc.line(start).from;
+                const to = transaction.state.doc.line(end).to;
+                rangeSet = rangeSet.update({
+                    filterFrom: from,
+                    filterTo: to,
+                    filter: () => false,
+                });
+                const lineEnd = transaction.state.doc.line(end).length;
+                const lineStart = transaction.state.doc.line(end).from;
+                // Checks the ranges of the icons in the document except for the excluded
+                // line start and end.
+                checkRanges(transaction.state, lineStart, lineStart + lineEnd, (from, to, value, removed) => {
+                    if (!removed) {
+                        newRanges.push(value.range(from, to));
+                    }
+                });
+            }
+            newRanges.sort((a, b) => a.from - b.from);
+            rangeSet = rangeSet.update({ add: newRanges });
+            return rangeSet;
+        },
+    });
+};
+
+class ChangeColorModal extends obsidian.Modal {
+    constructor(app, plugin, path) {
+        var _a;
+        super(app);
+        this.plugin = plugin;
+        this.path = path;
+        this.usedColor = this.plugin.getIconColor(this.path);
+        this.contentEl.style.display = 'block';
+        this.modalEl.classList.add('iconize-custom-modal');
+        this.titleEl.setText('Change color');
+        const description = this.contentEl.createEl('p', {
+            text: 'Select a color for this icon',
+            cls: 'setting-item-description',
+        });
+        description.style.marginBottom = 'var(--size-2-2)';
+        const colorContainer = this.contentEl.createDiv();
+        colorContainer.style.display = 'flex';
+        colorContainer.style.alignItems = 'center';
+        colorContainer.style.justifyContent = 'space-between';
+        const colorPicker = new obsidian.ColorComponent(colorContainer)
+            .setValue((_a = this.usedColor) !== null && _a !== void 0 ? _a : '#000000')
+            .onChange((value) => {
+            this.usedColor = value;
+        });
+        const defaultColorButton = new obsidian.ButtonComponent(colorContainer);
+        defaultColorButton.setTooltip('Set color to the default one');
+        defaultColorButton.setButtonText('Reset');
+        defaultColorButton.onClick(() => {
+            colorPicker.setValue('#000000');
+            this.usedColor = undefined;
+        });
+        // Save button.
+        const button = new obsidian.ButtonComponent(this.contentEl);
+        button.buttonEl.style.marginTop = 'var(--size-4-4)';
+        button.buttonEl.style.float = 'right';
+        button.setButtonText('Save Changes');
+        button.onClick(() => __awaiter(this, void 0, void 0, function* () {
+            var _b;
+            new obsidian.Notice('Color of icon changed.');
+            if (this.usedColor) {
+                this.plugin.addIconColor(this.path, this.usedColor);
+            }
+            else {
+                this.plugin.removeIconColor(this.path);
+            }
+            // Refresh the DOM.
+            const iconNode = dom.getIconNodeFromPath(this.path);
+            iconNode.style.color = (_b = this.usedColor) !== null && _b !== void 0 ? _b : null;
+            const colorizedInnerHtml = svg.colorize(iconNode.innerHTML, this.usedColor);
+            iconNode.innerHTML = colorizedInnerHtml;
+            this.close();
+        }));
+    }
+    onOpen() {
+        super.onOpen();
+    }
+    onClose() {
+        const { contentEl } = this;
+        contentEl.empty();
+    }
+}
+
+class EventEmitter {
+    constructor() {
+        this.listeners = {};
+    }
+    on(type, listener, priority = 0) {
+        var _a, _b;
+        var _c;
+        (_a = (_c = this.listeners)[type]) !== null && _a !== void 0 ? _a : (_c[type] = []);
+        (_b = this.listeners[type]) === null || _b === void 0 ? void 0 : _b.push({ listener, once: false, priority });
+        this.sortListeners(type);
+    }
+    once(type, listener, priority = 0) {
+        var _a, _b;
+        var _c;
+        (_a = (_c = this.listeners)[type]) !== null && _a !== void 0 ? _a : (_c[type] = []);
+        (_b = this.listeners[type]) === null || _b === void 0 ? void 0 : _b.push({ listener, once: true, priority });
+        this.sortListeners(type);
+    }
+    off(type, listener) {
+        var _a;
+        if (!this.listeners[type]) {
+            return;
+        }
+        this.listeners[type] = (_a = this.listeners[type]) === null || _a === void 0 ? void 0 : _a.filter((entry) => entry.listener !== listener);
+    }
+    emit(type, payload) {
+        const listeners = this.listeners[type];
+        if (!listeners) {
+            return;
+        }
+        const event = { payload };
+        listeners.slice().forEach((entry) => {
+            entry.listener(event);
+            if (entry.once) {
+                this.off(type, entry.listener);
+            }
+        });
+    }
+    sortListeners(type) {
+        var _a;
+        if (this.listeners[type]) {
+            (_a = this.listeners[type]) === null || _a === void 0 ? void 0 : _a.sort((a, b) => b.priority - a.priority);
+        }
+    }
+}
+
+function getApi(plugin) {
+    return {
+        getEventEmitter: () => plugin.getEventEmitter(),
+        getIconByName: (iconNameWithPrefix) => icon.getIconByName(iconNameWithPrefix),
+        setIconForNode: (iconName, node, color) => dom.setIconForNode(plugin, iconName, node, color),
+        saveIconToIconPack: (iconNameWithPrefix) => saveIconToIconPack(plugin, iconNameWithPrefix),
+        removeIconFromIconPack: (iconNameWithPrefix) => removeIconFromIconPack(plugin, iconNameWithPrefix),
+        getIconsFromIconPack: getIconsFromIconPack,
+        getAllIconPacks: getAllIconPacks,
+        doesElementHasIconNode: dom.doesElementHasIconNode,
+        getIconFromElement: dom.getIconFromElement,
+        removeIconInNode: dom.removeIconInNode,
+        removeIconInPath: dom.removeIconInPath,
+        util: {
+            dom,
+            svg,
+        },
+        version: {
+            get current() {
+                return plugin.manifest.version;
+            },
+        },
+    };
+}
+
+class IconizePlugin extends obsidian.Plugin {
+    constructor() {
+        super(...arguments);
+        this.registeredFileExplorers = new Set();
+        this.modifiedInternalPlugins = [];
+        this.positionField = buildPositionField(this);
+        this.frontmatterCache = new Set();
+        this.eventEmitter = new EventEmitter();
+        this.api = getApi(this);
+    }
+    onload() {
+        return __awaiter(this, void 0, void 0, function* () {
+            console.log(`loading ${config.PLUGIN_NAME}`);
+            // Registers all modified internal plugins.
+            // Only adds star plugin for obsidian under v0.12.6.
+            if (!obsidian.requireApiVersion('0.12.6')) {
+                this.modifiedInternalPlugins.push(new StarredInternalPlugin(this));
+            }
+            else if (obsidian.requireApiVersion('1.2.0')) {
+                this.modifiedInternalPlugins.push(new BookmarkInternalPlugin(this));
+            }
+            this.modifiedInternalPlugins.push(new OutlineInternalPlugin(this));
+            yield this.loadIconFolderData();
+            logger.toggleLogging(this.getSettings().debugMode);
+            setPath(this.getSettings().iconPacksPath);
+            yield createDefaultDirectory(this);
+            yield this.checkRecentlyUsedIcons();
+            yield migrate(this);
+            const usedIconNames = icon.getAllWithPath(this).map((value) => value.icon);
+            if (!this.doesUseCustomLucideIconPack()) {
+                addLucideIconsPack(this);
+            }
+            yield loadUsedIcons(this, usedIconNames);
+            this.app.workspace.onLayoutReady(() => this.handleChangeLayout());
+            this.addCommand({
+                id: 'iconize:set-icon-for-file',
+                name: 'Set icon for file',
+                hotkeys: [
+                    {
+                        modifiers: ['Mod', 'Shift'],
+                        key: 'j',
+                    },
+                ],
+                editorCallback: (editor) => __awaiter(this, void 0, void 0, function* () {
+                    var _a;
+                    const file = (_a = editor.editorComponent) === null || _a === void 0 ? void 0 : _a.file;
+                    if (!file) {
+                        logger.warn(`'editor.editorComponent?.file' is undefined for file: ${file}`);
+                        return;
+                    }
+                    const modal = new IconsPickerModal(this.app, this, file.path);
+                    modal.open();
+                    modal.onSelect = (iconName) => {
+                        IconCache.getInstance().set(file.path, {
+                            iconNameWithPrefix: iconName,
+                        });
+                        // Update icon in tab when setting is enabled.
+                        if (this.getSettings().iconInTabsEnabled) {
+                            const tabLeaves = iconTabs.getTabLeavesOfFilePath(this, file.path);
+                            for (const tabLeaf of tabLeaves) {
+                                iconTabs.update(this, iconName, tabLeaf.tabHeaderInnerIconEl);
+                            }
+                        }
+                        // Update icon in title when setting is enabled.
+                        if (this.getSettings().iconInTitleEnabled) {
+                            this.addIconInTitle(iconName);
+                        }
+                    };
+                }),
+            });
+            this.registerEvent(
+            // Registering file menu event for listening to file pinning and unpinning.
+            this.app.workspace.on('file-menu', (menu, file) => {
+                // I've researched other ways of doing this. However, there is no other way to listen to file pinning and unpinning.
+                menu.onHide(() => {
+                    const path = file.path;
+                    if (this.getSettings().iconInTabsEnabled) {
+                        for (const openedFile of getAllOpenedFiles(this)) {
+                            if (openedFile.path === path) {
+                                const possibleIcon = IconCache.getInstance().get(path);
+                                if (!possibleIcon) {
+                                    return;
+                                }
+                                const tabLeaves = iconTabs.getTabLeavesOfFilePath(this, file.path);
+                                for (const tabLeaf of tabLeaves) {
+                                    // Add timeout to ensure that the default icon is already set.
+                                    setTimeout(() => {
+                                        iconTabs.add(this, file, tabLeaf.tabHeaderInnerIconEl);
+                                    }, 5);
+                                }
+                            }
+                        }
+                    }
+                });
+            }));
+            this.registerEvent(this.app.workspace.on('layout-change', () => this.handleChangeLayout()));
+            this.registerEvent(this.app.workspace.on('file-menu', (menu, file) => {
+                const addIconMenuItem = (item) => {
+                    item.setTitle('Change icon');
+                    item.setIcon('hashtag');
+                    item.onClick(() => {
+                        const modal = new IconsPickerModal(this.app, this, file.path);
+                        modal.open();
+                        modal.onSelect = (iconName) => {
+                            IconCache.getInstance().set(file.path, {
+                                iconNameWithPrefix: iconName,
+                            });
+                            // Update icon in tab when setting is enabled.
+                            if (this.getSettings().iconInTabsEnabled) {
+                                const tabLeaves = iconTabs.getTabLeavesOfFilePath(this, file.path);
+                                for (const tabLeaf of tabLeaves) {
+                                    iconTabs.update(this, iconName, tabLeaf.tabHeaderInnerIconEl);
+                                }
+                            }
+                            // Update icon in title when setting is enabled.
+                            if (this.getSettings().iconInTitleEnabled) {
+                                this.addIconInTitle(iconName);
+                            }
+                        };
+                    });
+                };
+                const removeIconMenuItem = (item) => {
+                    item.setTitle('Remove icon');
+                    item.setIcon('trash');
+                    item.onClick(() => __awaiter(this, void 0, void 0, function* () {
+                        yield this.removeSingleIcon(file);
+                    }));
+                };
+                const changeColorOfIcon = (item) => {
+                    item.setTitle('Change color of icon');
+                    item.setIcon('palette');
+                    item.onClick(() => {
+                        const modal = new ChangeColorModal(this.app, this, file.path);
+                        modal.open();
+                    });
+                };
+                menu.addItem(addIconMenuItem);
+                const filePathData = this.getData()[file.path];
+                const hasNestedIcon = typeof filePathData === 'object' &&
+                    filePathData.iconName !== null;
+                // Only add remove icon menu item when the file path exists in the data.
+                // We do not want to show this menu item for e.g. custom rules.
+                if (filePathData &&
+                    (typeof filePathData === 'string' || hasNestedIcon)) {
+                    const icon = typeof filePathData === 'string'
+                        ? filePathData
+                        : filePathData.iconName;
+                    if (!emoji.isEmoji(icon)) {
+                        menu.addItem(changeColorOfIcon);
+                    }
+                    menu.addItem(removeIconMenuItem);
+                }
+            }));
+            // deleting event
+            this.registerEvent(this.app.vault.on('delete', (file) => {
+                const path = file.path;
+                this.removeFolderIcon(path);
+            }));
+            // renaming event
+            this.registerEvent(this.app.vault.on('rename', (file, oldPath) => {
+                // Check if the file was moved and had an icon before.
+                const dataPoint = this.data[oldPath];
+                if (dataPoint && oldPath !== 'settings') {
+                    const iconNameWithPrefix = typeof dataPoint === 'object'
+                        ? dataPoint.iconName
+                        : dataPoint;
+                    dom.createIconNode(this, file.path, iconNameWithPrefix);
+                }
+                this.renameFolder(file.path, oldPath);
+            }));
+            if (this.getSettings().iconsInNotesEnabled) {
+                this.registerMarkdownPostProcessor((el) => processIconInTextMarkdown(this, el));
+                this.registerEditorSuggest(new SuggestionIcon(this.app, this));
+                this.registerEditorExtension([
+                    this.positionField,
+                    buildIconInTextPlugin(this),
+                ]);
+            }
+            if (this.getSettings().iconsInLinksEnabled) {
+                this.registerMarkdownPostProcessor((el, ctx) => processIconInLinkMarkdown(this, el, ctx));
+                this.registerEditorExtension([
+                    this.positionField,
+                    buildIconInLinksPlugin(this),
+                ]);
+            }
+            this.addSettingTab(new IconFolderSettings(this.app, this));
+        });
+    }
+    notifyPlugins() {
+        this.modifiedInternalPlugins.forEach((internalPlugin) => {
+            if (internalPlugin.enabled) {
+                internalPlugin.onMount();
+            }
+        });
+    }
+    removeSingleIcon(file) {
+        return __awaiter(this, void 0, void 0, function* () {
+            this.removeFolderIcon(file.path);
+            dom.removeIconInPath(file.path);
+            IconCache.getInstance().invalidate(file.path);
+            this.notifyPlugins();
+            let didUpdate = false;
+            // Refreshes the icon tab and title icon for custom rules.
+            for (const rule of customRule.getSortedRules(this)) {
+                const applicable = yield customRule.isApplicable(this, rule, file);
+                if (applicable) {
+                    customRule.add(this, rule, file);
+                    this.addIconInTitle(rule.icon);
+                    const tabLeaves = iconTabs.getTabLeavesOfFilePath(this, file.path);
+                    for (const tabLeaf of tabLeaves) {
+                        iconTabs.add(this, file, tabLeaf.tabHeaderInnerIconEl, {
+                            iconName: rule.icon,
+                        });
+                    }
+                    didUpdate = true;
+                    break;
+                }
+            }
+            // Only remove icon above titles and icon in tabs if no custom rule was found.
+            if (!didUpdate) {
+                // Refreshes icons above title and icons in tabs.
+                for (const openedFile of getAllOpenedFiles(this)) {
+                    if (this.getSettings().iconInTitleEnabled) {
+                        titleIcon.remove(openedFile.leaf.view.inlineTitleEl);
+                    }
+                    if (this.getSettings().iconInTabsEnabled) {
+                        const leaf = openedFile.leaf;
+                        iconTabs.remove(leaf.tabHeaderInnerIconEl, {
+                            replaceWithDefaultIcon: true,
+                        });
+                    }
+                }
+            }
+        });
+    }
+    handleChangeLayout() {
+        // Transform data that are objects to single strings.
+        const data = Object.entries(this.data);
+        this.modifiedInternalPlugins.forEach((internalPlugin) => {
+            if (internalPlugin.enabled) {
+                internalPlugin.onMount();
+                internalPlugin.register();
+            }
+        });
+        icon.addAll(this, data, this.registeredFileExplorers, () => {
+            // After initialization of the icon packs, checks the vault for missing icons and
+            // adds them.
+            initIconPacks(this).then(() => __awaiter(this, void 0, void 0, function* () {
+                if (this.getSettings().iconsBackgroundCheckEnabled) {
+                    const data = Object.entries(this.data);
+                    yield icon.checkMissingIcons(this, data);
+                    resetPreloadedIcons();
+                }
+                this.eventEmitter.emit('allIconsLoaded');
+            }));
+            if (this.getSettings().iconInFrontmatterEnabled) {
+                const activeFile = this.app.workspace.getActiveFile();
+                if (activeFile) {
+                    this.frontmatterCache.add(activeFile.path);
+                }
+            }
+            // Adds the title icon to the active leaf view.
+            if (this.getSettings().iconInTitleEnabled) {
+                for (const openedFile of getAllOpenedFiles(this)) {
+                    const iconName = icon.getByPath(this, openedFile.path);
+                    const activeView = openedFile.leaf.view;
+                    if (activeView instanceof obsidian.MarkdownView && iconName) {
+                        let possibleIcon = iconName;
+                        if (!emoji.isEmoji(iconName)) {
+                            const iconNextIdentifier = nextIdentifier(iconName);
+                            possibleIcon = getSvgFromLoadedIcon(iconName.substring(0, iconNextIdentifier), iconName.substring(iconNextIdentifier));
+                        }
+                        if (possibleIcon) {
+                            titleIcon.add(this, activeView.inlineTitleEl, possibleIcon, {
+                                fontSize: calculateInlineTitleSize(),
+                            });
+                        }
+                    }
+                }
+            }
+            // Register rename event for adding icons with custom rules to the DOM
+            // when file was moved to another directory.
+            this.registerEvent(this.app.vault.on('rename', (file, oldPath) => __awaiter(this, void 0, void 0, function* () {
+                const sortedRules = customRule.getSortedRules(this);
+                // Removes possible icons from the renamed file.
+                sortedRules.forEach((rule) => {
+                    if (customRule.doesMatchPath(rule, oldPath)) {
+                        dom.removeIconInPath(file.path);
+                    }
+                });
+                // Adds possible icons to the renamed file.
+                sortedRules.forEach((rule) => {
+                    if (customRule.doesMatchPath(rule, oldPath)) {
+                        return;
+                    }
+                    customRule.add(this, rule, file, undefined);
+                });
+                // Updates icon tabs for the renamed file.
+                for (const rule of customRule.getSortedRules(this)) {
+                    const applicable = yield customRule.isApplicable(this, rule, file);
+                    if (!applicable) {
+                        continue;
+                    }
+                    const openedFiles = getAllOpenedFiles(this);
+                    const openedFile = openedFiles.find((openedFile) => openedFile.path === file.path);
+                    if (openedFile) {
+                        const leaf = openedFile.leaf;
+                        iconTabs.update(this, rule.icon, leaf.tabHeaderInnerIconEl);
+                    }
+                    break;
+                }
+            })));
+            // Register `layout-change` event for adding icons to tabs when moving a pane or
+            // enabling reading mode.
+            this.registerEvent(this.app.workspace.on('layout-change', () => {
+                var _a, _b;
+                if (this.getSettings().iconInTitleEnabled) {
+                    const activeView = this.app.workspace.getActiveViewOfType(obsidian.MarkdownView);
+                    if (activeView) {
+                        const file = activeView.file;
+                        const view = activeView.leaf.view.currentMode
+                            .view;
+                        const iconNameWithPrefix = icon.getByPath(this, file.path);
+                        if (!iconNameWithPrefix) {
+                            titleIcon.hide(view.inlineTitleEl);
+                            return;
+                        }
+                        let foundIcon = iconNameWithPrefix;
+                        if (!emoji.isEmoji(foundIcon)) {
+                            foundIcon = (_a = icon.getIconByName(iconNameWithPrefix)) === null || _a === void 0 ? void 0 : _a.svgElement;
+                            // Check for preloaded icons if no icon was found when the start up was faster
+                            // than the loading of the icons.
+                            if (!foundIcon && getPreloadedIcons().length > 0) {
+                                foundIcon = (_b = getPreloadedIcons().find((icon) => icon.prefix + icon.name === iconNameWithPrefix)) === null || _b === void 0 ? void 0 : _b.svgElement;
+                            }
+                        }
+                        if (foundIcon) {
+                            // Removes the node because the editor markdown content is being rerendered
+                            // when the content mode changes back to editing.
+                            titleIcon.remove(view.inlineTitleEl);
+                            titleIcon.add(this, view.inlineTitleEl, foundIcon, {
+                                fontSize: calculateInlineTitleSize(),
+                            });
+                        }
+                    }
+                }
+                if (!this.getSettings().iconInTabsEnabled) {
+                    return;
+                }
+                for (const openedFile of getAllOpenedFiles(this)) {
+                    const leaf = openedFile.leaf;
+                    const iconColor = this.getIconColor(leaf.view.file.path);
+                    iconTabs.add(this, openedFile, leaf.tabHeaderInnerIconEl, {
+                        iconColor,
+                    });
+                }
+            }));
+            // Register `file-open` event for adding icon to title.
+            this.registerEvent(this.app.workspace.on('file-open', (file) => {
+                var _a, _b;
+                if (!this.getSettings().iconInTitleEnabled) {
+                    return;
+                }
+                for (const openedFile of getAllOpenedFiles(this)) {
+                    if (openedFile.path !== file.path) {
+                        continue;
+                    }
+                    const leaf = openedFile.leaf.view;
+                    const iconNameWithPrefix = icon.getByPath(this, file.path);
+                    if (!iconNameWithPrefix) {
+                        titleIcon.hide(leaf.inlineTitleEl);
+                        return;
+                    }
+                    let foundIcon = iconNameWithPrefix;
+                    if (!emoji.isEmoji(foundIcon)) {
+                        foundIcon = (_a = icon.getIconByName(iconNameWithPrefix)) === null || _a === void 0 ? void 0 : _a.svgElement;
+                        // Check for preloaded icons if no icon was found when the start up was faster
+                        // than the loading of the icons.
+                        if (!foundIcon && getPreloadedIcons().length > 0) {
+                            foundIcon = (_b = getPreloadedIcons().find((icon) => icon.prefix + icon.name === iconNameWithPrefix)) === null || _b === void 0 ? void 0 : _b.svgElement;
+                        }
+                    }
+                    if (foundIcon) {
+                        titleIcon.add(this, leaf.inlineTitleEl, foundIcon, {
+                            fontSize: calculateInlineTitleSize(),
+                        });
+                    }
+                    else {
+                        titleIcon.hide(leaf.inlineTitleEl);
+                    }
+                }
+            }));
+            // Register event for frontmatter icon registration.
+            this.registerEvent(this.app.metadataCache.on('resolve', (file) => __awaiter(this, void 0, void 0, function* () {
+                if (!this.getSettings().iconInFrontmatterEnabled) {
+                    return;
+                }
+                const fileCache = this.app.metadataCache.getFileCache(file);
+                const iconFrontmatterName = this.getSettings().iconInFrontmatterFieldName;
+                const iconColorFrontmatterName = this.getSettings().iconColorInFrontmatterFieldName;
+                if (fileCache === null || fileCache === void 0 ? void 0 : fileCache.frontmatter) {
+                    const { [iconFrontmatterName]: newIconName, [iconColorFrontmatterName]: newIconColor, } = fileCache.frontmatter;
+                    // If `icon` property is empty, we will remove it from the data and remove the icon.
+                    if (!newIconName) {
+                        if (this.frontmatterCache.has(file.path)) {
+                            yield this.removeSingleIcon(file);
+                            this.frontmatterCache.delete(file.path);
+                        }
+                        return;
+                    }
+                    if (typeof newIconName !== 'string') {
+                        new obsidian.Notice(`[${config.PLUGIN_NAME}] Frontmatter property type \`icon\` has to be of type \`text\`.`);
+                        return;
+                    }
+                    if (newIconColor && typeof newIconColor !== 'string') {
+                        new obsidian.Notice(`[${config.PLUGIN_NAME}] Frontmatter property type \`iconColor\` has to be of type \`text\`.`);
+                        return;
+                    }
+                    let iconColor = newIconColor;
+                    if (isHexadecimal(iconColor)) {
+                        iconColor = stringToHex(iconColor);
+                    }
+                    const cachedIcon = IconCache.getInstance().get(file.path);
+                    if (newIconName === (cachedIcon === null || cachedIcon === void 0 ? void 0 : cachedIcon.iconNameWithPrefix) &&
+                        iconColor === (cachedIcon === null || cachedIcon === void 0 ? void 0 : cachedIcon.iconColor)) {
+                        return;
+                    }
+                    this.frontmatterCache.add(file.path);
+                    try {
+                        if (!emoji.isEmoji(newIconName)) {
+                            saveIconToIconPack(this, newIconName);
+                        }
+                    }
+                    catch (e) {
+                        logger.warn(`Something went wrong while saving icon to icon pack (error: ${e})`);
+                        new obsidian.Notice(e.message);
+                        return;
+                    }
+                    dom.createIconNode(this, file.path, newIconName, {
+                        color: iconColor,
+                    });
+                    this.addFolderIcon(file.path, newIconName);
+                    this.addIconColor(file.path, iconColor);
+                    IconCache.getInstance().set(file.path, {
+                        iconNameWithPrefix: newIconName,
+                        iconColor,
+                    });
+                    // Update icon in tab when setting is enabled.
+                    if (this.getSettings().iconInTabsEnabled) {
+                        const tabLeaves = iconTabs.getTabLeavesOfFilePath(this, file.path);
+                        for (const tabLeaf of tabLeaves) {
+                            iconTabs.update(this, newIconName, tabLeaf.tabHeaderInnerIconEl);
+                        }
+                    }
+                    // Update icon in title when setting is enabled.
+                    if (this.getSettings().iconInTitleEnabled) {
+                        this.addIconInTitle(newIconName);
+                    }
+                }
+            })));
+            // Register active leaf change event for adding icon of file to tab.
+            this.registerEvent(this.app.workspace.on('active-leaf-change', (leaf) => {
+                if (!this.getSettings().iconInTabsEnabled) {
+                    return;
+                }
+                // TODO: Maybe change in the future to a more optimal solution.
+                // Fixes a problem when the file was clicked twice in the same tab.
+                // See https://github.com/FlorianWoelki/obsidian-iconize/issues/208.
+                if (leaf.view.getViewType() === 'file-explorer') {
+                    for (const openedFile of getAllOpenedFiles(this)) {
+                        const leaf = openedFile.leaf;
+                        const iconColor = this.getIconColor(leaf.view.file.path);
+                        iconTabs.add(this, openedFile, leaf.tabHeaderInnerIconEl, {
+                            iconColor,
+                        });
+                    }
+                    return;
+                }
+                if (leaf.view.getViewType() !== 'markdown') {
+                    return;
+                }
+                const tabHeaderLeaf = leaf;
+                if (tabHeaderLeaf.view.file) {
+                    const iconColor = this.getIconColor(tabHeaderLeaf.view.file.path);
+                    iconTabs.add(this, tabHeaderLeaf.view.file, tabHeaderLeaf.tabHeaderInnerIconEl, {
+                        iconColor,
+                    });
+                }
+            }));
+            this.registerEvent(this.app.workspace.on('css-change', () => {
+                for (const openedFile of getAllOpenedFiles(this)) {
+                    const activeView = openedFile.leaf.view;
+                    if (activeView instanceof obsidian.MarkdownView) {
+                        titleIcon.updateStyle(activeView.inlineTitleEl, {
+                            fontSize: calculateInlineTitleSize(),
+                        });
+                    }
+                }
+            }));
+        });
+    }
+    addIconInTitle(iconName) {
+        var _a;
+        for (const openedFile of getAllOpenedFiles(this)) {
+            const activeView = openedFile.leaf.view;
+            if (activeView instanceof obsidian.MarkdownView) {
+                let possibleIcon = iconName;
+                if (!emoji.isEmoji(iconName)) {
+                    possibleIcon = (_a = icon.getIconByName(iconName)) === null || _a === void 0 ? void 0 : _a.svgElement;
+                }
+                if (possibleIcon) {
+                    titleIcon.add(this, activeView.inlineTitleEl, possibleIcon, {
+                        fontSize: calculateInlineTitleSize(),
+                    });
+                }
+            }
+        }
+    }
+    onunload() {
+        console.log('unloading obsidian-icon-folder');
+    }
+    renameFolder(newPath, oldPath) {
+        if (!this.data[oldPath] || newPath === oldPath) {
+            return;
+        }
+        Object.defineProperty(this.data, newPath, Object.getOwnPropertyDescriptor(this.data, oldPath));
+        delete this.data[oldPath];
+        this.saveIconFolderData();
+    }
+    addIconColor(path, iconColor) {
+        const pathData = this.getData()[path];
+        if (typeof pathData === 'string') {
+            this.getData()[path] = {
+                iconName: pathData,
+                iconColor,
+            };
+        }
+        else {
+            pathData.iconColor = iconColor;
+        }
+        this.saveIconFolderData();
+    }
+    getIconColor(path) {
+        const pathData = this.getData()[path];
+        if (!pathData) {
+            return undefined;
+        }
+        if (typeof pathData === 'string') {
+            return undefined;
+        }
+        return pathData.iconColor;
+    }
+    removeIconColor(path) {
+        const pathData = this.getData()[path];
+        if (typeof pathData === 'string') {
+            return;
+        }
+        const currentValue = pathData;
+        this.getData()[path] = currentValue.iconName;
+        this.saveIconFolderData();
+    }
+    removeFolderIcon(path) {
+        if (!this.data[path]) {
+            return;
+        }
+        // Saves the icon name with prefix to remove it from the icon pack directory later.
+        const iconData = this.data[path];
+        delete this.data[path];
+        // Removes the icon from the icon pack directory if it is not used as an icon somewhere
+        // else.
+        if (iconData) {
+            let iconNameWithPrefix = iconData;
+            if (typeof iconData === 'object') {
+                iconNameWithPrefix = iconData.iconName;
+            }
+            else {
+                iconNameWithPrefix = iconData;
+            }
+            if (!emoji.isEmoji(iconNameWithPrefix)) {
+                removeIconFromIconPack(this, iconNameWithPrefix);
+            }
+        }
+        //this.addIconsToSearch();
+        this.saveIconFolderData();
+    }
+    addFolderIcon(path, icon) {
+        const iconName = getNormalizedName(typeof icon === 'object' ? icon.displayName : icon);
+        this.data[path] = iconName;
+        // Update recently used icons.
+        if (!this.getSettings().recentlyUsedIcons.includes(iconName)) {
+            if (this.getSettings().recentlyUsedIcons.length >=
+                this.getSettings().recentlyUsedIconsSize) {
+                this.getSettings().recentlyUsedIcons =
+                    this.getSettings().recentlyUsedIcons.slice(0, this.getSettings().recentlyUsedIconsSize - 1);
+            }
+            this.getSettings().recentlyUsedIcons.unshift(iconName);
+            this.checkRecentlyUsedIcons();
+        }
+        //this.addIconsToSearch();
+        this.saveIconFolderData();
+    }
+    getSettings() {
+        return this.data.settings;
+    }
+    loadIconFolderData() {
+        return __awaiter(this, void 0, void 0, function* () {
+            const data = yield this.loadData();
+            if (data) {
+                Object.entries(DEFAULT_SETTINGS).forEach(([k, v]) => {
+                    if (data.settings[k] === undefined) {
+                        data.settings[k] = v;
+                    }
+                });
+            }
+            this.data = Object.assign({ settings: Object.assign({}, DEFAULT_SETTINGS) }, {}, data);
+        });
+    }
+    saveIconFolderData() {
+        return __awaiter(this, void 0, void 0, function* () {
+            yield this.saveData(this.data);
+        });
+    }
+    checkRecentlyUsedIcons() {
+        return __awaiter(this, void 0, void 0, function* () {
+            if (this.getSettings().recentlyUsedIcons.length >
+                this.getSettings().recentlyUsedIconsSize) {
+                this.getSettings().recentlyUsedIcons =
+                    this.getSettings().recentlyUsedIcons.slice(0, this.getSettings().recentlyUsedIconsSize);
+                yield this.saveIconFolderData();
+            }
+        });
+    }
+    getEventEmitter() {
+        return this.eventEmitter;
+    }
+    getData() {
+        return this.data;
+    }
+    getIconNameFromPath(path) {
+        if (typeof this.getData()[path] === 'object') {
+            return this.getData()[path].iconName;
+        }
+        return this.getData()[path];
+    }
+    getRegisteredFileExplorers() {
+        return this.registeredFileExplorers;
+    }
+    doesUseCustomLucideIconPack() {
+        return this.getSettings().lucideIconPackType === 'custom';
+    }
+    doesUseNativeLucideIconPack() {
+        return this.getSettings().lucideIconPackType === 'native';
+    }
+    /**
+     * Returns a possible data path by the given value. This function checks for
+     * direct icon and custom rules.
+     * @param value String that will be used to find the data path.
+     * @returns String that is the data path or `undefined` if no data path was found.
+     */
+    getDataPathByValue(value) {
+        return Object.entries(this.data).find(([k, v]) => {
+            if (typeof v === 'string') {
+                if (value === v) {
+                    return k;
+                }
+            }
+            else if (typeof v === 'object') {
+                // Check for custom rules.
+                if (k === 'settings') {
+                    // `rules` are defined in the settings object.
+                    const rules = v.rules;
+                    return rules.find((rule) => rule.icon === value);
+                }
+                v = v;
+                if (value === v.iconName) {
+                    return k;
+                }
+            }
+        });
+    }
+}
+
+module.exports = IconizePlugin;
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5qcyIsInNvdXJjZXMiOlsibm9kZV9tb2R1bGVzLy5wbnBtL0Byb2xsdXArcGx1Z2luLXR5cGVzY3JpcHRAMTEuMS42X3JvbGx1cEAyLjc5LjFfdHNsaWJAMi42LjJfdHlwZXNjcmlwdEA1LjQuMi9ub2RlX21vZHVsZXMvdHNsaWIvdHNsaWIuZXM2LmpzIiwic3JjL2ljb24tcGFja3MudHMiLCJzcmMvbGliL3V0aWwvc3ZnLnRzIiwibm9kZV9tb2R1bGVzLy5wbnBtL2pzemlwQDMuMTAuMS9ub2RlX21vZHVsZXMvanN6aXAvZGlzdC9qc3ppcC5taW4uanMiLCJzcmMvemlwLXV0aWwudHMiLCJzcmMvY29uZmlnL2luZGV4LnRzIiwic3JjL2xpYi9sb2dnZXIudHMiLCJzcmMvaWNvbi1wYWNrLW1hbmFnZXIudHMiLCJub2RlX21vZHVsZXMvLnBucG0vQHR3ZW1vamkrYXBpQDE1LjEuMC9ub2RlX21vZHVsZXMvQHR3ZW1vamkvYXBpL2Rpc3QvdHdlbW9qaS5lc20uanMiLCJzcmMvZW1vamkudHMiLCJzcmMvdXRpbC50cyIsInNyYy9saWIvdXRpbC9zdHlsZS50cyIsInNyYy9saWIvdXRpbC9kb20udHMiLCJzcmMvdWkvaWNvbnMtcGlja2VyLW1vZGFsLnRzIiwic3JjL3NldHRpbmdzL2RhdGEudHMiLCJzcmMvbWlncmF0aW9ucy8wMDAxLWNoYW5nZS1taWdyYXRlZC10cnVlLXRvLTEudHMiLCJzcmMvbWlncmF0aW9ucy8wMDAyLW9yZGVyLWN1c3RvbS1ydWxlcy50cyIsInNyYy9saWIvaWNvbi1jYWNoZS50cyIsInNyYy9saWIvY3VzdG9tLXJ1bGUudHMiLCJzcmMvbWlncmF0aW9ucy8wMDAzLWluaGVyaXRhbmNlLXRvLWN1c3RvbS1ydWxlLnRzIiwic3JjL21pZ3JhdGlvbnMvMDAwNC1yZW1vdmUtbm9uZS1lbW9qaS1vcHRpb24udHMiLCJzcmMvbWlncmF0aW9ucy8wMDA1LXJlbW92ZS1kb3dubG9hZGVkLWx1Y2lkZS1pY29uLXBhY2sudHMiLCJzcmMvbWlncmF0aW9ucy9pbmRleC50cyIsInNyYy9zZXR0aW5ncy91aS9pY29uRm9sZGVyU2V0dGluZy50cyIsInNyYy9saWIvaWNvbi10YWJzLnRzIiwic3JjL2xpYi9pY29uLnRzIiwic3JjL3NldHRpbmdzL3VpL2N1c3RvbUljb25QYWNrLnRzIiwic3JjL3NldHRpbmdzL3VpL2N1c3RvbUljb25SdWxlLnRzIiwic3JjL2xpYi9pY29uLXRpdGxlLnRzIiwic3JjL2xpYi91dGlsL3RleHQudHMiLCJzcmMvc2V0dGluZ3MvdWkvZW1vamlTdHlsZS50cyIsInNyYy9zZXR0aW5ncy9oZWxwZXIudHMiLCJzcmMvc2V0dGluZ3MvdWkvZXh0cmFNYXJnaW4udHMiLCJzcmMvc2V0dGluZ3MvUmVzZXRCdXR0b25Db21wb25lbnQudHMiLCJzcmMvc2V0dGluZ3MvdWkvaWNvbkNvbG9yLnRzIiwic3JjL3NldHRpbmdzL3VpL2ljb25Gb250U2l6ZS50cyIsInNyYy9zZXR0aW5ncy91aS9pY29uUGFja3NQYXRoLnRzIiwic3JjL3NldHRpbmdzL3VpL2ljb25QYWNrc0JhY2tncm91bmRDaGVja2VyLnRzIiwic3JjL3VpL2ljb24tcGFjay1icm93c2VyLW1vZGFsLnRzIiwic3JjL3NldHRpbmdzL3VpL3ByZWRlZmluZWRJY29uUGFja3MudHMiLCJzcmMvc2V0dGluZ3MvdWkvcmVjZW50bHlVc2VkSWNvbnMudHMiLCJzcmMvc2V0dGluZ3MvdWkvdG9nZ2xlSWNvbkluVGFicy50cyIsInNyYy9zZXR0aW5ncy91aS90b2dnbGVJY29uSW5UaXRsZS50cyIsInNyYy9zZXR0aW5ncy91aS9mcm9udG1hdHRlck9wdGlvbnMudHMiLCJzcmMvc2V0dGluZ3MvdWkvdG9nZ2xlSWNvbnNJbk5vdGVzLnRzIiwic3JjL3NldHRpbmdzL3VpL3RvZ2dsZUljb25zSW5MaW5rcy50cyIsInNyYy9zZXR0aW5ncy91aS9pY29uSWRlbnRpZmllci50cyIsInNyYy9zZXR0aW5ncy91aS9kZWJ1Z01vZGUudHMiLCJzcmMvc2V0dGluZ3MvdWkvaW5kZXgudHMiLCJub2RlX21vZHVsZXMvLnBucG0vbW9ua2V5LWFyb3VuZEAyLjMuMC9ub2RlX21vZHVsZXMvbW9ua2V5LWFyb3VuZC9tanMvaW5kZXguanMiLCJzcmMvQHR5cGVzL2ludGVybmFsLXBsdWdpbi1pbmplY3Rvci50cyIsInNyYy9pbnRlcm5hbC1wbHVnaW5zL3N0YXJyZWQudHMiLCJzcmMvaW50ZXJuYWwtcGx1Z2lucy9ib29rbWFyay50cyIsInNyYy9lZGl0b3IvbWFya2Rvd24tcHJvY2Vzc29ycy9pY29uLWluLXRleHQudHMiLCJzcmMvZWRpdG9yL21hcmtkb3duLXByb2Nlc3NvcnMvaWNvbi1pbi1saW5rLnRzIiwic3JjL2ludGVybmFsLXBsdWdpbnMvb3V0bGluZS50cyIsInNyYy9lZGl0b3IvaWNvbnMtc3VnZ2VzdGlvbi50cyIsInNyYy9lZGl0b3IvbGl2ZS1wcmV2aWV3L3dpZGdldHMvaWNvbi1pbi10ZXh0LnRzIiwic3JjL2VkaXRvci9saXZlLXByZXZpZXcvd2lkZ2V0cy9pY29uLWluLWxpbmsudHMiLCJzcmMvZWRpdG9yL2xpdmUtcHJldmlldy9kZWNvcmF0aW9ucy9idWlsZC1saW5rLWRlY29yYXRpb25zLnRzIiwic3JjL2VkaXRvci9saXZlLXByZXZpZXcvZGVjb3JhdGlvbnMvYnVpbGQtdGV4dC1kZWNvcmF0aW9ucy50cyIsInNyYy9lZGl0b3IvbGl2ZS1wcmV2aWV3L3BsdWdpbnMvaWNvbi1pbi10ZXh0LnRzIiwic3JjL2VkaXRvci9saXZlLXByZXZpZXcvcGx1Z2lucy9pY29uLWluLWxpbmtzLnRzIiwic3JjL2VkaXRvci9saXZlLXByZXZpZXcvc3RhdGUudHMiLCJzcmMvdWkvY2hhbmdlLWNvbG9yLW1vZGFsLnRzIiwic3JjL2xpYi9ldmVudC9ldmVudC50cyIsInNyYy9saWIvYXBpLnRzIiwic3JjL21haW4udHMiXSwic291cmNlc0NvbnRlbnQiOm51bGwsIm5hbWVzIjpbImljb25QYWNrcyIsInJlcXVpcmUiLCJnbG9iYWwiLCJyZXF1ZXN0VXJsIiwibG9hZEFzeW5jIiwiTm90aWNlIiwiZ2V0SWNvbklkcyIsImdldEljb24iLCJwcmVkZWZpbmVkSWNvblBhY2tzIiwiRnV6enlTdWdnZXN0TW9kYWwiLCJtaWdyYXRlIiwiYWRkIiwibWlncmF0ZTAwMDEiLCJtaWdyYXRlMDAwMiIsIm1pZ3JhdGUwMDAzIiwibWlncmF0ZTAwMDQiLCJtaWdyYXRlMDAwNSIsInJlbW92ZSIsIlNldHRpbmciLCJNb2RhbCIsIlRleHRDb21wb25lbnQiLCJUb2dnbGVDb21wb25lbnQiLCJCdXR0b25Db21wb25lbnQiLCJDb2xvckNvbXBvbmVudCIsIk1hcmtkb3duVmlldyIsIkRyb3Bkb3duQ29tcG9uZW50IiwiU2xpZGVyQ29tcG9uZW50IiwiUGx1Z2luU2V0dGluZ1RhYiIsIlRvZ2dsZUljb25zSW5Ob3RlcyIsIkVkaXRvclN1Z2dlc3QiLCJXaWRnZXRUeXBlIiwidmlldyIsIlJhbmdlU2V0QnVpbGRlciIsImVkaXRvckluZm9GaWVsZCIsInN5bnRheFRyZWUiLCJ0b2tlbkNsYXNzTm9kZVByb3AiLCJEZWNvcmF0aW9uIiwiZWRpdG9yTGl2ZVByZXZpZXdGaWVsZCIsIlZpZXdQbHVnaW4iLCJFZGl0b3JWaWV3IiwiUmFuZ2VWYWx1ZSIsIlN0YXRlRmllbGQiLCJzdGF0ZSIsIlBsdWdpbiIsInJlcXVpcmVBcGlWZXJzaW9uIiwiSWNvbkZvbGRlclNldHRpbmdzVUkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFvR0E7QUFDTyxTQUFTLFNBQVMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUU7QUFDN0QsSUFBSSxTQUFTLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssWUFBWSxDQUFDLEdBQUcsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLFVBQVUsT0FBTyxFQUFFLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVB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Q0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLFVBQVUsRUFBRSxPQUFPQSxlQUFPLEVBQUVBLGVBQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtRUFBbUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsaURBQWlELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxD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QXFCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxVQUFVLEVBQUUsV0FBVyxFQUFFLE9BQU8sV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLFNBQVMsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGdHQUFnRyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDRFQUE0RSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEVBQTRFLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLFNBQVMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sR0FBRyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLENBQUMsdUJBQXVCLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxxQ0FBcUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLFVBQVUsRUFBRSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxDQUFDLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxRQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLGNBQWMsR0FBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRSxDQUFDLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMscUNBQXFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxHQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxJQUFJLGFBQWEsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGtDQUFrQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxxQ0FBcUMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLE9BQU8sV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxTQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEdBQUcsQ0FBQyxFQUFFLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsWUFBWSxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxZQUFZLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsMEJBQTBCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGlDQUFpQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0NBQWtDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsR0FBRSxDQUFDLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLCtCQUErQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBSyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLHlJQUF5SSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLDJCQUEyQixHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxzRUFBc0UsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsK0JBQStCLENBQUMsQ0FBQyxJQUFJLENBQUMsaUNBQWlDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLDhEQUE4RCxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGtDQUFrQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEdBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsb0lBQW9JLENBQUMsQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsOEJBQThCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUMsRUFBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLDRCQUE0QixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxjQUFjLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssWUFBWSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsT0FBTyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksQ0FBQyxLQUFLLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLGNBQWMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsNEVBQTRFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUMsd0JBQXdCLENBQUMsRUFBRSxDQUFDLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxDQUFDLEVBQUUsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUUsRUFBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBT0MsY0FBTSxDQUFDQSxjQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLElBQUksU0FBUyxDQUFDLDZCQUE2QixDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLEVBQUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFHLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxPQUFPLFVBQVUsRUFBRSxXQUFXLEVBQUUsT0FBTyxXQUFXLEVBQUUsV0FBVyxFQUFFLE9BQU8sVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsTUFBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMscUNBQW9DLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxxQ0FBcUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEtBQUssR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHNDQUFzQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLDZCQUE2QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsK0JBQStCLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxxQ0FBb0MsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsT0FBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFjLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFDLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLGNBQWMsRUFBRSxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPQSxjQUFNLENBQUNBLGNBQU0sQ0FBQyxXQUFXLEVBQUUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxPQUFPLE1BQU0sQ0FB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QUFDLElBQUksQ0FBQyxPQUFPLEVBQUMsQ0FBQyxLQUFLLEdBQUcsUUFBUSxHQUFHLENBQUMsRUFBRSxFQUFFLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUMsQ0FBQyxDQUFDLE9BQU8sT0FBTyxDQUFDLFNBQVMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksUUFBUSxJQUFJLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsT0FBTyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxRQUFRLElBQUksTUFBTSxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksRUFBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLFVBQVUsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxPQUFPLEtBQUssR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sU0FBUyxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU8sWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sR0FBRyxHQUFHLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUMsQ0FBQyxPQUFNLENBQUMsT0FBTyxJQUFJLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsa0JBQWtCLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE9BQU8sTUFBTSxDQUFDLFNBQVMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUMsRUFBRSxD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
diff --git a/Edikoyo/.obsidian/plugins/obsidian-icon-folder/manifest.json b/Edikoyo/.obsidian/plugins/obsidian-icon-folder/manifest.json
new file mode 100644
index 0000000..51e4d6a
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/obsidian-icon-folder/manifest.json
@@ -0,0 +1,10 @@
+{
+  "id": "obsidian-icon-folder",
+  "name": "Iconize",
+  "version": "2.14.3",
+  "minAppVersion": "0.9.12",
+  "description": "Add icons to anything you desire in Obsidian, including files, folders, and text.",
+  "author": "Florian Woelki",
+  "authorUrl": "https://florianwoelki.com/",
+  "isDesktopOnly": false
+}
diff --git a/Edikoyo/.obsidian/plugins/obsidian-icon-folder/styles.css b/Edikoyo/.obsidian/plugins/obsidian-icon-folder/styles.css
new file mode 100644
index 0000000..945ee33
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/obsidian-icon-folder/styles.css
@@ -0,0 +1,119 @@
+.iconize-inline-title-wrapper {
+  width: var(--line-width);
+  margin-inline: var(--content-margin);
+}
+
+.iconize-title-icon {
+  max-width: var(--max-width);
+  margin-right: var(--size-4-2);
+}
+
+.iconize-icon-in-link {
+  transform: translateY(20%);
+  margin-right: var(--size-2-2);
+  display: inline-flex;
+}
+
+.iconize-icon {
+  border: 1px solid transparent;
+  margin: 0px 4px 0px 0px;
+  display: flex;
+  align-self: center;
+  margin: auto 0;
+}
+
+.nav-folder-title,
+.nav-file-title {
+  align-items: center;
+}
+
+.iconize-setting input[type='color'] {
+  margin: 0 6px;
+}
+
+.iconize-modal.prompt-results {
+  margin: 0;
+  overflow-y: auto;
+  display: grid;
+  grid-template-columns: repeat(5, minmax(0, 1fr));
+}
+
+.prompt .iconize-subheadline {
+  margin-top: 12px;
+  font-size: 12px;
+  color: gray;
+  grid-column-start: 1;
+  grid-column-end: 6;
+}
+
+@media (max-width: 640px) {
+  .iconize-modal.prompt-results {
+    grid-template-columns: repeat(3, minmax(0, 1fr));
+  }
+  .prompt .iconize-subheadline {
+    grid-column-end: 4;
+  }
+}
+
+.iconize-modal.prompt-results .suggestion-item {
+  cursor: pointer;
+  white-space: pre-wrap;
+  display: flex;
+  justify-content: flex-end;
+  align-items: center;
+  flex-direction: column-reverse;
+  text-align: center;
+  font-size: 13px;
+  color: var(--text-muted);
+  padding: 16px 8px;
+  line-break: auto;
+  word-break: break-word;
+  line-height: 1.3;
+}
+
+.iconize-modal.prompt-results .suggestion-item.suggestion-item__center {
+  justify-content: center;
+}
+
+.iconize-icon-preview {
+  font-size: 22px;
+}
+
+.iconize-icon-preview img {
+  width: 16px;
+  height: 16px;
+}
+
+.iconize-icon-preview svg {
+  width: 24px;
+  height: 24px;
+  color: currentColor;
+  margin-bottom: 4px;
+}
+
+.iconize-dragover {
+  position: relative;
+}
+
+.iconize-dragover-el {
+  position: absolute;
+  width: 100%;
+  height: 100%;
+  color: var(--text-normal);
+  background-color: var(--background-secondary-alt);
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+/* Custom rule modal. */
+.iconize-custom-modal .modal-content {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.iconize-custom-modal .modal-content input {
+  width: 100%;
+  margin-right: 0.5rem;
+}
diff --git a/Edikoyo/.obsidian/plugins/pinned-notes/data.json b/Edikoyo/.obsidian/plugins/pinned-notes/data.json
new file mode 100644
index 0000000..b717412
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/pinned-notes/data.json
@@ -0,0 +1,10 @@
+{
+  "pinnedNotes": [
+    {
+      "id": "710a3527-2ed2-4ad6-a7c9-bcad95cfb914",
+      "icon": "",
+      "path": "Countries/_index",
+      "title": "Countries"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/plugins/pinned-notes/main.js b/Edikoyo/.obsidian/plugins/pinned-notes/main.js
new file mode 100644
index 0000000..1d9727d
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/pinned-notes/main.js
@@ -0,0 +1,265 @@
+/*
+THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
+if you want to view the source, please visit the github repository of this plugin
+*/
+
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+  for (var name in all)
+    __defProp(target, name, { get: all[name], enumerable: true });
+};
+var __copyProps = (to, from, except, desc) => {
+  if (from && typeof from === "object" || typeof from === "function") {
+    for (let key of __getOwnPropNames(from))
+      if (!__hasOwnProp.call(to, key) && key !== except)
+        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+  }
+  return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+
+// main.ts
+var main_exports = {};
+__export(main_exports, {
+  FileSuggest: () => FileSuggest,
+  default: () => PinnedNotesPlugin,
+  trimFile: () => trimFile
+});
+module.exports = __toCommonJS(main_exports);
+var import_obsidian = require("obsidian");
+
+// node_modules/uuid/dist/esm-browser/rng.js
+var getRandomValues;
+var rnds8 = new Uint8Array(16);
+function rng() {
+  if (!getRandomValues) {
+    getRandomValues = typeof crypto !== "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);
+    if (!getRandomValues) {
+      throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
+    }
+  }
+  return getRandomValues(rnds8);
+}
+
+// node_modules/uuid/dist/esm-browser/stringify.js
+var byteToHex = [];
+for (let i = 0; i < 256; ++i) {
+  byteToHex.push((i + 256).toString(16).slice(1));
+}
+function unsafeStringify(arr, offset = 0) {
+  return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
+}
+
+// node_modules/uuid/dist/esm-browser/native.js
+var randomUUID = typeof crypto !== "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto);
+var native_default = {
+  randomUUID
+};
+
+// node_modules/uuid/dist/esm-browser/v4.js
+function v4(options, buf, offset) {
+  if (native_default.randomUUID && !buf && !options) {
+    return native_default.randomUUID();
+  }
+  options = options || {};
+  const rnds = options.random || (options.rng || rng)();
+  rnds[6] = rnds[6] & 15 | 64;
+  rnds[8] = rnds[8] & 63 | 128;
+  if (buf) {
+    offset = offset || 0;
+    for (let i = 0; i < 16; ++i) {
+      buf[offset + i] = rnds[i];
+    }
+    return buf;
+  }
+  return unsafeStringify(rnds);
+}
+var v4_default = v4;
+
+// main.ts
+var PinnedNote = class {
+  constructor(title, path, icon) {
+    this.id = v4_default();
+    this.icon = icon;
+    this.path = path;
+    this.title = title;
+  }
+};
+var DEFAULT_SETTINGS = {
+  pinnedNotes: []
+};
+var PinnedNotesPlugin = class extends import_obsidian.Plugin {
+  async onload() {
+    await this.loadSettings();
+    this.addSettingTab(new SettingTab(this.app, this));
+  }
+  async addPinnedNote(note) {
+    this.settings.pinnedNotes.push(note);
+    await this.saveSettings();
+    await this.loadSettings();
+  }
+  async removePinnedNote(noteId) {
+    const noteIndex = this.settings.pinnedNotes.findIndex((note) => note.id === noteId);
+    delete this.settings.pinnedNotes[noteIndex];
+    this.settings.pinnedNotes.splice(noteIndex, 1);
+    await this.saveSettings();
+    await this.loadSettings();
+  }
+  async loadSettings() {
+    var _a;
+    this.settings = Object.assign({}, DEFAULT_SETTINGS, await this.loadData());
+    (_a = this.ribbonIcons) == null ? void 0 : _a.forEach((ribbonIcon, index) => {
+      ribbonIcon.remove();
+      delete this.ribbonIcons[index];
+    });
+    this.ribbonIcons = this.settings.pinnedNotes.map(
+      (note) => this.addRibbonIcon(
+        note.icon === "" ? "file" : note.icon,
+        note.title,
+        async (e) => {
+          await this.app.workspace.openLinkText(note.path, "");
+        }
+      )
+    );
+  }
+  async saveSettings() {
+    await this.saveData(this.settings);
+  }
+};
+var SettingTab = class extends import_obsidian.PluginSettingTab {
+  constructor(app, plugin) {
+    super(app, plugin);
+    this.plugin = plugin;
+  }
+  display() {
+    const { containerEl } = this;
+    containerEl.empty();
+    let isCanBeAddedNewNote = true;
+    let title = "";
+    let path = "";
+    let icon = "";
+    let changedTitle;
+    let changedPath;
+    let changedIcon;
+    const addNoteButton = new import_obsidian.Setting(containerEl).setName("Add pinned note").setDesc(`Provide: 1) file's name that will be displayed on hover 2) path to this file, e.g Folder1/File1 3) Icon name from lucide.dev; if icon won't be provided, default icon "file" will be placed instead. RESTART OBSIDIAN AFTER CHANGES`);
+    isCanBeAddedNewNote && addNoteButton.addButton((button) => {
+      button.setIcon("plus").onClick(
+        () => {
+          isCanBeAddedNewNote = false;
+          this.display();
+          new import_obsidian.Setting(containerEl).setName("File").addText(
+            (text) => text.setPlaceholder("Title").onChange((value) => title = value)
+          ).addText(
+            (text) => {
+              new FileSuggest(this.app, text.inputEl);
+              text.setPlaceholder("Path").onChange((value) => path = value);
+            }
+          ).addText(
+            (text) => text.setPlaceholder("Icon(optional)").onChange((value) => icon = value)
+          ).addButton((button2) => button2.setIcon("save").onClick(
+            async () => {
+              if (title.length !== 0 && path.length !== 0) {
+                await this.plugin.addPinnedNote(new PinnedNote(title, path, icon));
+                isCanBeAddedNewNote = true;
+                this.display();
+              } else {
+                new import_obsidian.Notice("Provide title and path");
+              }
+            }
+          ));
+        }
+      );
+    });
+    this.plugin.settings.pinnedNotes.forEach((note, index) => {
+      new import_obsidian.Setting(containerEl).setName("File " + (index + 1)).addText(
+        (text) => text.setPlaceholder("Title").setValue(note.title).onChange(async (value) => {
+          changedTitle = value;
+        })
+      ).addText(
+        (text) => {
+          new FileSuggest(this.app, text.inputEl);
+          text.setPlaceholder("Path").setValue(note.path).onChange(async (value) => {
+            changedPath = value;
+          });
+        }
+      ).addText(
+        (text) => text.setPlaceholder("Icon(optional)").setValue(note.icon).onChange(async (value) => {
+          changedIcon = value;
+        })
+      ).addButton(
+        (button) => button.setIcon("save").onClick(
+          async () => {
+            if ((changedTitle === void 0 || changedTitle === note.title) && (changedPath === void 0 || changedPath === note.path) && (changedIcon === void 0 || changedIcon === note.icon)) {
+              new import_obsidian.Notice("Provide any data");
+              return;
+            }
+            if (changedTitle !== void 0) {
+              if (changedTitle.length !== 0) {
+                note.title = changedTitle;
+                changedTitle = void 0;
+              } else
+                new import_obsidian.Notice("Provide title");
+            }
+            if (changedPath !== void 0) {
+              if (changedPath.length !== 0) {
+                note.path = changedPath;
+                changedPath = void 0;
+              } else
+                new import_obsidian.Notice("Provide path");
+            }
+            if (changedIcon !== void 0) {
+              note.icon = changedIcon;
+              changedIcon = void 0;
+            }
+            await this.plugin.saveSettings();
+            await this.plugin.loadSettings();
+            this.display();
+          }
+        )
+      ).addButton((button) => button.setIcon("trash-2").setWarning().onClick(
+        async () => {
+          await this.plugin.removePinnedNote(note.id);
+          this.display();
+        }
+      ));
+    });
+  }
+};
+var FileSuggest = class extends import_obsidian.AbstractInputSuggest {
+  getSuggestions(inputStr) {
+    const abstractFiles = this.app.vault.getAllLoadedFiles();
+    const files = [];
+    const inputLower = inputStr.toLowerCase();
+    abstractFiles.forEach((file) => {
+      if (file instanceof import_obsidian.TFile && ["md", "canvas"].contains(file.extension) && file.path.toLowerCase().contains(inputLower)) {
+        files.push(file);
+      }
+    });
+    return files;
+  }
+  renderSuggestion(file, el) {
+    if (file.extension == "md") {
+      el.setText(trimFile(file));
+    } else {
+      el.setText(file.path.slice(0, -7));
+      el.insertAdjacentHTML(
+        "beforeend",
+        `<div class="nav-file-tag" style="display:inline-block;vertical-align:middle">canvas</div>`
+      );
+    }
+  }
+  selectSuggestion(file) {
+    this.textInputEl.value = trimFile(file);
+    this.textInputEl.trigger("input");
+    this.close();
+  }
+};
+function trimFile(file) {
+  if (!file)
+    return "";
+  return file.extension == "md" ? file.path.slice(0, -3) : file.path;
+}
+//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWFpbi50cyIsICJub2RlX21vZHVsZXMvdXVpZC9kaXN0L2VzbS1icm93c2VyL3JuZy5qcyIsICJub2RlX21vZHVsZXMvdXVpZC9kaXN0L2VzbS1icm93c2VyL3N0cmluZ2lmeS5qcyIsICJub2RlX21vZHVsZXMvdXVpZC9kaXN0L2VzbS1icm93c2VyL25hdGl2ZS5qcyIsICJub2RlX21vZHVsZXMvdXVpZC9kaXN0L2VzbS1icm93c2VyL3Y0LmpzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge1xyXG5cdEFic3RyYWN0SW5wdXRTdWdnZXN0LFxyXG5cdEFwcCxcclxuXHRJY29uTmFtZSxcclxuXHROb3RpY2UsXHJcblx0UGx1Z2luLFxyXG5cdFBsdWdpblNldHRpbmdUYWIsXHJcblx0U2V0dGluZyxcclxuXHRUQWJzdHJhY3RGaWxlLFxyXG5cdFRGaWxlXHJcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XHJcbmltcG9ydCB7djQgYXMgdXVpZHY0fSBmcm9tIFwidXVpZFwiO1xyXG5cclxuY2xhc3MgUGlubmVkTm90ZSB7XHJcblx0aWQ6IG51bWJlcjtcclxuXHRpY29uOiBJY29uTmFtZTtcclxuXHRwYXRoOiBzdHJpbmc7XHJcblx0dGl0bGU6IHN0cmluZztcclxuXHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0dGl0bGU6IHN0cmluZyxcclxuXHRcdHBhdGg6IHN0cmluZyxcclxuXHRcdGljb246IEljb25OYW1lXHJcblx0KSB7XHJcblx0XHR0aGlzLmlkID0gdXVpZHY0KClcclxuXHRcdHRoaXMuaWNvbiA9IGljb247XHJcblx0XHR0aGlzLnBhdGggPSBwYXRoO1xyXG5cdFx0dGhpcy50aXRsZSA9IHRpdGxlO1xyXG5cdH1cclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJUGlubmVkTm90ZXNQbHVnaW5TZXR0aW5ncyB7XHJcblx0cGlubmVkTm90ZXM6IFBpbm5lZE5vdGVbXVxyXG59XHJcblxyXG5jb25zdCBERUZBVUxUX1NFVFRJTkdTOiBJUGlubmVkTm90ZXNQbHVnaW5TZXR0aW5ncyA9IHtcclxuXHRwaW5uZWROb3RlczogW11cclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgUGlubmVkTm90ZXNQbHVnaW4gZXh0ZW5kcyBQbHVnaW4ge1xyXG5cdHNldHRpbmdzOiBJUGlubmVkTm90ZXNQbHVnaW5TZXR0aW5nc1xyXG5cdHJpYmJvbkljb25zOiBIVE1MRWxlbWVudFtdXHJcblxyXG5cdGFzeW5jIG9ubG9hZCgpIHtcclxuXHRcdGF3YWl0IHRoaXMubG9hZFNldHRpbmdzKCk7XHJcblx0XHR0aGlzLmFkZFNldHRpbmdUYWIobmV3IFNldHRpbmdUYWIodGhpcy5hcHAsIHRoaXMpKVxyXG5cdH1cclxuXHJcblx0YXN5bmMgYWRkUGlubmVkTm90ZShub3RlOiBQaW5uZWROb3RlKSB7XHJcblx0XHR0aGlzLnNldHRpbmdzLnBpbm5lZE5vdGVzLnB1c2gobm90ZSlcclxuXHRcdGF3YWl0IHRoaXMuc2F2ZVNldHRpbmdzKClcclxuXHRcdGF3YWl0IHRoaXMubG9hZFNldHRpbmdzKClcclxuXHR9XHJcblxyXG5cdGFzeW5jIHJlbW92ZVBpbm5lZE5vdGUobm90ZUlkOiBudW1iZXIpIHtcclxuXHRcdGNvbnN0IG5vdGVJbmRleCA9IHRoaXMuc2V0dGluZ3MucGlubmVkTm90ZXMuZmluZEluZGV4KChub3RlKSA9PiBub3RlLmlkID09PSBub3RlSWQpXHJcblx0XHRkZWxldGUgdGhpcy5zZXR0aW5ncy5waW5uZWROb3Rlc1tub3RlSW5kZXhdXHJcblx0XHR0aGlzLnNldHRpbmdzLnBpbm5lZE5vdGVzLnNwbGljZShub3RlSW5kZXgsIDEpXHJcblx0XHRhd2FpdCB0aGlzLnNhdmVTZXR0aW5ncygpXHJcblx0XHRhd2FpdCB0aGlzLmxvYWRTZXR0aW5ncygpXHJcblx0fVxyXG5cclxuXHJcblx0YXN5bmMgbG9hZFNldHRpbmdzKCkge1xyXG5cdFx0dGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24oe30sIERFRkFVTFRfU0VUVElOR1MsIGF3YWl0IHRoaXMubG9hZERhdGEoKSk7XHJcblx0XHR0aGlzLnJpYmJvbkljb25zPy5mb3JFYWNoKChyaWJib25JY29uLCBpbmRleCkgPT4ge1xyXG5cdFx0XHRyaWJib25JY29uLnJlbW92ZSgpXHJcblx0XHRcdGRlbGV0ZSB0aGlzLnJpYmJvbkljb25zW2luZGV4XVxyXG5cdFx0fSlcclxuXHRcdHRoaXMucmliYm9uSWNvbnMgPSB0aGlzLnNldHRpbmdzLnBpbm5lZE5vdGVzLm1hcCgobm90ZSkgPT5cclxuXHRcdFx0dGhpcy5hZGRSaWJib25JY29uKFxyXG5cdFx0XHRcdG5vdGUuaWNvbiA9PT0gXCJcIiA/IFwiZmlsZVwiIDogbm90ZS5pY29uLFxyXG5cdFx0XHRcdG5vdGUudGl0bGUsXHJcblx0XHRcdFx0YXN5bmMgKGUpID0+IHtcclxuXHRcdFx0XHRcdGF3YWl0IHRoaXMuYXBwLndvcmtzcGFjZS5vcGVuTGlua1RleHQobm90ZS5wYXRoLCBcIlwiKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0KVxyXG5cdFx0KVxyXG5cdH1cclxuXHJcblx0YXN5bmMgc2F2ZVNldHRpbmdzKCkge1xyXG5cdFx0YXdhaXQgdGhpcy5zYXZlRGF0YSh0aGlzLnNldHRpbmdzKTtcclxuXHR9XHJcbn1cclxuXHJcbmNsYXNzIFNldHRpbmdUYWIgZXh0ZW5kcyBQbHVnaW5TZXR0aW5nVGFiIHtcclxuXHRwbHVnaW46IFBpbm5lZE5vdGVzUGx1Z2luXHJcblxyXG5cdGNvbnN0cnVjdG9yKGFwcDogQXBwLCBwbHVnaW46IFBpbm5lZE5vdGVzUGx1Z2luKSB7XHJcblx0XHRzdXBlcihhcHAsIHBsdWdpbik7XHJcblx0XHR0aGlzLnBsdWdpbiA9IHBsdWdpbjtcclxuXHR9XHJcblxyXG5cdGRpc3BsYXkoKSB7XHJcblx0XHRjb25zdCB7Y29udGFpbmVyRWx9ID0gdGhpcztcclxuXHRcdGNvbnRhaW5lckVsLmVtcHR5KClcclxuXHRcdGxldCBpc0NhbkJlQWRkZWROZXdOb3RlID0gdHJ1ZVxyXG5cdFx0bGV0IHRpdGxlID0gXCJcIlxyXG5cdFx0bGV0IHBhdGggPSBcIlwiXHJcblx0XHRsZXQgaWNvbjogSWNvbk5hbWUgPSBcIlwiXHJcblx0XHRsZXQgY2hhbmdlZFRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcblx0XHRsZXQgY2hhbmdlZFBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuXHRcdGxldCBjaGFuZ2VkSWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cdFx0Y29uc3QgYWRkTm90ZUJ1dHRvbiA9IG5ldyBTZXR0aW5nKGNvbnRhaW5lckVsKVxyXG5cdFx0XHQuc2V0TmFtZShcIkFkZCBwaW5uZWQgbm90ZVwiKVxyXG5cdFx0XHQuc2V0RGVzYyhcIlByb3ZpZGU6IDEpIGZpbGUncyBuYW1lIHRoYXQgd2lsbCBiZSBkaXNwbGF5ZWQgb24gaG92ZXIgMikgcGF0aCB0byB0aGlzIGZpbGUsIGUuZyBGb2xkZXIxL0ZpbGUxIDMpIEljb24gbmFtZSBmcm9tIGx1Y2lkZS5kZXY7IGlmIGljb24gd29uJ3QgYmUgcHJvdmlkZWQsIGRlZmF1bHQgaWNvbiBcXFwiZmlsZVxcXCIgd2lsbCBiZSBwbGFjZWQgaW5zdGVhZC4gUkVTVEFSVCBPQlNJRElBTiBBRlRFUiBDSEFOR0VTXCIpXHJcblx0XHRpc0NhbkJlQWRkZWROZXdOb3RlICYmIGFkZE5vdGVCdXR0b25cclxuXHRcdFx0LmFkZEJ1dHRvbigoYnV0dG9uKSA9PiB7XHJcblx0XHRcdFx0YnV0dG9uLnNldEljb24oXCJwbHVzXCIpLm9uQ2xpY2soXHJcblx0XHRcdFx0XHQoKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlzQ2FuQmVBZGRlZE5ld05vdGUgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHR0aGlzLmRpc3BsYXkoKVxyXG5cdFx0XHRcdFx0XHRuZXcgU2V0dGluZyhjb250YWluZXJFbClcclxuXHRcdFx0XHRcdFx0XHQuc2V0TmFtZShcIkZpbGVcIilcclxuXHRcdFx0XHRcdFx0XHQuYWRkVGV4dCgodGV4dCkgPT4gdGV4dFxyXG5cdFx0XHRcdFx0XHRcdFx0LnNldFBsYWNlaG9sZGVyKFwiVGl0bGVcIilcclxuXHRcdFx0XHRcdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IHRpdGxlID0gdmFsdWUpXHJcblx0XHRcdFx0XHRcdFx0KVxyXG5cdFx0XHRcdFx0XHRcdC5hZGRUZXh0KCh0ZXh0KSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRuZXcgRmlsZVN1Z2dlc3QodGhpcy5hcHAsIHRleHQuaW5wdXRFbCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRleHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQuc2V0UGxhY2Vob2xkZXIoXCJQYXRoXCIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Lm9uQ2hhbmdlKCh2YWx1ZSkgPT4gcGF0aCA9IHZhbHVlKVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdClcclxuXHRcdFx0XHRcdFx0XHQuYWRkVGV4dCgodGV4dCkgPT4gdGV4dFxyXG5cdFx0XHRcdFx0XHRcdFx0LnNldFBsYWNlaG9sZGVyKFwiSWNvbihvcHRpb25hbClcIilcclxuXHRcdFx0XHRcdFx0XHRcdC5vbkNoYW5nZSgodmFsdWUpID0+IGljb24gPSB2YWx1ZSlcclxuXHRcdFx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XHRcdFx0LmFkZEJ1dHRvbigoYnV0dG9uKSA9PiBidXR0b24uc2V0SWNvbihcInNhdmVcIikub25DbGljayhcclxuXHRcdFx0XHRcdFx0XHRcdGFzeW5jICgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHRpdGxlLmxlbmd0aCAhPT0gMCAmJiBwYXRoLmxlbmd0aCAhPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGF3YWl0IHRoaXMucGx1Z2luLmFkZFBpbm5lZE5vdGUobmV3IFBpbm5lZE5vdGUodGl0bGUsIHBhdGgsIGljb24pKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlzQ2FuQmVBZGRlZE5ld05vdGUgPSB0cnVlXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5kaXNwbGF5KClcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRuZXcgTm90aWNlKFwiUHJvdmlkZSB0aXRsZSBhbmQgcGF0aFwiKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0KSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpXHJcblx0XHRcdH0pXHJcblxyXG5cdFx0dGhpcy5wbHVnaW4uc2V0dGluZ3MucGlubmVkTm90ZXMuZm9yRWFjaCgobm90ZSwgaW5kZXgpID0+IHtcclxuXHRcdFx0bmV3IFNldHRpbmcoY29udGFpbmVyRWwpXHJcblx0XHRcdFx0LnNldE5hbWUoXCJGaWxlIFwiICsgKGluZGV4ICsgMSkpXHJcblx0XHRcdFx0LmFkZFRleHQoKHRleHQpID0+IHRleHRcclxuXHRcdFx0XHRcdC5zZXRQbGFjZWhvbGRlcihcIlRpdGxlXCIpXHJcblx0XHRcdFx0XHQuc2V0VmFsdWUobm90ZS50aXRsZSlcclxuXHRcdFx0XHRcdC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcclxuXHRcdFx0XHRcdFx0Y2hhbmdlZFRpdGxlID0gdmFsdWU7XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdClcclxuXHRcdFx0XHQuYWRkVGV4dCgodGV4dCkgPT4ge1xyXG5cdFx0XHRcdFx0bmV3IEZpbGVTdWdnZXN0KHRoaXMuYXBwLCB0ZXh0LmlucHV0RWwpXHJcblx0XHRcdFx0XHR0ZXh0XHJcblx0XHRcdFx0XHRcdC5zZXRQbGFjZWhvbGRlcihcIlBhdGhcIilcclxuXHRcdFx0XHRcdFx0LnNldFZhbHVlKG5vdGUucGF0aClcclxuXHRcdFx0XHRcdFx0Lm9uQ2hhbmdlKGFzeW5jICh2YWx1ZSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGNoYW5nZWRQYXRoID0gdmFsdWU7XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0KVxyXG5cdFx0XHRcdC5hZGRUZXh0KCh0ZXh0KSA9PiB0ZXh0XHJcblx0XHRcdFx0XHQuc2V0UGxhY2Vob2xkZXIoXCJJY29uKG9wdGlvbmFsKVwiKVxyXG5cdFx0XHRcdFx0LnNldFZhbHVlKG5vdGUuaWNvbilcclxuXHRcdFx0XHRcdC5vbkNoYW5nZShhc3luYyAodmFsdWUpID0+IHtcclxuXHRcdFx0XHRcdFx0Y2hhbmdlZEljb24gPSB2YWx1ZTtcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0KVxyXG5cdFx0XHRcdC5hZGRCdXR0b24oKGJ1dHRvbikgPT4gYnV0dG9uLnNldEljb24oXCJzYXZlXCIpLm9uQ2xpY2soXHJcblx0XHRcdFx0XHRhc3luYyAoKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChcclxuXHRcdFx0XHRcdFx0XHQoY2hhbmdlZFRpdGxlID09PSB1bmRlZmluZWQgfHwgY2hhbmdlZFRpdGxlID09PSBub3RlLnRpdGxlKSAmJlxyXG5cdFx0XHRcdFx0XHRcdChjaGFuZ2VkUGF0aCA9PT0gdW5kZWZpbmVkIHx8IGNoYW5nZWRQYXRoID09PSBub3RlLnBhdGgpICYmXHJcblx0XHRcdFx0XHRcdFx0KGNoYW5nZWRJY29uID09PSB1bmRlZmluZWQgfHwgY2hhbmdlZEljb24gPT09IG5vdGUuaWNvbilcclxuXHRcdFx0XHRcdFx0KSB7XHJcblx0XHRcdFx0XHRcdFx0bmV3IE5vdGljZShcIlByb3ZpZGUgYW55IGRhdGFcIilcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYgKGNoYW5nZWRUaXRsZSAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdFx0XHRcdFx0aWYgKGNoYW5nZWRUaXRsZS5sZW5ndGggIT09IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdG5vdGUudGl0bGUgPSBjaGFuZ2VkVGl0bGVcclxuXHRcdFx0XHRcdFx0XHRcdGNoYW5nZWRUaXRsZSA9IHVuZGVmaW5lZFxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRlbHNlIG5ldyBOb3RpY2UoXCJQcm92aWRlIHRpdGxlXCIpXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYgKGNoYW5nZWRQYXRoICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRcdFx0XHRpZiAoY2hhbmdlZFBhdGgubGVuZ3RoICE9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRub3RlLnBhdGggPSBjaGFuZ2VkUGF0aFxyXG5cdFx0XHRcdFx0XHRcdFx0Y2hhbmdlZFBhdGggPSB1bmRlZmluZWRcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0ZWxzZSBuZXcgTm90aWNlKFwiUHJvdmlkZSBwYXRoXCIpXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYgKGNoYW5nZWRJY29uICE9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0XHRcdFx0XHRub3RlLmljb24gPSBjaGFuZ2VkSWNvblxyXG5cdFx0XHRcdFx0XHRcdGNoYW5nZWRJY29uID0gdW5kZWZpbmVkXHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncygpXHJcblx0XHRcdFx0XHRcdGF3YWl0IHRoaXMucGx1Z2luLmxvYWRTZXR0aW5ncygpXHJcblx0XHRcdFx0XHRcdHRoaXMuZGlzcGxheSgpXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdClcclxuXHRcdFx0XHQuYWRkQnV0dG9uKChidXR0b24pID0+IGJ1dHRvbi5zZXRJY29uKFwidHJhc2gtMlwiKS5zZXRXYXJuaW5nKCkub25DbGljayhcclxuXHRcdFx0XHRcdGFzeW5jICgpID0+IHtcclxuXHRcdFx0XHRcdFx0YXdhaXQgdGhpcy5wbHVnaW4ucmVtb3ZlUGlubmVkTm90ZShub3RlLmlkKTtcclxuXHRcdFx0XHRcdFx0dGhpcy5kaXNwbGF5KClcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQpKVxyXG5cdFx0fSlcclxuXHR9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBGaWxlU3VnZ2VzdCBleHRlbmRzIEFic3RyYWN0SW5wdXRTdWdnZXN0PFRGaWxlPiB7XHJcblx0dGV4dElucHV0RWw6IEhUTUxJbnB1dEVsZW1lbnQ7XHJcblxyXG5cdGdldFN1Z2dlc3Rpb25zKGlucHV0U3RyOiBzdHJpbmcpOiBURmlsZVtdIHtcclxuXHRcdGNvbnN0IGFic3RyYWN0RmlsZXMgPSB0aGlzLmFwcC52YXVsdC5nZXRBbGxMb2FkZWRGaWxlcygpO1xyXG5cdFx0Y29uc3QgZmlsZXM6IFRGaWxlW10gPSBbXTtcclxuXHRcdGNvbnN0IGlucHV0TG93ZXIgPSBpbnB1dFN0ci50b0xvd2VyQ2FzZSgpO1xyXG5cclxuXHRcdGFic3RyYWN0RmlsZXMuZm9yRWFjaCgoZmlsZTogVEFic3RyYWN0RmlsZSkgPT4ge1xyXG5cdFx0XHRpZiAoXHJcblx0XHRcdFx0ZmlsZSBpbnN0YW5jZW9mIFRGaWxlICYmIFtcIm1kXCIsIFwiY2FudmFzXCJdLmNvbnRhaW5zKGZpbGUuZXh0ZW5zaW9uKSAmJlxyXG5cdFx0XHRcdGZpbGUucGF0aC50b0xvd2VyQ2FzZSgpLmNvbnRhaW5zKGlucHV0TG93ZXIpXHJcblx0XHRcdCkge1xyXG5cdFx0XHRcdGZpbGVzLnB1c2goZmlsZSk7XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdFx0cmV0dXJuIGZpbGVzO1xyXG5cdH1cclxuXHJcblx0cmVuZGVyU3VnZ2VzdGlvbihmaWxlOiBURmlsZSwgZWw6IEhUTUxFbGVtZW50KSB7XHJcblx0XHRpZiAoZmlsZS5leHRlbnNpb24gPT0gXCJtZFwiKSB7XHJcblx0XHRcdGVsLnNldFRleHQodHJpbUZpbGUoZmlsZSkpO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcblx0XHRcdC8vd2UgZG9uJ3QgdXNlIHRyaW1GaWxlIGhlcmUgYXMgdGhlIGV4dGVuc2lvbiBpc24ndCBkaXNwbGF5ZWQgaGVyZVxyXG5cdFx0XHRlbC5zZXRUZXh0KGZpbGUucGF0aC5zbGljZSgwLCAtNykpXHJcblx0XHRcdGVsLmluc2VydEFkamFjZW50SFRNTChcclxuXHRcdFx0XHRcImJlZm9yZWVuZFwiLFxyXG5cdFx0XHRcdGA8ZGl2IGNsYXNzPVwibmF2LWZpbGUtdGFnXCIgc3R5bGU9XCJkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGVcIj5jYW52YXM8L2Rpdj5gXHJcblx0XHRcdCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzZWxlY3RTdWdnZXN0aW9uKGZpbGU6IFRGaWxlKSB7XHJcblx0XHR0aGlzLnRleHRJbnB1dEVsLnZhbHVlID0gdHJpbUZpbGUoZmlsZSk7XHJcblx0XHR0aGlzLnRleHRJbnB1dEVsLnRyaWdnZXIoXCJpbnB1dFwiKTtcclxuXHRcdHRoaXMuY2xvc2UoKTtcclxuXHR9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiB0cmltRmlsZShmaWxlOiBURmlsZSk6IHN0cmluZyB7XHJcblx0aWYgKCFmaWxlKSByZXR1cm4gXCJcIjtcclxuXHRyZXR1cm4gZmlsZS5leHRlbnNpb24gPT0gXCJtZFwiID8gZmlsZS5wYXRoLnNsaWNlKDAsIC0zKTogZmlsZS5wYXRoO1xyXG59XHJcbiIsICIvLyBVbmlxdWUgSUQgY3JlYXRpb24gcmVxdWlyZXMgYSBoaWdoIHF1YWxpdHkgcmFuZG9tICMgZ2VuZXJhdG9yLiBJbiB0aGUgYnJvd3NlciB3ZSB0aGVyZWZvcmVcbi8vIHJlcXVpcmUgdGhlIGNyeXB0byBBUEkgYW5kIGRvIG5vdCBzdXBwb3J0IGJ1aWx0LWluIGZhbGxiYWNrIHRvIGxvd2VyIHF1YWxpdHkgcmFuZG9tIG51bWJlclxuLy8gZ2VuZXJhdG9ycyAobGlrZSBNYXRoLnJhbmRvbSgpKS5cbmxldCBnZXRSYW5kb21WYWx1ZXM7XG5jb25zdCBybmRzOCA9IG5ldyBVaW50OEFycmF5KDE2KTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHJuZygpIHtcbiAgLy8gbGF6eSBsb2FkIHNvIHRoYXQgZW52aXJvbm1lbnRzIHRoYXQgbmVlZCB0byBwb2x5ZmlsbCBoYXZlIGEgY2hhbmNlIHRvIGRvIHNvXG4gIGlmICghZ2V0UmFuZG9tVmFsdWVzKSB7XG4gICAgLy8gZ2V0UmFuZG9tVmFsdWVzIG5lZWRzIHRvIGJlIGludm9rZWQgaW4gYSBjb250ZXh0IHdoZXJlIFwidGhpc1wiIGlzIGEgQ3J5cHRvIGltcGxlbWVudGF0aW9uLlxuICAgIGdldFJhbmRvbVZhbHVlcyA9IHR5cGVvZiBjcnlwdG8gIT09ICd1bmRlZmluZWQnICYmIGNyeXB0by5nZXRSYW5kb21WYWx1ZXMgJiYgY3J5cHRvLmdldFJhbmRvbVZhbHVlcy5iaW5kKGNyeXB0byk7XG5cbiAgICBpZiAoIWdldFJhbmRvbVZhbHVlcykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKCkgbm90IHN1cHBvcnRlZC4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS91dWlkanMvdXVpZCNnZXRyYW5kb212YWx1ZXMtbm90LXN1cHBvcnRlZCcpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBnZXRSYW5kb21WYWx1ZXMocm5kczgpO1xufSIsICJpbXBvcnQgdmFsaWRhdGUgZnJvbSAnLi92YWxpZGF0ZS5qcyc7XG4vKipcbiAqIENvbnZlcnQgYXJyYXkgb2YgMTYgYnl0ZSB2YWx1ZXMgdG8gVVVJRCBzdHJpbmcgZm9ybWF0IG9mIHRoZSBmb3JtOlxuICogWFhYWFhYWFgtWFhYWC1YWFhYLVhYWFgtWFhYWFhYWFhYWFhYXG4gKi9cblxuY29uc3QgYnl0ZVRvSGV4ID0gW107XG5cbmZvciAobGV0IGkgPSAwOyBpIDwgMjU2OyArK2kpIHtcbiAgYnl0ZVRvSGV4LnB1c2goKGkgKyAweDEwMCkudG9TdHJpbmcoMTYpLnNsaWNlKDEpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuc2FmZVN0cmluZ2lmeShhcnIsIG9mZnNldCA9IDApIHtcbiAgLy8gTm90ZTogQmUgY2FyZWZ1bCBlZGl0aW5nIHRoaXMgY29kZSEgIEl0J3MgYmVlbiB0dW5lZCBmb3IgcGVyZm9ybWFuY2VcbiAgLy8gYW5kIHdvcmtzIGluIHdheXMgeW91IG1heSBub3QgZXhwZWN0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3V1aWRqcy91dWlkL3B1bGwvNDM0XG4gIHJldHVybiBieXRlVG9IZXhbYXJyW29mZnNldCArIDBdXSArIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMV1dICsgYnl0ZVRvSGV4W2FycltvZmZzZXQgKyAyXV0gKyBieXRlVG9IZXhbYXJyW29mZnNldCArIDNdXSArICctJyArIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgNF1dICsgYnl0ZVRvSGV4W2FycltvZmZzZXQgKyA1XV0gKyAnLScgKyBieXRlVG9IZXhbYXJyW29mZnNldCArIDZdXSArIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgN11dICsgJy0nICsgYnl0ZVRvSGV4W2FycltvZmZzZXQgKyA4XV0gKyBieXRlVG9IZXhbYXJyW29mZnNldCArIDldXSArICctJyArIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTBdXSArIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTFdXSArIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTJdXSArIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTNdXSArIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTRdXSArIGJ5dGVUb0hleFthcnJbb2Zmc2V0ICsgMTVdXTtcbn1cblxuZnVuY3Rpb24gc3RyaW5naWZ5KGFyciwgb2Zmc2V0ID0gMCkge1xuICBjb25zdCB1dWlkID0gdW5zYWZlU3RyaW5naWZ5KGFyciwgb2Zmc2V0KTsgLy8gQ29uc2lzdGVuY3kgY2hlY2sgZm9yIHZhbGlkIFVVSUQuICBJZiB0aGlzIHRocm93cywgaXQncyBsaWtlbHkgZHVlIHRvIG9uZVxuICAvLyBvZiB0aGUgZm9sbG93aW5nOlxuICAvLyAtIE9uZSBvciBtb3JlIGlucHV0IGFycmF5IHZhbHVlcyBkb24ndCBtYXAgdG8gYSBoZXggb2N0ZXQgKGxlYWRpbmcgdG9cbiAgLy8gXCJ1bmRlZmluZWRcIiBpbiB0aGUgdXVpZClcbiAgLy8gLSBJbnZhbGlkIGlucHV0IHZhbHVlcyBmb3IgdGhlIFJGQyBgdmVyc2lvbmAgb3IgYHZhcmlhbnRgIGZpZWxkc1xuXG4gIGlmICghdmFsaWRhdGUodXVpZCkpIHtcbiAgICB0aHJvdyBUeXBlRXJyb3IoJ1N0cmluZ2lmaWVkIFVVSUQgaXMgaW52YWxpZCcpO1xuICB9XG5cbiAgcmV0dXJuIHV1aWQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHN0cmluZ2lmeTsiLCAiY29uc3QgcmFuZG9tVVVJRCA9IHR5cGVvZiBjcnlwdG8gIT09ICd1bmRlZmluZWQnICYmIGNyeXB0by5yYW5kb21VVUlEICYmIGNyeXB0by5yYW5kb21VVUlELmJpbmQoY3J5cHRvKTtcbmV4cG9ydCBkZWZhdWx0IHtcbiAgcmFuZG9tVVVJRFxufTsiLCAiaW1wb3J0IG5hdGl2ZSBmcm9tICcuL25hdGl2ZS5qcyc7XG5pbXBvcnQgcm5nIGZyb20gJy4vcm5nLmpzJztcbmltcG9ydCB7IHVuc2FmZVN0cmluZ2lmeSB9IGZyb20gJy4vc3RyaW5naWZ5LmpzJztcblxuZnVuY3Rpb24gdjQob3B0aW9ucywgYnVmLCBvZmZzZXQpIHtcbiAgaWYgKG5hdGl2ZS5yYW5kb21VVUlEICYmICFidWYgJiYgIW9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmF0aXZlLnJhbmRvbVVVSUQoKTtcbiAgfVxuXG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICBjb25zdCBybmRzID0gb3B0aW9ucy5yYW5kb20gfHwgKG9wdGlvbnMucm5nIHx8IHJuZykoKTsgLy8gUGVyIDQuNCwgc2V0IGJpdHMgZm9yIHZlcnNpb24gYW5kIGBjbG9ja19zZXFfaGlfYW5kX3Jlc2VydmVkYFxuXG4gIHJuZHNbNl0gPSBybmRzWzZdICYgMHgwZiB8IDB4NDA7XG4gIHJuZHNbOF0gPSBybmRzWzhdICYgMHgzZiB8IDB4ODA7IC8vIENvcHkgYnl0ZXMgdG8gYnVmZmVyLCBpZiBwcm92aWRlZFxuXG4gIGlmIChidWYpIHtcbiAgICBvZmZzZXQgPSBvZmZzZXQgfHwgMDtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7ICsraSkge1xuICAgICAgYnVmW29mZnNldCArIGldID0gcm5kc1tpXTtcbiAgICB9XG5cbiAgICByZXR1cm4gYnVmO1xuICB9XG5cbiAgcmV0dXJuIHVuc2FmZVN0cmluZ2lmeShybmRzKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgdjQ7Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxzQkFVTzs7O0FDUFAsSUFBSTtBQUNKLElBQU0sUUFBUSxJQUFJLFdBQVcsRUFBRTtBQUNoQixTQUFSLE1BQXVCO0FBRTVCLE1BQUksQ0FBQyxpQkFBaUI7QUFFcEIsc0JBQWtCLE9BQU8sV0FBVyxlQUFlLE9BQU8sbUJBQW1CLE9BQU8sZ0JBQWdCLEtBQUssTUFBTTtBQUUvRyxRQUFJLENBQUMsaUJBQWlCO0FBQ3BCLFlBQU0sSUFBSSxNQUFNLDBHQUEwRztBQUFBLElBQzVIO0FBQUEsRUFDRjtBQUVBLFNBQU8sZ0JBQWdCLEtBQUs7QUFDOUI7OztBQ1hBLElBQU0sWUFBWSxDQUFDO0FBRW5CLFNBQVMsSUFBSSxHQUFHLElBQUksS0FBSyxFQUFFLEdBQUc7QUFDNUIsWUFBVSxNQUFNLElBQUksS0FBTyxTQUFTLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNsRDtBQUVPLFNBQVMsZ0JBQWdCLEtBQUssU0FBUyxHQUFHO0FBRy9DLFNBQU8sVUFBVSxJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksVUFBVSxJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksVUFBVSxJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksVUFBVSxJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksTUFBTSxVQUFVLElBQUksU0FBUyxDQUFDLENBQUMsSUFBSSxVQUFVLElBQUksU0FBUyxDQUFDLENBQUMsSUFBSSxNQUFNLFVBQVUsSUFBSSxTQUFTLENBQUMsQ0FBQyxJQUFJLFVBQVUsSUFBSSxTQUFTLENBQUMsQ0FBQyxJQUFJLE1BQU0sVUFBVSxJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksVUFBVSxJQUFJLFNBQVMsQ0FBQyxDQUFDLElBQUksTUFBTSxVQUFVLElBQUksU0FBUyxFQUFFLENBQUMsSUFBSSxVQUFVLElBQUksU0FBUyxFQUFFLENBQUMsSUFBSSxVQUFVLElBQUksU0FBUyxFQUFFLENBQUMsSUFBSSxVQUFVLElBQUksU0FBUyxFQUFFLENBQUMsSUFBSSxVQUFVLElBQUksU0FBUyxFQUFFLENBQUMsSUFBSSxVQUFVLElBQUksU0FBUyxFQUFFLENBQUM7QUFDbmY7OztBQ2hCQSxJQUFNLGFBQWEsT0FBTyxXQUFXLGVBQWUsT0FBTyxjQUFjLE9BQU8sV0FBVyxLQUFLLE1BQU07QUFDdEcsSUFBTyxpQkFBUTtBQUFBLEVBQ2I7QUFDRjs7O0FDQ0EsU0FBUyxHQUFHLFNBQVMsS0FBSyxRQUFRO0FBQ2hDLE1BQUksZUFBTyxjQUFjLENBQUMsT0FBTyxDQUFDLFNBQVM7QUFDekMsV0FBTyxlQUFPLFdBQVc7QUFBQSxFQUMzQjtBQUVBLFlBQVUsV0FBVyxDQUFDO0FBQ3RCLFFBQU0sT0FBTyxRQUFRLFdBQVcsUUFBUSxPQUFPLEtBQUs7QUFFcEQsT0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksS0FBTztBQUMzQixPQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFPO0FBRTNCLE1BQUksS0FBSztBQUNQLGFBQVMsVUFBVTtBQUVuQixhQUFTLElBQUksR0FBRyxJQUFJLElBQUksRUFBRSxHQUFHO0FBQzNCLFVBQUksU0FBUyxDQUFDLElBQUksS0FBSyxDQUFDO0FBQUEsSUFDMUI7QUFFQSxXQUFPO0FBQUEsRUFDVDtBQUVBLFNBQU8sZ0JBQWdCLElBQUk7QUFDN0I7QUFFQSxJQUFPLGFBQVE7OztBSmZmLElBQU0sYUFBTixNQUFpQjtBQUFBLEVBT2hCLFlBQ0MsT0FDQSxNQUNBLE1BQ0M7QUFDRCxTQUFLLEtBQUssV0FBTztBQUNqQixTQUFLLE9BQU87QUFDWixTQUFLLE9BQU87QUFDWixTQUFLLFFBQVE7QUFBQSxFQUNkO0FBQ0Q7QUFNQSxJQUFNLG1CQUErQztBQUFBLEVBQ3BELGFBQWEsQ0FBQztBQUNmO0FBRUEsSUFBcUIsb0JBQXJCLGNBQStDLHVCQUFPO0FBQUEsRUFJckQsTUFBTSxTQUFTO0FBQ2QsVUFBTSxLQUFLLGFBQWE7QUFDeEIsU0FBSyxjQUFjLElBQUksV0FBVyxLQUFLLEtBQUssSUFBSSxDQUFDO0FBQUEsRUFDbEQ7QUFBQSxFQUVBLE1BQU0sY0FBYyxNQUFrQjtBQUNyQyxTQUFLLFNBQVMsWUFBWSxLQUFLLElBQUk7QUFDbkMsVUFBTSxLQUFLLGFBQWE7QUFDeEIsVUFBTSxLQUFLLGFBQWE7QUFBQSxFQUN6QjtBQUFBLEVBRUEsTUFBTSxpQkFBaUIsUUFBZ0I7QUFDdEMsVUFBTSxZQUFZLEtBQUssU0FBUyxZQUFZLFVBQVUsQ0FBQyxTQUFTLEtBQUssT0FBTyxNQUFNO0FBQ2xGLFdBQU8sS0FBSyxTQUFTLFlBQVksU0FBUztBQUMxQyxTQUFLLFNBQVMsWUFBWSxPQUFPLFdBQVcsQ0FBQztBQUM3QyxVQUFNLEtBQUssYUFBYTtBQUN4QixVQUFNLEtBQUssYUFBYTtBQUFBLEVBQ3pCO0FBQUEsRUFHQSxNQUFNLGVBQWU7QUFoRXRCO0FBaUVFLFNBQUssV0FBVyxPQUFPLE9BQU8sQ0FBQyxHQUFHLGtCQUFrQixNQUFNLEtBQUssU0FBUyxDQUFDO0FBQ3pFLGVBQUssZ0JBQUwsbUJBQWtCLFFBQVEsQ0FBQyxZQUFZLFVBQVU7QUFDaEQsaUJBQVcsT0FBTztBQUNsQixhQUFPLEtBQUssWUFBWSxLQUFLO0FBQUEsSUFDOUI7QUFDQSxTQUFLLGNBQWMsS0FBSyxTQUFTLFlBQVk7QUFBQSxNQUFJLENBQUMsU0FDakQsS0FBSztBQUFBLFFBQ0osS0FBSyxTQUFTLEtBQUssU0FBUyxLQUFLO0FBQUEsUUFDakMsS0FBSztBQUFBLFFBQ0wsT0FBTyxNQUFNO0FBQ1osZ0JBQU0sS0FBSyxJQUFJLFVBQVUsYUFBYSxLQUFLLE1BQU0sRUFBRTtBQUFBLFFBQ3BEO0FBQUEsTUFDRDtBQUFBLElBQ0Q7QUFBQSxFQUNEO0FBQUEsRUFFQSxNQUFNLGVBQWU7QUFDcEIsVUFBTSxLQUFLLFNBQVMsS0FBSyxRQUFRO0FBQUEsRUFDbEM7QUFDRDtBQUVBLElBQU0sYUFBTixjQUF5QixpQ0FBaUI7QUFBQSxFQUd6QyxZQUFZLEtBQVUsUUFBMkI7QUFDaEQsVUFBTSxLQUFLLE1BQU07QUFDakIsU0FBSyxTQUFTO0FBQUEsRUFDZjtBQUFBLEVBRUEsVUFBVTtBQUNULFVBQU0sRUFBQyxZQUFXLElBQUk7QUFDdEIsZ0JBQVksTUFBTTtBQUNsQixRQUFJLHNCQUFzQjtBQUMxQixRQUFJLFFBQVE7QUFDWixRQUFJLE9BQU87QUFDWCxRQUFJLE9BQWlCO0FBQ3JCLFFBQUk7QUFDSixRQUFJO0FBQ0osUUFBSTtBQUNKLFVBQU0sZ0JBQWdCLElBQUksd0JBQVEsV0FBVyxFQUMzQyxRQUFRLGlCQUFpQixFQUN6QixRQUFRLHFPQUF1TztBQUNqUCwyQkFBdUIsY0FDckIsVUFBVSxDQUFDLFdBQVc7QUFDdEIsYUFBTyxRQUFRLE1BQU0sRUFBRTtBQUFBLFFBQ3RCLE1BQU07QUFDTCxnQ0FBc0I7QUFDdEIsZUFBSyxRQUFRO0FBQ2IsY0FBSSx3QkFBUSxXQUFXLEVBQ3JCLFFBQVEsTUFBTSxFQUNkO0FBQUEsWUFBUSxDQUFDLFNBQVMsS0FDakIsZUFBZSxPQUFPLEVBQ3RCLFNBQVMsQ0FBQyxVQUFVLFFBQVEsS0FBSztBQUFBLFVBQ25DLEVBQ0M7QUFBQSxZQUFRLENBQUMsU0FBUztBQUNsQixrQkFBSSxZQUFZLEtBQUssS0FBSyxLQUFLLE9BQU87QUFDckMsbUJBQ0UsZUFBZSxNQUFNLEVBQ3JCLFNBQVMsQ0FBQyxVQUFVLE9BQU8sS0FBSztBQUFBLFlBQ25DO0FBQUEsVUFDRCxFQUNDO0FBQUEsWUFBUSxDQUFDLFNBQVMsS0FDakIsZUFBZSxnQkFBZ0IsRUFDL0IsU0FBUyxDQUFDLFVBQVUsT0FBTyxLQUFLO0FBQUEsVUFDbEMsRUFDQyxVQUFVLENBQUNBLFlBQVdBLFFBQU8sUUFBUSxNQUFNLEVBQUU7QUFBQSxZQUM3QyxZQUFZO0FBQ1gsa0JBQUksTUFBTSxXQUFXLEtBQUssS0FBSyxXQUFXLEdBQUc7QUFDNUMsc0JBQU0sS0FBSyxPQUFPLGNBQWMsSUFBSSxXQUFXLE9BQU8sTUFBTSxJQUFJLENBQUM7QUFDakUsc0NBQXNCO0FBQ3RCLHFCQUFLLFFBQVE7QUFBQSxjQUNkLE9BQ0s7QUFDSixvQkFBSSx1QkFBTyx3QkFBd0I7QUFBQSxjQUNwQztBQUFBLFlBQ0Q7QUFBQSxVQUNELENBQUM7QUFBQSxRQUNIO0FBQUEsTUFDRDtBQUFBLElBQ0QsQ0FBQztBQUVGLFNBQUssT0FBTyxTQUFTLFlBQVksUUFBUSxDQUFDLE1BQU0sVUFBVTtBQUN6RCxVQUFJLHdCQUFRLFdBQVcsRUFDckIsUUFBUSxXQUFXLFFBQVEsRUFBRSxFQUM3QjtBQUFBLFFBQVEsQ0FBQyxTQUFTLEtBQ2pCLGVBQWUsT0FBTyxFQUN0QixTQUFTLEtBQUssS0FBSyxFQUNuQixTQUFTLE9BQU8sVUFBVTtBQUMxQix5QkFBZTtBQUFBLFFBQ2hCLENBQUM7QUFBQSxNQUNGLEVBQ0M7QUFBQSxRQUFRLENBQUMsU0FBUztBQUNsQixjQUFJLFlBQVksS0FBSyxLQUFLLEtBQUssT0FBTztBQUN0QyxlQUNFLGVBQWUsTUFBTSxFQUNyQixTQUFTLEtBQUssSUFBSSxFQUNsQixTQUFTLE9BQU8sVUFBVTtBQUMxQiwwQkFBYztBQUFBLFVBQ2YsQ0FBQztBQUFBLFFBQ0Y7QUFBQSxNQUNELEVBQ0M7QUFBQSxRQUFRLENBQUMsU0FBUyxLQUNqQixlQUFlLGdCQUFnQixFQUMvQixTQUFTLEtBQUssSUFBSSxFQUNsQixTQUFTLE9BQU8sVUFBVTtBQUMxQix3QkFBYztBQUFBLFFBQ2YsQ0FBQztBQUFBLE1BQ0YsRUFDQztBQUFBLFFBQVUsQ0FBQyxXQUFXLE9BQU8sUUFBUSxNQUFNLEVBQUU7QUFBQSxVQUM3QyxZQUFZO0FBQ1gsaUJBQ0UsaUJBQWlCLFVBQWEsaUJBQWlCLEtBQUssV0FDcEQsZ0JBQWdCLFVBQWEsZ0JBQWdCLEtBQUssVUFDbEQsZ0JBQWdCLFVBQWEsZ0JBQWdCLEtBQUssT0FDbEQ7QUFDRCxrQkFBSSx1QkFBTyxrQkFBa0I7QUFDN0I7QUFBQSxZQUNEO0FBQ0EsZ0JBQUksaUJBQWlCLFFBQVc7QUFDL0Isa0JBQUksYUFBYSxXQUFXLEdBQUc7QUFDOUIscUJBQUssUUFBUTtBQUNiLCtCQUFlO0FBQUEsY0FDaEI7QUFDSyxvQkFBSSx1QkFBTyxlQUFlO0FBQUEsWUFDaEM7QUFDQSxnQkFBSSxnQkFBZ0IsUUFBVztBQUM5QixrQkFBSSxZQUFZLFdBQVcsR0FBRztBQUM3QixxQkFBSyxPQUFPO0FBQ1osOEJBQWM7QUFBQSxjQUNmO0FBQ0ssb0JBQUksdUJBQU8sY0FBYztBQUFBLFlBQy9CO0FBQ0EsZ0JBQUksZ0JBQWdCLFFBQVc7QUFDOUIsbUJBQUssT0FBTztBQUNaLDRCQUFjO0FBQUEsWUFDZjtBQUVBLGtCQUFNLEtBQUssT0FBTyxhQUFhO0FBQy9CLGtCQUFNLEtBQUssT0FBTyxhQUFhO0FBQy9CLGlCQUFLLFFBQVE7QUFBQSxVQUNkO0FBQUEsUUFBQztBQUFBLE1BQ0YsRUFDQyxVQUFVLENBQUMsV0FBVyxPQUFPLFFBQVEsU0FBUyxFQUFFLFdBQVcsRUFBRTtBQUFBLFFBQzdELFlBQVk7QUFDWCxnQkFBTSxLQUFLLE9BQU8saUJBQWlCLEtBQUssRUFBRTtBQUMxQyxlQUFLLFFBQVE7QUFBQSxRQUNkO0FBQUEsTUFDRCxDQUFDO0FBQUEsSUFDSCxDQUFDO0FBQUEsRUFDRjtBQUNEO0FBRU8sSUFBTSxjQUFOLGNBQTBCLHFDQUE0QjtBQUFBLEVBRzVELGVBQWUsVUFBMkI7QUFDekMsVUFBTSxnQkFBZ0IsS0FBSyxJQUFJLE1BQU0sa0JBQWtCO0FBQ3ZELFVBQU0sUUFBaUIsQ0FBQztBQUN4QixVQUFNLGFBQWEsU0FBUyxZQUFZO0FBRXhDLGtCQUFjLFFBQVEsQ0FBQyxTQUF3QjtBQUM5QyxVQUNDLGdCQUFnQix5QkFBUyxDQUFDLE1BQU0sUUFBUSxFQUFFLFNBQVMsS0FBSyxTQUFTLEtBQ2pFLEtBQUssS0FBSyxZQUFZLEVBQUUsU0FBUyxVQUFVLEdBQzFDO0FBQ0QsY0FBTSxLQUFLLElBQUk7QUFBQSxNQUNoQjtBQUFBLElBQ0QsQ0FBQztBQUNELFdBQU87QUFBQSxFQUNSO0FBQUEsRUFFQSxpQkFBaUIsTUFBYSxJQUFpQjtBQUM5QyxRQUFJLEtBQUssYUFBYSxNQUFNO0FBQzNCLFNBQUcsUUFBUSxTQUFTLElBQUksQ0FBQztBQUFBLElBQzFCLE9BQ0s7QUFFSixTQUFHLFFBQVEsS0FBSyxLQUFLLE1BQU0sR0FBRyxFQUFFLENBQUM7QUFDakMsU0FBRztBQUFBLFFBQ0Y7QUFBQSxRQUNBO0FBQUEsTUFDRDtBQUFBLElBQ0Q7QUFBQSxFQUNEO0FBQUEsRUFFQSxpQkFBaUIsTUFBYTtBQUM3QixTQUFLLFlBQVksUUFBUSxTQUFTLElBQUk7QUFDdEMsU0FBSyxZQUFZLFFBQVEsT0FBTztBQUNoQyxTQUFLLE1BQU07QUFBQSxFQUNaO0FBQ0Q7QUFFTyxTQUFTLFNBQVMsTUFBcUI7QUFDN0MsTUFBSSxDQUFDO0FBQU0sV0FBTztBQUNsQixTQUFPLEtBQUssYUFBYSxPQUFPLEtBQUssS0FBSyxNQUFNLEdBQUcsRUFBRSxJQUFHLEtBQUs7QUFDOUQ7IiwKICAibmFtZXMiOiBbImJ1dHRvbiJdCn0K
diff --git a/Edikoyo/.obsidian/plugins/pinned-notes/manifest.json b/Edikoyo/.obsidian/plugins/pinned-notes/manifest.json
new file mode 100644
index 0000000..692321b
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/pinned-notes/manifest.json
@@ -0,0 +1,11 @@
+{
+	"id": "pinned-notes",
+	"name": "Pinned Notes",
+	"version": "2.0.3",
+	"minAppVersion": "0.15.0",
+	"description": "Pin frequently-used notes on Ribbon actions",
+	"author": "vasilcoin002",
+	"authorUrl": "https://github.com/vasilcoin002",
+	"fundingUrl": "https://buymeacoffee.com/vasilcoin002",
+	"isDesktopOnly": true
+}
diff --git a/Edikoyo/.obsidian/plugins/ribbon-divider/data.json b/Edikoyo/.obsidian/plugins/ribbon-divider/data.json
new file mode 100644
index 0000000..41b16ea
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/ribbon-divider/data.json
@@ -0,0 +1,7 @@
+{
+  "dividers": {
+    "698b2a69-a92b-4b1b-bf0f-d93bf98733ef": {
+      "id": "698b2a69-a92b-4b1b-bf0f-d93bf98733ef"
+    }
+  }
+}
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/plugins/ribbon-divider/main.js b/Edikoyo/.obsidian/plugins/ribbon-divider/main.js
new file mode 100644
index 0000000..8e2a807
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/ribbon-divider/main.js
@@ -0,0 +1,175 @@
+/*
+THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
+if you want to view the source, please visit the github repository of this plugin
+*/
+
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+  for (var name in all)
+    __defProp(target, name, { get: all[name], enumerable: !0 });
+}, __copyProps = (to, from, except, desc) => {
+  if (from && typeof from == "object" || typeof from == "function")
+    for (let key of __getOwnPropNames(from))
+      !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+  return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
+
+// main.ts
+var main_exports = {};
+__export(main_exports, {
+  default: () => DividerPlugin
+});
+module.exports = __toCommonJS(main_exports);
+var import_obsidian = require("obsidian");
+
+// node_modules/uuid/dist/esm-browser/rng.js
+var getRandomValues, rnds8 = new Uint8Array(16);
+function rng() {
+  if (!getRandomValues && (getRandomValues = typeof crypto != "undefined" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !getRandomValues))
+    throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
+  return getRandomValues(rnds8);
+}
+
+// node_modules/uuid/dist/esm-browser/stringify.js
+var byteToHex = [];
+for (let i = 0; i < 256; ++i)
+  byteToHex.push((i + 256).toString(16).slice(1));
+function unsafeStringify(arr, offset = 0) {
+  return byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]];
+}
+
+// node_modules/uuid/dist/esm-browser/native.js
+var randomUUID = typeof crypto != "undefined" && crypto.randomUUID && crypto.randomUUID.bind(crypto), native_default = {
+  randomUUID
+};
+
+// node_modules/uuid/dist/esm-browser/v4.js
+function v4(options, buf, offset) {
+  if (native_default.randomUUID && !buf && !options)
+    return native_default.randomUUID();
+  options = options || {};
+  let rnds = options.random || (options.rng || rng)();
+  if (rnds[6] = rnds[6] & 15 | 64, rnds[8] = rnds[8] & 63 | 128, buf) {
+    offset = offset || 0;
+    for (let i = 0; i < 16; ++i)
+      buf[offset + i] = rnds[i];
+    return buf;
+  }
+  return unsafeStringify(rnds);
+}
+var v4_default = v4;
+
+// main.ts
+var DEFAULT_SETTINGS = {
+  dividers: {}
+}, DividerPlugin = class extends import_obsidian.Plugin {
+  constructor() {
+    super(...arguments);
+    this.dividerElements = {};
+  }
+  async onload() {
+    await this.loadSettings(), this.versionCheck(), Object.keys(this.settings.dividers).forEach((dividerId) => {
+      let divider = this.settings.dividers[dividerId];
+      this.renderDivider(divider);
+    }), this.addSettingTab(new DividerSettingTab(this.app, this));
+  }
+  onunload() {
+  }
+  /**
+   * Load data from disk, stored in data.json in plugin folder
+   */
+  async loadSettings() {
+    let data = await this.loadData() || {};
+    this.settings = Object.assign({}, DEFAULT_SETTINGS, data), this.settings.dividers || (this.settings.dividers = {});
+  }
+  /**
+   * Save data to disk, stored in data.json in plugin folder
+   */
+  async saveSettings() {
+    await this.saveData(this.settings);
+  }
+  /**
+   * Check the local plugin version against github. If there is a new version, notify the user.
+   */
+  async versionCheck() {
+    let localVersion = "1.1.1", stableVersion = await (0, import_obsidian.requestUrl)(
+      "https://raw.githubusercontent.com/andrewmcgivery/obsidian-ribbon-divider/main/package.json"
+    ).then(async (res) => {
+      if (res.status === 200)
+        return (await res.json).version;
+    }), betaVersion = await (0, import_obsidian.requestUrl)(
+      "https://raw.githubusercontent.com/andrewmcgivery/obsidian-ribbon-divider/beta/package.json"
+    ).then(async (res) => {
+      if (res.status === 200)
+        return (await res.json).version;
+    });
+    (localVersion == null ? void 0 : localVersion.indexOf("beta")) !== -1 ? localVersion !== betaVersion && new import_obsidian.Notice(
+      "There is a beta update available for the Ribbon Divider plugin. Please update to to the latest version to get the latest features!",
+      0
+    ) : localVersion !== stableVersion && new import_obsidian.Notice(
+      "There is an update available for the Ribbon Divider plugin. Please update to to the latest version to get the latest features!",
+      0
+    );
+  }
+  /**
+   * Renders a divider on the ribbon. The HTMLElement is saved to this.dividerElemenets so we can remove it if the
+   * user deletes it from the settings screen.
+   * @param divider
+   */
+  async renderDivider(divider) {
+    if (document.body.hasClass("is-phone"))
+      return;
+    let dividerIconEl = this.addRibbonIcon(
+      "",
+      `ribbon-divider-${divider.id}`,
+      (evt) => {
+      }
+    );
+    dividerIconEl.addClass("ribbon-divider"), dividerIconEl.addClass(`ribbon-divider-${divider.id}`), this.dividerElements[divider.id] = dividerIconEl;
+  }
+  /**
+   * Add a new divider and render it
+   * @param divider
+   */
+  async addDivider(divider) {
+    this.renderDivider(divider), this.settings.dividers[divider.id] = divider, await this.saveSettings();
+  }
+  /**
+   * Remove an existing divider, both from settings, and from the UI by calling remove() on the saved HTMLElement
+   * @param dividerId
+   */
+  async removeDivider(dividerId) {
+    delete this.settings.dividers[dividerId], this.saveSettings(), this.dividerElements[dividerId] && (this.dividerElements[dividerId].remove(), delete this.dividerElements[dividerId]);
+  }
+}, DividerSettingTab = class extends import_obsidian.PluginSettingTab {
+  constructor(app, plugin) {
+    super(app, plugin);
+    this.plugin = plugin;
+  }
+  display() {
+    let { containerEl } = this;
+    containerEl.empty(), containerEl.createEl("p", {
+      attr: {
+        style: "display: block; margin-bottom: 5px"
+      },
+      text: 'Use this settings screen to add/update dividers to your ribbon. Clicking "New Divider" below will immediately add the divider.'
+    }), containerEl.createEl("hr");
+    let dividersContainerEl = containerEl.createDiv("dividers-container");
+    Object.keys(this.plugin.settings.dividers).forEach((dividerId) => {
+      let divider = this.plugin.settings.dividers[dividerId];
+      new import_obsidian.Setting(dividersContainerEl).setName("Divider").setDesc(`Id: ${divider.id}`).addButton((button) => {
+        button.setButtonText("Delete").onClick(async () => {
+          await this.plugin.removeDivider(divider.id), this.display();
+        });
+      });
+    }), containerEl.createEl("button", { text: "New divider", cls: "mod-cta" }).addEventListener("click", () => {
+      this.plugin.addDivider({
+        id: v4_default()
+      }), this.display();
+    });
+  }
+};
diff --git a/Edikoyo/.obsidian/plugins/ribbon-divider/manifest.json b/Edikoyo/.obsidian/plugins/ribbon-divider/manifest.json
new file mode 100644
index 0000000..6e32f5e
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/ribbon-divider/manifest.json
@@ -0,0 +1,11 @@
+{
+	"id": "ribbon-divider",
+	"name": "Ribbon Divider",
+	"version": "1.1.1",
+	"minAppVersion": "0.15.0",
+	"description": "Allows you to add dividers to the ribbon to space out your icons.",
+	"author": "Andrew McGivery",
+	"authorUrl": "https://github.com/andrewmcgivery",
+	"fundingUrl": "https://www.buymeacoffee.com/andrewmcgivery",
+	"isDesktopOnly": false
+}
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/plugins/ribbon-divider/styles.css b/Edikoyo/.obsidian/plugins/ribbon-divider/styles.css
new file mode 100644
index 0000000..9b86b4a
--- /dev/null
+++ b/Edikoyo/.obsidian/plugins/ribbon-divider/styles.css
@@ -0,0 +1,17 @@
+/* styles.scss */
+.side-dock-actions .side-dock-ribbon-action.ribbon-divider {
+  height: 1px;
+  width: 70%;
+  padding: 4px 0;
+}
+.side-dock-actions .side-dock-ribbon-action.ribbon-divider:hover {
+  background-color: transparent;
+}
+.side-dock-actions .side-dock-ribbon-action.ribbon-divider:before {
+  content: "";
+  display: block;
+  height: 1px;
+  width: 100%;
+  background-color: var(--icon-color);
+  opacity: .5;
+}
diff --git a/Edikoyo/.obsidian/types.json b/Edikoyo/.obsidian/types.json
new file mode 100644
index 0000000..7e427b6
--- /dev/null
+++ b/Edikoyo/.obsidian/types.json
@@ -0,0 +1,12 @@
+{
+  "types": {
+    "aliases": "aliases",
+    "cssclasses": "multitext",
+    "tags": "tags",
+    "art_variant1": "multitext",
+    "art_variant2": "multitext",
+    "art_variant3": "multitext",
+    "art_golden": "text",
+    "golden": "multitext"
+  }
+}
\ No newline at end of file
diff --git a/Edikoyo/.obsidian/workspace.json b/Edikoyo/.obsidian/workspace.json
index 3c3bf3d..44b2087 100644
--- a/Edikoyo/.obsidian/workspace.json
+++ b/Edikoyo/.obsidian/workspace.json
@@ -8,31 +8,100 @@
         "type": "tabs",
         "children": [
           {
-            "id": "f84169dad44b3808",
+            "id": "65374afab15971d2",
             "type": "leaf",
             "state": {
               "type": "markdown",
               "state": {
-                "file": "Countries/Blanchister.md",
+                "file": "Countries/_index.md",
                 "mode": "source",
                 "source": false
               }
             }
           },
           {
-            "id": "987a006f259c3c08",
+            "id": "9bba1e7f22a41622",
+            "type": "leaf",
+            "state": {
+              "type": "diff-view",
+              "state": {
+                "file": "content/Animals/Slimes/_index.md",
+                "staged": true
+              }
+            }
+          },
+          {
+            "id": "f61093bc90ac3a19",
             "type": "leaf",
             "state": {
               "type": "markdown",
               "state": {
-                "file": "Countries/Batanoka.md",
+                "file": "Animals/Slimes/Ababa Slime.md",
+                "mode": "source",
+                "source": false
+              }
+            }
+          },
+          {
+            "id": "b57aab6642ed017d",
+            "type": "leaf",
+            "state": {
+              "type": "markdown",
+              "state": {
+                "file": "Animals/Slimes/_index.md",
+                "mode": "preview",
+                "source": false
+              }
+            }
+          },
+          {
+            "id": "4ae3635757746bf2",
+            "type": "leaf",
+            "state": {
+              "type": "diff-view",
+              "state": {
+                "file": "Edikoyo/.obsidian/icons/flags/Mantine.svg",
+                "staged": true
+              }
+            }
+          },
+          {
+            "id": "57403d9f7507ce81",
+            "type": "leaf",
+            "state": {
+              "type": "markdown",
+              "state": {
+                "file": "Animals/Slimes/_index.md",
+                "mode": "source",
+                "source": false
+              }
+            }
+          },
+          {
+            "id": "c6bfd1782535aaba",
+            "type": "leaf",
+            "state": {
+              "type": "diff-view",
+              "state": {
+                "file": "Edikoyo/.obsidian/icons/flags/Gokolm.svg",
+                "staged": true
+              }
+            }
+          },
+          {
+            "id": "0301fd3e66dac7f2",
+            "type": "leaf",
+            "state": {
+              "type": "markdown",
+              "state": {
+                "file": "Animals/Slimes/Honey Slime.md",
                 "mode": "source",
                 "source": false
               }
             }
           }
         ],
-        "currentTab": 1
+        "currentTab": 7
       }
     ],
     "direction": "vertical"
@@ -98,7 +167,7 @@
             "state": {
               "type": "backlink",
               "state": {
-                "file": "Countries/Batanoka.md",
+                "file": "Animals/Slimes/Honey Slime.md",
                 "collapseAll": false,
                 "extraContext": false,
                 "sortOrder": "alphabetical",
@@ -115,7 +184,7 @@
             "state": {
               "type": "outgoing-link",
               "state": {
-                "file": "Countries/Batanoka.md",
+                "file": "Animals/Slimes/Honey Slime.md",
                 "linksCollapsed": false,
                 "unlinkedCollapsed": true
               }
@@ -138,7 +207,7 @@
             "state": {
               "type": "outline",
               "state": {
-                "file": "Countries/Batanoka.md"
+                "file": "Animals/Slimes/Honey Slime.md"
               }
             }
           },
@@ -155,45 +224,67 @@
       }
     ],
     "direction": "horizontal",
-    "width": 300
+    "width": 313.5
   },
   "left-ribbon": {
     "hiddenItems": {
-      "random-note:Open random note": false,
+      "ribbon-divider:ribbon-divider-698b2a69-a92b-4b1b-bf0f-d93bf98733ef": false,
+      "pinned-notes:Countries": false,
       "switcher:Open quick switcher": false,
       "graph:Open graph view": false,
       "templates:Insert template": false,
       "command-palette:Open command palette": false,
+      "random-note:Open random note": false,
       "obsidian-git:Open Git source control": false
     }
   },
-  "active": "987a006f259c3c08",
+  "active": "0301fd3e66dac7f2",
   "lastOpenFiles": [
-    "Countries/Barrowmaw.md",
-    "Countries/Batanoka.md",
-    "Animals/Taura.md",
-    "Landmarks/Untitled.md",
-    "Countries/Blanchister.md",
-    "Countries/Drenvale.md",
-    "Countries/Dasona.md",
-    "Animals/Dog.md",
-    "Animals/Cat.md",
-    "Animals/Slom.md",
-    "Animals/Slime.md",
-    "People/Cara Dhelmire.md",
-    "Cities/Crester.md",
+    "Animals/Slimes/Godot Slime.md",
+    "Animals/Slimes/Garden Slime.md",
+    "Animals/Slimes/Bark Slime.md",
+    "Animals/Slimes/Ababa Slime.md",
+    "Animals/Golems/_index.md",
+    "Animals/Slimes/_index.md",
+    "Animals/_index.md",
+    "Animals/Golems",
+    "Languages/_index.md",
+    "Languages/Edikan/Guide/Basic Words.md",
+    "Languages/Edikan/Guide/_index.md",
+    "Languages/Edikan/Words/_index.md",
+    "Languages/Edikan/_index.md",
+    "Languages/Edikan/Guide",
+    "Languages/Edikan/Words/wala.md",
+    "Countries/Mantine.md",
+    "Languages/Edikan/Words",
+    "Languages/Edikan",
+    "Countries/Mortham.md",
+    "Countries/Nakadon.md",
+    "conflict-files-obsidian-git.md",
+    "Species/_index.md",
+    "Species/Turian.md",
+    "Species",
+    "Regions/_index.md",
     "Regions",
-    "Territories",
+    "Provinces/_index.md",
     "Provinces",
-    "Cities/Sanya City.md",
-    "Cities/Nanera.md",
+    "Plants/_index.md",
     "Plants",
-    "Continents",
-    "Religions",
-    "Cultures",
-    "Landmarks",
-    "People",
-    "Test.md",
-    "Animals"
+    "Landmarks/_index.md",
+    "Images/Icons/cat.svg",
+    "Images/Icons",
+    "Countries/Krakala.md",
+    "Countries/Hanoka.md",
+    "Animals/Slimes/Marsh Slime.md",
+    "Images/Slimes/sunflower-4.png",
+    "Images/Slimes/sunflower-3.png",
+    "Images/Slimes/sunflower-2.png",
+    "Images/Slimes/sunflower-1.png",
+    "Images/Slimes/marsh-4.png",
+    "Images/Slimes/marsh-3.png",
+    "Images/Slimes/marsh-2.png",
+    "Images/Slimes/marsh-1.png",
+    "Images/Slimes/lagoon-4.png",
+    "Images/Slimes/ababa"
   ]
 }
\ No newline at end of file
diff --git a/Edikoyo/Animals/Cat.md b/Edikoyo/Animals/Cat.md
index e69de29..3e55672 100644
--- a/Edikoyo/Animals/Cat.md
+++ b/Edikoyo/Animals/Cat.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Animals/Dog.md b/Edikoyo/Animals/Dog.md
index e69de29..3e55672 100644
--- a/Edikoyo/Animals/Dog.md
+++ b/Edikoyo/Animals/Dog.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Animals/Golems/_index.md b/Edikoyo/Animals/Golems/_index.md
new file mode 100644
index 0000000..e69de29
diff --git a/Edikoyo/Animals/Slimes/Ababa Slime.md b/Edikoyo/Animals/Slimes/Ababa Slime.md
new file mode 100644
index 0000000..9abd83f
--- /dev/null
+++ b/Edikoyo/Animals/Slimes/Ababa Slime.md	
@@ -0,0 +1,32 @@
+---
+variant1:
+  - "![[ababa-1.png]]"
+  - "[[Batanoka]]"
+variant2:
+  - "![[ababa-2.png]]"
+  - "[[Faelani]]"
+variant3:
+  - "![[ababa-3.png]]"
+  - "[[Barrowmaw]]"
+golden:
+  - "![[ababa-4.png]]"
+  - Everywhere
+rarity: Common
+type: Cold
+requestor: n04_ux
+---
+
+# On the Ababa Slime
+
+Instances of the “Ababa” Slime are found within many historical scripts from many different cultures. 
+
+Even before the formation of [[Dasona]], pre-amalgamation cultures reference the existence of “Åba Slôm” /ɔ:bæ ʃlɔɪm/ that would later evolve into “Ababa Slime” /æbæbæ slaɪm/. 
+
+  
+Some researchers argue that the origin of the Slime itself is so ancient that its naming has maintained itself through time, reaching us today. Some theories behind the etymology of “Ababa” explain that most probably, Ababa is a way of phonetically depicting the creature’s shape. Rapidly opening and closing the mouth, depicting the wavy shape.
+
+Early depictions of the Slime already represent this.
+
+![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXefKerMgogWBdjvUChRfAVNQe0w6dh4bwI5EoosI1bU-hPrIP9-iFZcBRDh_JdbzliITYVgxsWSarymbBeWH2erMO8pFmFwkEW7rHYW_hUb9TRpUujBh5-dIXD_COdayjqph4YzBd0KcDT8Ox_V77TlI6A?key=bnI7Woon4tEfL42TRpP0aQ)
+
+“The Slime Dictionary” (????) Ancient Faelani Book on Slimes.
\ No newline at end of file
diff --git a/Edikoyo/Animals/Slimes/Bark Slime.md b/Edikoyo/Animals/Slimes/Bark Slime.md
new file mode 100644
index 0000000..8e2b438
--- /dev/null
+++ b/Edikoyo/Animals/Slimes/Bark Slime.md	
@@ -0,0 +1,18 @@
+---
+variant1:
+  - "![[bark-1.png]]"
+  - "[[Dasona]]"
+variant2:
+  - "![[bark-2.png]]"
+  - "[[Gudoko]]"
+variant3:
+  - "![[bark-3.png]]"
+  - "[[Lekia]]"
+golden:
+  - "![[bark-4.png]]"
+  - Everywhere
+rarity: Common
+type: Nature
+requestor: Ategon
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Animals/Slimes/Garden Slime.md b/Edikoyo/Animals/Slimes/Garden Slime.md
new file mode 100644
index 0000000..7724c26
--- /dev/null
+++ b/Edikoyo/Animals/Slimes/Garden Slime.md	
@@ -0,0 +1,18 @@
+---
+variant1:
+  - "![[garden-1.png]]"
+  - "[[Dasona]]"
+variant2:
+  - "![[garden-2.png]]"
+  - "[[Soljord]]"
+variant3:
+  - "![[garden-3.png]]"
+  - "[[Dolfeyja]]"
+golden:
+  - "![[garden-4.png]]"
+  - Everywhere
+rarity: Common
+type: Nature
+requestor: Ategon
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Animals/Slimes/Godot Slime.md b/Edikoyo/Animals/Slimes/Godot Slime.md
new file mode 100644
index 0000000..b7859b0
--- /dev/null
+++ b/Edikoyo/Animals/Slimes/Godot Slime.md	
@@ -0,0 +1,18 @@
+---
+variant1:
+  - "![[godot-1.png]]"
+  - "[[Gokolm]]"
+variant2:
+  - "![[godot-2.png]]"
+  - "[[Dasona]]"
+variant3:
+  - "![[godot-3.png]]"
+  - "[[Soljord]]"
+golden:
+  - "![[godot-4.png]]"
+  - Everywhere
+rarity: Uncommon
+type: Stone
+requestor: PracticalNPC
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Animals/Slimes/Honey Slime.md b/Edikoyo/Animals/Slimes/Honey Slime.md
new file mode 100644
index 0000000..24a71df
--- /dev/null
+++ b/Edikoyo/Animals/Slimes/Honey Slime.md	
@@ -0,0 +1,18 @@
+---
+variant1:
+  - "![[honey-1.png]]"
+  - "[[Dahallow]]"
+variant2:
+  - "![[honey-2.png]]"
+  - "[[Krakala]]"
+variant3:
+  - "![[honey-3.png]]"
+  - "[[Mantine]]"
+golden:
+  - "![[honey-4.png]]"
+  - Everywhere
+rarity: Common
+type: Nature
+requestor: SarahClick
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Animals/Slimes/Lagoon Slime.md b/Edikoyo/Animals/Slimes/Lagoon Slime.md
new file mode 100644
index 0000000..204c06d
--- /dev/null
+++ b/Edikoyo/Animals/Slimes/Lagoon Slime.md	
@@ -0,0 +1,18 @@
+---
+variant1:
+  - "![[lagoon-1.png]]"
+  - "[[Dahallow]]"
+variant2:
+  - "![[lagoon-2.png]]"
+  - "[[Mantine]]"
+variant3:
+  - "![[lagoon-3.png]]"
+  - "[[Felmyr]]"
+golden:
+  - "![[lagoon-4.png]]"
+  - Everywhere
+rarity: Common
+type: Water
+requestor: Ategon
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Animals/Slimes/Marsh Slime.md b/Edikoyo/Animals/Slimes/Marsh Slime.md
new file mode 100644
index 0000000..dc1b1d5
--- /dev/null
+++ b/Edikoyo/Animals/Slimes/Marsh Slime.md	
@@ -0,0 +1,17 @@
+---
+variant1:
+  - "![[marsh-1.png]]"
+  - "[[Oshela]]"
+variant2:
+  - "![[marsh-2.png]]"
+  - "[[Vikogyna]]"
+variant3:
+  - "![[marsh-3.png]]"
+  - "[[Barrowmaw]]"
+golden:
+  - "![[marsh-4.png]]"
+rarity: Common
+type: Nature
+requestor: Ategon
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Animals/Slimes/Sunflower Slime.md b/Edikoyo/Animals/Slimes/Sunflower Slime.md
new file mode 100644
index 0000000..3445bd4
--- /dev/null
+++ b/Edikoyo/Animals/Slimes/Sunflower Slime.md	
@@ -0,0 +1,18 @@
+---
+variant1:
+  - "![[sunflower-1.png]]"
+  - "[[Calcetron]]"
+variant2:
+  - "![[sunflower-2.png]]"
+  - "[[Llasuki]]"
+variant3:
+  - "![[sunflower-3.png]]"
+  - "[[Blanchister]]"
+golden:
+  - "![[sunflower-4.png]]"
+  - Everywhere
+rarity: Common
+type: Nature
+requestor: GGlitchedOut
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Animals/Slimes/_index.md b/Edikoyo/Animals/Slimes/_index.md
new file mode 100644
index 0000000..2e4f308
--- /dev/null
+++ b/Edikoyo/Animals/Slimes/_index.md
@@ -0,0 +1,14 @@
+<!-- QueryToSerialize: TABLE WITHOUT ID file.link as "Slimes", variant1[0] as "Regional Variant 1", variant2[0] as "Regional Variant 2", variant3[0] as "Regional Variant 3", golden[0] as "Golden Variant", rarity as "Rarity" FROM "Animals/Slimes" WHERE file.name != "_index"  SORT rarity, file.name -->
+<!-- SerializedQuery: TABLE WITHOUT ID file.link as "Slimes", variant1[0] as "Regional Variant 1", variant2[0] as "Regional Variant 2", variant3[0] as "Regional Variant 3", golden[0] as "Golden Variant", rarity as "Rarity" FROM "Animals/Slimes" WHERE file.name != "_index"  SORT rarity, file.name -->
+
+| Slimes                                                 | Regional Variant 1                                  | Regional Variant 2                                  | Regional Variant 3                                  | Golden Variant                                      | Rarity   |
+| ------------------------------------------------------ | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | --------------------------------------------------- | -------- |
+| [[Ababa Slime]]         | ![[ababa-1.png]]         | ![[ababa-2.png]]         | ![[ababa-3.png]]         | ![[ababa-4.png]]         | Common   |
+| [[Bark Slime]]           | ![[bark-1.png]]           | ![[bark-2.png]]           | ![[bark-3.png]]           | ![[bark-4.png]]           | Common   |
+| [[Garden Slime]]       | ![[garden-1.png]]       | ![[garden-2.png]]       | ![[garden-3.png]]       | ![[garden-4.png]]       | Common   |
+| [[Honey Slime]]         | ![[honey-1.png]]         | ![[honey-2.png]]         | ![[honey-3.png]]         | ![[honey-4.png]]         | Common   |
+| [[Lagoon Slime]]       | ![[lagoon-1.png]]       | ![[lagoon-2.png]]       | ![[lagoon-3.png]]       | ![[lagoon-4.png]]       | Common   |
+| [[Marsh Slime]]         | ![[marsh-1.png]]         | ![[marsh-2.png]]         | ![[marsh-3.png]]         | ![[marsh-4.png]]         | Common   |
+| [[Sunflower Slime]] | ![[sunflower-1.png]] | ![[sunflower-2.png]] | ![[sunflower-3.png]] | ![[sunflower-4.png]] | Common   |
+| [[Godot Slime]]         | ![[godot-1.png]]         | ![[godot-2.png]]         | ![[godot-3.png]]         | ![[godot-4.png]]         | Uncommon |
+<!-- SerializedQuery END -->
diff --git a/Edikoyo/Animals/Slom.md b/Edikoyo/Animals/Slom.md
index e69de29..3e55672 100644
--- a/Edikoyo/Animals/Slom.md
+++ b/Edikoyo/Animals/Slom.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Animals/Taura.md b/Edikoyo/Animals/Taura.md
index e69de29..3e55672 100644
--- a/Edikoyo/Animals/Taura.md
+++ b/Edikoyo/Animals/Taura.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Animals/_index.md b/Edikoyo/Animals/_index.md
new file mode 100644
index 0000000..f66cda9
--- /dev/null
+++ b/Edikoyo/Animals/_index.md
@@ -0,0 +1,12 @@
+# ![[cat.svg]] Animals
+<!-- QueryToSerialize: TABLE WITHOUT ID link(file.path, choice(file.name != "_index", file.name, split(file.folder, "/")[1])) as "Animals" FROM "Animals" WHERE (file.folder = "Animals" and file.name != "_index") or (file.name = "_index" AND file.folder != "Animals") -->
+<!-- SerializedQuery: TABLE WITHOUT ID link(file.path, choice(file.name != "_index", file.name, split(file.folder, "/")[1])) as "Animals" FROM "Animals" WHERE (file.folder = "Animals" and file.name != "_index") or (file.name = "_index" AND file.folder != "Animals") -->
+
+| Animals                              |
+| ------------------------------------ |
+| [[Cat]]              |
+| [[Dog]]              |
+| [[Animals/Slimes/_index.md\|Slimes]] |
+| [[Slom]]            |
+| [[Taura]]          |
+<!-- SerializedQuery END -->
diff --git a/Edikoyo/Cities/Bririe.md b/Edikoyo/Cities/Bririe.md
new file mode 100644
index 0000000..7b4967a
--- /dev/null
+++ b/Edikoyo/Cities/Bririe.md
@@ -0,0 +1,4 @@
+---
+country: Batanoka
+---
+A
\ No newline at end of file
diff --git a/Edikoyo/Cities/Crester.md b/Edikoyo/Cities/Crester.md
index d1777eb..5ecced8 100644
--- a/Edikoyo/Cities/Crester.md
+++ b/Edikoyo/Cities/Crester.md
@@ -2,3 +2,4 @@
 country: "[[Dasona]]"
 province: "[[Nane]]"
 ---
+A
\ No newline at end of file
diff --git a/Edikoyo/Cities/_index.md b/Edikoyo/Cities/_index.md
new file mode 100644
index 0000000..e69de29
diff --git a/Edikoyo/Continents/_index.md b/Edikoyo/Continents/_index.md
new file mode 100644
index 0000000..e69de29
diff --git a/Edikoyo/Countries/Barrowmaw.md b/Edikoyo/Countries/Barrowmaw.md
index 345e6ae..e78b62d 100644
--- a/Edikoyo/Countries/Barrowmaw.md
+++ b/Edikoyo/Countries/Barrowmaw.md
@@ -1 +1,7 @@
-Test
+---
+short: The Undead Wasteland
+flag: "![[barrowmaw.png]]"
+language: 
+capital:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Batanoka.md b/Edikoyo/Countries/Batanoka.md
index 793aa68..e863466 100644
--- a/Edikoyo/Countries/Batanoka.md
+++ b/Edikoyo/Countries/Batanoka.md
@@ -1 +1,7 @@
-This is a test
\ No newline at end of file
+---
+short: The Subterranean Sun
+flag: "![[batanoka.png]]"
+language: "[[Languages/Edikan/_index]]"
+capital: "[[Bririe]]"
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Blanchister.md b/Edikoyo/Countries/Blanchister.md
index e69de29..46d0f11 100644
--- a/Edikoyo/Countries/Blanchister.md
+++ b/Edikoyo/Countries/Blanchister.md
@@ -0,0 +1,7 @@
+---
+short: The Realm of Nomads
+flag: "![[blanchister.png]]"
+language: 
+capital:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Calcetron.md b/Edikoyo/Countries/Calcetron.md
new file mode 100644
index 0000000..3b7a593
--- /dev/null
+++ b/Edikoyo/Countries/Calcetron.md
@@ -0,0 +1,7 @@
+---
+short: The Electric Republic
+flag: "![[calcetron.png]]"
+language: 
+capital:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Dahallow.md b/Edikoyo/Countries/Dahallow.md
new file mode 100644
index 0000000..d252dfe
--- /dev/null
+++ b/Edikoyo/Countries/Dahallow.md
@@ -0,0 +1,7 @@
+---
+short: The Blooming Kingdom
+flag: "![[dahallow.png]]"
+language: 
+capital:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Dasona.md b/Edikoyo/Countries/Dasona.md
index f793320..117c147 100644
--- a/Edikoyo/Countries/Dasona.md
+++ b/Edikoyo/Countries/Dasona.md
@@ -1 +1,7 @@
-Test Country Text
\ No newline at end of file
+---
+short: The Country of Hopes
+flag: "![[dasona.png]]"
+language: "[[Languages/Edikan/_index]]"
+capital: "[[Crester]]"
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Dolfeyja.md b/Edikoyo/Countries/Dolfeyja.md
new file mode 100644
index 0000000..99aff36
--- /dev/null
+++ b/Edikoyo/Countries/Dolfeyja.md
@@ -0,0 +1,7 @@
+---
+short: The Peaceful Summit
+flag: "![[dolfeyja.png]]"
+language: "[[Languages/Edikan/_index]]"
+capital: 
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Dratana.md b/Edikoyo/Countries/Dratana.md
new file mode 100644
index 0000000..5d5e7c7
--- /dev/null
+++ b/Edikoyo/Countries/Dratana.md
@@ -0,0 +1,7 @@
+---
+short: Realm of Dragons
+flag: "![[dratana.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Drenvale.md b/Edikoyo/Countries/Drenvale.md
index e69de29..ae1fd77 100644
--- a/Edikoyo/Countries/Drenvale.md
+++ b/Edikoyo/Countries/Drenvale.md
@@ -0,0 +1,7 @@
+---
+short: Diesel Kingdom
+flag: "![[drenvale.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Faelani.md b/Edikoyo/Countries/Faelani.md
new file mode 100644
index 0000000..77d6cf2
--- /dev/null
+++ b/Edikoyo/Countries/Faelani.md
@@ -0,0 +1,7 @@
+---
+short: Fairy Forest
+flag: "![[faelani.png]]"
+capital: 
+language: "[[Fayahi]]"
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Falaka.md b/Edikoyo/Countries/Falaka.md
new file mode 100644
index 0000000..92e42a4
--- /dev/null
+++ b/Edikoyo/Countries/Falaka.md
@@ -0,0 +1,7 @@
+---
+short: The Empire of Flames
+flag: "![[falaka.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Felmyr.md b/Edikoyo/Countries/Felmyr.md
new file mode 100644
index 0000000..c91a0af
--- /dev/null
+++ b/Edikoyo/Countries/Felmyr.md
@@ -0,0 +1,7 @@
+---
+short: Draconic Temples
+flag: "![[felmyr.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Gokolm.md b/Edikoyo/Countries/Gokolm.md
new file mode 100644
index 0000000..18dab88
--- /dev/null
+++ b/Edikoyo/Countries/Gokolm.md
@@ -0,0 +1,7 @@
+---
+short: Mechanical Wasteland
+flag: "![[gokolm.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Gudoko.md b/Edikoyo/Countries/Gudoko.md
new file mode 100644
index 0000000..36f2264
--- /dev/null
+++ b/Edikoyo/Countries/Gudoko.md
@@ -0,0 +1,7 @@
+---
+short: Unified Miners
+flag: "![[gudoko.png]]"
+capital: 
+language: "[[Guo]]"
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Hanoka.md b/Edikoyo/Countries/Hanoka.md
new file mode 100644
index 0000000..9579da7
--- /dev/null
+++ b/Edikoyo/Countries/Hanoka.md
@@ -0,0 +1,7 @@
+---
+short: Harbringers of Peace
+flag: "![[hanoka.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Krakala.md b/Edikoyo/Countries/Krakala.md
new file mode 100644
index 0000000..a4d3e02
--- /dev/null
+++ b/Edikoyo/Countries/Krakala.md
@@ -0,0 +1,7 @@
+---
+short: The Merchant Capital
+flag: "![[krakala.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Lavaki.md b/Edikoyo/Countries/Lavaki.md
new file mode 100644
index 0000000..f861f78
--- /dev/null
+++ b/Edikoyo/Countries/Lavaki.md
@@ -0,0 +1,7 @@
+---
+short: Volcanic Ridge
+flag: "![[lavaki.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Lekia.md b/Edikoyo/Countries/Lekia.md
new file mode 100644
index 0000000..adfde7f
--- /dev/null
+++ b/Edikoyo/Countries/Lekia.md
@@ -0,0 +1,7 @@
+---
+short: Marshy Jungles
+flag: "![[lekia.png]]"
+capital: 
+language: "[[Lacelian]]"
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Llasuki.md b/Edikoyo/Countries/Llasuki.md
new file mode 100644
index 0000000..554938a
--- /dev/null
+++ b/Edikoyo/Countries/Llasuki.md
@@ -0,0 +1,7 @@
+---
+short: Realm of the Gods
+flag: "![[llasuki.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Mantine.md b/Edikoyo/Countries/Mantine.md
new file mode 100644
index 0000000..f2524a6
--- /dev/null
+++ b/Edikoyo/Countries/Mantine.md
@@ -0,0 +1,24 @@
+---
+short: Deep Shores
+flag: "![[mantine.png]]"
+capital: 
+language:
+---
+  
+Mantine was a calm region for part of its history; some small cities formed, but growth was slow and dispersed throughout the region. 
+
+Two main distinctions happened after a while between the inland and the coast land. 
+
+The Coast region's economy was purely based on fishing and some farming. Having ancient ways of doing so that still remain today.
+
+The Inland region's discovered some mines, gathering metal and developing ways of smelting and using them; later on, they would create powerful tools mixing magic and machines; this made the Coast Region aware that they were falling behind in research and development.
+
+After a while, the region of Medine started to export raw materials to other countries. The Queen of Sidone, who only sold some of the overall produced nourishment to Medine, noticed that Medine's relationship with some countries also included reselling what they were buying from them. Which escalated the relationship between both regions.
+
+Through decades, both regions were on the brink of a civil war. 
+
+One of the earliest depictions of diplomacy appeared through this era between the Chancellor of Medine, the main inland city, and the Queen of Sidone. 
+
+The most tense event from this period occurred when a party of Medine's Army tried getting some steel to Sidone's port, where a ship from another country was waiting. The Queen of Sidone retained this party for a time; she wouldn't allow this to happen without some competition for the crown. 
+
+While this happened, The Great Storm of Mantine started.
diff --git a/Edikoyo/Countries/Mortham.md b/Edikoyo/Countries/Mortham.md
new file mode 100644
index 0000000..51907a5
--- /dev/null
+++ b/Edikoyo/Countries/Mortham.md
@@ -0,0 +1,7 @@
+---
+short: Pirate Bay
+flag: "![[mortham.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Nakadon.md b/Edikoyo/Countries/Nakadon.md
new file mode 100644
index 0000000..2f8c80b
--- /dev/null
+++ b/Edikoyo/Countries/Nakadon.md
@@ -0,0 +1,7 @@
+---
+short: The Jungle Maze
+flag: "![[nakadon.png]]"
+capital: 
+language: "[[Lacelian]]"
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Nasahra.md b/Edikoyo/Countries/Nasahra.md
new file mode 100644
index 0000000..ca9efca
--- /dev/null
+++ b/Edikoyo/Countries/Nasahra.md
@@ -0,0 +1,7 @@
+---
+short: The Scrap Desert
+flag: "![[nasahra.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Nonkur.md b/Edikoyo/Countries/Nonkur.md
new file mode 100644
index 0000000..73ef9c8
--- /dev/null
+++ b/Edikoyo/Countries/Nonkur.md
@@ -0,0 +1,7 @@
+---
+short: Realm of the Dead
+flag: "![[nonkur.png]]"
+capital: 
+language: "[[Mokrixi]]"
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Oshela.md b/Edikoyo/Countries/Oshela.md
new file mode 100644
index 0000000..832fc46
--- /dev/null
+++ b/Edikoyo/Countries/Oshela.md
@@ -0,0 +1,7 @@
+---
+short: Seaside Rainforest
+flag: "![[oshela.png]]"
+capital: 
+language: "[[Lacelian]]"
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Ovanos.md b/Edikoyo/Countries/Ovanos.md
new file mode 100644
index 0000000..1edb86c
--- /dev/null
+++ b/Edikoyo/Countries/Ovanos.md
@@ -0,0 +1,7 @@
+---
+short: The Flying City
+flag: "![[ovanos.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Seraphis.md b/Edikoyo/Countries/Seraphis.md
new file mode 100644
index 0000000..0c3b0a5
--- /dev/null
+++ b/Edikoyo/Countries/Seraphis.md
@@ -0,0 +1,7 @@
+---
+short: The Blessed Lands
+flag: "![[seraphis.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Soljord.md b/Edikoyo/Countries/Soljord.md
new file mode 100644
index 0000000..11488b8
--- /dev/null
+++ b/Edikoyo/Countries/Soljord.md
@@ -0,0 +1,7 @@
+---
+short: Land of the Frozen Sun
+flag: "![[soljord.png]]"
+capital: 
+language: "[[Languages/Edikan/_index]]"
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Vanatn.md b/Edikoyo/Countries/Vanatn.md
new file mode 100644
index 0000000..51c9859
--- /dev/null
+++ b/Edikoyo/Countries/Vanatn.md
@@ -0,0 +1,7 @@
+---
+short: The Underwater Metropolis
+flag: "![[vanatn.png]]"
+capital: 
+language:
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Vikogyna.md b/Edikoyo/Countries/Vikogyna.md
new file mode 100644
index 0000000..6e3cb34
--- /dev/null
+++ b/Edikoyo/Countries/Vikogyna.md
@@ -0,0 +1,7 @@
+---
+short: The Desert Market
+flag: "![[vikogyna.png]]"
+capital: 
+language: "[[Languages/Edikan/_index]]"
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/Vosaka.md b/Edikoyo/Countries/Vosaka.md
new file mode 100644
index 0000000..c5be634
--- /dev/null
+++ b/Edikoyo/Countries/Vosaka.md
@@ -0,0 +1,7 @@
+---
+short: The Oasis Encampment
+flag: "![[vosaka.png]]"
+capital: 
+language: "[[Languages/Edikan/_index]]"
+---
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Countries/_index.md b/Edikoyo/Countries/_index.md
new file mode 100644
index 0000000..d57ec4e
--- /dev/null
+++ b/Edikoyo/Countries/_index.md
@@ -0,0 +1,39 @@
+<!-- QueryToSerialize: TABLE flag as "Flag",  short as "Short", population as "Population", capital as "Capital", language as "Language" FROM "Countries" WHERE file.name != "_index" SORT file.name -->
+<!-- SerializedQuery: TABLE flag as "Flag",  short as "Short", population as "Population", capital as "Capital", language as "Language" FROM "Countries" WHERE file.name != "_index" SORT file.name -->
+
+| File                                      | Flag                                               | Short                     | Population | Capital                        | Language                               |
+| ----------------------------------------- | -------------------------------------------------- | ------------------------- | ---------- | ------------------------------ | -------------------------------------- |
+| [[Barrowmaw]]     | ![[barrowmaw.png]]     | The Undead Wasteland      | \-         | \-                             | \-                                     |
+| [[Batanoka]]       | ![[batanoka.png]]       | The Subterranean Sun      | \-         | [[Bririe]]   | [[Languages/Edikan/_index.md\|_index]] |
+| [[Blanchister]] | ![[blanchister.png]] | The Realm of Nomads       | \-         | \-                             | \-                                     |
+| [[Calcetron]]     | ![[calcetron.png]]     | The Electric Republic     | \-         | \-                             | \-                                     |
+| [[Dahallow]]       | ![[dahallow.png]]       | The Blooming Kingdom      | \-         | \-                             | \-                                     |
+| [[Dasona]]           | ![[dasona.png]]           | The Country of Hopes      | \-         | [[Crester]] | [[Languages/Edikan/_index.md\|_index]] |
+| [[Dolfeyja]]       | ![[dolfeyja.png]]       | The Peaceful Summit       | \-         | \-                             | [[Languages/Edikan/_index.md\|_index]] |
+| [[Dratana]]         | ![[dratana.png]]         | Realm of Dragons          | \-         | \-                             | \-                                     |
+| [[Drenvale]]       | ![[drenvale.png]]       | Diesel Kingdom            | \-         | \-                             | \-                                     |
+| [[Faelani]]         | ![[faelani.png]]         | Fairy Forest              | \-         | \-                             | [[Fayahi]]        |
+| [[Falaka]]           | ![[falaka.png]]           | The Empire of Flames      | \-         | \-                             | \-                                     |
+| [[Felmyr]]           | ![[felmyr.png]]           | Draconic Temples          | \-         | \-                             | \-                                     |
+| [[Gokolm]]           | ![[gokolm.png]]           | Mechanical Wasteland      | \-         | \-                             | \-                                     |
+| [[Gudoko]]           | ![[gudoko.png]]           | Unified Miners            | \-         | \-                             | [[Guo]]              |
+| [[Hanoka]]           | ![[hanoka.png]]           | Harbringers of Peace      | \-         | \-                             | \-                                     |
+| [[Krakala]]         | ![[krakala.png]]         | The Merchant Capital      | \-         | \-                             | \-                                     |
+| [[Lavaki]]           | ![[lavaki.png]]           | Volcanic Ridge            | \-         | \-                             | \-                                     |
+| [[Lekia]]             | ![[lekia.png]]             | Marshy Jungles            | \-         | \-                             | [[Lacelian]]    |
+| [[Llasuki]]         | ![[llasuki.png]]         | Realm of the Gods         | \-         | \-                             | \-                                     |
+| [[Mantine]]         | ![[mantine.png]]         | Deep Shores               | \-         | \-                             | \-                                     |
+| [[Mortham]]         | ![[mortham.png]]         | Pirate Bay                | \-         | \-                             | \-                                     |
+| [[Nakadon]]         | ![[nakadon.png]]         | The Jungle Maze           | \-         | \-                             | [[Lacelian]]    |
+| [[Nasahra]]         | ![[nasahra.png]]         | The Scrap Desert          | \-         | \-                             | \-                                     |
+| [[Nonkur]]           | ![[nonkur.png]]           | Realm of the Dead         | \-         | \-                             | [[Mokrixi]]      |
+| [[Oshela]]           | ![[oshela.png]]           | Seaside Rainforest        | \-         | \-                             | [[Lacelian]]    |
+| [[Ovanos]]           | ![[ovanos.png]]           | The Flying City           | \-         | \-                             | \-                                     |
+| [[Seraphis]]       | ![[seraphis.png]]       | The Blessed Lands         | \-         | \-                             | \-                                     |
+| [[Soljord]]         | ![[soljord.png]]         | Land of the Frozen Sun    | \-         | \-                             | [[Languages/Edikan/_index.md\|_index]] |
+| [[Vanatn]]           | ![[vanatn.png]]           | The Underwater Metropolis | \-         | \-                             | \-                                     |
+| [[Vikogyna]]       | ![[vikogyna.png]]       | The Desert Market         | \-         | \-                             | [[Languages/Edikan/_index.md\|_index]] |
+| [[Vosaka]]           | ![[vosaka.png]]           | The Oasis Encampment      | \-         | \-                             | [[Languages/Edikan/_index.md\|_index]] |
+<!-- SerializedQuery END -->
+
+	
\ No newline at end of file
diff --git a/Edikoyo/Cultures/_index.md b/Edikoyo/Cultures/_index.md
new file mode 100644
index 0000000..e69de29
diff --git a/Edikoyo/Images/Flags/barrowmaw.png b/Edikoyo/Images/Flags/barrowmaw.png
new file mode 100644
index 0000000..86762ff
Binary files /dev/null and b/Edikoyo/Images/Flags/barrowmaw.png differ
diff --git a/Edikoyo/Images/Flags/batanoka.png b/Edikoyo/Images/Flags/batanoka.png
new file mode 100644
index 0000000..fb7cbea
Binary files /dev/null and b/Edikoyo/Images/Flags/batanoka.png differ
diff --git a/Edikoyo/Images/Flags/blanchister.png b/Edikoyo/Images/Flags/blanchister.png
new file mode 100644
index 0000000..bf8ec64
Binary files /dev/null and b/Edikoyo/Images/Flags/blanchister.png differ
diff --git a/Edikoyo/Images/Flags/calcetron.png b/Edikoyo/Images/Flags/calcetron.png
new file mode 100644
index 0000000..e9278ef
Binary files /dev/null and b/Edikoyo/Images/Flags/calcetron.png differ
diff --git a/Edikoyo/Images/Flags/dahallow.png b/Edikoyo/Images/Flags/dahallow.png
new file mode 100644
index 0000000..8517eed
Binary files /dev/null and b/Edikoyo/Images/Flags/dahallow.png differ
diff --git a/Edikoyo/Images/Flags/dasona.png b/Edikoyo/Images/Flags/dasona.png
new file mode 100644
index 0000000..0506b76
Binary files /dev/null and b/Edikoyo/Images/Flags/dasona.png differ
diff --git a/Edikoyo/Images/Flags/dolfeyja.png b/Edikoyo/Images/Flags/dolfeyja.png
new file mode 100644
index 0000000..9f138e7
Binary files /dev/null and b/Edikoyo/Images/Flags/dolfeyja.png differ
diff --git a/Edikoyo/Images/Flags/dratana.png b/Edikoyo/Images/Flags/dratana.png
new file mode 100644
index 0000000..bd418f9
Binary files /dev/null and b/Edikoyo/Images/Flags/dratana.png differ
diff --git a/Edikoyo/Images/Flags/drenvale.png b/Edikoyo/Images/Flags/drenvale.png
new file mode 100644
index 0000000..c4143b6
Binary files /dev/null and b/Edikoyo/Images/Flags/drenvale.png differ
diff --git a/Edikoyo/Images/Flags/faelani.png b/Edikoyo/Images/Flags/faelani.png
new file mode 100644
index 0000000..a38e992
Binary files /dev/null and b/Edikoyo/Images/Flags/faelani.png differ
diff --git a/Edikoyo/Images/Flags/falaka.png b/Edikoyo/Images/Flags/falaka.png
new file mode 100644
index 0000000..4af23a0
Binary files /dev/null and b/Edikoyo/Images/Flags/falaka.png differ
diff --git a/Edikoyo/Images/Flags/felmyr.png b/Edikoyo/Images/Flags/felmyr.png
new file mode 100644
index 0000000..ffb0757
Binary files /dev/null and b/Edikoyo/Images/Flags/felmyr.png differ
diff --git a/Edikoyo/Images/Flags/gokolm.png b/Edikoyo/Images/Flags/gokolm.png
new file mode 100644
index 0000000..883aa7a
Binary files /dev/null and b/Edikoyo/Images/Flags/gokolm.png differ
diff --git a/Edikoyo/Images/Flags/gudoko.png b/Edikoyo/Images/Flags/gudoko.png
new file mode 100644
index 0000000..1f87532
Binary files /dev/null and b/Edikoyo/Images/Flags/gudoko.png differ
diff --git a/Edikoyo/Images/Flags/hanoka.png b/Edikoyo/Images/Flags/hanoka.png
new file mode 100644
index 0000000..1740ecb
Binary files /dev/null and b/Edikoyo/Images/Flags/hanoka.png differ
diff --git a/Edikoyo/Images/Flags/krakala.png b/Edikoyo/Images/Flags/krakala.png
new file mode 100644
index 0000000..78fa38a
Binary files /dev/null and b/Edikoyo/Images/Flags/krakala.png differ
diff --git a/Edikoyo/Images/Flags/lavaki.png b/Edikoyo/Images/Flags/lavaki.png
new file mode 100644
index 0000000..9bcc716
Binary files /dev/null and b/Edikoyo/Images/Flags/lavaki.png differ
diff --git a/Edikoyo/Images/Flags/lekia.png b/Edikoyo/Images/Flags/lekia.png
new file mode 100644
index 0000000..31be51c
Binary files /dev/null and b/Edikoyo/Images/Flags/lekia.png differ
diff --git a/Edikoyo/Images/Flags/llasuki.png b/Edikoyo/Images/Flags/llasuki.png
new file mode 100644
index 0000000..cad75c7
Binary files /dev/null and b/Edikoyo/Images/Flags/llasuki.png differ
diff --git a/Edikoyo/Images/Flags/mantine.png b/Edikoyo/Images/Flags/mantine.png
new file mode 100644
index 0000000..c3e61a0
Binary files /dev/null and b/Edikoyo/Images/Flags/mantine.png differ
diff --git a/Edikoyo/Images/Flags/mortham.png b/Edikoyo/Images/Flags/mortham.png
new file mode 100644
index 0000000..03bcefd
Binary files /dev/null and b/Edikoyo/Images/Flags/mortham.png differ
diff --git a/Edikoyo/Images/Flags/nakadon.png b/Edikoyo/Images/Flags/nakadon.png
new file mode 100644
index 0000000..ada562f
Binary files /dev/null and b/Edikoyo/Images/Flags/nakadon.png differ
diff --git a/Edikoyo/Images/Flags/nasahra.png b/Edikoyo/Images/Flags/nasahra.png
new file mode 100644
index 0000000..e273c45
Binary files /dev/null and b/Edikoyo/Images/Flags/nasahra.png differ
diff --git a/Edikoyo/Images/Flags/nonkur.png b/Edikoyo/Images/Flags/nonkur.png
new file mode 100644
index 0000000..8675fd1
Binary files /dev/null and b/Edikoyo/Images/Flags/nonkur.png differ
diff --git a/Edikoyo/Images/Flags/oshela.png b/Edikoyo/Images/Flags/oshela.png
new file mode 100644
index 0000000..def9d09
Binary files /dev/null and b/Edikoyo/Images/Flags/oshela.png differ
diff --git a/Edikoyo/Images/Flags/ovanos.png b/Edikoyo/Images/Flags/ovanos.png
new file mode 100644
index 0000000..7019b85
Binary files /dev/null and b/Edikoyo/Images/Flags/ovanos.png differ
diff --git a/Edikoyo/Images/Flags/seraphis.png b/Edikoyo/Images/Flags/seraphis.png
new file mode 100644
index 0000000..73774ff
Binary files /dev/null and b/Edikoyo/Images/Flags/seraphis.png differ
diff --git a/Edikoyo/Images/Flags/soljord.png b/Edikoyo/Images/Flags/soljord.png
new file mode 100644
index 0000000..a811fb9
Binary files /dev/null and b/Edikoyo/Images/Flags/soljord.png differ
diff --git a/Edikoyo/Images/Flags/vanatn.png b/Edikoyo/Images/Flags/vanatn.png
new file mode 100644
index 0000000..aabe205
Binary files /dev/null and b/Edikoyo/Images/Flags/vanatn.png differ
diff --git a/Edikoyo/Images/Flags/vikogyna.png b/Edikoyo/Images/Flags/vikogyna.png
new file mode 100644
index 0000000..d6f3541
Binary files /dev/null and b/Edikoyo/Images/Flags/vikogyna.png differ
diff --git a/Edikoyo/Images/Flags/vosaka.png b/Edikoyo/Images/Flags/vosaka.png
new file mode 100644
index 0000000..e1d02de
Binary files /dev/null and b/Edikoyo/Images/Flags/vosaka.png differ
diff --git a/Edikoyo/Images/Icons/cat.svg b/Edikoyo/Images/Icons/cat.svg
new file mode 100644
index 0000000..3a0ec9b
--- /dev/null
+++ b/Edikoyo/Images/Icons/cat.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cat"><path d="M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z"/><path d="M8 14v.5"/><path d="M16 14v.5"/><path d="M11.25 16.25h1.5L12 17l-.75-.75Z"/></svg>
\ No newline at end of file
diff --git a/Edikoyo/Images/Slimes/ababa-1.png b/Edikoyo/Images/Slimes/ababa-1.png
new file mode 100644
index 0000000..9790b72
Binary files /dev/null and b/Edikoyo/Images/Slimes/ababa-1.png differ
diff --git a/Edikoyo/Images/Slimes/ababa-2.png b/Edikoyo/Images/Slimes/ababa-2.png
new file mode 100644
index 0000000..09b5344
Binary files /dev/null and b/Edikoyo/Images/Slimes/ababa-2.png differ
diff --git a/Edikoyo/Images/Slimes/ababa-3.png b/Edikoyo/Images/Slimes/ababa-3.png
new file mode 100644
index 0000000..d489d99
Binary files /dev/null and b/Edikoyo/Images/Slimes/ababa-3.png differ
diff --git a/Edikoyo/Images/Slimes/ababa-4.png b/Edikoyo/Images/Slimes/ababa-4.png
new file mode 100644
index 0000000..886ef55
Binary files /dev/null and b/Edikoyo/Images/Slimes/ababa-4.png differ
diff --git a/Edikoyo/Images/Slimes/bark-1.png b/Edikoyo/Images/Slimes/bark-1.png
new file mode 100644
index 0000000..1cd0498
Binary files /dev/null and b/Edikoyo/Images/Slimes/bark-1.png differ
diff --git a/Edikoyo/Images/Slimes/bark-2.png b/Edikoyo/Images/Slimes/bark-2.png
new file mode 100644
index 0000000..757e3fa
Binary files /dev/null and b/Edikoyo/Images/Slimes/bark-2.png differ
diff --git a/Edikoyo/Images/Slimes/bark-3.png b/Edikoyo/Images/Slimes/bark-3.png
new file mode 100644
index 0000000..62e840f
Binary files /dev/null and b/Edikoyo/Images/Slimes/bark-3.png differ
diff --git a/Edikoyo/Images/Slimes/bark-4.png b/Edikoyo/Images/Slimes/bark-4.png
new file mode 100644
index 0000000..41e9abe
Binary files /dev/null and b/Edikoyo/Images/Slimes/bark-4.png differ
diff --git a/Edikoyo/Images/Slimes/garden-1.png b/Edikoyo/Images/Slimes/garden-1.png
new file mode 100644
index 0000000..9d61505
Binary files /dev/null and b/Edikoyo/Images/Slimes/garden-1.png differ
diff --git a/Edikoyo/Images/Slimes/garden-2.png b/Edikoyo/Images/Slimes/garden-2.png
new file mode 100644
index 0000000..494acef
Binary files /dev/null and b/Edikoyo/Images/Slimes/garden-2.png differ
diff --git a/Edikoyo/Images/Slimes/garden-3.png b/Edikoyo/Images/Slimes/garden-3.png
new file mode 100644
index 0000000..04d1428
Binary files /dev/null and b/Edikoyo/Images/Slimes/garden-3.png differ
diff --git a/Edikoyo/Images/Slimes/garden-4.png b/Edikoyo/Images/Slimes/garden-4.png
new file mode 100644
index 0000000..7516a2a
Binary files /dev/null and b/Edikoyo/Images/Slimes/garden-4.png differ
diff --git a/Edikoyo/Images/Slimes/godot-1.png b/Edikoyo/Images/Slimes/godot-1.png
new file mode 100644
index 0000000..d419c2e
Binary files /dev/null and b/Edikoyo/Images/Slimes/godot-1.png differ
diff --git a/Edikoyo/Images/Slimes/godot-2.png b/Edikoyo/Images/Slimes/godot-2.png
new file mode 100644
index 0000000..724361a
Binary files /dev/null and b/Edikoyo/Images/Slimes/godot-2.png differ
diff --git a/Edikoyo/Images/Slimes/godot-3.png b/Edikoyo/Images/Slimes/godot-3.png
new file mode 100644
index 0000000..1e0a1a7
Binary files /dev/null and b/Edikoyo/Images/Slimes/godot-3.png differ
diff --git a/Edikoyo/Images/Slimes/godot-4.png b/Edikoyo/Images/Slimes/godot-4.png
new file mode 100644
index 0000000..889c164
Binary files /dev/null and b/Edikoyo/Images/Slimes/godot-4.png differ
diff --git a/Edikoyo/Images/Slimes/honey-1.png b/Edikoyo/Images/Slimes/honey-1.png
new file mode 100644
index 0000000..96103cb
Binary files /dev/null and b/Edikoyo/Images/Slimes/honey-1.png differ
diff --git a/Edikoyo/Images/Slimes/honey-2.png b/Edikoyo/Images/Slimes/honey-2.png
new file mode 100644
index 0000000..841c8c0
Binary files /dev/null and b/Edikoyo/Images/Slimes/honey-2.png differ
diff --git a/Edikoyo/Images/Slimes/honey-3.png b/Edikoyo/Images/Slimes/honey-3.png
new file mode 100644
index 0000000..8e34749
Binary files /dev/null and b/Edikoyo/Images/Slimes/honey-3.png differ
diff --git a/Edikoyo/Images/Slimes/honey-4.png b/Edikoyo/Images/Slimes/honey-4.png
new file mode 100644
index 0000000..98a9a50
Binary files /dev/null and b/Edikoyo/Images/Slimes/honey-4.png differ
diff --git a/Edikoyo/Images/Slimes/lagoon-1.png b/Edikoyo/Images/Slimes/lagoon-1.png
new file mode 100644
index 0000000..bfe2e5e
Binary files /dev/null and b/Edikoyo/Images/Slimes/lagoon-1.png differ
diff --git a/Edikoyo/Images/Slimes/lagoon-2.png b/Edikoyo/Images/Slimes/lagoon-2.png
new file mode 100644
index 0000000..bdc3c06
Binary files /dev/null and b/Edikoyo/Images/Slimes/lagoon-2.png differ
diff --git a/Edikoyo/Images/Slimes/lagoon-3.png b/Edikoyo/Images/Slimes/lagoon-3.png
new file mode 100644
index 0000000..183cac6
Binary files /dev/null and b/Edikoyo/Images/Slimes/lagoon-3.png differ
diff --git a/Edikoyo/Images/Slimes/lagoon-4.png b/Edikoyo/Images/Slimes/lagoon-4.png
new file mode 100644
index 0000000..5dbf82f
Binary files /dev/null and b/Edikoyo/Images/Slimes/lagoon-4.png differ
diff --git a/Edikoyo/Images/Slimes/marsh-1.png b/Edikoyo/Images/Slimes/marsh-1.png
new file mode 100644
index 0000000..7fb7642
Binary files /dev/null and b/Edikoyo/Images/Slimes/marsh-1.png differ
diff --git a/Edikoyo/Images/Slimes/marsh-2.png b/Edikoyo/Images/Slimes/marsh-2.png
new file mode 100644
index 0000000..a0bd390
Binary files /dev/null and b/Edikoyo/Images/Slimes/marsh-2.png differ
diff --git a/Edikoyo/Images/Slimes/marsh-3.png b/Edikoyo/Images/Slimes/marsh-3.png
new file mode 100644
index 0000000..88ea007
Binary files /dev/null and b/Edikoyo/Images/Slimes/marsh-3.png differ
diff --git a/Edikoyo/Images/Slimes/marsh-4.png b/Edikoyo/Images/Slimes/marsh-4.png
new file mode 100644
index 0000000..526dbc6
Binary files /dev/null and b/Edikoyo/Images/Slimes/marsh-4.png differ
diff --git a/Edikoyo/Images/Slimes/sunflower-1.png b/Edikoyo/Images/Slimes/sunflower-1.png
new file mode 100644
index 0000000..ddd0441
Binary files /dev/null and b/Edikoyo/Images/Slimes/sunflower-1.png differ
diff --git a/Edikoyo/Images/Slimes/sunflower-2.png b/Edikoyo/Images/Slimes/sunflower-2.png
new file mode 100644
index 0000000..d2125bb
Binary files /dev/null and b/Edikoyo/Images/Slimes/sunflower-2.png differ
diff --git a/Edikoyo/Images/Slimes/sunflower-3.png b/Edikoyo/Images/Slimes/sunflower-3.png
new file mode 100644
index 0000000..ca76924
Binary files /dev/null and b/Edikoyo/Images/Slimes/sunflower-3.png differ
diff --git a/Edikoyo/Images/Slimes/sunflower-4.png b/Edikoyo/Images/Slimes/sunflower-4.png
new file mode 100644
index 0000000..b3ccd29
Binary files /dev/null and b/Edikoyo/Images/Slimes/sunflower-4.png differ
diff --git a/Edikoyo/Landmarks/_index.md b/Edikoyo/Landmarks/_index.md
new file mode 100644
index 0000000..3e55672
--- /dev/null
+++ b/Edikoyo/Landmarks/_index.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Languages/Edikan/Guide/Basic Words.md b/Edikoyo/Languages/Edikan/Guide/Basic Words.md
new file mode 100644
index 0000000..e69de29
diff --git a/Edikoyo/Languages/Edikan/Guide/_index.md b/Edikoyo/Languages/Edikan/Guide/_index.md
new file mode 100644
index 0000000..e69de29
diff --git a/Edikoyo/Languages/Edikan/Words/_index.md b/Edikoyo/Languages/Edikan/Words/_index.md
new file mode 100644
index 0000000..3e55672
--- /dev/null
+++ b/Edikoyo/Languages/Edikan/Words/_index.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Languages/Edikan/Words/wala.md b/Edikoyo/Languages/Edikan/Words/wala.md
new file mode 100644
index 0000000..2234bdd
--- /dev/null
+++ b/Edikoyo/Languages/Edikan/Words/wala.md
@@ -0,0 +1 @@
+## wala
\ No newline at end of file
diff --git a/Edikoyo/Languages/Edikan/_index.md b/Edikoyo/Languages/Edikan/_index.md
new file mode 100644
index 0000000..c11086d
--- /dev/null
+++ b/Edikoyo/Languages/Edikan/_index.md
@@ -0,0 +1,4 @@
+## Edikan
+Edikan is a language primarily spoken in countries such as [[Dasona]].
+
+You can find all of the words in the [[Languages/Edikan/Words/_index|words]] page.
\ No newline at end of file
diff --git a/Edikoyo/Languages/Fayahi.md b/Edikoyo/Languages/Fayahi.md
new file mode 100644
index 0000000..3e55672
--- /dev/null
+++ b/Edikoyo/Languages/Fayahi.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Languages/Guo.md b/Edikoyo/Languages/Guo.md
new file mode 100644
index 0000000..3e55672
--- /dev/null
+++ b/Edikoyo/Languages/Guo.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Languages/Lacelian.md b/Edikoyo/Languages/Lacelian.md
new file mode 100644
index 0000000..3e55672
--- /dev/null
+++ b/Edikoyo/Languages/Lacelian.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Languages/Mokrixi.md b/Edikoyo/Languages/Mokrixi.md
new file mode 100644
index 0000000..3e55672
--- /dev/null
+++ b/Edikoyo/Languages/Mokrixi.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Languages/_index.md b/Edikoyo/Languages/_index.md
new file mode 100644
index 0000000..326cead
--- /dev/null
+++ b/Edikoyo/Languages/_index.md
@@ -0,0 +1,12 @@
+<!-- QueryToSerialize: TABLE WITHOUT ID link(file.path, choice(file.name != "_index", file.name, split(file.folder, "/")[1])) as "Languages" FROM "Languages" WHERE (file.folder = "Languages" and file.name != "_index") or (file.name = "_index" AND file.folder != "Languages") -->
+<!-- SerializedQuery: TABLE WITHOUT ID link(file.path, choice(file.name != "_index", file.name, split(file.folder, "/")[1])) as "Languages" FROM "Languages" WHERE (file.folder = "Languages" and file.name != "_index") or (file.name = "_index" AND file.folder != "Languages") -->
+
+| Languages                              |
+| -------------------------------------- |
+| [[Fayahi]]        |
+| [[Guo]]              |
+| [[Mokrixi]]      |
+| [[Lacelian]]    |
+| [[Languages/Edikan/_index.md\|Edikan]] |
+<!-- SerializedQuery END -->
+ 
\ No newline at end of file
diff --git a/Edikoyo/People/_index.md b/Edikoyo/People/_index.md
new file mode 100644
index 0000000..e69de29
diff --git a/Edikoyo/Plants/_index.md b/Edikoyo/Plants/_index.md
new file mode 100644
index 0000000..4f76046
--- /dev/null
+++ b/Edikoyo/Plants/_index.md
@@ -0,0 +1,7 @@
+<!-- QueryToSerialize: TABLE WITHOUT ID link(file.path, choice(file.name != "_index", file.name, split(file.folder, "/")[1])) as "Plants" FROM "Plants" WHERE (file.folder = "Plants" and file.name != "_index") or (file.name = "_index" AND file.folder != "Plants") -->
+<!-- SerializedQuery: TABLE WITHOUT ID link(file.path, choice(file.name != "_index", file.name, split(file.folder, "/")[1])) as "Plants" FROM "Plants" WHERE (file.folder = "Plants" and file.name != "_index") or (file.name = "_index" AND file.folder != "Plants") -->
+
+| Plants |
+| ------ |
+<!-- SerializedQuery END -->
+ 
\ No newline at end of file
diff --git a/Edikoyo/Provinces/_index.md b/Edikoyo/Provinces/_index.md
new file mode 100644
index 0000000..3e55672
--- /dev/null
+++ b/Edikoyo/Provinces/_index.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Regions/_index.md b/Edikoyo/Regions/_index.md
new file mode 100644
index 0000000..3e55672
--- /dev/null
+++ b/Edikoyo/Regions/_index.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/Edikoyo/Species/Turian.md b/Edikoyo/Species/Turian.md
new file mode 100644
index 0000000..170b03a
--- /dev/null
+++ b/Edikoyo/Species/Turian.md
@@ -0,0 +1 @@
+# Turian
diff --git a/Edikoyo/Species/_index.md b/Edikoyo/Species/_index.md
new file mode 100644
index 0000000..3e55672
--- /dev/null
+++ b/Edikoyo/Species/_index.md
@@ -0,0 +1 @@
+To be added
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..2189190
--- /dev/null
+++ b/README.md
@@ -0,0 +1,6 @@
+# Edikoyo Wiki
+Edikoyo is a free and open community-built world for anything you make.
+
+Wiki content is released under CC0 and can be used in both commercial and noncommercial works with no attribution required.
+
+Build games set in the world, make art about the world, create fantasy campaigns in the world, adapt entities into your projects, etc.
diff --git a/assets/_variables.scss b/assets/_variables.scss
new file mode 100644
index 0000000..957016c
--- /dev/null
+++ b/assets/_variables.scss
@@ -0,0 +1,17 @@
+@mixin theme-dark {
+  --gray-100: rgba(255, 255, 255, 0.1);
+  --gray-200: rgba(255, 255, 255, 0.2);
+  --gray-500: rgba(255, 255, 255, 0.5);
+
+  --color-link: #84b2ff;
+  --color-visited-link: #b88dff;
+
+  --body-background: #121212;
+  --body-font-color: #d9dcdf;
+
+  --icon-filter: brightness(0) invert(1);
+
+  --hint-color-info: #6bf;
+  --hint-color-warning: #fd6;
+  --hint-color-danger: #f66;
+}
diff --git a/config.yaml b/config.yaml
new file mode 100644
index 0000000..85d41ac
--- /dev/null
+++ b/config.yaml
@@ -0,0 +1,33 @@
+baseURL: 'http://wiki.edikoyo.com'
+title: 'Edikoyo Wiki'
+theme: 'hugo-book'
+enableGitInfo: true
+
+languages:
+  en:
+    languageName: 'English'
+    contentDir: 'content'
+    weight: 1
+
+menu:
+  # before: []
+  after:
+    - name: 'Source'
+      url: 'https://git.edikoyo.com/Edikoyo/EdikoyoWiki'
+      weight: 10
+    - name: 'Links'
+      url: 'https://links.edikoyo.com'
+      weight: 100
+
+module:
+  imports:
+    - path: github.com/hugomods/icons/vendors/lucide
+
+params:
+  BookMenuBundle: 'menu'
+  BookTheme: 'auto'
+  BookToC: true
+  BookLogo: '/Images/Slimes/sunflower-1.png'
+  BookFavicon: '/Images/Slimes/sunflower-1.png'
+  BookCommitPath: 'commit'
+  CookRepo: 'https://git.edikoyo.com/Edikoyo/EdikoyoWiki'
diff --git a/content/Countries/Batanoka.md b/content/Countries/Batanoka.md
deleted file mode 100644
index bf76b54..0000000
--- a/content/Countries/Batanoka.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
----
-
-This is a test
diff --git a/content/Countries/Dasona.md b/content/Countries/Dasona.md
deleted file mode 100644
index 02112c1..0000000
--- a/content/Countries/Dasona.md
+++ /dev/null
@@ -1,4 +0,0 @@
----
----
-
-Test Country Text
diff --git a/content/_index.md b/content/_index.md
new file mode 100644
index 0000000..02e8193
--- /dev/null
+++ b/content/_index.md
@@ -0,0 +1,5 @@
+Welcome to the Edikoyo Wiki!
+
+The wiki is currently under construction so many sections will be empty as information is getting added
+
+{{< ico lucide building >}}
diff --git a/content/docs/Animals/Cat.md b/content/docs/Animals/Cat.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Animals/Cat.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/docs/Animals/Dog.md b/content/docs/Animals/Dog.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Animals/Dog.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/Animals/Cat.md b/content/docs/Animals/Golems/_index.md
similarity index 100%
rename from content/Animals/Cat.md
rename to content/docs/Animals/Golems/_index.md
diff --git a/content/docs/Animals/Slimes/Ababa Slime.md b/content/docs/Animals/Slimes/Ababa Slime.md
new file mode 100644
index 0000000..96b9c65
--- /dev/null
+++ b/content/docs/Animals/Slimes/Ababa Slime.md	
@@ -0,0 +1,31 @@
+---
+variant1:
+- '![[ababa-1.png]]'
+- '[[Batanoka]]'
+variant2:
+- '![[ababa-2.png]]'
+- '[[Faelani]]'
+variant3:
+- '![[ababa-3.png]]'
+- '[[Barrowmaw]]'
+golden:
+- '![[ababa-4.png]]'
+- Everywhere
+rarity: Common
+type: Cold
+requestor: n04_ux
+---
+
+# On the Ababa Slime
+
+Instances of the “Ababa” Slime are found within many historical scripts from many different cultures. 
+
+Even before the formation of [Dasona](..\..\Countries\Dasona.md), pre-amalgamation cultures reference the existence of “Åba Slôm” /ɔ:bæ ʃlɔɪm/ that would later evolve into “Ababa Slime” /æbæbæ slaɪm/. 
+
+Some researchers argue that the origin of the Slime itself is so ancient that its naming has maintained itself through time, reaching us today. Some theories behind the etymology of “Ababa” explain that most probably, Ababa is a way of phonetically depicting the creature’s shape. Rapidly opening and closing the mouth, depicting the wavy shape.
+
+Early depictions of the Slime already represent this.
+
+![](https://lh7-rt.googleusercontent.com/docsz/AD_4nXefKerMgogWBdjvUChRfAVNQe0w6dh4bwI5EoosI1bU-hPrIP9-iFZcBRDh_JdbzliITYVgxsWSarymbBeWH2erMO8pFmFwkEW7rHYW_hUb9TRpUujBh5-dIXD_COdayjqph4YzBd0KcDT8Ox_V77TlI6A?key=bnI7Woon4tEfL42TRpP0aQ)
+
+“The Slime Dictionary” (????) Ancient Faelani Book on Slimes.
diff --git a/content/docs/Animals/Slimes/Bark Slime.md b/content/docs/Animals/Slimes/Bark Slime.md
new file mode 100644
index 0000000..1022c34
--- /dev/null
+++ b/content/docs/Animals/Slimes/Bark Slime.md	
@@ -0,0 +1,19 @@
+---
+variant1:
+- '![[bark-1.png]]'
+- '[[Dasona]]'
+variant2:
+- '![[bark-2.png]]'
+- '[[Gudoko]]'
+variant3:
+- '![[bark-3.png]]'
+- '[[Lekia]]'
+golden:
+- '![[bark-4.png]]'
+- Everywhere
+rarity: Common
+type: Nature
+requestor: Ategon
+---
+
+To be added
diff --git a/content/docs/Animals/Slimes/Garden Slime.md b/content/docs/Animals/Slimes/Garden Slime.md
new file mode 100644
index 0000000..ff2da47
--- /dev/null
+++ b/content/docs/Animals/Slimes/Garden Slime.md	
@@ -0,0 +1,19 @@
+---
+variant1:
+- '![[garden-1.png]]'
+- '[[Dasona]]'
+variant2:
+- '![[garden-2.png]]'
+- '[[Soljord]]'
+variant3:
+- '![[garden-3.png]]'
+- '[[Dolfeyja]]'
+golden:
+- '![[garden-4.png]]'
+- Everywhere
+rarity: Common
+type: Nature
+requestor: Ategon
+---
+
+To be added
diff --git a/content/docs/Animals/Slimes/Godot Slime.md b/content/docs/Animals/Slimes/Godot Slime.md
new file mode 100644
index 0000000..bcc38ad
--- /dev/null
+++ b/content/docs/Animals/Slimes/Godot Slime.md	
@@ -0,0 +1,19 @@
+---
+variant1:
+- '![[godot-1.png]]'
+- '[[Gokolm]]'
+variant2:
+- '![[godot-2.png]]'
+- '[[Dasona]]'
+variant3:
+- '![[godot-3.png]]'
+- '[[Soljord]]'
+golden:
+- '![[godot-4.png]]'
+- Everywhere
+rarity: Uncommon
+type: Stone
+requestor: PracticalNPC
+---
+
+To be added
diff --git a/content/docs/Animals/Slimes/Honey Slime.md b/content/docs/Animals/Slimes/Honey Slime.md
new file mode 100644
index 0000000..4dde155
--- /dev/null
+++ b/content/docs/Animals/Slimes/Honey Slime.md	
@@ -0,0 +1,19 @@
+---
+variant1:
+- '![[honey-1.png]]'
+- '[[Dahallow]]'
+variant2:
+- '![[honey-2.png]]'
+- '[[Krakala]]'
+variant3:
+- '![[honey-3.png]]'
+- '[[Mantine]]'
+golden:
+- '![[honey-4.png]]'
+- Everywhere
+rarity: Common
+type: Nature
+requestor: SarahClick
+---
+
+To be added
diff --git a/content/docs/Animals/Slimes/Lagoon Slime.md b/content/docs/Animals/Slimes/Lagoon Slime.md
new file mode 100644
index 0000000..8cadd62
--- /dev/null
+++ b/content/docs/Animals/Slimes/Lagoon Slime.md	
@@ -0,0 +1,19 @@
+---
+variant1:
+- '![[lagoon-1.png]]'
+- '[[Dahallow]]'
+variant2:
+- '![[lagoon-2.png]]'
+- '[[Mantine]]'
+variant3:
+- '![[lagoon-3.png]]'
+- '[[Felmyr]]'
+golden:
+- '![[lagoon-4.png]]'
+- Everywhere
+rarity: Common
+type: Water
+requestor: Ategon
+---
+
+To be added
diff --git a/content/docs/Animals/Slimes/Marsh Slime.md b/content/docs/Animals/Slimes/Marsh Slime.md
new file mode 100644
index 0000000..ed0d571
--- /dev/null
+++ b/content/docs/Animals/Slimes/Marsh Slime.md	
@@ -0,0 +1,18 @@
+---
+variant1:
+- '![[marsh-1.png]]'
+- '[[Oshela]]'
+variant2:
+- '![[marsh-2.png]]'
+- '[[Vikogyna]]'
+variant3:
+- '![[marsh-3.png]]'
+- '[[Barrowmaw]]'
+golden:
+- '![[marsh-4.png]]'
+rarity: Common
+type: Nature
+requestor: Ategon
+---
+
+To be added
diff --git a/content/docs/Animals/Slimes/Sunflower Slime.md b/content/docs/Animals/Slimes/Sunflower Slime.md
new file mode 100644
index 0000000..321159c
--- /dev/null
+++ b/content/docs/Animals/Slimes/Sunflower Slime.md	
@@ -0,0 +1,19 @@
+---
+variant1:
+- '![[sunflower-1.png]]'
+- '[[Calcetron]]'
+variant2:
+- '![[sunflower-2.png]]'
+- '[[Llasuki]]'
+variant3:
+- '![[sunflower-3.png]]'
+- '[[Blanchister]]'
+golden:
+- '![[sunflower-4.png]]'
+- Everywhere
+rarity: Common
+type: Nature
+requestor: GGlitchedOut
+---
+
+To be added
diff --git a/content/docs/Animals/Slimes/_index.md b/content/docs/Animals/Slimes/_index.md
new file mode 100644
index 0000000..4796754
--- /dev/null
+++ b/content/docs/Animals/Slimes/_index.md
@@ -0,0 +1,19 @@
+---
+---
+
+<!-- QueryToSerialize: TABLE WITHOUT ID file.link as "Slimes", variant1[0] as "Regional Variant 1", variant2[0] as "Regional Variant 2", variant3[0] as "Regional Variant 3", golden[0] as "Golden Variant", rarity as "Rarity" FROM "Animals/Slimes" WHERE file.name != "_index"  SORT rarity, file.name -->
+<!-- SerializedQuery: TABLE WITHOUT ID file.link as "Slimes", variant1[0] as "Regional Variant 1", variant2[0] as "Regional Variant 2", variant3[0] as "Regional Variant 3", golden[0] as "Golden Variant", rarity as "Rarity" FROM "Animals/Slimes" WHERE file.name != "_index"  SORT rarity, file.name -->
+
+|Slimes|Regional Variant 1|Regional Variant 2|Regional Variant 3|Golden Variant|Rarity|
+|------|------------------|------------------|------------------|--------------|------|
+|[Ababa Slime](Ababa%20Slime.md)|![ababa-1.png](..\..\Images\Slimes\ababa-1.png)|![ababa-2.png](..\..\Images\Slimes\ababa-2.png)|![ababa-3.png](..\..\Images\Slimes\ababa-3.png)|![ababa-4.png](..\..\Images\Slimes\ababa-4.png)|Common|
+|[Bark Slime](Bark%20Slime.md)|![bark-1.png](..\..\Images\Slimes\bark-1.png)|![bark-2.png](..\..\Images\Slimes\bark-2.png)|![bark-3.png](..\..\Images\Slimes\bark-3.png)|![bark-4.png](..\..\Images\Slimes\bark-4.png)|Common|
+|[Garden Slime](Garden%20Slime.md)|![garden-1.png](..\..\Images\Slimes\garden-1.png)|![garden-2.png](..\..\Images\Slimes\garden-2.png)|![garden-3.png](..\..\Images\Slimes\garden-3.png)|![garden-4.png](..\..\Images\Slimes\garden-4.png)|Common|
+|[Honey Slime](Honey%20Slime.md)|![honey-1.png](..\..\Images\Slimes\honey-1.png)|![honey-2.png](..\..\Images\Slimes\honey-2.png)|![honey-3.png](..\..\Images\Slimes\honey-3.png)|![honey-4.png](..\..\Images\Slimes\honey-4.png)|Common|
+|[Lagoon Slime](Lagoon%20Slime.md)|![lagoon-1.png](..\..\Images\Slimes\lagoon-1.png)|![lagoon-2.png](..\..\Images\Slimes\lagoon-2.png)|![lagoon-3.png](..\..\Images\Slimes\lagoon-3.png)|![lagoon-4.png](..\..\Images\Slimes\lagoon-4.png)|Common|
+|[Marsh Slime](Marsh%20Slime.md)|![marsh-1.png](..\..\Images\Slimes\marsh-1.png)|![marsh-2.png](..\..\Images\Slimes\marsh-2.png)|![marsh-3.png](..\..\Images\Slimes\marsh-3.png)|![marsh-4.png](..\..\Images\Slimes\marsh-4.png)|Common|
+|[Sunflower Slime](Sunflower%20Slime.md)|![sunflower-1.png](..\..\Images\Slimes\sunflower-1.png)|![sunflower-2.png](..\..\Images\Slimes\sunflower-2.png)|![sunflower-3.png](..\..\Images\Slimes\sunflower-3.png)|![sunflower-4.png](..\..\Images\Slimes\sunflower-4.png)|Common|
+|[Godot Slime](Godot%20Slime.md)|![godot-1.png](..\..\Images\Slimes\godot-1.png)|![godot-2.png](..\..\Images\Slimes\godot-2.png)|![godot-3.png](..\..\Images\Slimes\godot-3.png)|![godot-4.png](..\..\Images\Slimes\godot-4.png)|Uncommon|
+
+<!-- SerializedQuery END -->
+
diff --git a/content/docs/Animals/Slom.md b/content/docs/Animals/Slom.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Animals/Slom.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/docs/Animals/Taura.md b/content/docs/Animals/Taura.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Animals/Taura.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/docs/Animals/_index.md b/content/docs/Animals/_index.md
new file mode 100644
index 0000000..63ed78d
--- /dev/null
+++ b/content/docs/Animals/_index.md
@@ -0,0 +1,18 @@
+---
+---
+
+# ![cat.svg](..\Images\Icons\cat.svg) Animals
+
+<!-- QueryToSerialize: TABLE WITHOUT ID link(file.path, choice(file.name != "_index", file.name, split(file.folder, "/")[1])) as "Animals" FROM "Animals" WHERE (file.folder = "Animals" and file.name != "_index") or (file.name = "_index" AND file.folder != "Animals") -->
+<!-- SerializedQuery: TABLE WITHOUT ID link(file.path, choice(file.name != "_index", file.name, split(file.folder, "/")[1])) as "Animals" FROM "Animals" WHERE (file.folder = "Animals" and file.name != "_index") or (file.name = "_index" AND file.folder != "Animals") -->
+
+|Animals|
+|-------|
+|[Cat](Cat.md)|
+|[Dog](Dog.md)|
+|[Slimes](Slimes\_index.md)|
+|[Slom](Slom.md)|
+|[Taura](Taura.md)|
+
+<!-- SerializedQuery END -->
+
diff --git a/content/docs/Cities/Bririe.md b/content/docs/Cities/Bririe.md
new file mode 100644
index 0000000..1ef8e8c
--- /dev/null
+++ b/content/docs/Cities/Bririe.md
@@ -0,0 +1,5 @@
+---
+country: Batanoka
+---
+
+A
diff --git a/content/Cities/Crester.md b/content/docs/Cities/Crester.md
similarity index 96%
rename from content/Cities/Crester.md
rename to content/docs/Cities/Crester.md
index 0bb5252..5f6046a 100644
--- a/content/Cities/Crester.md
+++ b/content/docs/Cities/Crester.md
@@ -3,4 +3,4 @@ country: '[[Dasona]]'
 province: '[[Nane]]'
 ---
 
-
+A
diff --git a/content/Cities/Nanera.md b/content/docs/Cities/Nanera.md
similarity index 100%
rename from content/Cities/Nanera.md
rename to content/docs/Cities/Nanera.md
diff --git a/content/Cities/Sanya City.md b/content/docs/Cities/Sanya City.md
similarity index 100%
rename from content/Cities/Sanya City.md
rename to content/docs/Cities/Sanya City.md
diff --git a/content/Animals/Dog.md b/content/docs/Cities/_index.md
similarity index 100%
rename from content/Animals/Dog.md
rename to content/docs/Cities/_index.md
diff --git a/content/Animals/Slime.md b/content/docs/Continents/_index.md
similarity index 100%
rename from content/Animals/Slime.md
rename to content/docs/Continents/_index.md
diff --git a/content/docs/Countries/Barrowmaw.md b/content/docs/Countries/Barrowmaw.md
new file mode 100644
index 0000000..7e9260d
--- /dev/null
+++ b/content/docs/Countries/Barrowmaw.md
@@ -0,0 +1,8 @@
+---
+short: The Undead Wasteland
+flag: '![[barrowmaw.png]]'
+language: null
+capital: null
+---
+
+To be added
diff --git a/content/docs/Countries/Batanoka.md b/content/docs/Countries/Batanoka.md
new file mode 100644
index 0000000..cecf23f
--- /dev/null
+++ b/content/docs/Countries/Batanoka.md
@@ -0,0 +1,8 @@
+---
+short: The Subterranean Sun
+flag: '![[batanoka.png]]'
+language: '[[Languages/Edikan/_index]]'
+capital: '[[Bririe]]'
+---
+
+To be added
diff --git a/content/docs/Countries/Blanchister.md b/content/docs/Countries/Blanchister.md
new file mode 100644
index 0000000..df073b0
--- /dev/null
+++ b/content/docs/Countries/Blanchister.md
@@ -0,0 +1,8 @@
+---
+short: The Realm of Nomads
+flag: '![[blanchister.png]]'
+language: null
+capital: null
+---
+
+To be added
diff --git a/content/docs/Countries/Calcetron.md b/content/docs/Countries/Calcetron.md
new file mode 100644
index 0000000..8b96dfd
--- /dev/null
+++ b/content/docs/Countries/Calcetron.md
@@ -0,0 +1,8 @@
+---
+short: The Electric Republic
+flag: '![[calcetron.png]]'
+language: null
+capital: null
+---
+
+To be added
diff --git a/content/docs/Countries/Dahallow.md b/content/docs/Countries/Dahallow.md
new file mode 100644
index 0000000..13de199
--- /dev/null
+++ b/content/docs/Countries/Dahallow.md
@@ -0,0 +1,8 @@
+---
+short: The Blooming Kingdom
+flag: '![[dahallow.png]]'
+language: null
+capital: null
+---
+
+To be added
diff --git a/content/docs/Countries/Dasona.md b/content/docs/Countries/Dasona.md
new file mode 100644
index 0000000..e7884ab
--- /dev/null
+++ b/content/docs/Countries/Dasona.md
@@ -0,0 +1,8 @@
+---
+short: The Country of Hopes
+flag: '![[dasona.png]]'
+language: '[[Languages/Edikan/_index]]'
+capital: '[[Crester]]'
+---
+
+To be added
diff --git a/content/docs/Countries/Dolfeyja.md b/content/docs/Countries/Dolfeyja.md
new file mode 100644
index 0000000..0713907
--- /dev/null
+++ b/content/docs/Countries/Dolfeyja.md
@@ -0,0 +1,8 @@
+---
+short: The Peaceful Summit
+flag: '![[dolfeyja.png]]'
+language: '[[Languages/Edikan/_index]]'
+capital: null
+---
+
+To be added
diff --git a/content/docs/Countries/Dratana.md b/content/docs/Countries/Dratana.md
new file mode 100644
index 0000000..346a724
--- /dev/null
+++ b/content/docs/Countries/Dratana.md
@@ -0,0 +1,8 @@
+---
+short: Realm of Dragons
+flag: '![[dratana.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Drenvale.md b/content/docs/Countries/Drenvale.md
new file mode 100644
index 0000000..a39c159
--- /dev/null
+++ b/content/docs/Countries/Drenvale.md
@@ -0,0 +1,8 @@
+---
+short: Diesel Kingdom
+flag: '![[drenvale.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Faelani.md b/content/docs/Countries/Faelani.md
new file mode 100644
index 0000000..8339c4b
--- /dev/null
+++ b/content/docs/Countries/Faelani.md
@@ -0,0 +1,8 @@
+---
+short: Fairy Forest
+flag: '![[faelani.png]]'
+capital: null
+language: '[[Fayahi]]'
+---
+
+To be added
diff --git a/content/docs/Countries/Falaka.md b/content/docs/Countries/Falaka.md
new file mode 100644
index 0000000..a4ad385
--- /dev/null
+++ b/content/docs/Countries/Falaka.md
@@ -0,0 +1,8 @@
+---
+short: The Empire of Flames
+flag: '![[falaka.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Felmyr.md b/content/docs/Countries/Felmyr.md
new file mode 100644
index 0000000..aa8df41
--- /dev/null
+++ b/content/docs/Countries/Felmyr.md
@@ -0,0 +1,8 @@
+---
+short: Draconic Temples
+flag: '![[felmyr.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Gokolm.md b/content/docs/Countries/Gokolm.md
new file mode 100644
index 0000000..a3dd3d2
--- /dev/null
+++ b/content/docs/Countries/Gokolm.md
@@ -0,0 +1,8 @@
+---
+short: Mechanical Wasteland
+flag: '![[gokolm.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Gudoko.md b/content/docs/Countries/Gudoko.md
new file mode 100644
index 0000000..8900807
--- /dev/null
+++ b/content/docs/Countries/Gudoko.md
@@ -0,0 +1,8 @@
+---
+short: Unified Miners
+flag: '![[gudoko.png]]'
+capital: null
+language: '[[Guo]]'
+---
+
+To be added
diff --git a/content/docs/Countries/Hanoka.md b/content/docs/Countries/Hanoka.md
new file mode 100644
index 0000000..2fa1144
--- /dev/null
+++ b/content/docs/Countries/Hanoka.md
@@ -0,0 +1,8 @@
+---
+short: Harbringers of Peace
+flag: '![[hanoka.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Krakala.md b/content/docs/Countries/Krakala.md
new file mode 100644
index 0000000..104ea22
--- /dev/null
+++ b/content/docs/Countries/Krakala.md
@@ -0,0 +1,8 @@
+---
+short: The Merchant Capital
+flag: '![[krakala.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Lavaki.md b/content/docs/Countries/Lavaki.md
new file mode 100644
index 0000000..e54ad68
--- /dev/null
+++ b/content/docs/Countries/Lavaki.md
@@ -0,0 +1,8 @@
+---
+short: Volcanic Ridge
+flag: '![[lavaki.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Lekia.md b/content/docs/Countries/Lekia.md
new file mode 100644
index 0000000..6711348
--- /dev/null
+++ b/content/docs/Countries/Lekia.md
@@ -0,0 +1,8 @@
+---
+short: Marshy Jungles
+flag: '![[lekia.png]]'
+capital: null
+language: '[[Lacelian]]'
+---
+
+To be added
diff --git a/content/docs/Countries/Llasuki.md b/content/docs/Countries/Llasuki.md
new file mode 100644
index 0000000..96fbede
--- /dev/null
+++ b/content/docs/Countries/Llasuki.md
@@ -0,0 +1,8 @@
+---
+short: Realm of the Gods
+flag: '![[llasuki.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Mantine.md b/content/docs/Countries/Mantine.md
new file mode 100644
index 0000000..37e36b1
--- /dev/null
+++ b/content/docs/Countries/Mantine.md
@@ -0,0 +1,24 @@
+---
+short: Deep Shores
+flag: '![[mantine.png]]'
+capital: null
+language: null
+---
+
+Mantine was a calm region for part of its history; some small cities formed, but growth was slow and dispersed throughout the region. 
+
+Two main distinctions happened after a while between the inland and the coast land. 
+
+The Coast region's economy was purely based on fishing and some farming. Having ancient ways of doing so that still remain today.
+
+The Inland region's discovered some mines, gathering metal and developing ways of smelting and using them; later on, they would create powerful tools mixing magic and machines; this made the Coast Region aware that they were falling behind in research and development.
+
+After a while, the region of Medine started to export raw materials to other countries. The Queen of Sidone, who only sold some of the overall produced nourishment to Medine, noticed that Medine's relationship with some countries also included reselling what they were buying from them. Which escalated the relationship between both regions.
+
+Through decades, both regions were on the brink of a civil war. 
+
+One of the earliest depictions of diplomacy appeared through this era between the Chancellor of Medine, the main inland city, and the Queen of Sidone. 
+
+The most tense event from this period occurred when a party of Medine's Army tried getting some steel to Sidone's port, where a ship from another country was waiting. The Queen of Sidone retained this party for a time; she wouldn't allow this to happen without some competition for the crown. 
+
+While this happened, The Great Storm of Mantine started.
diff --git a/content/docs/Countries/Mortham.md b/content/docs/Countries/Mortham.md
new file mode 100644
index 0000000..b5a3c8f
--- /dev/null
+++ b/content/docs/Countries/Mortham.md
@@ -0,0 +1,8 @@
+---
+short: Pirate Bay
+flag: '![[mortham.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Nakadon.md b/content/docs/Countries/Nakadon.md
new file mode 100644
index 0000000..a34e929
--- /dev/null
+++ b/content/docs/Countries/Nakadon.md
@@ -0,0 +1,8 @@
+---
+short: The Jungle Maze
+flag: '![[nakadon.png]]'
+capital: null
+language: '[[Lacelian]]'
+---
+
+To be added
diff --git a/content/docs/Countries/Nasahra.md b/content/docs/Countries/Nasahra.md
new file mode 100644
index 0000000..a6b9b0d
--- /dev/null
+++ b/content/docs/Countries/Nasahra.md
@@ -0,0 +1,8 @@
+---
+short: The Scrap Desert
+flag: '![[nasahra.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Nonkur.md b/content/docs/Countries/Nonkur.md
new file mode 100644
index 0000000..64af8a6
--- /dev/null
+++ b/content/docs/Countries/Nonkur.md
@@ -0,0 +1,8 @@
+---
+short: Realm of the Dead
+flag: '![[nonkur.png]]'
+capital: null
+language: '[[Mokrixi]]'
+---
+
+To be added
diff --git a/content/docs/Countries/Oshela.md b/content/docs/Countries/Oshela.md
new file mode 100644
index 0000000..b477642
--- /dev/null
+++ b/content/docs/Countries/Oshela.md
@@ -0,0 +1,8 @@
+---
+short: Seaside Rainforest
+flag: '![[oshela.png]]'
+capital: null
+language: '[[Lacelian]]'
+---
+
+To be added
diff --git a/content/docs/Countries/Ovanos.md b/content/docs/Countries/Ovanos.md
new file mode 100644
index 0000000..26ce34c
--- /dev/null
+++ b/content/docs/Countries/Ovanos.md
@@ -0,0 +1,8 @@
+---
+short: The Flying City
+flag: '![[ovanos.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Seraphis.md b/content/docs/Countries/Seraphis.md
new file mode 100644
index 0000000..c9ee46d
--- /dev/null
+++ b/content/docs/Countries/Seraphis.md
@@ -0,0 +1,8 @@
+---
+short: The Blessed Lands
+flag: '![[seraphis.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Soljord.md b/content/docs/Countries/Soljord.md
new file mode 100644
index 0000000..6b1b2c4
--- /dev/null
+++ b/content/docs/Countries/Soljord.md
@@ -0,0 +1,8 @@
+---
+short: Land of the Frozen Sun
+flag: '![[soljord.png]]'
+capital: null
+language: '[[Languages/Edikan/_index]]'
+---
+
+To be added
diff --git a/content/docs/Countries/Vanatn.md b/content/docs/Countries/Vanatn.md
new file mode 100644
index 0000000..6091930
--- /dev/null
+++ b/content/docs/Countries/Vanatn.md
@@ -0,0 +1,8 @@
+---
+short: The Underwater Metropolis
+flag: '![[vanatn.png]]'
+capital: null
+language: null
+---
+
+To be added
diff --git a/content/docs/Countries/Vikogyna.md b/content/docs/Countries/Vikogyna.md
new file mode 100644
index 0000000..862bac2
--- /dev/null
+++ b/content/docs/Countries/Vikogyna.md
@@ -0,0 +1,8 @@
+---
+short: The Desert Market
+flag: '![[vikogyna.png]]'
+capital: null
+language: '[[Languages/Edikan/_index]]'
+---
+
+To be added
diff --git a/content/docs/Countries/Vosaka.md b/content/docs/Countries/Vosaka.md
new file mode 100644
index 0000000..7ef6024
--- /dev/null
+++ b/content/docs/Countries/Vosaka.md
@@ -0,0 +1,8 @@
+---
+short: The Oasis Encampment
+flag: '![[vosaka.png]]'
+capital: null
+language: '[[Languages/Edikan/_index]]'
+---
+
+To be added
diff --git a/content/docs/Countries/_index.md b/content/docs/Countries/_index.md
new file mode 100644
index 0000000..b5d35f9
--- /dev/null
+++ b/content/docs/Countries/_index.md
@@ -0,0 +1,42 @@
+---
+---
+
+<!-- QueryToSerialize: TABLE flag as "Flag",  short as "Short", population as "Population", capital as "Capital", language as "Language" FROM "Countries" WHERE file.name != "_index" SORT file.name -->
+<!-- SerializedQuery: TABLE flag as "Flag",  short as "Short", population as "Population", capital as "Capital", language as "Language" FROM "Countries" WHERE file.name != "_index" SORT file.name -->
+
+|File|Flag|Short|Population|Capital|Language|
+|----|----|-----|----------|-------|--------|
+|[Barrowmaw](Barrowmaw.md)|![barrowmaw.png](..\Images\Flags\barrowmaw.png)|The Undead Wasteland|-|-|-|
+|[Batanoka](Batanoka.md)|![batanoka.png](..\Images\Flags\batanoka.png)|The Subterranean Sun|-|[Bririe](..\Cities\Bririe.md)|[\_index](..\Languages\Edikan\_index.md)|
+|[Blanchister](Blanchister.md)|![blanchister.png](..\Images\Flags\blanchister.png)|The Realm of Nomads|-|-|-|
+|[Calcetron](Calcetron.md)|![calcetron.png](..\Images\Flags\calcetron.png)|The Electric Republic|-|-|-|
+|[Dahallow](Dahallow.md)|![dahallow.png](..\Images\Flags\dahallow.png)|The Blooming Kingdom|-|-|-|
+|[Dasona](Dasona.md)|![dasona.png](..\Images\Flags\dasona.png)|The Country of Hopes|-|[Crester](..\Cities\Crester.md)|[\_index](..\Languages\Edikan\_index.md)|
+|[Dolfeyja](Dolfeyja.md)|![dolfeyja.png](..\Images\Flags\dolfeyja.png)|The Peaceful Summit|-|-|[\_index](..\Languages\Edikan\_index.md)|
+|[Dratana](Dratana.md)|![dratana.png](..\Images\Flags\dratana.png)|Realm of Dragons|-|-|-|
+|[Drenvale](Drenvale.md)|![drenvale.png](..\Images\Flags\drenvale.png)|Diesel Kingdom|-|-|-|
+|[Faelani](Faelani.md)|![faelani.png](..\Images\Flags\faelani.png)|Fairy Forest|-|-|[Fayahi](..\Languages\Fayahi.md)|
+|[Falaka](Falaka.md)|![falaka.png](..\Images\Flags\falaka.png)|The Empire of Flames|-|-|-|
+|[Felmyr](Felmyr.md)|![felmyr.png](..\Images\Flags\felmyr.png)|Draconic Temples|-|-|-|
+|[Gokolm](Gokolm.md)|![gokolm.png](..\Images\Flags\gokolm.png)|Mechanical Wasteland|-|-|-|
+|[Gudoko](Gudoko.md)|![gudoko.png](..\Images\Flags\gudoko.png)|Unified Miners|-|-|[Guo](..\Languages\Guo.md)|
+|[Hanoka](Hanoka.md)|![hanoka.png](..\Images\Flags\hanoka.png)|Harbringers of Peace|-|-|-|
+|[Krakala](Krakala.md)|![krakala.png](..\Images\Flags\krakala.png)|The Merchant Capital|-|-|-|
+|[Lavaki](Lavaki.md)|![lavaki.png](..\Images\Flags\lavaki.png)|Volcanic Ridge|-|-|-|
+|[Lekia](Lekia.md)|![lekia.png](..\Images\Flags\lekia.png)|Marshy Jungles|-|-|[Lacelian](..\Languages\Lacelian.md)|
+|[Llasuki](Llasuki.md)|![llasuki.png](..\Images\Flags\llasuki.png)|Realm of the Gods|-|-|-|
+|[Mantine](Mantine.md)|![mantine.png](..\Images\Flags\mantine.png)|Deep Shores|-|-|-|
+|[Mortham](Mortham.md)|![mortham.png](..\Images\Flags\mortham.png)|Pirate Bay|-|-|-|
+|[Nakadon](Nakadon.md)|![nakadon.png](..\Images\Flags\nakadon.png)|The Jungle Maze|-|-|[Lacelian](..\Languages\Lacelian.md)|
+|[Nasahra](Nasahra.md)|![nasahra.png](..\Images\Flags\nasahra.png)|The Scrap Desert|-|-|-|
+|[Nonkur](Nonkur.md)|![nonkur.png](..\Images\Flags\nonkur.png)|Realm of the Dead|-|-|[Mokrixi](..\Languages\Mokrixi.md)|
+|[Oshela](Oshela.md)|![oshela.png](..\Images\Flags\oshela.png)|Seaside Rainforest|-|-|[Lacelian](..\Languages\Lacelian.md)|
+|[Ovanos](Ovanos.md)|![ovanos.png](..\Images\Flags\ovanos.png)|The Flying City|-|-|-|
+|[Seraphis](Seraphis.md)|![seraphis.png](..\Images\Flags\seraphis.png)|The Blessed Lands|-|-|-|
+|[Soljord](Soljord.md)|![soljord.png](..\Images\Flags\soljord.png)|Land of the Frozen Sun|-|-|[\_index](..\Languages\Edikan\_index.md)|
+|[Vanatn](Vanatn.md)|![vanatn.png](..\Images\Flags\vanatn.png)|The Underwater Metropolis|-|-|-|
+|[Vikogyna](Vikogyna.md)|![vikogyna.png](..\Images\Flags\vikogyna.png)|The Desert Market|-|-|[\_index](..\Languages\Edikan\_index.md)|
+|[Vosaka](Vosaka.md)|![vosaka.png](..\Images\Flags\vosaka.png)|The Oasis Encampment|-|-|[\_index](..\Languages\Edikan\_index.md)|
+
+<!-- SerializedQuery END -->
+
diff --git a/content/Animals/Slom.md b/content/docs/Cultures/_index.md
similarity index 100%
rename from content/Animals/Slom.md
rename to content/docs/Cultures/_index.md
diff --git a/content/docs/Images/Flags/barrowmaw.png b/content/docs/Images/Flags/barrowmaw.png
new file mode 100644
index 0000000..86762ff
Binary files /dev/null and b/content/docs/Images/Flags/barrowmaw.png differ
diff --git a/content/docs/Images/Flags/batanoka.png b/content/docs/Images/Flags/batanoka.png
new file mode 100644
index 0000000..fb7cbea
Binary files /dev/null and b/content/docs/Images/Flags/batanoka.png differ
diff --git a/content/docs/Images/Flags/blanchister.png b/content/docs/Images/Flags/blanchister.png
new file mode 100644
index 0000000..bf8ec64
Binary files /dev/null and b/content/docs/Images/Flags/blanchister.png differ
diff --git a/content/docs/Images/Flags/calcetron.png b/content/docs/Images/Flags/calcetron.png
new file mode 100644
index 0000000..e9278ef
Binary files /dev/null and b/content/docs/Images/Flags/calcetron.png differ
diff --git a/content/docs/Images/Flags/dahallow.png b/content/docs/Images/Flags/dahallow.png
new file mode 100644
index 0000000..8517eed
Binary files /dev/null and b/content/docs/Images/Flags/dahallow.png differ
diff --git a/content/docs/Images/Flags/dasona.png b/content/docs/Images/Flags/dasona.png
new file mode 100644
index 0000000..0506b76
Binary files /dev/null and b/content/docs/Images/Flags/dasona.png differ
diff --git a/content/docs/Images/Flags/dolfeyja.png b/content/docs/Images/Flags/dolfeyja.png
new file mode 100644
index 0000000..9f138e7
Binary files /dev/null and b/content/docs/Images/Flags/dolfeyja.png differ
diff --git a/content/docs/Images/Flags/dratana.png b/content/docs/Images/Flags/dratana.png
new file mode 100644
index 0000000..bd418f9
Binary files /dev/null and b/content/docs/Images/Flags/dratana.png differ
diff --git a/content/docs/Images/Flags/drenvale.png b/content/docs/Images/Flags/drenvale.png
new file mode 100644
index 0000000..c4143b6
Binary files /dev/null and b/content/docs/Images/Flags/drenvale.png differ
diff --git a/content/docs/Images/Flags/faelani.png b/content/docs/Images/Flags/faelani.png
new file mode 100644
index 0000000..a38e992
Binary files /dev/null and b/content/docs/Images/Flags/faelani.png differ
diff --git a/content/docs/Images/Flags/falaka.png b/content/docs/Images/Flags/falaka.png
new file mode 100644
index 0000000..4af23a0
Binary files /dev/null and b/content/docs/Images/Flags/falaka.png differ
diff --git a/content/docs/Images/Flags/felmyr.png b/content/docs/Images/Flags/felmyr.png
new file mode 100644
index 0000000..ffb0757
Binary files /dev/null and b/content/docs/Images/Flags/felmyr.png differ
diff --git a/content/docs/Images/Flags/gokolm.png b/content/docs/Images/Flags/gokolm.png
new file mode 100644
index 0000000..883aa7a
Binary files /dev/null and b/content/docs/Images/Flags/gokolm.png differ
diff --git a/content/docs/Images/Flags/gudoko.png b/content/docs/Images/Flags/gudoko.png
new file mode 100644
index 0000000..1f87532
Binary files /dev/null and b/content/docs/Images/Flags/gudoko.png differ
diff --git a/content/docs/Images/Flags/hanoka.png b/content/docs/Images/Flags/hanoka.png
new file mode 100644
index 0000000..1740ecb
Binary files /dev/null and b/content/docs/Images/Flags/hanoka.png differ
diff --git a/content/docs/Images/Flags/krakala.png b/content/docs/Images/Flags/krakala.png
new file mode 100644
index 0000000..78fa38a
Binary files /dev/null and b/content/docs/Images/Flags/krakala.png differ
diff --git a/content/docs/Images/Flags/lavaki.png b/content/docs/Images/Flags/lavaki.png
new file mode 100644
index 0000000..9bcc716
Binary files /dev/null and b/content/docs/Images/Flags/lavaki.png differ
diff --git a/content/docs/Images/Flags/lekia.png b/content/docs/Images/Flags/lekia.png
new file mode 100644
index 0000000..31be51c
Binary files /dev/null and b/content/docs/Images/Flags/lekia.png differ
diff --git a/content/docs/Images/Flags/llasuki.png b/content/docs/Images/Flags/llasuki.png
new file mode 100644
index 0000000..cad75c7
Binary files /dev/null and b/content/docs/Images/Flags/llasuki.png differ
diff --git a/content/docs/Images/Flags/mantine.png b/content/docs/Images/Flags/mantine.png
new file mode 100644
index 0000000..c3e61a0
Binary files /dev/null and b/content/docs/Images/Flags/mantine.png differ
diff --git a/content/docs/Images/Flags/mortham.png b/content/docs/Images/Flags/mortham.png
new file mode 100644
index 0000000..03bcefd
Binary files /dev/null and b/content/docs/Images/Flags/mortham.png differ
diff --git a/content/docs/Images/Flags/nakadon.png b/content/docs/Images/Flags/nakadon.png
new file mode 100644
index 0000000..ada562f
Binary files /dev/null and b/content/docs/Images/Flags/nakadon.png differ
diff --git a/content/docs/Images/Flags/nasahra.png b/content/docs/Images/Flags/nasahra.png
new file mode 100644
index 0000000..e273c45
Binary files /dev/null and b/content/docs/Images/Flags/nasahra.png differ
diff --git a/content/docs/Images/Flags/nonkur.png b/content/docs/Images/Flags/nonkur.png
new file mode 100644
index 0000000..8675fd1
Binary files /dev/null and b/content/docs/Images/Flags/nonkur.png differ
diff --git a/content/docs/Images/Flags/oshela.png b/content/docs/Images/Flags/oshela.png
new file mode 100644
index 0000000..def9d09
Binary files /dev/null and b/content/docs/Images/Flags/oshela.png differ
diff --git a/content/docs/Images/Flags/ovanos.png b/content/docs/Images/Flags/ovanos.png
new file mode 100644
index 0000000..7019b85
Binary files /dev/null and b/content/docs/Images/Flags/ovanos.png differ
diff --git a/content/docs/Images/Flags/seraphis.png b/content/docs/Images/Flags/seraphis.png
new file mode 100644
index 0000000..73774ff
Binary files /dev/null and b/content/docs/Images/Flags/seraphis.png differ
diff --git a/content/docs/Images/Flags/soljord.png b/content/docs/Images/Flags/soljord.png
new file mode 100644
index 0000000..a811fb9
Binary files /dev/null and b/content/docs/Images/Flags/soljord.png differ
diff --git a/content/docs/Images/Flags/vanatn.png b/content/docs/Images/Flags/vanatn.png
new file mode 100644
index 0000000..aabe205
Binary files /dev/null and b/content/docs/Images/Flags/vanatn.png differ
diff --git a/content/docs/Images/Flags/vikogyna.png b/content/docs/Images/Flags/vikogyna.png
new file mode 100644
index 0000000..d6f3541
Binary files /dev/null and b/content/docs/Images/Flags/vikogyna.png differ
diff --git a/content/docs/Images/Flags/vosaka.png b/content/docs/Images/Flags/vosaka.png
new file mode 100644
index 0000000..e1d02de
Binary files /dev/null and b/content/docs/Images/Flags/vosaka.png differ
diff --git a/content/docs/Images/Icons/cat.svg b/content/docs/Images/Icons/cat.svg
new file mode 100644
index 0000000..3a0ec9b
--- /dev/null
+++ b/content/docs/Images/Icons/cat.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-cat"><path d="M12 5c.67 0 1.35.09 2 .26 1.78-2 5.03-2.84 6.42-2.26 1.4.58-.42 7-.42 7 .57 1.07 1 2.24 1 3.44C21 17.9 16.97 21 12 21s-9-3-9-7.56c0-1.25.5-2.4 1-3.44 0 0-1.89-6.42-.5-7 1.39-.58 4.72.23 6.5 2.23A9.04 9.04 0 0 1 12 5Z"/><path d="M8 14v.5"/><path d="M16 14v.5"/><path d="M11.25 16.25h1.5L12 17l-.75-.75Z"/></svg>
\ No newline at end of file
diff --git a/content/docs/Images/Slimes/ababa-1.png b/content/docs/Images/Slimes/ababa-1.png
new file mode 100644
index 0000000..9790b72
Binary files /dev/null and b/content/docs/Images/Slimes/ababa-1.png differ
diff --git a/content/docs/Images/Slimes/ababa-2.png b/content/docs/Images/Slimes/ababa-2.png
new file mode 100644
index 0000000..09b5344
Binary files /dev/null and b/content/docs/Images/Slimes/ababa-2.png differ
diff --git a/content/docs/Images/Slimes/ababa-3.png b/content/docs/Images/Slimes/ababa-3.png
new file mode 100644
index 0000000..d489d99
Binary files /dev/null and b/content/docs/Images/Slimes/ababa-3.png differ
diff --git a/content/docs/Images/Slimes/ababa-4.png b/content/docs/Images/Slimes/ababa-4.png
new file mode 100644
index 0000000..886ef55
Binary files /dev/null and b/content/docs/Images/Slimes/ababa-4.png differ
diff --git a/content/docs/Images/Slimes/bark-1.png b/content/docs/Images/Slimes/bark-1.png
new file mode 100644
index 0000000..1cd0498
Binary files /dev/null and b/content/docs/Images/Slimes/bark-1.png differ
diff --git a/content/docs/Images/Slimes/bark-2.png b/content/docs/Images/Slimes/bark-2.png
new file mode 100644
index 0000000..757e3fa
Binary files /dev/null and b/content/docs/Images/Slimes/bark-2.png differ
diff --git a/content/docs/Images/Slimes/bark-3.png b/content/docs/Images/Slimes/bark-3.png
new file mode 100644
index 0000000..62e840f
Binary files /dev/null and b/content/docs/Images/Slimes/bark-3.png differ
diff --git a/content/docs/Images/Slimes/bark-4.png b/content/docs/Images/Slimes/bark-4.png
new file mode 100644
index 0000000..41e9abe
Binary files /dev/null and b/content/docs/Images/Slimes/bark-4.png differ
diff --git a/content/docs/Images/Slimes/garden-1.png b/content/docs/Images/Slimes/garden-1.png
new file mode 100644
index 0000000..9d61505
Binary files /dev/null and b/content/docs/Images/Slimes/garden-1.png differ
diff --git a/content/docs/Images/Slimes/garden-2.png b/content/docs/Images/Slimes/garden-2.png
new file mode 100644
index 0000000..494acef
Binary files /dev/null and b/content/docs/Images/Slimes/garden-2.png differ
diff --git a/content/docs/Images/Slimes/garden-3.png b/content/docs/Images/Slimes/garden-3.png
new file mode 100644
index 0000000..04d1428
Binary files /dev/null and b/content/docs/Images/Slimes/garden-3.png differ
diff --git a/content/docs/Images/Slimes/garden-4.png b/content/docs/Images/Slimes/garden-4.png
new file mode 100644
index 0000000..7516a2a
Binary files /dev/null and b/content/docs/Images/Slimes/garden-4.png differ
diff --git a/content/docs/Images/Slimes/godot-1.png b/content/docs/Images/Slimes/godot-1.png
new file mode 100644
index 0000000..d419c2e
Binary files /dev/null and b/content/docs/Images/Slimes/godot-1.png differ
diff --git a/content/docs/Images/Slimes/godot-2.png b/content/docs/Images/Slimes/godot-2.png
new file mode 100644
index 0000000..724361a
Binary files /dev/null and b/content/docs/Images/Slimes/godot-2.png differ
diff --git a/content/docs/Images/Slimes/godot-3.png b/content/docs/Images/Slimes/godot-3.png
new file mode 100644
index 0000000..1e0a1a7
Binary files /dev/null and b/content/docs/Images/Slimes/godot-3.png differ
diff --git a/content/docs/Images/Slimes/godot-4.png b/content/docs/Images/Slimes/godot-4.png
new file mode 100644
index 0000000..889c164
Binary files /dev/null and b/content/docs/Images/Slimes/godot-4.png differ
diff --git a/content/docs/Images/Slimes/honey-1.png b/content/docs/Images/Slimes/honey-1.png
new file mode 100644
index 0000000..96103cb
Binary files /dev/null and b/content/docs/Images/Slimes/honey-1.png differ
diff --git a/content/docs/Images/Slimes/honey-2.png b/content/docs/Images/Slimes/honey-2.png
new file mode 100644
index 0000000..841c8c0
Binary files /dev/null and b/content/docs/Images/Slimes/honey-2.png differ
diff --git a/content/docs/Images/Slimes/honey-3.png b/content/docs/Images/Slimes/honey-3.png
new file mode 100644
index 0000000..8e34749
Binary files /dev/null and b/content/docs/Images/Slimes/honey-3.png differ
diff --git a/content/docs/Images/Slimes/honey-4.png b/content/docs/Images/Slimes/honey-4.png
new file mode 100644
index 0000000..98a9a50
Binary files /dev/null and b/content/docs/Images/Slimes/honey-4.png differ
diff --git a/content/docs/Images/Slimes/lagoon-1.png b/content/docs/Images/Slimes/lagoon-1.png
new file mode 100644
index 0000000..bfe2e5e
Binary files /dev/null and b/content/docs/Images/Slimes/lagoon-1.png differ
diff --git a/content/docs/Images/Slimes/lagoon-2.png b/content/docs/Images/Slimes/lagoon-2.png
new file mode 100644
index 0000000..bdc3c06
Binary files /dev/null and b/content/docs/Images/Slimes/lagoon-2.png differ
diff --git a/content/docs/Images/Slimes/lagoon-3.png b/content/docs/Images/Slimes/lagoon-3.png
new file mode 100644
index 0000000..183cac6
Binary files /dev/null and b/content/docs/Images/Slimes/lagoon-3.png differ
diff --git a/content/docs/Images/Slimes/lagoon-4.png b/content/docs/Images/Slimes/lagoon-4.png
new file mode 100644
index 0000000..5dbf82f
Binary files /dev/null and b/content/docs/Images/Slimes/lagoon-4.png differ
diff --git a/content/docs/Images/Slimes/marsh-1.png b/content/docs/Images/Slimes/marsh-1.png
new file mode 100644
index 0000000..7fb7642
Binary files /dev/null and b/content/docs/Images/Slimes/marsh-1.png differ
diff --git a/content/docs/Images/Slimes/marsh-2.png b/content/docs/Images/Slimes/marsh-2.png
new file mode 100644
index 0000000..a0bd390
Binary files /dev/null and b/content/docs/Images/Slimes/marsh-2.png differ
diff --git a/content/docs/Images/Slimes/marsh-3.png b/content/docs/Images/Slimes/marsh-3.png
new file mode 100644
index 0000000..88ea007
Binary files /dev/null and b/content/docs/Images/Slimes/marsh-3.png differ
diff --git a/content/docs/Images/Slimes/marsh-4.png b/content/docs/Images/Slimes/marsh-4.png
new file mode 100644
index 0000000..526dbc6
Binary files /dev/null and b/content/docs/Images/Slimes/marsh-4.png differ
diff --git a/content/docs/Images/Slimes/sunflower-1.png b/content/docs/Images/Slimes/sunflower-1.png
new file mode 100644
index 0000000..ddd0441
Binary files /dev/null and b/content/docs/Images/Slimes/sunflower-1.png differ
diff --git a/content/docs/Images/Slimes/sunflower-2.png b/content/docs/Images/Slimes/sunflower-2.png
new file mode 100644
index 0000000..d2125bb
Binary files /dev/null and b/content/docs/Images/Slimes/sunflower-2.png differ
diff --git a/content/docs/Images/Slimes/sunflower-3.png b/content/docs/Images/Slimes/sunflower-3.png
new file mode 100644
index 0000000..ca76924
Binary files /dev/null and b/content/docs/Images/Slimes/sunflower-3.png differ
diff --git a/content/docs/Images/Slimes/sunflower-4.png b/content/docs/Images/Slimes/sunflower-4.png
new file mode 100644
index 0000000..b3ccd29
Binary files /dev/null and b/content/docs/Images/Slimes/sunflower-4.png differ
diff --git a/content/Landmarks/Untitled.md b/content/docs/Landmarks/Untitled.md
similarity index 100%
rename from content/Landmarks/Untitled.md
rename to content/docs/Landmarks/Untitled.md
diff --git a/content/docs/Landmarks/_index.md b/content/docs/Landmarks/_index.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Landmarks/_index.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/Animals/Taura.md b/content/docs/Languages/Edikan/Guide/Basic Words.md
similarity index 100%
rename from content/Animals/Taura.md
rename to content/docs/Languages/Edikan/Guide/Basic Words.md
diff --git a/content/Countries/Blanchister.md b/content/docs/Languages/Edikan/Guide/_index.md
similarity index 100%
rename from content/Countries/Blanchister.md
rename to content/docs/Languages/Edikan/Guide/_index.md
diff --git a/content/docs/Languages/Edikan/Words/_index.md b/content/docs/Languages/Edikan/Words/_index.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Languages/Edikan/Words/_index.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/Countries/Barrowmaw.md b/content/docs/Languages/Edikan/Words/wala.md
similarity index 52%
rename from content/Countries/Barrowmaw.md
rename to content/docs/Languages/Edikan/Words/wala.md
index 95e4291..38e83f2 100644
--- a/content/Countries/Barrowmaw.md
+++ b/content/docs/Languages/Edikan/Words/wala.md
@@ -1,4 +1,4 @@
 ---
 ---
 
-Test
+## wala
diff --git a/content/docs/Languages/Edikan/_index.md b/content/docs/Languages/Edikan/_index.md
new file mode 100644
index 0000000..372cf84
--- /dev/null
+++ b/content/docs/Languages/Edikan/_index.md
@@ -0,0 +1,8 @@
+---
+---
+
+## Edikan
+
+Edikan is a language primarily spoken in countries such as [Dasona](..\..\Countries\Dasona.md).
+
+You can find all of the words in the [words](Words\_index.md) page.
diff --git a/content/docs/Languages/Fayahi.md b/content/docs/Languages/Fayahi.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Languages/Fayahi.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/docs/Languages/Guo.md b/content/docs/Languages/Guo.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Languages/Guo.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/docs/Languages/Lacelian.md b/content/docs/Languages/Lacelian.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Languages/Lacelian.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/docs/Languages/Mokrixi.md b/content/docs/Languages/Mokrixi.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Languages/Mokrixi.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/docs/Languages/_index.md b/content/docs/Languages/_index.md
new file mode 100644
index 0000000..b709a5a
--- /dev/null
+++ b/content/docs/Languages/_index.md
@@ -0,0 +1,16 @@
+---
+---
+
+<!-- QueryToSerialize: TABLE WITHOUT ID link(file.path, choice(file.name != "_index", file.name, split(file.folder, "/")[1])) as "Languages" FROM "Languages" WHERE (file.folder = "Languages" and file.name != "_index") or (file.name = "_index" AND file.folder != "Languages") -->
+<!-- SerializedQuery: TABLE WITHOUT ID link(file.path, choice(file.name != "_index", file.name, split(file.folder, "/")[1])) as "Languages" FROM "Languages" WHERE (file.folder = "Languages" and file.name != "_index") or (file.name = "_index" AND file.folder != "Languages") -->
+
+|Languages|
+|---------|
+|[Fayahi](Fayahi.md)|
+|[Guo](Guo.md)|
+|[Mokrixi](Mokrixi.md)|
+|[Lacelian](Lacelian.md)|
+|[Edikan](Edikan\_index.md)|
+
+<!-- SerializedQuery END -->
+
diff --git a/content/People/Cara Dhelmire.md b/content/docs/People/Cara Dhelmire.md
similarity index 100%
rename from content/People/Cara Dhelmire.md
rename to content/docs/People/Cara Dhelmire.md
diff --git a/content/Countries/Drenvale.md b/content/docs/People/_index.md
similarity index 100%
rename from content/Countries/Drenvale.md
rename to content/docs/People/_index.md
diff --git a/content/docs/Plants/_index.md b/content/docs/Plants/_index.md
new file mode 100644
index 0000000..57b4765
--- /dev/null
+++ b/content/docs/Plants/_index.md
@@ -0,0 +1,11 @@
+---
+---
+
+<!-- QueryToSerialize: TABLE WITHOUT ID link(file.path, choice(file.name != "_index", file.name, split(file.folder, "/")[1])) as "Plants" FROM "Plants" WHERE (file.folder = "Plants" and file.name != "_index") or (file.name = "_index" AND file.folder != "Plants") -->
+<!-- SerializedQuery: TABLE WITHOUT ID link(file.path, choice(file.name != "_index", file.name, split(file.folder, "/")[1])) as "Plants" FROM "Plants" WHERE (file.folder = "Plants" and file.name != "_index") or (file.name = "_index" AND file.folder != "Plants") -->
+
+|Plants|
+|------|
+
+<!-- SerializedQuery END -->
+
diff --git a/content/docs/Provinces/_index.md b/content/docs/Provinces/_index.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Provinces/_index.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/docs/Regions/_index.md b/content/docs/Regions/_index.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Regions/_index.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/docs/Species/Turian.md b/content/docs/Species/Turian.md
new file mode 100644
index 0000000..82e4628
--- /dev/null
+++ b/content/docs/Species/Turian.md
@@ -0,0 +1,4 @@
+---
+---
+
+# Turian
diff --git a/content/docs/Species/_index.md b/content/docs/Species/_index.md
new file mode 100644
index 0000000..a3d745a
--- /dev/null
+++ b/content/docs/Species/_index.md
@@ -0,0 +1,4 @@
+---
+---
+
+To be added
diff --git a/content/menu/_index.md b/content/menu/_index.md
new file mode 100644
index 0000000..ae5d6fb
--- /dev/null
+++ b/content/menu/_index.md
@@ -0,0 +1,10 @@
+---
+headless: true
+---
+
+**Documents**
+- [{{< ico lucide cat>}} Animals]({{< relref "/docs/animals" >}})
+- [{{< ico lucide trees >}} Countries]({{< relref "/docs/countries" >}})
+- [{{< ico lucide languages >}} Languages]({{< relref "/docs/languages" >}})
+- [{{< ico lucide tree-pine >}} Plants]({{< relref "/docs/plants" >}})
+  <br/>
diff --git a/go.mod b/go.mod
new file mode 100644
index 0000000..794e735
--- /dev/null
+++ b/go.mod
@@ -0,0 +1,9 @@
+module git.edikoyo.com/Edikoyo/EdikoyoWiki
+
+go 1.22.6
+
+require (
+	github.com/hugomods/icons v0.6.4 // indirect
+	github.com/hugomods/icons/vendors/lucide v0.3.38 // indirect
+	github.com/hugomods/lucide-icons v0.331.0 // indirect
+)
diff --git a/go.sum b/go.sum
new file mode 100644
index 0000000..a7d0c3a
--- /dev/null
+++ b/go.sum
@@ -0,0 +1,6 @@
+github.com/hugomods/icons v0.6.4 h1:SeDMpN2kjc8mbuXfi8zED4IN5IGZmqJdmmUQr9tIpxw=
+github.com/hugomods/icons v0.6.4/go.mod h1:cIkSvK6W0q6N4U6n9KGz+QfRWQXAW0INd+1P31gPNGg=
+github.com/hugomods/icons/vendors/lucide v0.3.38 h1:Tgd7ukLN41MSEsYOHJfkHp9Uyn9zH3r8GqC5HycNAk4=
+github.com/hugomods/icons/vendors/lucide v0.3.38/go.mod h1:SE34c2Z0QmYILU9gKRyU++s7Tra8datrpuVQaClX3so=
+github.com/hugomods/lucide-icons v0.331.0 h1:DsQXjp+n2ymvpeWS7Lu7os51lxygsdr7ysu0H5PrDXM=
+github.com/hugomods/lucide-icons v0.331.0/go.mod h1:7loUmJrnD5umJ2sWSCb3AffZt0fYnSc1I+yBRjgHgw8=
diff --git a/layouts/_default/_markup/render-image.html b/layouts/_default/_markup/render-image.html
new file mode 100644
index 0000000..a381ab2
--- /dev/null
+++ b/layouts/_default/_markup/render-image.html
@@ -0,0 +1,20 @@
+{{- $url := urls.Parse .Destination -}}
+{{- $scheme := $url.Scheme -}}
+
+<img src="
+  {{- if eq $scheme "" -}}
+    {{- $cleanedPath := strings.Replace $url.Path "\\" "/" -1 -}}
+    {{- if strings.HasSuffix $cleanedPath ".md" -}}
+      {{- relref .Page $cleanedPath | safeURL -}}
+    {{- else -}}
+      {{- printf "/%s%s" .Page.File.Dir $cleanedPath | safeURL -}}
+    {{- end -}}
+  {{- else -}}
+    {{- .Destination | safeURL -}}
+  {{- end -}}"
+  {{- with .Title }} title="{{ . | safeHTML }}"{{- end -}}
+  {{- with .Text }} alt="{{ . | safeHTML }}"
+  {{- end -}}
+/>
+
+{{- /* whitespace stripped here to avoid trailing newline in rendered result caused by file EOL */ -}}
diff --git a/layouts/_default/_markup/render-link.html b/layouts/_default/_markup/render-link.html
new file mode 100644
index 0000000..518adec
--- /dev/null
+++ b/layouts/_default/_markup/render-link.html
@@ -0,0 +1,19 @@
+{{- $url := urls.Parse .Destination -}}
+{{- $scheme := $url.Scheme -}}
+
+<a href="
+  {{- if eq $scheme "" -}}
+    {{- $cleanedPath := strings.Replace $url.Path "\\" "/" -1 -}}
+    {{- if strings.HasSuffix $cleanedPath ".md" -}}
+      {{- relref .Page $cleanedPath | safeURL -}}
+    {{- else -}}
+      {{- $cleanedPath | safeURL -}}
+    {{- end -}}
+  {{- else -}}
+    {{- .Destination | safeURL -}}
+  {{- end -}}"
+  {{- with .Title }} title="{{ . | safeHTML }}"{{- end -}}>
+  {{- .Text | safeHTML -}}
+</a>
+
+{{- /* whitespace stripped here to avoid trailing newline in rendered result caused by file EOL */ -}}
diff --git a/layouts/partials/docs/menu.html b/layouts/partials/docs/menu.html
new file mode 100644
index 0000000..2c3bef5
--- /dev/null
+++ b/layouts/partials/docs/menu.html
@@ -0,0 +1,25 @@
+<nav>
+{{ partial "docs/brand" . }}
+{{ partial "docs/search" . }}
+{{ partial "docs/languages" . }}
+
+{{ partial "docs/inject/menu-before" . }}
+{{ partial "docs/menu-hugo" .Site.Menus.before }}
+
+{{ if .Page.Params.BookMenuBundle }}
+  {{ partial "docs/menu-page-bundle" . }}
+{{ else if .Site.Params.BookMenuBundle }}
+  {{ partial "docs/menu-bundle" . }}
+{{ else }}
+  {{ partial "docs/menu-filetree" . }}
+{{ end }}
+
+{{ partial "docs/menu-hugo" .Site.Menus.after }}
+{{ partial "docs/inject/menu-after" . }}
+</nav>
+
+<!-- Restore menu position as soon as possible to avoid flickering -->
+{{ $script := resources.Get "menu-reset.js" | resources.Minify }}
+{{ with $script.Content }}
+  <script>{{ . | safeJS }}</script>
+{{ end }}
diff --git a/obsidian-export/obsidian-export.exe b/obsidian-export/obsidian-export.exe
old mode 100644
new mode 100755
diff --git a/resources/_gen/assets/book.scss_b807c86e8030af4cdc30edccea379f5f.content b/resources/_gen/assets/book.scss_b807c86e8030af4cdc30edccea379f5f.content
index 50c6fed..5dfff97 100644
--- a/resources/_gen/assets/book.scss_b807c86e8030af4cdc30edccea379f5f.content
+++ b/resources/_gen/assets/book.scss_b807c86e8030af4cdc30edccea379f5f.content
@@ -1 +1,5 @@
-@charset "UTF-8";:root{--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-500:#adb5bd;--color-link:#0055bb;--color-visited-link:#8440f1;--body-background:white;--body-font-color:black;--icon-filter:none;--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none;padding-inline-start:0}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸"}.book-menu input.toggle:checked+label::after{content:"▾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"▾"}.book-section-flat{margin:2rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header img.book-icon{height:1.5em;width:1.5em}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-block-end:2rem}.book-languages .book-icon{height:1em;width:1em;margin-inline-end:.5em}.book-languages ul{padding-inline-start:1.5em}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{direction:ltr;unicode-bidi:embed;padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{direction:ltr;unicode-bidi:embed;padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown p{word-wrap:break-word}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem;word-wrap:break-word}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight{direction:ltr;unicode-bidi:embed}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)}
\ No newline at end of file
+<<<<<<< HEAD
+@charset "UTF-8";:root{--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-500:#adb5bd;--color-link:#0055bb;--color-visited-link:#8440f1;--body-background:white;--body-font-color:black;--icon-filter:none;--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none;padding-inline-start:0}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸"}.book-menu input.toggle:checked+label::after{content:"▾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"▾"}.book-section-flat{margin:2rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header img.book-icon{height:1.5em;width:1.5em}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-block-end:2rem}.book-languages .book-icon{height:1em;width:1em;margin-inline-end:.5em}.book-languages ul{padding-inline-start:1.5em}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{direction:ltr;unicode-bidi:embed;padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{direction:ltr;unicode-bidi:embed;padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown p{word-wrap:break-word}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem;word-wrap:break-word}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight{direction:ltr;unicode-bidi:embed}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)}
+=======
+@charset "UTF-8";:root{--gray-100:#f8f9fa;--gray-200:#e9ecef;--gray-500:#adb5bd;--color-link:#0055bb;--color-visited-link:#8440f1;--body-background:white;--body-font-color:black;--icon-filter:none;--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}@media(prefers-color-scheme:dark){:root{--gray-100:rgba(255, 255, 255, 0.1);--gray-200:rgba(255, 255, 255, 0.2);--gray-500:rgba(255, 255, 255, 0.5);--color-link:#84b2ff;--color-visited-link:#b88dff;--body-background:#121212;--body-font-color:#d9dcdf;--icon-filter:brightness(0) invert(1);--hint-color-info:#6bf;--hint-color-warning:#fd6;--hint-color-danger:#f66}}/*!normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css*/html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}.flex{display:flex}.flex-auto{flex:auto}.flex-even{flex:1 1}.flex-wrap{flex-wrap:wrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.align-center{align-items:center}.mx-auto{margin:0 auto}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.hidden{display:none}input.toggle{height:0;width:0;overflow:hidden;opacity:0;position:absolute}.clearfix::after{content:"";display:table;clear:both}html{font-size:16px;scroll-behavior:smooth;touch-action:manipulation}body{min-width:20rem;color:var(--body-font-color);background:var(--body-background);letter-spacing:.33px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box}body *{box-sizing:inherit}h1,h2,h3,h4,h5{font-weight:400}a{text-decoration:none;color:var(--color-link)}img{vertical-align:baseline}:focus{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}aside nav ul{padding:0;margin:0;list-style:none}aside nav ul li{margin:1em 0;position:relative}aside nav ul a{display:block}aside nav ul a:hover{opacity:.5}aside nav ul ul{padding-inline-start:1rem}ul.pagination{display:flex;justify-content:center;list-style-type:none;padding-inline-start:0}ul.pagination .page-item a{padding:1rem}.container{max-width:80rem;margin:0 auto}.book-icon{filter:var(--icon-filter)}.book-brand{margin-top:0;margin-bottom:1rem}.book-brand img{height:1.5em;width:1.5em;margin-inline-end:.5rem}.book-menu{flex:0 0 16rem;font-size:.875rem}.book-menu .book-menu-content{width:16rem;padding:1rem;background:var(--body-background);position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-menu a,.book-menu label{color:inherit;cursor:pointer;word-wrap:break-word}.book-menu a.active{color:var(--color-link)}.book-menu input.toggle+label+ul{display:none}.book-menu input.toggle:checked+label+ul{display:block}.book-menu input.toggle+label::after{content:"▸"}.book-menu input.toggle:checked+label::after{content:"▾"}body[dir=rtl] .book-menu input.toggle+label::after{content:"◂"}body[dir=rtl] .book-menu input.toggle:checked+label::after{content:"▾"}.book-section-flat{margin:2rem 0}.book-section-flat>a,.book-section-flat>span,.book-section-flat>label{font-weight:bolder}.book-section-flat>ul{padding-inline-start:0}.book-page{min-width:20rem;flex-grow:1;padding:1rem}.book-post{margin-bottom:3rem}.book-header{display:none;margin-bottom:1rem}.book-header label{line-height:0}.book-header img.book-icon{height:1.5em;width:1.5em}.book-search{position:relative;margin:1rem 0;border-bottom:1px solid transparent}.book-search input{width:100%;padding:.5rem;border:0;border-radius:.25rem;background:var(--gray-100);color:var(--body-font-color)}.book-search input:required+.book-search-spinner{display:block}.book-search .book-search-spinner{position:absolute;top:0;margin:.5rem;margin-inline-start:calc(100% - 1.5rem);width:1rem;height:1rem;border:1px solid transparent;border-top-color:var(--body-font-color);border-radius:50%;animation:spin 1s ease infinite}@keyframes spin{100%{transform:rotate(360deg)}}.book-search small{opacity:.5}.book-toc{flex:0 0 16rem;font-size:.75rem}.book-toc .book-toc-content{width:16rem;padding:1rem;position:fixed;top:0;bottom:0;overflow-x:hidden;overflow-y:auto}.book-toc img{height:1em;width:1em}.book-toc nav>ul>li:first-child{margin-top:0}.book-footer{padding-top:1rem;font-size:.875rem}.book-footer img{height:1em;width:1em;margin-inline-end:.5rem}.book-comments{margin-top:1rem}.book-languages{margin-block-end:2rem}.book-languages .book-icon{height:1em;width:1em;margin-inline-end:.5em}.book-languages ul{padding-inline-start:1.5em}.book-menu-content,.book-toc-content,.book-page,.book-header aside,.markdown{transition:.2s ease-in-out;transition-property:transform,margin,opacity,visibility;will-change:transform,margin,opacity}@media screen and (max-width:56rem){#menu-control,#toc-control{display:inline}.book-menu{visibility:hidden;margin-inline-start:-16rem;font-size:16px;z-index:1}.book-toc{display:none}.book-header{display:block}#menu-control:focus~main label[for=menu-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#menu-control:checked~main .book-menu{visibility:initial}#menu-control:checked~main .book-menu .book-menu-content{transform:translateX(16rem);box-shadow:0 0 .5rem rgba(0,0,0,.1)}#menu-control:checked~main .book-page{opacity:.25}#menu-control:checked~main .book-menu-overlay{display:block;position:absolute;top:0;bottom:0;left:0;right:0}#toc-control:focus~main label[for=toc-control]{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}#toc-control:checked~main .book-header aside{display:block}body[dir=rtl] #menu-control:checked~main .book-menu .book-menu-content{transform:translateX(-16rem)}}@media screen and (min-width:80rem){.book-page,.book-menu .book-menu-content,.book-toc .book-toc-content{padding:2rem 1rem}}@font-face{font-family:roboto;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-regular.woff2)format("woff2"),url(fonts/roboto-v27-latin-regular.woff)format("woff")}@font-face{font-family:roboto;font-style:normal;font-weight:700;font-display:swap;src:local(""),url(fonts/roboto-v27-latin-700.woff2)format("woff2"),url(fonts/roboto-v27-latin-700.woff)format("woff")}@font-face{font-family:roboto mono;font-style:normal;font-weight:400;font-display:swap;src:local(""),url(fonts/roboto-mono-v13-latin-regular.woff2)format("woff2"),url(fonts/roboto-mono-v13-latin-regular.woff)format("woff")}body{font-family:roboto,sans-serif}code{font-family:roboto mono,monospace}@media print{.book-menu,.book-footer,.book-toc{display:none}.book-header,.book-header aside{display:block}main{display:block!important}}.markdown{line-height:1.6}.markdown>:first-child{margin-top:0}.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{font-weight:400;line-height:1;margin-top:1.5em;margin-bottom:1rem}.markdown h1 a.anchor,.markdown h2 a.anchor,.markdown h3 a.anchor,.markdown h4 a.anchor,.markdown h5 a.anchor,.markdown h6 a.anchor{opacity:0;font-size:.75em;vertical-align:middle;text-decoration:none}.markdown h1:hover a.anchor,.markdown h1 a.anchor:focus,.markdown h2:hover a.anchor,.markdown h2 a.anchor:focus,.markdown h3:hover a.anchor,.markdown h3 a.anchor:focus,.markdown h4:hover a.anchor,.markdown h4 a.anchor:focus,.markdown h5:hover a.anchor,.markdown h5 a.anchor:focus,.markdown h6:hover a.anchor,.markdown h6 a.anchor:focus{opacity:initial}.markdown h4,.markdown h5,.markdown h6{font-weight:bolder}.markdown h5{font-size:.875em}.markdown h6{font-size:.75em}.markdown b,.markdown optgroup,.markdown strong{font-weight:bolder}.markdown a{text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown a:visited{color:var(--color-visited-link)}.markdown img{max-width:100%;height:auto}.markdown code{direction:ltr;unicode-bidi:embed;padding:0 .25rem;background:var(--gray-200);border-radius:.25rem;font-size:.875em}.markdown pre{direction:ltr;unicode-bidi:embed;padding:1rem;background:var(--gray-100);border-radius:.25rem;overflow-x:auto}.markdown pre code{padding:0;background:0 0}.markdown p{word-wrap:break-word}.markdown blockquote{margin:1rem 0;padding:.5rem 1rem .5rem .75rem;border-inline-start:.25rem solid var(--gray-200);border-radius:.25rem}.markdown blockquote :first-child{margin-top:0}.markdown blockquote :last-child{margin-bottom:0}.markdown table{overflow:auto;display:block;border-spacing:0;border-collapse:collapse;margin-top:1rem;margin-bottom:1rem}.markdown table tr th,.markdown table tr td{padding:.5rem 1rem;border:1px solid var(--gray-200)}.markdown table tr:nth-child(2n){background:var(--gray-100)}.markdown hr{height:1px;border:none;background:var(--gray-200)}.markdown ul,.markdown ol{padding-inline-start:2rem;word-wrap:break-word}.markdown dl dt{font-weight:bolder;margin-top:1rem}.markdown dl dd{margin-inline-start:0;margin-bottom:1rem}.markdown .highlight{direction:ltr;unicode-bidi:embed}.markdown .highlight table tr td:nth-child(1) pre{margin:0;padding-inline-end:0}.markdown .highlight table tr td:nth-child(2) pre{margin:0;padding-inline-start:0}.markdown details{padding:1rem;border:1px solid var(--gray-200);border-radius:.25rem}.markdown details summary{line-height:1;padding:1rem;margin:-1rem;cursor:pointer}.markdown details[open] summary{margin-bottom:0}.markdown figure{margin:1rem 0}.markdown figure figcaption p{margin-top:0}.markdown-inner>:first-child{margin-top:0}.markdown-inner>:last-child{margin-bottom:0}.markdown .book-expand{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden}.markdown .book-expand .book-expand-head{background:var(--gray-100);padding:.5rem 1rem;cursor:pointer}.markdown .book-expand .book-expand-content{display:none;padding:1rem}.markdown .book-expand input[type=checkbox]:checked+.book-expand-content{display:block}.markdown .book-tabs{margin-top:1rem;margin-bottom:1rem;border:1px solid var(--gray-200);border-radius:.25rem;overflow:hidden;display:flex;flex-wrap:wrap}.markdown .book-tabs label{display:inline-block;padding:.5rem 1rem;border-bottom:1px transparent;cursor:pointer}.markdown .book-tabs .book-tabs-content{order:999;width:100%;border-top:1px solid var(--gray-100);padding:1rem;display:none}.markdown .book-tabs input[type=radio]:checked+label{border-bottom:1px solid var(--color-link)}.markdown .book-tabs input[type=radio]:checked+label+.book-tabs-content{display:block}.markdown .book-tabs input[type=radio]:focus+label{outline-style:auto;outline-color:currentColor;outline-color:-webkit-focus-ring-color}.markdown .book-columns{margin-left:-1rem;margin-right:-1rem}.markdown .book-columns>div{margin:1rem 0;min-width:10rem;padding:0 1rem}.markdown a.book-btn{display:inline-block;font-size:.875rem;color:var(--color-link);line-height:2rem;padding:0 1rem;border:1px solid var(--color-link);border-radius:.25rem;cursor:pointer}.markdown a.book-btn:hover{text-decoration:none}.markdown .book-hint.info{border-color:#6bf;background-color:rgba(102,187,255,.1)}.markdown .book-hint.warning{border-color:#fd6;background-color:rgba(255,221,102,.1)}.markdown .book-hint.danger{border-color:#f66;background-color:rgba(255,102,102,.1)}
+>>>>>>> e1afd8129943039c982b7f812b084e96f3654182
diff --git a/resources/_gen/assets/book.scss_b807c86e8030af4cdc30edccea379f5f.json b/resources/_gen/assets/book.scss_b807c86e8030af4cdc30edccea379f5f.json
index 9d04b97..b0decfe 100644
--- a/resources/_gen/assets/book.scss_b807c86e8030af4cdc30edccea379f5f.json
+++ b/resources/_gen/assets/book.scss_b807c86e8030af4cdc30edccea379f5f.json
@@ -1 +1,5 @@
-{"Target":"book.min.309b7ed028807cdb68d8d61e26d609f48369c098dbf5e4d8c0dcf4cdf49feafc.css","MediaType":"text/css","Data":{"Integrity":"sha256-MJt+0CiAfNto2NYeJtYJ9INpwJjb9eTYwNz0zfSf6vw="}}
\ No newline at end of file
+<<<<<<< HEAD
+{"Target":"book.min.309b7ed028807cdb68d8d61e26d609f48369c098dbf5e4d8c0dcf4cdf49feafc.css","MediaType":"text/css","Data":{"Integrity":"sha256-MJt+0CiAfNto2NYeJtYJ9INpwJjb9eTYwNz0zfSf6vw="}}
+=======
+{"Target":"book.min.914c7cb38980cba0809b002bf347d49f0824cfba59dbe2433361cb99cc0fcf63.css","MediaType":"text/css","Data":{"Integrity":"sha256-kUx8s4mAy6CAmwAr80fUnwgkz7pZ2+JDM2HLmcwPz2M="}}
+>>>>>>> e1afd8129943039c982b7f812b084e96f3654182