merge mozilla-central to mozilla-inbound. r=merge a=merge
authorSebastian Hengst <archaeopteryx@coole-files.de>
Wed, 20 Sep 2017 11:50:40 +0200
changeset 382031 6d8d80beb8c82d1617b9fe939fe6035df3044738
parent 382030 4c86474c75be02a4d568a33bce49d31bbbf88fa5 (current diff)
parent 381880 a20de99fa3c1ba6287fe47d493a859a4e95120b0 (diff)
child 382032 15f2fbd686f628d014429b0ae5cab1f44541fe2a
push id51732
push userkwierso@gmail.com
push dateThu, 21 Sep 2017 00:47:30 +0000
treeherderautoland@554aa0b7b531 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmerge, merge
milestone57.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
merge mozilla-central to mozilla-inbound. r=merge a=merge
browser/extensions/clicktoplay-rollout/bootstrap.js
browser/extensions/clicktoplay-rollout/install.rdf.in
browser/extensions/clicktoplay-rollout/moz.build
gfx/layers/wr/WebRenderLayerManager.cpp
gfx/layers/wr/WebRenderLayerManager.h
gfx/layers/wr/WebRenderUserData.cpp
gfx/layers/wr/WebRenderUserData.h
layout/painting/nsDisplayList.cpp
layout/reftests/border-image/svg-as-border-image-4.html
memory/replace/replace/ReplaceMalloc.cpp
memory/replace/replace/moz.build
mobile/android/chrome/content/ActionBarHandler.js
mobile/android/chrome/content/FormAssistant.js
mobile/android/chrome/content/InputWidgetHelper.js
mobile/android/chrome/content/SelectHelper.js
mobile/android/chrome/content/WebrtcUI.js
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -506,18 +506,16 @@ pref("browser.bookmarks.openInTabClosesM
 
 // Scripts & Windows prefs
 pref("dom.disable_open_during_load",              true);
 pref("javascript.options.showInConsole",          true);
 #ifdef DEBUG
 pref("general.warnOnAboutConfig",                 false);
 #endif
 
-pref("jsloader.shareGlobal", true);
-
 // This is the pref to control the location bar, change this to true to
 // force this - this makes the origin of popup windows more obvious to avoid
 // spoofing. We would rather not do it by default because it affects UE for web
 // applications, but without it there isn't a really good way to prevent chrome
 // spoofing, see bug 337344
 pref("dom.disable_window_open_feature.location",  true);
 // prevent JS from setting status messages
 pref("dom.disable_window_status_change",          true);
@@ -692,24 +690,18 @@ pref("plugins.remember_infobar_dismissal
 pref("plugin.default.state", 1);
 
 // Plugins bundled in XPIs are enabled by default.
 pref("plugin.defaultXpi.state", 2);
 
 // Java is Click-to-Activate by default on all channels.
 pref("plugin.state.java", 1);
 
-// Flash is Click-to-Activate by default on Nightly.
-// On other channels, it will be controlled by a
-// rollout system addon.
-#ifdef NIGHTLY_BUILD
+// Flash is Click-to-Activate by default on all channels.
 pref("plugin.state.flash", 1);
-#else
-pref("plugin.state.flash", 2);
-#endif
 
 // Enables the download and use of the flash blocklists.
 pref("plugins.flashBlock.enabled", true);
 
 // Prefer HTML5 video over Flash content, and don't
 // load plugin instances with no src declared.
 // These prefs are documented in details on all.js.
 // With the "follow-ctp" setting, this will only
--- a/browser/base/content/aboutNetError.xhtml
+++ b/browser/base/content/aboutNetError.xhtml
@@ -157,28 +157,33 @@
         if (cssClass == "badStsCert") {
           document.getElementById("badStsCertExplanation").removeAttribute("hidden");
         }
       }
 
       function initPage() {
         var err = getErrorCode();
         // List of error pages with an illustration.
-        let illustratedErrors = ["malformedURI"];
+        let illustratedErrors = ["malformedURI", "dnsNotFound"];
         if (illustratedErrors.includes(err)) {
           document.body.classList.add("illustrated", err);
         }
 
         gIsCertError = (err == "nssBadCert");
         // Only worry about captive portals if this is a cert error.
         let showCaptivePortalUI = isCaptive() && gIsCertError;
         if (showCaptivePortalUI) {
           err = "captivePortal";
         }
 
+        let pageTitle = document.getElementById("ept_" + err);
+        if (pageTitle) {
+          document.title = pageTitle.textContent;
+        }
+
         // if it's an unknown error or there's no title or description
         // defined, get the generic message
         var errTitle = document.getElementById("et_" + err);
         var errDesc  = document.getElementById("ed_" + err);
         if (!errTitle || !errDesc) {
           errTitle = document.getElementById("et_generic");
           errDesc  = document.getElementById("ed_generic");
         }
@@ -311,18 +316,16 @@
           }
         }
 
         addDomainErrorLinks();
       }
 
       function initPageCaptivePortal() {
         document.body.className = "captiveportal";
-        document.title = document.getElementById("captivePortalPageTitle").textContent;
-
         document.getElementById("openPortalLoginPageButton")
                 .addEventListener("click", () => {
           let event = new CustomEvent("AboutNetErrorOpenCaptivePortal", {bubbles: true});
           document.dispatchEvent(event);
         });
 
         addAutofocus("openPortalLoginPageButton");
         setupAdvancedButton();
@@ -333,17 +336,16 @@
         // that we can pick up and attempt to reload the original page.
         window.addEventListener("AboutNetErrorCaptivePortalFreed", () => {
           document.location.reload();
         });
       }
 
       function initPageCertError() {
         document.body.className = "certerror";
-        document.title = document.getElementById("certErrorPageTitle").textContent;
         for (let host of document.querySelectorAll(".hostname")) {
           host.textContent = document.location.hostname;
         }
 
         addAutofocus("returnButton");
         setupAdvancedButton();
 
         document.getElementById("learnMoreContainer").style.display = "block";
@@ -511,26 +513,28 @@
         anchorEl.setAttribute("title", text);
         anchorEl.appendChild(document.createTextNode(text));
         el.appendChild(anchorEl);
       }
     ]]></script>
   </head>
 
   <body dir="&locale.dir;">
-    <!-- Contains an alternate page title set on page init for cert errors. -->
-    <div id="certErrorPageTitle" style="display: none;">&certerror.pagetitle1;</div>
-    <div id="captivePortalPageTitle" style="display: none;">&captivePortal.title;</div>
-
     <!-- ERROR ITEM CONTAINER (removed during loading to avoid bug 39098) -->
     <div id="errorContainer">
+      <div id="errorPageTitlesContainer">
+        <span id="ept_nssBadCert">&certerror.pagetitle1;</span>
+        <span id="ept_captivePortal">&captivePortal.title;</span>
+        <span id="ept_dnsNotFound">&dnsNotFound.pageTitle;</span>
+        <span id="ept_malformedURI">&malformedURI.pageTitle;</span>
+      </div>
       <div id="errorTitlesContainer">
         <h1 id="et_generic">&generic.title;</h1>
         <h1 id="et_captivePortal">&captivePortal.title;</h1>
-        <h1 id="et_dnsNotFound">&dnsNotFound.title;</h1>
+        <h1 id="et_dnsNotFound">&dnsNotFound.title1;</h1>
         <h1 id="et_fileNotFound">&fileNotFound.title;</h1>
         <h1 id="et_fileAccessDenied">&fileAccessDenied.title;</h1>
         <h1 id="et_malformedURI">&malformedURI.title1;</h1>
         <h1 id="et_unknownProtocolFound">&unknownProtocolFound.title;</h1>
         <h1 id="et_connectionFailure">&connectionFailure.title;</h1>
         <h1 id="et_netTimeout">&netTimeout.title;</h1>
         <h1 id="et_redirectLoop">&redirectLoop.title;</h1>
         <h1 id="et_unknownSocketType">&unknownSocketType.title;</h1>
@@ -549,17 +553,17 @@
         <h1 id="et_remoteXUL">&remoteXUL.title;</h1>
         <h1 id="et_corruptedContentErrorv2">&corruptedContentErrorv2.title;</h1>
         <h1 id="et_sslv3Used">&sslv3Used.title;</h1>
         <h1 id="et_inadequateSecurityError">&inadequateSecurityError.title;</h1>
       </div>
       <div id="errorDescriptionsContainer">
         <div id="ed_generic">&generic.longDesc;</div>
         <div id="ed_captivePortal">&captivePortal.longDesc2;</div>
-        <div id="ed_dnsNotFound">&dnsNotFound.longDesc;</div>
+        <div id="ed_dnsNotFound">&dnsNotFound.longDesc1;</div>
         <div id="ed_fileNotFound">&fileNotFound.longDesc;</div>
         <div id="ed_fileAccessDenied">&fileAccessDenied.longDesc;</div>
         <div id="ed_malformedURI"></div>
         <div id="ed_unknownProtocolFound">&unknownProtocolFound.longDesc;</div>
         <div id="ed_connectionFailure">&connectionFailure.longDesc;</div>
         <div id="ed_netTimeout">&netTimeout.longDesc;</div>
         <div id="ed_redirectLoop">&redirectLoop.longDesc;</div>
         <div id="ed_unknownSocketType">&unknownSocketType.longDesc;</div>
--- a/browser/base/content/aboutTabCrashed.xhtml
+++ b/browser/base/content/aboutTabCrashed.xhtml
@@ -22,75 +22,77 @@
 <html xmlns="http://www.w3.org/1999/xhtml">
   <head>
     <link rel="stylesheet" type="text/css" media="all"
           href="chrome://global/skin/in-content/info-pages.css"/>
     <link rel="stylesheet" type="text/css" media="all"
           href="chrome://browser/content/aboutTabCrashed.css"/>
     <link rel="stylesheet" type="text/css" media="all"
           href="chrome://browser/skin/aboutTabCrashed.css"/>
+
+    <title>&tabCrashed.title;</title>
   </head>
 
   <body dir="&locale.dir;">
     <div id="main" class="container" multiple="false">
 
       <div class="title">
         <h1 class="title-text">&tabCrashed.header2;</h1>
       </div>
 
       <div class="offers">
-        <h2>&tabCrashed.offerHelp;</h2>
-        <p id="offerHelpMessageSingle">&tabCrashed.single.offerHelpMessage;</p>
-        <p id="offerHelpMessageMultiple">&tabCrashed.multiple.offerHelpMessage;</p>
+        <h2>&tabCrashed.offerHelp2;</h2>
+        <p id="offerHelpMessageSingle">&tabCrashed.single.offerHelpMessage2;</p>
+        <p id="offerHelpMessageMultiple">&tabCrashed.multiple.offerHelpMessage2;</p>
       </div>
 
       <div id="reportBox">
         <h2>&tabCrashed.requestHelp;</h2>
         <p>&tabCrashed.requestHelpMessage;</p>
 
         <h2>&tabCrashed.requestReport;</h2>
 
         <div class="checkbox-with-label">
           <input type="checkbox" id="sendReport" role="checkbox"/>
-          <label for="sendReport">&tabCrashed.sendReport2;</label>
+          <label for="sendReport">&tabCrashed.sendReport3;</label>
         </div>
 
         <ul id="options">
           <li>
             <textarea id="comments" placeholder="&tabCrashed.commentPlaceholder2;" rows="4"></textarea>
           </li>
 
           <li class="checkbox-with-label">
             <input type="checkbox" id="includeURL" role="checkbox"/>
-            <label for="includeURL">&tabCrashed.includeURL2;</label>
+            <label for="includeURL">&tabCrashed.includeURL3;</label>
           </li>
 
           <li id="requestEmail" hidden="true">
             <div class="checkbox-with-label">
               <input type="checkbox" id="emailMe" role="checkbox"/>
               <label for="emailMe">&tabCrashed.emailMe;</label>
             </div>
             <input type="text" id="email" placeholder="&tabCrashed.emailPlaceholder;"/>
           </li>
         </ul>
 
         <div id="requestAutoSubmit" hidden="true">
           <h2>&tabCrashed.requestAutoSubmit2;</h2>
           <div class="checkbox-with-label">
             <input type="checkbox" id="autoSubmit" role="checkbox"/>
-            <label for="autoSubmit">&tabCrashed.autoSubmit2;</label>
+            <label for="autoSubmit">&tabCrashed.autoSubmit3;</label>
           </div>
         </div>
       </div>
 
       <p id="reportSent">&tabCrashed.reportSent;</p>
 
       <div class="button-container">
         <button id="closeTab">
-          &tabCrashed.closeTab;</button>
+          &tabCrashed.closeTab2;</button>
         <button id="restoreTab" class="primary">
           &tabCrashed.restoreTab;</button>
         <button id="restoreAll" autofocus="true" class="primary">
           &tabCrashed.restoreAll;</button>
       </div>
     </div>
   </body>
   <script type="text/javascript" src="chrome://browser/content/aboutTabCrashed.js"/>
--- a/browser/base/content/browser-pageActions.js
+++ b/browser/base/content/browser-pageActions.js
@@ -236,27 +236,29 @@ var BrowserPageActions = {
       }
       panelNode.remove();
     }, { once: true });
 
     panelNode.addEventListener("popuphiding", () => {
       if (iframeNode) {
         action.onIframeHiding(iframeNode, panelNode);
       }
+      anchorNode.removeAttribute("open");
     }, { once: true });
 
     if (panelViewNode) {
       action.subview.onPlaced(panelViewNode);
       action.subview.onShowing(panelViewNode);
     }
 
     // Hide the main page action panel before showing the activated-action
     // panel.
     this.panelNode.hidePopup();
     panelNode.openPopup(anchorNode, "bottomcenter topright");
+    anchorNode.setAttribute("open", "true");
 
     if (iframeNode) {
       action.onIframeShown(iframeNode, panelNode);
     }
 
     return panelNode;
   },
 
@@ -588,16 +590,20 @@ var BrowserPageActions = {
   showPanel(event = null) {
     for (let action of PageActions.actions) {
       let buttonNodeID = this._panelButtonNodeIDForActionID(action.id);
       let buttonNode = document.getElementById(buttonNodeID);
       action.onShowingInPanel(buttonNode);
     }
 
     this.panelNode.hidden = false;
+    this.panelNode.addEventListener("popuphiding", () => {
+      this.mainButtonNode.removeAttribute("open");
+    }, {once: true});
+    this.mainButtonNode.setAttribute("open", "true");
     this.panelNode.openPopup(this.mainButtonNode, {
       position: "bottomcenter topright",
       triggerEvent: event,
     });
   },
 
   /**
    * Call this on the contextmenu event.  Note that this is called before
--- a/browser/base/content/browser-places.js
+++ b/browser/base/content/browser-places.js
@@ -330,16 +330,22 @@ var StarUI = {
       }, {"capture": true, "once": true});
     };
     gEditItemOverlay.initPanel({ node: aNode,
                                  onPanelReady,
                                  hiddenRows: ["description", "location",
                                               "loadInSidebar", "keyword"],
                                  focusedElement: "preferred"});
 
+    if (aAnchorElement && aAnchorElement.id == BookmarkingUI.STAR_BOX_ID) {
+      aAnchorElement.setAttribute("open", "true");
+      this.panel.addEventListener("popuphiding", () => {
+        aAnchorElement.removeAttribute("open");
+      });
+    }
     this.panel.openPopup(aAnchorElement, aPosition);
   },
 
   panelShown:
   function SU_panelShown(aEvent) {
     if (aEvent.target == this.panel) {
       if (this._element("editBookmarkPanelContent").hidden) {
         // Note this isn't actually used anymore, we should remove this
--- a/browser/base/content/illustrations/error-malformed-url.svg
+++ b/browser/base/content/illustrations/error-malformed-url.svg
@@ -1,8 +1,11 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+   - License, v. 2.0. If a copy of the MPL was not distributed with this
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 <svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" viewBox="0 0 300 300">
   <defs>
     <linearGradient id="a" x1="-300.021" y1="-272.736" x2="547.138" y2="574.423" gradientUnits="userSpaceOnUse">
       <stop offset="0" stop-color="#ccfbff"/>
       <stop offset="1" stop-color="#c9e4ff"/>
     </linearGradient>
     <linearGradient id="b" x1="-18.672" y1="23.78" x2="279.805" y2="322.256" gradientUnits="userSpaceOnUse">
       <stop offset="0" stop-color="#00c8d7"/>
new file mode 100644
--- /dev/null
+++ b/browser/base/content/illustrations/error-server-not-found.svg
@@ -0,0 +1,60 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+   - License, v. 2.0. If a copy of the MPL was not distributed with this
+   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+<svg xmlns="http://www.w3.org/2000/svg" width="300" height="300" viewBox="0 0 300 300">
+  <defs>
+    <linearGradient id="a" x1="-300.021" y1="-272.736" x2="547.138" y2="574.423" gradientUnits="userSpaceOnUse">
+      <stop offset="0" stop-color="#ccfbff"/>
+      <stop offset="1" stop-color="#c9e4ff"/>
+    </linearGradient>
+    <linearGradient id="b" x1="-18.672" y1="23.78" x2="279.805" y2="322.256" gradientUnits="userSpaceOnUse">
+      <stop offset="0" stop-color="#00c8d7"/>
+      <stop offset="1" stop-color="#0a84ff"/>
+    </linearGradient>
+  </defs>
+  <path d="M224.245 144.067h-10.733c.136.343.274.674.41 1h10.323a.5.5 0 0 0 0-1zm2.454-11.821a.5.5 0 0 0-.5-.5h-20.26c.373.357.727.688 1.065 1h19.2a.5.5 0 0 0 .496-.5zm8.546 11.821h-3a.5.5 0 1 0 0 1h3a.5.5 0 0 0 0-1zm5 0h-1a.5.5 0 1 0 0 1h1a.5.5 0 0 0 0-1zm-3.3-6.66h-25.78a12.767 12.767 0 0 1 .862 2h24.918a1 1 0 0 0 0-2zm20.422 6.66h-8.122a.5.5 0 1 0 0 1h8.122a.5.5 0 0 0 0-1z" fill="#eaeaee"/>
+  <path d="M269.53 87.757h-24.236c-2.108-3.9-7.559-12.718-14.4-14.023-8.952-1.707-10.737 7.217-10.737 7.217s-5.949-15.468-21-13.419c-16.878 2.3-8.928 20.065-8.928 20.065h-25.408l8.181.159h-8.184a1 1 0 0 0 0 2H269.53a1 1 0 0 0 0-2z" fill="#fff"/>
+  <path d="M118.373 63.908h-13.69c-1.129-2.112-4.19-7.156-8.057-7.894-4.978-.949-5.971 4.013-5.971 4.013s-3.309-8.6-11.68-7.462c-9.386 1.278-4.965 11.158-4.965 11.158H59.88l9.471.185h-9.212a1 1 0 0 0 0 2h58.233a1 1 0 1 0 0-2z" fill="#fff"/>
+  <path d="M102.31 121.507H60.818a1 1 0 0 0 0 2h41.492a1 1 0 1 0 0-2zM70.336 117.6H82.1a.5.5 0 0 0 0-1H70.336a.5.5 0 0 0 0 1z" fill="#eaeaee"/>
+  <path d="M111.457 174.8h-78.3a1 1 0 0 0 0 2h78.3a1 1 0 1 0 0-2zm-26.742-3.793h1a.5.5 0 0 0 0-1h-1a.5.5 0 0 0 0 1zm10 0h3.1a.5.5 0 0 0 0-1h-3.1a.5.5 0 0 0 0 1zm-17 0h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0 0 1zm-20 0h12a.5.5 0 0 0 0-1h-12a.5.5 0 0 0 0 1z" fill="#eaeaee"/>
+  <path d="M206.885 62.973l.045-.1c-.058.027-.063.059-.045.1z" fill="#fff"/>
+  <path d="M77.937 214.941H39.95a1 1 0 1 1 0-2h37.987a1 1 0 1 1 0 2z" fill="#eaeaee"/>
+  <path d="M258.931 214.941h-61.813a1 1 0 0 1 0-2h61.813a1 1 0 0 1 0 2z" fill="#eaeaee"/>
+  <path d="M265.745 85.333h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1zm-11 0h-8.07a.5.5 0 0 1-.447-.277c-.007-.014-.724-1.425-1.979-3.342a.5.5 0 1 1 .837-.548c.393.6 1.444 2.293 1.888 3.167h7.772a.5.5 0 0 1 0 1zm-66.489-.712h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 1 0 1zm-11 0h-12a.5.5 0 0 1 0-1h12a.5.5 0 0 1 0 1zM190.1 83.13a.5.5 0 0 1-.474-.339c-.1-.29-.2-.615-.31-.971a.5.5 0 1 1 .958-.287c.1.343.2.657.3.937a.5.5 0 0 1-.474.661zm30.5-5.156a.5.5 0 0 1-.467-.32 23.7 23.7 0 0 0-2.182-4.039.5.5 0 0 1 .834-.552 27.291 27.291 0 0 1 1.719 2.982 10.522 10.522 0 0 1 3.679-5.015.5.5 0 0 1 .571.82 10.181 10.181 0 0 0-3.665 5.721.5.5 0 0 1-.448.4zm18.345-2.964a.5.5 0 0 1-.339-.132q-.361-.333-.735-.651a.5.5 0 0 1 .647-.762q.39.331.765.678a.5.5 0 0 1-.339.868zm-49.923-1.725a.47.47 0 0 1-.09-.008.5.5 0 0 1-.4-.581c.792-4.351 3.544-7.229 8.18-8.556a.5.5 0 0 1 .275.962c-4.24 1.212-6.753 3.828-7.472 7.773a.5.5 0 0 1-.499.411zm45.893-1.218a.5.5 0 0 1-.237-.06 12.545 12.545 0 0 0-2.666-1.081.5.5 0 1 1 .261-.966 13.559 13.559 0 0 1 2.88 1.167.5.5 0 0 1-.238.94zM212.146 67.4a.5.5 0 0 1-.28-.086q-.4-.27-.82-.524a.5.5 0 1 1 .516-.856q.444.267.865.552a.5.5 0 0 1-.281.914zm-4.47-2.2a.5.5 0 0 1-.154-.024 16.724 16.724 0 0 0-2.832-.647.5.5 0 0 1 .137-.99 17.6 17.6 0 0 1 3 .686.5.5 0 0 1-.154.976z" fill="#eaeaee"/>
+  <path d="M72.315 62.052h-12a.5.5 0 0 1 0-1h12a.5.5 0 0 1 0 1zm45.582-.184h-1.8a.5.5 0 0 1 0-1h1.8a.5.5 0 0 1 0 1zm-10.8 0h-1a.5.5 0 0 1 0-1h1a.5.5 0 0 1 0 1zm-3.491-2.881a.5.5 0 0 1-.39-.186 18.484 18.484 0 0 0-2-2.129.5.5 0 1 1 .668-.744A19.433 19.433 0 0 1 104 58.174a.5.5 0 0 1-.389.814zm-12.521-.631a.5.5 0 0 1-.466-.319 13.8 13.8 0 0 0-3.857-5.165.5.5 0 0 1 .623-.782 14.47 14.47 0 0 1 3.624 4.438A5.414 5.414 0 0 1 94.12 53.5a.5.5 0 0 1 .326.945 4.994 4.994 0 0 0-2.867 3.51.5.5 0 0 1-.49.401zm-17.637-2.037h-.051a.5.5 0 0 1-.447-.548 6.454 6.454 0 0 1 1.057-3.036.5.5 0 1 1 .824.566 5.46 5.46 0 0 0-.886 2.571.5.5 0 0 1-.497.447zm4.193-5.039a.5.5 0 0 1-.151-.977 10.27 10.27 0 0 1 1.017-.264.5.5 0 0 1 .2.979 9.033 9.033 0 0 0-.917.237.5.5 0 0 1-.148.025z" fill="#eaeaee"/>
+  <ellipse cx="143.502" cy="244.914" rx="54.673" ry="8.306" fill="#eaeaee"/>
+  <path d="M223.695 147.595a8.557 8.557 0 0 0-3.594-1.658v-.084a5 5 0 0 0-5.98-5.15 36.839 36.839 0 0 0-6.483-9.3 83.918 83.918 0 0 0-8.865-9.925 5.554 5.554 0 0 0-2.252-1.3c-7.134-6.844-21.832-19.69-32.3-20.412a27.308 27.308 0 0 0-1.879-.063A46.863 46.863 0 0 0 147.3 102.6l-5.07-1.386a5 5 0 0 0-6.142 3.5l-.959 3.508a68.223 68.223 0 0 0-7.774 5.252l-2.026-.047h-.116a5 5 0 0 0-5 4.884l-.042 1.8a45.3 45.3 0 0 0-5.6 7.593 5 5 0 0 0-2.508 5.313c-1.868 5.441-2.827 13.654-2.855 24.468-.454 2.653-1 5.24-1.63 7.721l-4.239 2.569a6.3 6.3 0 0 0-2.122 8.645l1.5 2.469q-.366.757-.741 1.478l-4 1.227a6.3 6.3 0 0 0-4.171 7.866l.59 1.923q-.5.569-1.007 1.109l-1.588-.122a5.857 5.857 0 0 0-.5-.02 6.325 6.325 0 0 0-6.268 5.8l-.113 1.431c-2.725 2.033-5.38 4.525-5.38 9.073 0 6.507 10.219 10.526 13.578 11.847a68.529 68.529 0 0 0 24.074 4.751q.549 0 1.093-.012c.6 2.385 1.2 4.42 1.778 6.08a54.622 54.622 0 0 0 4.716 10.2c1.741 2.827 4.2 6.072 7.821 6.072a5.668 5.668 0 0 0 3.569-1.267c1.74-1.416 2.422-3.057 2.477-10.005a86.376 86.376 0 0 0 16.716 1.516 80.415 80.415 0 0 0 14.4-1.446c-.21 6.755.477 8.474 2.273 9.935a5.668 5.668 0 0 0 3.568 1.267c5.627 0 9.914-8.85 12.52-16.273.379-1.079.76-2.326 1.133-3.705h-.008c1.555-5.314 12.415-46.933 15.771-59.81l9.2.076h.041q.235 0 .47-.022a13.639 13.639 0 0 0 8.795-4.994l.014.011c4.448-5.667 4.514-11.806.157-15.28z" fill="#fff"/>
+  <g fill="url(#a)">
+    <path d="M121.625 218.616c-4.1-12.832-7.76-39.924-7.746-61.081a103.51 103.51 0 0 1-2.321 10.573l-5.961 3.612a1.3 1.3 0 0 0-.437 1.779l2.865 4.729a59.209 59.209 0 0 1-2.977 5.993l-5.939 1.823a1.3 1.3 0 0 0-.858 1.619l1.385 4.511a51.054 51.054 0 0 1-4.661 5.155l-3.9-.308a1.3 1.3 0 0 0-1.394 1.19l-.294 3.726c-3.236 2.342-5.183 3.517-5.183 6.38 0 4.117 20.661 13.327 37.645 11.314-.078-.339-.149-.677-.224-1.015z"/>
+    <path d="M186.98 169.883l-12.066-1.734s10.339 13.394 7.748 33.691c-1 7.817-6.478 19.433-22.024 22.456a45.69 45.69 0 0 1-27.449-3.428v8.583s7.584 3.05 21.835 3.05a87.741 87.741 0 0 0 19.743-2.7c-.4 5.8-.622 11.737.084 12.311 1.416 1.153 5.381-4.714 8.214-12.785a48.073 48.073 0 0 0 1.019-3.337c1.268-3.235 4.283-12.279 4.623-25.878a176.857 176.857 0 0 0-1.727-30.229z"/>
+    <path d="M189.791 210.674l-4.457-18.074-8.517-31.348a1.288 1.288 0 0 0-1.554-.989l-20.588 10.535-2.94.327-15.735.134a1.287 1.287 0 0 0-1.177 1.782l6.114 14.682 4.476 18.806a1.278 1.278 0 0 0 .146.349l-1.614 14.85a1.287 1.287 0 0 0 1.3 1.426l18.745-.305q.061 0 .121-.008a1.288 1.288 0 0 0 .151-.026l24.607-10.476a1.287 1.287 0 0 0 .926-1.665z"/>
+    <path d="M139.025 177.647a1.384 1.384 0 0 0 .773-1.1 1.407 1.407 0 0 0-1.269-1.533s-1.257-.638-4.768-.72a7.635 7.635 0 0 0-5.773 2.53 75.369 75.369 0 0 1-13.532-5.021 2.5 2.5 0 0 0-2.225 4.478 76.1 76.1 0 0 0 15.616 5.619c1.4 1.485 3.989 2.07 5.679 2.241.1.031 5.754.357 7.31-3.608.474-1.206-.654-2.449-1.811-2.886z"/>
+    <path d="M212.017 152.78c2.378-2.584 6.425-3.047 8.227-1.609 2.856 2.278.577 6.3-.976 8.274-.044.09-3.736 4.39-7.671 2.758-1.2-.5-1.309-2.171-.821-3.307a1.384 1.384 0 0 1-1.327-.206 1.407 1.407 0 0 1-.223-1.978s.413-1.348 2.791-3.932z"/>
+    <path d="M210.657 147.674a12.766 12.766 0 0 0-.357-2.321c-1.084-4.224-4.233-8.285-6.851-11.094a78.307 78.307 0 0 0-8.425-9.468.648.648 0 0 0-.887.944 80.955 80.955 0 0 1 7.823 8.7c1.579 2.767 3.417 6.488 3.862 9.489a17.1 17.1 0 0 1-1.055 7.18zm-56.427 14.1a1.3 1.3 0 0 0 .514 1.758c.142.078 2.046 1.108 5.194 2.412l2.974-1.612a63.892 63.892 0 0 1-6.924-3.073 1.3 1.3 0 0 0-1.758.517z"/>
+  </g>
+  <g fill="#f9f9fa">
+    <path d="M164.107 222.841q-.06.007-.121.008l-18.745.305a1.287 1.287 0 0 1-1.3-1.426l1.614-14.85a1.28 1.28 0 0 1-.146-.349l-4.476-18.806-2.024-4.861a9.694 9.694 0 0 1-5.383 1.28c-1.69-.17-4.282-.756-5.679-2.241a70.415 70.415 0 0 1-13.1-4.449c1.326 16.092 3.99 32.149 6.873 41.164a93.749 93.749 0 0 0 2.817 10.711c2.833 8.071 6.815 13.938 8.231 12.785.67-.545.705-6.511.557-12.645l-.042-.016v-8.583a45.69 45.69 0 0 0 27.449 3.428 29.062 29.062 0 0 0 11.749-4.94l-8.127 3.46a1.29 1.29 0 0 1-.147.025z"/>
+    <path d="M218.386 185.448c-.284-.616-4.741-17.387-4.741-17.387l.274-5.519a4.792 4.792 0 0 1-2.322-.339c-1.2-.5-1.309-2.171-.821-3.307a1.384 1.384 0 0 1-1.328-.206 1.407 1.407 0 0 1-.223-1.978s.413-1.348 2.791-3.932a7.392 7.392 0 0 1 2.474-1.729l.287-5.78-10.011 5.837a17.1 17.1 0 0 0 1.055-7.18c-.445-3-2.283-6.722-3.862-9.489a80.955 80.955 0 0 0-7.823-8.7.648.648 0 0 1-.028-.915s.011-.006.015-.011c-10.105-9.943-22.875-19.853-30.577-20.384-4.5-.311-10.323.8-16.37 3.082l-6.6-1.805-1.511 5.524a63.4 63.4 0 0 0-10.33 6.958l-3.858-.09-.086 3.719a40.259 40.259 0 0 0-7.075 9.61l-1.076.336.36 1.137c-3.164 7.31-3.661 22.679-2.656 38.859.037.016.076.024.113.043a75.369 75.369 0 0 0 13.532 5.021 6.434 6.434 0 0 1 .467-.48c.065-.061.135-.118.2-.177.1-.088.2-.175.314-.259l.3-.218a7.807 7.807 0 0 1 .651-.406c.045-.025.091-.048.137-.072a7.522 7.522 0 0 1 3.707-.919c.615.014 1.137.049 1.619.092l-.56-1.346a1.287 1.287 0 0 1 1.176-1.779l15.739-.139 2.94-.327 20.588-10.535a1.287 1.287 0 0 1 1.554.989l8.517 31.348 4.457 18.078a1.287 1.287 0 0 1-.926 1.665l-24.607 10.476a1.29 1.29 0 0 1-.151.026q-.06.007-.121.008l-18.745.305a1.287 1.287 0 0 1-1.3-1.426l1.614-14.85a1.28 1.28 0 0 1-.146-.349l-4.476-18.806-2.024-4.861a7.222 7.222 0 0 1-1.957.882l1.244 2.643 4.883 18.667-1.442 20.018 22.316.754 28.2-12.809 22.4-5.773 12.27-10s-8.157-11.179-8.441-11.795zm-58.447-19.5c-3.153-1.305-5.053-2.334-5.2-2.412a1.3 1.3 0 0 1 1.244-2.273 64.081 64.081 0 0 0 6.926 3.071z"/>
+  </g>
+  <path d="M148.2 151.572a1 1 0 0 0-.969-.513l-5.848.544a1 1 0 0 0-.518 1.788l3.4 2.625a1 1 0 0 0 .611.208 1.023 1.023 0 0 0 .128-.008 1 1 0 0 0 .664-.381l2.444-3.169a1 1 0 0 0 .088-1.094z" fill="#fff"/>
+  <g fill="url(#a)">
+    <path d="M215.942 188.189a.5.5 0 0 0-.643-.294c-.657.244-6.829 2.359-9.226 3.179a.485.485 0 0 0-.129.02l-.223.082-.3-.533-4.132-16.317c3.722-1.631 9.422-4.082 10-4.2a.5.5 0 0 0 .43-.551.507.507 0 0 0-.552-.442c-.612.068-7.152 2.91-10.007 4.159l-.978-16.222a.506.506 0 0 0-.529-.469.5.5 0 0 0-.469.529l1.027 16.881a.482.482 0 0 0 .005.087v.063l4.244 16.8a.5.5 0 0 0 .048.121l.252.452-14.371 5.266a.5.5 0 1 0 .345.938l14.53-5.331 7.075 12.687a.5.5 0 1 0 .873-.487l-6.987-12.529c2.259-.773 8.727-2.988 9.423-3.247a.5.5 0 0 0 .294-.642zm-17.866-13.124a.5.5 0 0 0-.645-.29l-12.685 4.811a.5.5 0 0 0 .177.967.49.49 0 0 0 .177-.033l12.685-4.811a.5.5 0 0 0 .29-.644z"/>
+    <path d="M177.573 181.528a1.031 1.031 0 1 0 1.081.668 1.036 1.036 0 0 0-1.081-.668z"/>
+  </g>
+  <path d="M186.537 198.867a.5.5 0 0 0-.634-.312l-22.81 7.758-.215-2.424-3.513-18.32 22.327-4.386a.5.5 0 0 0-.192-.981l-22.373 4.4-4.2-13.34a.5.5 0 0 0-.954.3l4.153 13.167-15.205 1.277a.5.5 0 0 0 .042 1h.042l15.376-1.294 3.513 18.32.214 2.418c-3.146-.116-12.594-.432-13.583-.117a.5.5 0 0 0-.321.621.506.506 0 0 0 .623.333c.734-.214 8.379-.017 13.371.167l1.382 15.6a.5.5 0 0 0 .5.456h.044a.5.5 0 0 0 .454-.542l-1.386-15.624 23.041-7.837a.5.5 0 0 0 .304-.64z" fill="#f9f9fa"/>
+  <g fill="url(#b)">
+    <path d="M158.845 166.591l-3.592-1.575a1 1 0 0 1 .8-1.832l4.854 2.129z"/>
+    <path d="M151.812 151.976a11.582 11.582 0 0 0-15.092 1.077 1 1 0 0 0 1.387 1.441 10.932 10.932 0 0 1 1.693-1.238c1.011 1.259 2.852 3.273 4.438 3.474a1.779 1.779 0 0 0 .228.014c1.905 0 3.843-2.924 4.537-4.082a11.155 11.155 0 0 1 1.621.922 1 1 0 0 0 1.189-1.608zm-7.448 3.762c-1.113-.141-2.654-1.735-3.671-2.971a9.546 9.546 0 0 1 4.815-1.067 9.091 9.091 0 0 1 2.56.576c-.968 1.589-2.592 3.611-3.705 3.461z"/>
+    <path d="M195.7 141.2a5.614 5.614 0 0 0-9.187 0 1 1 0 1 0 1.679 1.088 3.7 3.7 0 0 1 2.915-1.475 3.648 3.648 0 0 1 2.918 1.48 1 1 0 0 0 1.675-1.093z"/>
+    <path d="M155.081 127.311a1 1 0 0 0 1.383-.28 3.618 3.618 0 0 1 5.838 0 1 1 0 0 0 1.675-1.093 5.614 5.614 0 0 0-9.187 0 1 1 0 0 0 .291 1.373z"/>
+    <path d="M189.934 134.871c0 .034-.01.066-.01.1v2.844a6.008 6.008 0 0 1 2.784.078v-2.922a1.378 1.378 0 0 0-.023-.227 5.846 5.846 0 0 0 2.993-2.135 1 1 0 0 0-1.678-1.094 3.617 3.617 0 0 1-5.838 0 1 1 0 0 0-1.674 1.094 5.755 5.755 0 0 0 3.446 2.262z"/>
+    <path d="M158.008 134.971v3.152a5.941 5.941 0 0 1 2.781-.038v-3.114a1.392 1.392 0 1 0-2.784 0z"/>
+    <path d="M159.4 139.021a5.674 5.674 0 0 0-4.593 2.387 1 1 0 0 0 1.674 1.094 3.618 3.618 0 0 1 5.838 0 1 1 0 0 0 1.675-1.093 5.674 5.674 0 0 0-4.594-2.388z"/>
+    <path d="M180.388 181.389a2.938 2.938 0 1 0-4.66 3.254 4.326 4.326 0 0 0 .765.557l2.4 1.8a.562.562 0 0 0 .531.077h.008a.564.564 0 0 0 .35-.418l.577-3a3.9 3.9 0 0 0 .029-2.27zm-2.344 2.132a1.031 1.031 0 1 1 .61-1.325 1.034 1.034 0 0 1-.61 1.325z"/>
+    <path d="M212.864 169.173a.64.64 0 0 0-.9-.158l-6.583 4.6-6.6 4.16-.891.437-6.69-16.391-6.419 2.481-1.271-5.447a.643.643 0 1 0-1.252.294l1.315 5.621-3.806 1.471v.01l-19.531 7.538 3.908 11.6-2.937 1.966-7.657 3.829-11.434.845a.8.8 0 0 0-.1.031l.3 1.246 11.461-.848.127-.01 7.955-3.983 2.715-1.815 8.963 26.609 13.988-4.649-.86-1.86 3.448-1.219 1.248-.441 5.962 3.956a.643.643 0 1 0 .71-1.073l-5.168-3.415.03-.01-1.152-2.5 13.594-5.606-6.957-17.044 1.032-.505 6.682-4.212 6.609-4.621a.642.642 0 0 0 .161-.887zm-9.2 26.575l-13.647 5.629.785 1.7-2.343-2.449-1.288-1.346-4.425-3.346L180.2 193l-.376-4.707a1.748 1.748 0 0 1-1.294-.042l.421 5.273 2.862 3.309 4.5 3.41 3.112 3.263.648.68-.228.081-.146.052-4.8 1.7.847 1.836-11.4 3.79-8.665-25.724 1.41-.943 5.921.554 2.9 2.118 1.361-.251-1.479-1.1a5.89 5.89 0 0 1-.9-.663 4.206 4.206 0 0 1-.783-.893l-.624-.456-6.729-.628-1.5 1-3.4-10.1 19.632-7.577v-.01l2.388-.923.438 1.874.528 4.731.565 3.225-1 2.954-2.623 1.281-.4.374a4.217 4.217 0 0 1 .218.466 3.835 3.835 0 0 1 .2.87l.634-.6 3.021-1.474 1.275-3.774-.616-3.508-.536-4.767-.5-2.123 5.41-2.091 6.246 15.3-10.983 5.386-4.378 1.031-.267 1.386 4.4-1.038.607-.143 11.1-5.432z"/>
+    <path d="M211.383 147.927l2.9-1.77.039 5.23a.5.5 0 0 0 .5.5.5.5 0 0 0 .5-.5l-.046-6.113a.5.5 0 0 0-.76-.423l-3.655 2.229a.5.5 0 0 0 .521.854zm15.845 49.026l-8.383-11.723-4.7-17.252-.32-5.243a.51.51 0 0 0-.529-.469.5.5 0 0 0-.469.529l.323 5.294a.5.5 0 0 0 .017.1l4.733 17.391a.5.5 0 0 0 .076.16l8.163 11.414-11.821 9.633-22.291 5.745c-.015 0-.026.014-.04.02s-.028 0-.041.01l-28.095 12.761-21.68-.732 1.4-19.5a.506.506 0 0 0-.015-.163l-4.876-18.668a.537.537 0 0 0-.041-.1l-1.539-2.96a.5.5 0 0 0-.887.463l1.515 2.9 4.848 18.532-1.435 19.936a.5.5 0 0 0 .481.536l22.316.754h.017a.5.5 0 0 0 .207-.045l28.159-12.79 22.358-5.762a.505.505 0 0 0 .191-.1l12.27-10a.5.5 0 0 0 .088-.671zm-96.2-26.9l23.165-.486a.5.5 0 0 0 .228-.061l22.133-12 14.9-1.49h.011l7.36-.909a.5.5 0 0 0 .187-.062l8.711-4.962a.5.5 0 1 0-.5-.869l-8.624 4.913-7.249.9-15 1.5a.5.5 0 0 0-.188.058l-22.115 11.992-23.782.5a.5.5 0 0 0-.449.7l1.47 3.46a.5.5 0 0 0 .46.3.493.493 0 0 0 .2-.04.5.5 0 0 0 .265-.655z"/>
+    <path d="M221.337 150.947c-.37-.407-2.546-2.481-6.929-.472a1 1 0 0 0 .832 1.818c3.251-1.489 4.553-.074 4.594-.03.024.03.064.072.091.1.076.074 1.82 1.86-.674 5.575-2.65 3.945-5.713 3.84-5.862 3.832a1 1 0 0 0-.142 1.995c.019 0 .085.006.193.006.877 0 4.494-.285 7.471-4.717 3.289-4.902.831-7.7.426-8.107zm-9.037 2.245a.5.5 0 1 0-.567-.823c-.354.244-3.456 2.447-3.149 4.537.13.889.826 1.577 2.071 2.049v2.479a.5.5 0 0 0 1 0V158.6a.5.5 0 0 0-.347-.476c-1.069-.345-1.652-.8-1.735-1.363-.183-1.25 1.962-3.041 2.727-3.569z"/>
+    <path d="M141.324 179.661a1 1 0 0 0-1.361.384 5.382 5.382 0 0 1-3.357 2.765c-3.375.921-7.389-1.383-7.43-1.407a1.043 1.043 0 0 0-.494-.137 23.844 23.844 0 0 1-5.361-1.266 94.816 94.816 0 0 1-10.046-4.156 1 1 0 1 0-.87 1.8 94.837 94.837 0 0 0 10.318 4.263 28.613 28.613 0 0 0 5.662 1.344 14.825 14.825 0 0 0 6.505 1.775 8.516 8.516 0 0 0 2.233-.285 7.38 7.38 0 0 0 4.585-3.72 1 1 0 0 0-.384-1.36zm-13.077-2.407c1.673-1.014 6.485-3.407 8.631-2.308a2.26 2.26 0 0 1 1.111 2.027.5.5 0 0 0 .125.292l1.333 1.5a.5.5 0 1 0 .747-.664l-1.225-1.378a3.151 3.151 0 0 0-1.637-2.667c-3.076-1.572-9.338 2.182-9.6 2.343a.5.5 0 0 0 .519.855z"/>
+    <path d="M187.079 215.322a62.9 62.9 0 0 1-2.99 10.65 48.268 48.268 0 0 1-1.024 3.355c-2.593 7.389-6.135 12.929-7.8 12.929a.634.634 0 0 1-.412-.145c-.706-.575-.484-6.506-.084-12.311a87.741 87.741 0 0 1-19.743 2.7c-11.364 0-18.463-1.931-20.878-2.715l-.237-5.569a.5.5 0 0 0-1 .043l.386 9.076c.038 4.572-.1 8.349-.622 8.777a.635.635 0 0 1-.412.145c-1.67 0-5.226-5.541-7.819-12.929a88.238 88.238 0 0 1-2.593-9.678v-.018c-2.557-10.229-4.4-21.578-4.427-21.725a.5.5 0 0 0-.984.174c.025.144 1.891 11.541 4.373 21.641a43.511 43.511 0 0 1-3.955.194c-15.782 0-32.651-7.878-32.651-11.6 0-2.862 1.947-4.038 5.183-6.379l.294-3.727a1.3 1.3 0 0 1 1.284-1.194h.109l2.658.209c-.932 1-1.8 1.954-1.856 2.019a.5.5 0 0 0 .741.672c.02-.022 1.7-1.876 2.915-3.143a51.528 51.528 0 0 0 4.106-4.6l-1.385-4.51a1.3 1.3 0 0 1 .858-1.619l4.541-1.395-1.472 2.6a.5.5 0 0 0 .871.492l2-3.526a59.168 59.168 0 0 0 2.977-5.992l-2.871-4.723a1.3 1.3 0 0 1 .436-1.78l4.685-2.84-.841 2.8a.5.5 0 0 0 .335.623.506.506 0 0 0 .144.021.5.5 0 0 0 .479-.356l1.159-3.861a103.318 103.318 0 0 0 2.315-10.528c0-9.635.771-18.028 2.6-23.3l.629 1.572a.5.5 0 0 0 .929-.371l-1.036-2.59-.354-1.132 1.076-.336a39.516 39.516 0 0 1 6.206-8.693 17.58 17.58 0 0 0 .293 2.241.5.5 0 0 0 .472.34.5.5 0 0 0 .477-.656c-.081-.25-.222-1.675-.361-3.33l.075-3.231 3.858.09a63.4 63.4 0 0 1 10.33-6.958l1.511-5.524 5.175 1.415-2.448 1.1a.5.5 0 1 0 .409.912l3.465-1.619a43.83 43.83 0 0 1 14.834-3.133q.79 0 1.535.051c7.7.531 20.471 10.442 30.576 20.384a.65.65 0 0 1 .461-.192.635.635 0 0 1 .439.175 78.316 78.316 0 0 1 8.426 9.469c2.618 2.808 5.766 6.87 6.851 11.093a12.766 12.766 0 0 1 .357 2.321l1.9-1.109a14.088 14.088 0 0 0-.321-1.71c-1.189-4.633-4.577-9-7.244-11.873a80.227 80.227 0 0 0-8.6-9.651 2.616 2.616 0 0 0-1.645-.711 132.405 132.405 0 0 0-15.667-13.173c-6.275-4.386-11.455-6.747-15.4-7.019-.538-.037-1.1-.056-1.673-.056a44.826 44.826 0 0 0-14.927 3.034l-5.98-1.635a2 2 0 0 0-2.457 1.4l-1.287 4.707a65.217 65.217 0 0 0-9.321 6.285l-3.115-.072h-.047a2 2 0 0 0-2 1.953l-.068 2.94a42.293 42.293 0 0 0-6.474 8.772l-.291.091a2 2 0 0 0-1.313 2.506l.143.457c-1.979 5.088-2.989 13.356-3 24.6a102.64 102.64 0 0 1-2.034 9.4l-5.279 3.2a3.3 3.3 0 0 0-1.111 4.526l2.326 3.838a57.63 57.63 0 0 1-2.077 4.169l-5.176 1.59a3.3 3.3 0 0 0-2.183 4.118l1.073 3.494a49.486 49.486 0 0 1-3.185 3.519l-3-.236a3.17 3.17 0 0 0-.266-.011 3.31 3.31 0 0 0-3.278 3.035l-.221 2.8c-2.946 2.116-5.262 3.81-5.262 7.461 0 3.883 7.315 7.34 11.675 9.055a65.414 65.414 0 0 0 22.976 4.543 46.33 46.33 0 0 0 3.429-.125 80.231 80.231 0 0 0 2.274 8.2c.513 1.46 5.14 14.267 9.706 14.267a2.624 2.624 0 0 0 1.675-.594c.828-.674 1.5-1.218 1.349-11.451a76.223 76.223 0 0 0 19.738 2.288 85.8 85.8 0 0 0 17.577-2.149c-.579 10.036.152 10.631.988 11.312a2.623 2.623 0 0 0 1.674.594c4.55 0 9.177-12.807 9.689-14.267.345-.983.694-2.123 1.039-3.39a67.385 67.385 0 0 0 3.306-12.285z"/>
+  </g>
+</svg>
--- a/browser/base/content/test/urlbar/browser_page_action_menu.js
+++ b/browser/base/content/test/urlbar/browser_page_action_menu.js
@@ -35,17 +35,21 @@ add_task(async function bookmark() {
     // Make sure the edit-bookmark panel opens, then hide it.
     await new Promise(resolve => {
       if (StarUI.panel.state == "open") {
         resolve();
         return;
       }
       StarUI.panel.addEventListener("popupshown", resolve, { once: true });
     });
+    Assert.equal(BookmarkingUI.starBox.getAttribute("open"), "true",
+      "Star has open attribute");
     StarUI.panel.hidePopup();
+    Assert.ok(!BookmarkingUI.starBox.hasAttribute("open"),
+      "Star no longer has open attribute");
 
     // Open the panel again.
     await promisePageActionPanelOpen();
 
     // The bookmark button should now read "Edit This Bookmark" and be starred.
     Assert.equal(bookmarkButton.label, "Edit This Bookmark");
     Assert.ok(bookmarkButton.hasAttribute("starred"));
     Assert.equal(bookmarkButton.getAttribute("starred"), "true");
@@ -126,22 +130,26 @@ add_task(async function sendToDevice_non
       window.getComputedStyle(BrowserPageActions.mainButtonNode).display,
       "none",
       "Main button should be hidden on about:home"
     );
     BrowserPageActions.mainButtonNode.style.display = "-moz-box";
     await promiseSyncReady();
     // Open the panel.  Send to Device should be disabled.
     await promisePageActionPanelOpen();
+    Assert.equal(BrowserPageActions.mainButtonNode.getAttribute("open"),
+      "true", "Main button has 'open' attribute");
     let sendToDeviceButton =
       document.getElementById("pageAction-panel-sendToDevice");
     Assert.ok(sendToDeviceButton.disabled);
     let hiddenPromise = promisePageActionPanelHidden();
     BrowserPageActions.panelNode.hidePopup();
     await hiddenPromise;
+    Assert.ok(!BrowserPageActions.mainButtonNode.hasAttribute("open"),
+      "Main button no longer has 'open' attribute");
     // Remove the `display` style set above.
     BrowserPageActions.mainButtonNode.style.removeProperty("display");
   });
 });
 
 add_task(async function sendToDevice_syncNotReady_other_states() {
   // Open a tab that's sendable.
   await BrowserTestUtils.withNewTab("http://example.com/", async () => {
@@ -491,16 +499,18 @@ add_task(async function sendToDevice_inU
     let urlbarButton = document.getElementById(
       BrowserPageActions._urlbarButtonNodeIDForActionID(action.id)
     );
     Assert.ok(!urlbarButton.disabled);
     let panelPromise =
       promisePanelShown(BrowserPageActions._activatedActionPanelID);
     EventUtils.synthesizeMouseAtCenter(urlbarButton, {});
     await panelPromise;
+    Assert.equal(urlbarButton.getAttribute("open"), "true",
+      "Button has open attribute");
 
     // The devices should be shown in the subview.
     let expectedItems = [
       {
         id: "pageAction-urlbar-sendToDevice-notReady",
         display: "none",
         disabled: true,
       },
@@ -541,16 +551,18 @@ add_task(async function sendToDevice_inU
     }, "Waiting for first device menu item to appear");
 
     // Click it, which should cause the panel to close.
     let hiddenPromise =
       promisePanelHidden(BrowserPageActions._activatedActionPanelID);
     EventUtils.synthesizeMouseAtCenter(deviceMenuItem, {});
     info("Waiting for Send to Device panel to close after clicking a device");
     await hiddenPromise;
+    Assert.ok(!urlbarButton.hasAttribute("open"),
+      "URL bar button no longer has open attribute");
 
     // And then the "Sent!" notification panel should open and close by itself
     // after a moment.
     info("Waiting for the Sent! notification panel to open");
     await promisePanelShown(BrowserPageActionFeedback.panelNode.id);
     Assert.equal(
       BrowserPageActionFeedback.panelNode.anchorNode.id,
       urlbarButton.id
--- a/browser/base/jar.mn
+++ b/browser/base/jar.mn
@@ -34,16 +34,17 @@ browser.jar:
         content/browser/abouthome/bookmarks@2x.png     (content/abouthome/bookmarks@2x.png)
         content/browser/abouthome/history@2x.png       (content/abouthome/history@2x.png)
         content/browser/abouthome/addons@2x.png        (content/abouthome/addons@2x.png)
         content/browser/abouthome/sync@2x.png          (content/abouthome/sync@2x.png)
         content/browser/abouthome/settings@2x.png      (content/abouthome/settings@2x.png)
         content/browser/abouthome/restore@2x.png       (content/abouthome/restore@2x.png)
         content/browser/abouthome/restore-large@2x.png (content/abouthome/restore-large@2x.png)
 
+        content/browser/illustrations/error-server-not-found.svg (content/illustrations/error-server-not-found.svg)
         content/browser/illustrations/error-malformed-url.svg (content/illustrations/error-malformed-url.svg)
         content/browser/aboutNetError.xhtml            (content/aboutNetError.xhtml)
 
 #ifdef MOZ_SERVICES_HEALTHREPORT
         content/browser/abouthealthreport/abouthealth.xhtml   (content/abouthealthreport/abouthealth.xhtml)
         content/browser/abouthealthreport/abouthealth.js      (content/abouthealthreport/abouthealth.js)
         content/browser/abouthealthreport/abouthealth.css     (content/abouthealthreport/abouthealth.css)
 #endif
--- a/browser/components/extensions/ext-devtools-panels.js
+++ b/browser/components/extensions/ext-devtools-panels.js
@@ -208,31 +208,34 @@ class ParentDevToolsPanel {
     this.context = null;
     this.toolbox = null;
     this.browser = null;
     this.browserContainerWindow = null;
   }
 
   createBrowserElement(window) {
     const {toolbox} = this;
+    const {extension} = this.context;
     const {url} = this.panelOptions;
     const {document} = window;
 
     const browser = document.createElementNS(XUL_NS, "browser");
     browser.setAttribute("type", "content");
     browser.setAttribute("disableglobalhistory", "true");
     browser.setAttribute("style", "width: 100%; height: 100%;");
     browser.setAttribute("transparent", "true");
     browser.setAttribute("class", "webextension-devtoolsPanel-browser");
     browser.setAttribute("webextension-view-type", "devtools_panel");
     browser.setAttribute("flex", "1");
 
-    this.browser = browser;
+    // Ensure that the devtools panel browser is going to run in the same
+    // process of the other extension pages from the same addon.
+    browser.sameProcessAsFrameLoader = extension.groupFrameLoader;
 
-    const {extension} = this.context;
+    this.browser = browser;
 
     let awaitFrameLoader = Promise.resolve();
     if (extension.remote) {
       browser.setAttribute("remote", "true");
       browser.setAttribute("remoteType", E10SUtils.EXTENSION_REMOTE_TYPE);
       awaitFrameLoader = promiseEvent(browser, "XULFrameLoaderCreated");
     }
 
--- a/browser/components/sessionstore/content/aboutSessionRestore.xhtml
+++ b/browser/components/sessionstore/content/aboutSessionRestore.xhtml
@@ -25,27 +25,23 @@
     <script type="application/javascript" src="chrome://browser/content/aboutSessionRestore.js"/>
   </head>
 
   <body dir="&locale.dir;">
 
     <div class="container restore-chosen">
 
       <div class="title">
-        <h1 class="title-text">&restorepage.errorTitle;</h1>
+        <h1 class="title-text">&restorepage.errorTitle2;</h1>
       </div>
       <div class="description">
-        <p>&restorepage.problemDesc;</p>
+        <p>&restorepage.problemDesc2;</p>
 
         <div id="errorLongDesc">
-          <p>&restorepage.tryThis;</p>
-          <ul>
-            <li>&restorepage.restoreSome;</li>
-            <li>&restorepage.startNew;</li>
-          </ul>
+          <p>&restorepage.tryThis2;</p>
         </div>
       </div>
       <div class="tree-container" available="true">
         <xul:tree id="tabList" seltype="single" hidecolumnpicker="true"
               onclick="onListClick(event);" onkeydown="onListKeyDown(event);"
               _window_label="&restorepage.windowLabel;">
           <xul:treecols>
             <xul:treecol cycler="true" id="restore" type="checkbox" label="&restorepage.restoreHeader;"/>
@@ -53,33 +49,33 @@
             <xul:treecol primary="true" id="title" label="&restorepage.listHeader;" flex="1"/>
           </xul:treecols>
           <xul:treechildren flex="1"/>
         </xul:tree>
       </div>
       <div class="button-container">
 #ifdef XP_UNIX
         <xul:button id="errorCancel"
-                label="&restorepage.closeButton;"
-                accesskey="&restorepage.close.access;"
+                label="&restorepage.closeButton2;"
+                accesskey="&restorepage.close.access2;"
                 oncommand="startNewSession();"/>
         <xul:button class="primary"
                 id="errorTryAgain"
-                label="&restorepage.tryagainButton;"
-                accesskey="&restorepage.restore.access;"
+                label="&restorepage.tryagainButton2;"
+                accesskey="&restorepage.restore.access2;"
                 oncommand="restoreSession();"/>
 #else
         <xul:button class="primary"
                 id="errorTryAgain"
-                label="&restorepage.tryagainButton;"
-                accesskey="&restorepage.restore.access;"
+                label="&restorepage.tryagainButton2;"
+                accesskey="&restorepage.restore.access2;"
                 oncommand="restoreSession();"/>
         <xul:button id="errorCancel"
-                label="&restorepage.closeButton;"
-                accesskey="&restorepage.close.access;"
+                label="&restorepage.closeButton2;"
+                accesskey="&restorepage.close.access2;"
                 oncommand="startNewSession();"/>
 #endif
       </div>
       <!-- holds the session data for when the tab is closed -->
       <input type="text" id="sessionData" style="display: none;"/>
     </div>
 
   </body>
--- a/browser/extensions/activity-stream/common/Actions.jsm
+++ b/browser/extensions/activity-stream/common/Actions.jsm
@@ -51,17 +51,16 @@ for (const type of [
   "PLACES_HISTORY_CLEARED",
   "PLACES_LINK_BLOCKED",
   "PLACES_LINK_DELETED",
   "PREFS_INITIAL_VALUES",
   "PREF_CHANGED",
   "SAVE_SESSION_PERF_DATA",
   "SAVE_TO_POCKET",
   "SCREENSHOT_UPDATED",
-  "SEARCH_BOX_FOCUSED",
   "SECTION_DEREGISTER",
   "SECTION_DISABLE",
   "SECTION_ENABLE",
   "SECTION_REGISTER",
   "SECTION_UPDATE",
   "SECTION_UPDATE_CARD",
   "SET_PREF",
   "SHOW_FIREFOX_ACCOUNTS",
--- a/browser/extensions/activity-stream/data/content/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/data/content/activity-stream-prerendered.html
@@ -4,17 +4,17 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title></title>
     <link rel="icon" type="image/png" id="favicon" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/data/content/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot="" data-reactid="1" data-react-checksum="544412221"><main data-reactid="2"><div class="search-wrapper" data-reactid="3"><label for="newtab-search-text" class="search-label" data-reactid="4"><span class="sr-only" data-reactid="5"><span data-reactid="6">Search the Web</span></span></label><input type="search" id="newtab-search-text" maxlength="256" placeholder="Search the Web" title="Search the Web" data-reactid="7"/><button id="searchSubmit" class="search-button" title=" " data-reactid="8"><span class="sr-only" data-reactid="9"><span data-reactid="10"> </span></span></button></div><section class="top-sites" data-reactid="11"><h3 class="section-title" data-reactid="12"><span class="icon icon-small-spacer icon-topsites" data-reactid="13"></span><span data-reactid="14"> </span></h3><ul class="top-sites-list" data-reactid="15"><li class="top-site-outer placeholder" data-reactid="16"><a data-reactid="17"><div class="tile" aria-hidden="true" data-reactid="18"><span class="letter-fallback" data-reactid="19"></span><div class="screenshot" style="background-image:none;" data-reactid="20"></div></div><div class="title " data-reactid="21"><span dir="auto" data-reactid="22"></span></div></a></li><li class="top-site-outer placeholder" data-reactid="23"><a data-reactid="24"><div class="tile" aria-hidden="true" data-reactid="25"><span class="letter-fallback" data-reactid="26"></span><div class="screenshot" style="background-image:none;" data-reactid="27"></div></div><div class="title " data-reactid="28"><span dir="auto" data-reactid="29"></span></div></a></li><li class="top-site-outer placeholder" data-reactid="30"><a data-reactid="31"><div class="tile" aria-hidden="true" data-reactid="32"><span class="letter-fallback" data-reactid="33"></span><div class="screenshot" style="background-image:none;" data-reactid="34"></div></div><div class="title " data-reactid="35"><span dir="auto" data-reactid="36"></span></div></a></li><li class="top-site-outer placeholder" data-reactid="37"><a data-reactid="38"><div class="tile" aria-hidden="true" data-reactid="39"><span class="letter-fallback" data-reactid="40"></span><div class="screenshot" style="background-image:none;" data-reactid="41"></div></div><div class="title " data-reactid="42"><span dir="auto" data-reactid="43"></span></div></a></li><li class="top-site-outer placeholder" data-reactid="44"><a data-reactid="45"><div class="tile" aria-hidden="true" data-reactid="46"><span class="letter-fallback" data-reactid="47"></span><div class="screenshot" style="background-image:none;" data-reactid="48"></div></div><div class="title " data-reactid="49"><span dir="auto" data-reactid="50"></span></div></a></li><li class="top-site-outer placeholder" data-reactid="51"><a data-reactid="52"><div class="tile" aria-hidden="true" data-reactid="53"><span class="letter-fallback" data-reactid="54"></span><div class="screenshot" style="background-image:none;" data-reactid="55"></div></div><div class="title " data-reactid="56"><span dir="auto" data-reactid="57"></span></div></a></li></ul><div class="edit-topsites-wrapper" data-reactid="58"><div class="edit-topsites-button" data-reactid="59"><button class="edit" title=" " data-reactid="60"><span data-reactid="61"> </span></button></div></div></section><div class="sections-list" data-reactid="62"><section data-reactid="63"><div class="section-top-bar" data-reactid="64"><h3 class="section-title" data-reactid="65"><span class="icon icon-small-spacer icon-pocket" data-reactid="66"></span><span data-reactid="67"> </span></h3></div><ul class="section-list" style="padding:0;" data-reactid="68"><li class="card-outer placeholder" data-reactid="69"><a data-reactid="70"><div class="card" data-reactid="71"><div class="card-details no-image" data-reactid="72"><div class="card-text no-context no-description no-host-name no-image" data-reactid="73"><h4 class="card-title" dir="auto" data-reactid="74"></h4><p class="card-description" dir="auto" data-reactid="75"></p></div><div class="card-context" data-reactid="76"></div></div></div></a></li><li class="card-outer placeholder" data-reactid="77"><a data-reactid="78"><div class="card" data-reactid="79"><div class="card-details no-image" data-reactid="80"><div class="card-text no-context no-description no-host-name no-image" data-reactid="81"><h4 class="card-title" dir="auto" data-reactid="82"></h4><p class="card-description" dir="auto" data-reactid="83"></p></div><div class="card-context" data-reactid="84"></div></div></div></a></li><li class="card-outer placeholder" data-reactid="85"><a data-reactid="86"><div class="card" data-reactid="87"><div class="card-details no-image" data-reactid="88"><div class="card-text no-context no-description no-host-name no-image" data-reactid="89"><h4 class="card-title" dir="auto" data-reactid="90"></h4><p class="card-description" dir="auto" data-reactid="91"></p></div><div class="card-context" data-reactid="92"></div></div></div></a></li></ul><div class="topic" data-reactid="93"><span data-reactid="94"><span data-reactid="95"> </span></span><ul data-reactid="96"><li data-reactid="97"><a class="topic-link" data-reactid="98"></a></li></ul></div></section><section data-reactid="99"><div class="section-top-bar" data-reactid="100"><h3 class="section-title" data-reactid="101"><span class="icon icon-small-spacer icon-highlights" data-reactid="102"></span><span data-reactid="103"> </span></h3></div><ul class="section-list" style="padding:0;" data-reactid="104"><li class="card-outer placeholder" data-reactid="105"><a data-reactid="106"><div class="card" data-reactid="107"><div class="card-details no-image" data-reactid="108"><div class="card-text no-context no-description no-host-name no-image" data-reactid="109"><h4 class="card-title" dir="auto" data-reactid="110"></h4><p class="card-description" dir="auto" data-reactid="111"></p></div><div class="card-context" data-reactid="112"></div></div></div></a></li><li class="card-outer placeholder" data-reactid="113"><a data-reactid="114"><div class="card" data-reactid="115"><div class="card-details no-image" data-reactid="116"><div class="card-text no-context no-description no-host-name no-image" data-reactid="117"><h4 class="card-title" dir="auto" data-reactid="118"></h4><p class="card-description" dir="auto" data-reactid="119"></p></div><div class="card-context" data-reactid="120"></div></div></div></a></li><li class="card-outer placeholder" data-reactid="121"><a data-reactid="122"><div class="card" data-reactid="123"><div class="card-details no-image" data-reactid="124"><div class="card-text no-context no-description no-host-name no-image" data-reactid="125"><h4 class="card-title" dir="auto" data-reactid="126"></h4><p class="card-description" dir="auto" data-reactid="127"></p></div><div class="card-context" data-reactid="128"></div></div></div></a></li></ul></section></div><!-- react-empty: 129 --></main></div></div>
+    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot="" data-reactid="1" data-react-checksum="-1132846255"><main data-reactid="2"><div class="search-wrapper" data-reactid="3"><label for="newtab-search-text" class="search-label" data-reactid="4"><span class="sr-only" data-reactid="5"><span data-reactid="6">Search the Web</span></span></label><input type="search" id="newtab-search-text" maxlength="256" placeholder="Search the Web" title="Search the Web" data-reactid="7"/><button id="searchSubmit" class="search-button" title=" " data-reactid="8"><span class="sr-only" data-reactid="9"><span data-reactid="10"> </span></span></button></div><div class="body-wrapper" data-reactid="11"><section class="top-sites" data-reactid="12"><h3 class="section-title" data-reactid="13"><span class="icon icon-small-spacer icon-topsites" data-reactid="14"></span><span data-reactid="15"> </span></h3><ul class="top-sites-list" data-reactid="16"><li class="top-site-outer placeholder" data-reactid="17"><a data-reactid="18"><div class="tile" aria-hidden="true" data-reactid="19"><span class="letter-fallback" data-reactid="20"></span><div class="screenshot" style="background-image:none;" data-reactid="21"></div></div><div class="title " data-reactid="22"><span dir="auto" data-reactid="23"></span></div></a></li><li class="top-site-outer placeholder" data-reactid="24"><a data-reactid="25"><div class="tile" aria-hidden="true" data-reactid="26"><span class="letter-fallback" data-reactid="27"></span><div class="screenshot" style="background-image:none;" data-reactid="28"></div></div><div class="title " data-reactid="29"><span dir="auto" data-reactid="30"></span></div></a></li><li class="top-site-outer placeholder" data-reactid="31"><a data-reactid="32"><div class="tile" aria-hidden="true" data-reactid="33"><span class="letter-fallback" data-reactid="34"></span><div class="screenshot" style="background-image:none;" data-reactid="35"></div></div><div class="title " data-reactid="36"><span dir="auto" data-reactid="37"></span></div></a></li><li class="top-site-outer placeholder" data-reactid="38"><a data-reactid="39"><div class="tile" aria-hidden="true" data-reactid="40"><span class="letter-fallback" data-reactid="41"></span><div class="screenshot" style="background-image:none;" data-reactid="42"></div></div><div class="title " data-reactid="43"><span dir="auto" data-reactid="44"></span></div></a></li><li class="top-site-outer placeholder" data-reactid="45"><a data-reactid="46"><div class="tile" aria-hidden="true" data-reactid="47"><span class="letter-fallback" data-reactid="48"></span><div class="screenshot" style="background-image:none;" data-reactid="49"></div></div><div class="title " data-reactid="50"><span dir="auto" data-reactid="51"></span></div></a></li><li class="top-site-outer placeholder" data-reactid="52"><a data-reactid="53"><div class="tile" aria-hidden="true" data-reactid="54"><span class="letter-fallback" data-reactid="55"></span><div class="screenshot" style="background-image:none;" data-reactid="56"></div></div><div class="title " data-reactid="57"><span dir="auto" data-reactid="58"></span></div></a></li></ul><div class="edit-topsites-wrapper" data-reactid="59"><div class="edit-topsites-button" data-reactid="60"><button class="edit" title=" " data-reactid="61"><span data-reactid="62"> </span></button></div></div></section><div class="sections-list" data-reactid="63"><section data-reactid="64"><div class="section-top-bar" data-reactid="65"><h3 class="section-title" data-reactid="66"><span class="icon icon-small-spacer icon-pocket" data-reactid="67"></span><span data-reactid="68"> </span></h3></div><ul class="section-list" style="padding:0;" data-reactid="69"><li class="card-outer placeholder" data-reactid="70"><a data-reactid="71"><div class="card" data-reactid="72"><div class="card-details no-image" data-reactid="73"><div class="card-text no-context no-description no-host-name no-image" data-reactid="74"><h4 class="card-title" dir="auto" data-reactid="75"></h4><p class="card-description" dir="auto" data-reactid="76"></p></div><div class="card-context" data-reactid="77"></div></div></div></a></li><li class="card-outer placeholder" data-reactid="78"><a data-reactid="79"><div class="card" data-reactid="80"><div class="card-details no-image" data-reactid="81"><div class="card-text no-context no-description no-host-name no-image" data-reactid="82"><h4 class="card-title" dir="auto" data-reactid="83"></h4><p class="card-description" dir="auto" data-reactid="84"></p></div><div class="card-context" data-reactid="85"></div></div></div></a></li><li class="card-outer placeholder" data-reactid="86"><a data-reactid="87"><div class="card" data-reactid="88"><div class="card-details no-image" data-reactid="89"><div class="card-text no-context no-description no-host-name no-image" data-reactid="90"><h4 class="card-title" dir="auto" data-reactid="91"></h4><p class="card-description" dir="auto" data-reactid="92"></p></div><div class="card-context" data-reactid="93"></div></div></div></a></li></ul><div class="topic" data-reactid="94"><span data-reactid="95"><span data-reactid="96"> </span></span><ul data-reactid="97"><li data-reactid="98"><a class="topic-link" data-reactid="99"></a></li></ul></div></section><section data-reactid="100"><div class="section-top-bar" data-reactid="101"><h3 class="section-title" data-reactid="102"><span class="icon icon-small-spacer icon-highlights" data-reactid="103"></span><span data-reactid="104"> </span></h3></div><ul class="section-list" style="padding:0;" data-reactid="105"><li class="card-outer placeholder" data-reactid="106"><a data-reactid="107"><div class="card" data-reactid="108"><div class="card-details no-image" data-reactid="109"><div class="card-text no-context no-description no-host-name no-image" data-reactid="110"><h4 class="card-title" dir="auto" data-reactid="111"></h4><p class="card-description" dir="auto" data-reactid="112"></p></div><div class="card-context" data-reactid="113"></div></div></div></a></li><li class="card-outer placeholder" data-reactid="114"><a data-reactid="115"><div class="card" data-reactid="116"><div class="card-details no-image" data-reactid="117"><div class="card-text no-context no-description no-host-name no-image" data-reactid="118"><h4 class="card-title" dir="auto" data-reactid="119"></h4><p class="card-description" dir="auto" data-reactid="120"></p></div><div class="card-context" data-reactid="121"></div></div></div></a></li><li class="card-outer placeholder" data-reactid="122"><a data-reactid="123"><div class="card" data-reactid="124"><div class="card-details no-image" data-reactid="125"><div class="card-text no-context no-description no-host-name no-image" data-reactid="126"><h4 class="card-title" dir="auto" data-reactid="127"></h4><p class="card-description" dir="auto" data-reactid="128"></p></div><div class="card-context" data-reactid="129"></div></div></div></a></li></ul></section></div></div><!-- react-empty: 130 --></main></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
     <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/data/content/activity-stream-initial-state.js",
--- a/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
+++ b/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
@@ -89,17 +89,17 @@ const globalImportContext = typeof Windo
 
 
 // Create an object that avoids accidental differing key/value pairs:
 // {
 //   INIT: "INIT",
 //   UNINIT: "UNINIT"
 // }
 const actionTypes = {};
-for (const type of ["BLOCK_URL", "BOOKMARK_URL", "DELETE_BOOKMARK_BY_ID", "DELETE_HISTORY_URL", "DELETE_HISTORY_URL_CONFIRM", "DIALOG_CANCEL", "DIALOG_OPEN", "INIT", "LOCALE_UPDATED", "MIGRATION_CANCEL", "MIGRATION_COMPLETED", "MIGRATION_START", "NEW_TAB_INIT", "NEW_TAB_INITIAL_STATE", "NEW_TAB_LOAD", "NEW_TAB_REHYDRATED", "NEW_TAB_STATE_REQUEST", "NEW_TAB_UNLOAD", "OPEN_LINK", "OPEN_NEW_WINDOW", "OPEN_PRIVATE_WINDOW", "PLACES_BOOKMARK_ADDED", "PLACES_BOOKMARK_CHANGED", "PLACES_BOOKMARK_REMOVED", "PLACES_HISTORY_CLEARED", "PLACES_LINK_BLOCKED", "PLACES_LINK_DELETED", "PREFS_INITIAL_VALUES", "PREF_CHANGED", "SAVE_SESSION_PERF_DATA", "SAVE_TO_POCKET", "SCREENSHOT_UPDATED", "SEARCH_BOX_FOCUSED", "SECTION_DEREGISTER", "SECTION_DISABLE", "SECTION_ENABLE", "SECTION_REGISTER", "SECTION_UPDATE", "SECTION_UPDATE_CARD", "SET_PREF", "SHOW_FIREFOX_ACCOUNTS", "SNIPPETS_DATA", "SNIPPETS_RESET", "SYSTEM_TICK", "TELEMETRY_IMPRESSION_STATS", "TELEMETRY_PERFORMANCE_EVENT", "TELEMETRY_UNDESIRED_EVENT", "TELEMETRY_USER_EVENT", "TOP_SITES_ADD", "TOP_SITES_PIN", "TOP_SITES_UNPIN", "TOP_SITES_UPDATED", "UNINIT"]) {
+for (const type of ["BLOCK_URL", "BOOKMARK_URL", "DELETE_BOOKMARK_BY_ID", "DELETE_HISTORY_URL", "DELETE_HISTORY_URL_CONFIRM", "DIALOG_CANCEL", "DIALOG_OPEN", "INIT", "LOCALE_UPDATED", "MIGRATION_CANCEL", "MIGRATION_COMPLETED", "MIGRATION_START", "NEW_TAB_INIT", "NEW_TAB_INITIAL_STATE", "NEW_TAB_LOAD", "NEW_TAB_REHYDRATED", "NEW_TAB_STATE_REQUEST", "NEW_TAB_UNLOAD", "OPEN_LINK", "OPEN_NEW_WINDOW", "OPEN_PRIVATE_WINDOW", "PLACES_BOOKMARK_ADDED", "PLACES_BOOKMARK_CHANGED", "PLACES_BOOKMARK_REMOVED", "PLACES_HISTORY_CLEARED", "PLACES_LINK_BLOCKED", "PLACES_LINK_DELETED", "PREFS_INITIAL_VALUES", "PREF_CHANGED", "SAVE_SESSION_PERF_DATA", "SAVE_TO_POCKET", "SCREENSHOT_UPDATED", "SECTION_DEREGISTER", "SECTION_DISABLE", "SECTION_ENABLE", "SECTION_REGISTER", "SECTION_UPDATE", "SECTION_UPDATE_CARD", "SET_PREF", "SHOW_FIREFOX_ACCOUNTS", "SNIPPETS_DATA", "SNIPPETS_RESET", "SYSTEM_TICK", "TELEMETRY_IMPRESSION_STATS", "TELEMETRY_PERFORMANCE_EVENT", "TELEMETRY_UNDESIRED_EVENT", "TELEMETRY_USER_EVENT", "TOP_SITES_ADD", "TOP_SITES_PIN", "TOP_SITES_UNPIN", "TOP_SITES_UPDATED", "UNINIT"]) {
   actionTypes[type] = type;
 }
 
 // Helper function for creating routed actions between content and main
 // Not intended to be used by consumers
 function _RouteMessage(action, options) {
   const meta = action.meta ? Object.assign({}, action.meta) : {};
   if (!options || !options.from || !options.to) {
@@ -1190,19 +1190,23 @@ class Base extends React.PureComponent {
       { key: "STATIC", locale: locale, messages: strings },
       React.createElement(
         "div",
         { className: outerClassName },
         React.createElement(
           "main",
           null,
           prefs.showSearch && React.createElement(Search, null),
-          !prefs.migrationExpired && React.createElement(ManualMigration, null),
-          prefs.showTopSites && React.createElement(TopSites, null),
-          React.createElement(Sections, null),
+          React.createElement(
+            "div",
+            { className: `body-wrapper${initialized ? " on" : ""}` },
+            !prefs.migrationExpired && React.createElement(ManualMigration, null),
+            prefs.showTopSites && React.createElement(TopSites, null),
+            React.createElement(Sections, null)
+          ),
           React.createElement(ConfirmDialog, null)
         ),
         initialized && React.createElement(PreferencesPane, null)
       )
     );
   }
 }
 
@@ -1940,17 +1944,17 @@ module.exports.CheckPinTopSite = (site, 
 
 "use strict";
 /* globals ContentSearchUIController */
 
 
 const React = __webpack_require__(1);
 const { connect } = __webpack_require__(3);
 const { FormattedMessage, injectIntl } = __webpack_require__(2);
-const { actionCreators: ac, actionTypes: at } = __webpack_require__(0);
+const { actionCreators: ac } = __webpack_require__(0);
 const { IS_NEWTAB } = __webpack_require__(20);
 
 class Search extends React.PureComponent {
   constructor(props) {
     super(props);
     this.onClick = this.onClick.bind(this);
     this.onInputMount = this.onInputMount.bind(this);
   }
@@ -1987,19 +1991,16 @@ class Search extends React.PureComponent
       // the existing about:home can find it; and so it allows these tests to pass.
       // In the future, when activity stream is default about:home, this can be renamed
       window.gContentSearchController = new ContentSearchUIController(input, input.parentNode, healthReportKey, searchSource);
       addEventListener("ContentSearchClient", this);
 
       // Focus the search box if we are on about:home
       if (!IS_NEWTAB) {
         input.focus();
-        // Tell the addon side that search box is focused in case the browser
-        // needs to be focused too.
-        this.props.dispatch(ac.SendToMain({ type: at.SEARCH_BOX_FOCUSED }));
       }
     } else {
       window.gContentSearchController = null;
       removeEventListener("ContentSearchClient", this);
     }
   }
 
   /*
--- a/browser/extensions/activity-stream/data/content/activity-stream.css
+++ b/browser/extensions/activity-stream/data/content/activity-stream.css
@@ -195,16 +195,22 @@ main {
   font-size: 13px;
   font-weight: bold;
   text-transform: uppercase; }
   .section-title span {
     color: #737373;
     fill: #737373;
     vertical-align: middle; }
 
+.body-wrapper {
+  opacity: 0;
+  transition: opacity 0.1s ease-in-out; }
+  .body-wrapper.on {
+    opacity: 1; }
+
 .top-sites-list {
   list-style: none;
   margin: 0;
   margin-bottom: -18px;
   padding: 0;
   margin-inline-end: -32px; }
   @media (max-width: 416px) {
     .top-sites-list :nth-child(2n+1) .context-menu {
@@ -445,16 +451,19 @@ main {
   .edit-topsites-wrapper .show-less span {
     padding-inline-start: 3px; }
 
 .topsite-form .form-wrapper {
   padding: 15px 0; }
   .topsite-form .form-wrapper .field {
     margin-inline-start: 205px;
     position: relative; }
+  .topsite-form .form-wrapper .url input:not(:placeholder-shown):dir(rtl) {
+    direction: ltr;
+    text-align: right; }
   .topsite-form .form-wrapper .section-title {
     margin-bottom: 5px;
     margin-inline-start: 205px; }
   .topsite-form .form-wrapper input[type='text'] {
     border: solid 1px rgba(12, 12, 13, 0.2);
     border-radius: 2px;
     margin: 5px 0;
     padding: 7px;
--- a/browser/extensions/activity-stream/data/locales.json
+++ b/browser/extensions/activity-stream/data/locales.json
@@ -39,28 +39,25 @@
     "welcome_body": "Firefox bi tic ki kabedo man me nyuto alamabukke mamegi, coc akwana, vidio, ki potbukke ma ilimo cokcoki ma pi gi tego loyo, wek i dok ii gi ma yot.",
     "welcome_label": "Tye ka kube ki wiye madito mamegi",
     "time_label_less_than_minute": "<dakika1",
     "time_label_minute": "dakika{number}",
     "time_label_hour": "cawa{number}",
     "time_label_day": "nino{number}",
     "settings_pane_button_label": "Yub potbuk me dirica matidi mamegi manyen",
     "settings_pane_header": "Ter me dirica matidi manyen",
-    "settings_pane_body": "Yer ngo ma i neno ka i yabo dirica matidi manyen.",
     "settings_pane_search_header": "Yeny",
     "settings_pane_search_body": "Yeny Kakube ki i dirica ni matidi manyen.",
     "settings_pane_topsites_header": "Kakube ma gi loyo",
     "settings_pane_topsites_body": "Nong kakube ma ilimo loyo.",
     "settings_pane_topsites_options_showmore": "Nyut rek ariyo",
     "settings_pane_bookmarks_header": "Alamabuk ma cocoki",
     "settings_pane_bookmarks_body": "Alamabukke ni ma kicweyo manyen i kabedo acel macek.",
     "settings_pane_visit_again_header": "Lim Kidoco",
     "settings_pane_visit_again_body": "Firefox bi nyuti but gin mukato me yeny mamegi ma itwero mito me poo ikome onyo dok cen iyie.",
-    "settings_pane_pocketstories_header": "Lok madito",
-    "settings_pane_pocketstories_body": "Pocket, but jo me Mozilla, bi konyi me kube i jami mabeco loyo ma twero bedo ni pe i nongo.",
     "settings_pane_done_button": "Otum",
     "edit_topsites_button_text": "Yubi",
     "edit_topsites_button_label": "Yub bute pi kakubi ni ma giloyo",
     "edit_topsites_showmore_button": "Nyut mukene",
     "edit_topsites_showless_button": "Nyut manok",
     "edit_topsites_done_button": "Otum",
     "edit_topsites_pin_button": "Mwon kakube man",
     "edit_topsites_unpin_button": "War kakube man",
@@ -73,20 +70,18 @@
     "topsites_form_url_placeholder": "Coo onyo mwon URL",
     "topsites_form_add_button": "Medi",
     "topsites_form_save_button": "Gwoki",
     "topsites_form_cancel_button": "Kwer",
     "topsites_form_url_validation": "URL ma tye atir mite",
     "pocket_read_more": "Lok macuk gi lamal:",
     "pocket_read_even_more": "Nen Lok mapol",
     "pocket_feedback_header": "Kakube maber loyo, dano makato milion 25 aye oyubo.",
-    "pocket_feedback_body": "Pocket, but jo me Mozilla, bi konyi me kube i jami mabeco loyo ma twero bedo ni pe i nongo.",
-    "pocket_send_feedback": "Cwal adwogi",
+    "highlights_empty_state": "Cak yeny, ka wa binyuto coc akwana mabeco, video, ki potbuk mukene ma ilimo cokcokki onyo ma kiketo alamabuk kany.",
     "topstories_empty_state": "Ityeko weng. Rot doki lacen pi lok madito mapol ki bot {provider}. Pe itwero kuro? Yer lok macuke lamal me nongo lok mabeco mapol ki i but kakube.",
-    "manual_migration_explanation": "Tem Firefox ki kakube ki alamabuk ni ma imaro loyo ki i layeny mukene.",
     "manual_migration_cancel_button": "Pe Apwoyo",
     "manual_migration_import_button": "Kel kombedi"
   },
   "ar": {
     "newtab_page_title": "لسان جديد",
     "default_label_loading": "يُحمّل…",
     "header_top_sites": "المواقع الأكثر زيارة",
     "header_stories": "أهم الأخبار",
@@ -3216,17 +3211,17 @@
     "newtab_page_title": "Nove scheda",
     "default_label_loading": "Cargante…",
     "header_top_sites": "Sitos popular",
     "header_stories": "Historias popular",
     "header_highlights": "In evidentia",
     "header_visit_again": "Visita de novo",
     "header_bookmarks": "Paginas marcate recentemente",
     "header_recommended_by": "Recommendate per {provider}",
-    "header_bookmarks_placeholder": "Vos ha ancora nulle paginas marcate.",
+    "header_bookmarks_placeholder": "Tu ha ancora nulle paginas marcate.",
     "header_stories_from": "de",
     "type_label_visited": "Visitate",
     "type_label_bookmarked": "Marcate",
     "type_label_synced": "Synchronisate de altere apparato",
     "type_label_recommended": "Tendentias",
     "type_label_open": "Aperite",
     "type_label_topic": "Subjecto",
     "type_label_now": "Ora",
@@ -3235,55 +3230,55 @@
     "menu_action_copy_address": "Copiar le adresse",
     "menu_action_email_link": "Inviar le ligamine per email…",
     "menu_action_open_new_window": "Aperir in un nove fenestra",
     "menu_action_open_private_window": "Aperir in un nove fenestra private",
     "menu_action_dismiss": "Dimitter",
     "menu_action_delete": "Deler del chronologia",
     "menu_action_pin": "Clavar",
     "menu_action_unpin": "Disclavar",
-    "confirm_history_delete_p1": "Desira vos vermente deler cata instantia de iste pagina de vostre chronologia?",
+    "confirm_history_delete_p1": "Desira tu vermente deler cata instantia de iste pagina de tu chronologia?",
     "confirm_history_delete_notice_p2": "Iste action es irreversibile.",
     "menu_action_save_to_pocket": "Salvar in Pocket",
     "search_for_something_with": "Cercar {search_term} con:",
     "search_button": "Cercar",
     "search_header": "Recerca {search_engine_name}",
     "search_web_placeholder": "Cercar in le Web",
     "search_settings": "Cambiar le parametros de recerca",
     "section_info_option": "Informationes",
     "section_info_send_feedback": "Inviar feedback",
     "section_info_privacy_notice": "Advertentia de privacitate",
     "welcome_title": "Benvenite al nove scheda",
-    "welcome_body": "Firefox usara iste spatio pro monstrar vostre paginas marcate le plus relevante, articulos, videos e paginas que vos ha visitate recentemente, de sorta que vos pote revider los facilemente.",
-    "welcome_label": "Identificante vostre evidentias",
+    "welcome_body": "Firefox usara iste spatio pro monstrar tu paginas marcate le plus relevante, articulos, videos e paginas que tu ha visitate recentemente, de sorta que tu pote revider los facilemente.",
+    "welcome_label": "Identificante tu evidentias",
     "time_label_less_than_minute": "<1 min",
     "time_label_minute": "{number} min",
     "time_label_hour": "{number} h",
     "time_label_day": "{number} d",
-    "settings_pane_button_label": "Personalisar vostre pagina de nove scheda",
+    "settings_pane_button_label": "Personalisar tu pagina de nove scheda",
     "settings_pane_header": "Preferentias de nove scheda",
-    "settings_pane_body2": "Selige lo que vos vole vider in iste pagina.",
+    "settings_pane_body2": "Selige lo que tu vole vider in iste pagina.",
     "settings_pane_search_header": "Cercar",
-    "settings_pane_search_body": "Cercar in le Web ab vostre nove scheda.",
+    "settings_pane_search_body": "Cercar in le Web ab tu nove scheda.",
     "settings_pane_topsites_header": "Sitos popular",
-    "settings_pane_topsites_body": "Acceder al sitos web que vos plus visita.",
+    "settings_pane_topsites_body": "Acceder al sitos web que tu plus visita.",
     "settings_pane_topsites_options_showmore": "Monstrar duo lineas",
     "settings_pane_bookmarks_header": "Paginas marcate recentemente",
-    "settings_pane_bookmarks_body": "Vostre paginas marcate recentemente a un sol loco.",
+    "settings_pane_bookmarks_body": "Tu paginas marcate recentemente a un sol loco.",
     "settings_pane_visit_again_header": "Visitar de novo",
-    "settings_pane_visit_again_body": "Firefox vos monstrara partes de vostre chronologia de navigation que vos pote voler rememorar o visitar novemente.",
+    "settings_pane_visit_again_body": "Firefox te monstrara partes de tu chronologia de navigation que tu pote voler rememorar o visitar novemente.",
     "settings_pane_highlights_header": "In evidentia",
-    "settings_pane_highlights_body2": "Retrova cosas interessante que vos ha recentemente visitate o marcate.",
+    "settings_pane_highlights_body2": "Retrova cosas interessante que tu ha recentemente visitate o marcate.",
     "settings_pane_highlights_options_bookmarks": "Paginas marcate",
     "settings_pane_highlights_options_visited": "Sitos visitate",
     "settings_pane_snippets_header": "Breve novas",
     "settings_pane_snippets_body": "Lege breve e legier novas de Mozilla super Firefox, cultura internet e occasionalmente super alcun meme.",
     "settings_pane_done_button": "Facite",
     "edit_topsites_button_text": "Editar",
-    "edit_topsites_button_label": "Personalisar vostre section de sitos popular",
+    "edit_topsites_button_label": "Personalisar tu section de sitos popular",
     "edit_topsites_showmore_button": "Monstrar plus",
     "edit_topsites_showless_button": "Monstrar minus",
     "edit_topsites_done_button": "Facite",
     "edit_topsites_pin_button": "Clavar iste sito",
     "edit_topsites_unpin_button": "Disclavar iste sito",
     "edit_topsites_edit_button": "Editar iste sito",
     "edit_topsites_dismiss_button": "Dimitter iste sito",
     "edit_topsites_add_button": "Adder",
@@ -3293,19 +3288,19 @@
     "topsites_form_url_placeholder": "Scriber o collar un URL",
     "topsites_form_add_button": "Adder",
     "topsites_form_save_button": "Salvar",
     "topsites_form_cancel_button": "Cancellar",
     "topsites_form_url_validation": "Il es necessari un URL valide",
     "pocket_read_more": "Subjectos popular:",
     "pocket_read_even_more": "Vider plus historias",
     "pocket_feedback_header": "Le melior del web, selectionate per 25 milliones de personas.",
-    "pocket_description": "Discoperir contento de alte qualitate que vos poterea alteremente non cognoscer, con le adjuta de Pocket, ora parte de Mozilla.",
-    "highlights_empty_state": "Comencia navigar e nos vos monstrara alcun del grande articulos, videos e altere paginas que vos ha recentemente visitate o marcate hic.",
-    "topstories_empty_state": "Vos ja es in die con toto. Reveni plus tarde pro plus historias popular de {provider}. Non vole attender? Selectiona un subjecto popular pro trovar plus altere historias interessante del web.",
+    "pocket_description": "Discoperir contento de alte qualitate que tu poterea alteremente non cognoscer, con le adjuta de Pocket, ora parte de Mozilla.",
+    "highlights_empty_state": "Comencia navigar e nos te monstrara alcun del grande articulos, videos e altere paginas que tu ha recentemente visitate o marcate hic.",
+    "topstories_empty_state": "Tu ja es in die con toto. Reveni plus tarde pro plus historias popular de {provider}. Non vole attender? Selectiona un subjecto popular pro trovar plus altere historias interessante del web.",
     "manual_migration_explanation2": "Essaya Firefox con le paginas marcate, le chronologia e le contrasignos de altere navigator.",
     "manual_migration_cancel_button": "No, gratias",
     "manual_migration_import_button": "Importar ora"
   },
   "id": {
     "newtab_page_title": "Tab Baru",
     "default_label_loading": "Memuat…",
     "header_top_sites": "Situs Teratas",
--- a/browser/extensions/activity-stream/install.rdf.in
+++ b/browser/extensions/activity-stream/install.rdf.in
@@ -3,17 +3,17 @@
 #filter substitution
 
 <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
   <Description about="urn:mozilla:install-manifest">
     <em:id>activity-stream@mozilla.org</em:id>
     <em:type>2</em:type>
     <em:bootstrap>true</em:bootstrap>
     <em:unpack>false</em:unpack>
-    <em:version>2017.09.19.0036-50fae6d7</em:version>
+    <em:version>2017.09.20.0232-e27564ef</em:version>
     <em:name>Activity Stream</em:name>
     <em:description>A rich visual history feed and a reimagined home page make it easier than ever to find exactly what you're looking for in Firefox.</em:description>
     <em:multiprocessCompatible>true</em:multiprocessCompatible>
 
     <em:targetApplication>
       <Description>
         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
         <em:minVersion>@MOZ_APP_VERSION@</em:minVersion>
--- a/browser/extensions/activity-stream/lib/ActivityStream.jsm
+++ b/browser/extensions/activity-stream/lib/ActivityStream.jsm
@@ -36,16 +36,20 @@ const DEFAULT_SITES = new Map([
   ["FR", "https://www.youtube.com/,https://www.facebook.com/,https://www.wikipedia.org/,https://www.amazon.fr/,https://www.leboncoin.fr/,https://twitter.com/"]
 ]);
 const GEO_PREF = "browser.search.region";
 const REASON_ADDON_UNINSTALL = 6;
 
 // Configure default Activity Stream prefs with a plain `value` or a `getValue`
 // that computes a value. A `value_local_dev` is used for development defaults.
 const PREFS_CONFIG = new Map([
+  ["aboutHome.autoFocus", {
+    title: "Focus the about:home search box on load",
+    value: false
+  }],
   ["default.sites", {
     title: "Comma-separated list of default top sites to fill in behind visited sites",
     getValue: ({geo}) => DEFAULT_SITES.get(DEFAULT_SITES.has(geo) ? geo : "")
   }],
   ["feeds.section.topstories.options", {
     title: "Configuration options for top stories feed",
     // This is a dynamic pref as it depends on the feed being shown or not
     getValue: args => JSON.stringify({
@@ -112,20 +116,16 @@ const PREFS_CONFIG = new Map([
   ["telemetry", {
     title: "Enable system error and usage data collection",
     value: true,
     value_local_dev: false
   }],
   ["telemetry.ping.endpoint", {
     title: "Telemetry server endpoint",
     value: "https://tiles.services.mozilla.com/v4/links/activity-stream"
-  }],
-  ["aboutHome.autoFocus", {
-    title: "Focus the about:home search box on load",
-    value: true
   }]
 ]);
 
 // Array of each feed's FEEDS_CONFIG factory and values to add to PREFS_CONFIG
 const FEEDS_DATA = [
   {
     name: "localization",
     factory: () => new LocalizationFeed(),
--- a/browser/extensions/activity-stream/lib/ActivityStreamMessageChannel.jsm
+++ b/browser/extensions/activity-stream/lib/ActivityStreamMessageChannel.jsm
@@ -169,17 +169,17 @@ this.ActivityStreamMessageChannel = clas
  * onNewTabInit - Handler for special RemotePage:Init message fired
  * by RemotePages
  *
  * @param  {obj} msg The messsage from a page that was just initialized
  */
   onNewTabInit(msg) {
     this.onActionFromContent({
       type: at.NEW_TAB_INIT,
-      data: {url: msg.target.url}
+      data: msg.target
     }, msg.target.portID);
   }
 
   /**
    * onNewTabLoad - Handler for special RemotePage:Load message fired by RemotePages
    *
    * @param  {obj} msg The messsage from a page that was just loaded
    */
--- a/browser/extensions/activity-stream/lib/NewTabInit.jsm
+++ b/browser/extensions/activity-stream/lib/NewTabInit.jsm
@@ -32,18 +32,21 @@ this.NewTabInit = class NewTabInit {
       case at.LOCALE_UPDATED:
         // If the queue is full because we were waiting for strings,
         // dispatch them now.
         if (this._queue.size > 0 && this.store.getState().App.strings) {
           this._queue.forEach(target => this.reply(target));
           this._queue.clear();
         }
         break;
-      case at.SEARCH_BOX_FOCUSED:
-        if (action._target.url === "about:home" && this.store.getState().Prefs.values["aboutHome.autoFocus"]) {
-          action._target.browser.focus();
+      case at.NEW_TAB_INIT:
+        if (action.data.url === "about:home") {
+          const prefs = this.store.getState().Prefs.values;
+          if (prefs["aboutHome.autoFocus"] && prefs.showSearch) {
+            action.data.browser.focus();
+          }
         }
         break;
     }
   }
 };
 
 this.EXPORTED_SYMBOLS = ["NewTabInit"];
--- a/browser/extensions/activity-stream/test/unit/lib/ActivityStreamMessageChannel.test.js
+++ b/browser/extensions/activity-stream/test/unit/lib/ActivityStreamMessageChannel.test.js
@@ -75,34 +75,34 @@ describe("ActivityStreamMessageChannel",
         mm.createChannel();
         assert.ok(mm.channel.isFromAboutNewTab);
       });
       it("should not override AboutNewTab if the pageURL is not about:newtab", () => {
         mm = new ActivityStreamMessageChannel({pageURL: "foo.html"});
         mm.createChannel();
         assert.notCalled(global.AboutNewTab.override);
       });
-      it("should simluate init for existing ports", () => {
+      it("should simulate init for existing ports", () => {
         sinon.stub(mm, "onActionFromContent");
 
         RPmessagePorts.push({
           url: "about:monkeys",
           loaded: false,
           portID: "inited"
         });
         RPmessagePorts.push({
           url: "about:sheep",
           loaded: true,
           portID: "loaded"
         });
 
         mm.createChannel();
 
-        assert.calledWith(mm.onActionFromContent.firstCall, {type: at.NEW_TAB_INIT, data: {url: "about:monkeys"}}, "inited");
-        assert.calledWith(mm.onActionFromContent.secondCall, {type: at.NEW_TAB_INIT, data: {url: "about:sheep"}}, "loaded");
+        assert.calledWith(mm.onActionFromContent.firstCall, {type: at.NEW_TAB_INIT, data: RPmessagePorts[0]});
+        assert.calledWith(mm.onActionFromContent.secondCall, {type: at.NEW_TAB_INIT, data: RPmessagePorts[1]});
       });
       it("should simluate load for loaded ports", () => {
         sinon.stub(mm, "onActionFromContent");
         RPmessagePorts.push({loaded: true, portID: "foo"});
 
         mm.createChannel();
 
         assert.calledWith(mm.onActionFromContent, {type: at.NEW_TAB_LOAD}, "foo");
@@ -157,18 +157,18 @@ describe("ActivityStreamMessageChannel",
       it("should dispatch a NEW_TAB_INIT action", () => {
         const t = {portID: "foo", url: "about:monkeys"};
         sinon.stub(mm, "onActionFromContent");
 
         mm.onNewTabInit({target: t});
 
         assert.calledWith(mm.onActionFromContent, {
           type: at.NEW_TAB_INIT,
-          data: {url: "about:monkeys"}
-        }, "foo");
+          data: t
+        });
       });
     });
     describe("#onNewTabLoad", () => {
       it("should dispatch a NEW_TAB_LOAD action", () => {
         const t = {portID: "foo"};
         sinon.stub(mm, "onActionFromContent");
         mm.onNewTabLoad({target: t});
         assert.calledWith(mm.onActionFromContent, {type: at.NEW_TAB_LOAD}, "foo");
--- a/browser/extensions/activity-stream/test/unit/lib/NewTabInit.test.js
+++ b/browser/extensions/activity-stream/test/unit/lib/NewTabInit.test.js
@@ -54,45 +54,53 @@ describe("NewTabInit", () => {
     STATE.App = {strings: {}};
     instance.onAction({type: at.LOCALE_UPDATED});
     assert.calledThrice(store.dispatch);
 
     store.dispatch.reset();
     instance.onAction({type: at.LOCALE_UPDATED});
     assert.notCalled(store.dispatch);
   });
-  it("should focus the content browser when SEARCH_BOX_FOCUSED", () => {
-    STATE.Prefs = {values: {"aboutHome.autoFocus": true}};
-    const action = {
-      type: at.SEARCH_BOX_FOCUSED,
-      _target: {
-        url: "about:home",
-        browser: {focus: sinon.spy()}
-      }
-    };
-    instance.onAction(action);
-    assert.calledOnce(action._target.browser.focus);
-  });
-  it("should NOT focus the content browser when SEARCH_BOX_FOCUSED for about:newtab", () => {
-    STATE.Prefs = {values: {"aboutHome.autoFocus": true}};
-    const action = {
-      type: at.SEARCH_BOX_FOCUSED,
-      _target: {
-        url: "about:newtab",
-        browser: {focus: sinon.spy()}
-      }
-    };
-    instance.onAction(action);
-    assert.notCalled(action._target.browser.focus);
-  });
-  it("should NOT focus the content browser when SEARCH_BOX_FOCUSED when autoFocus pref is off", () => {
-    STATE.Prefs = {values: {"aboutHome.autoFocus": false}};
-    const action = {
-      type: at.SEARCH_BOX_FOCUSED,
-      _target: {
-        url: "about:newtab",
-        browser: {focus: sinon.spy()}
-      }
-    };
-    instance.onAction(action);
-    assert.notCalled(action._target.browser.focus);
+  describe("about:home search auto focus", () => {
+    let action;
+    beforeEach(() => {
+      STATE.Prefs = {
+        values: {
+          "aboutHome.autoFocus": true,
+          "showSearch": true
+        }
+      };
+      action = {
+        type: at.NEW_TAB_INIT,
+        data: {
+          url: "about:home",
+          browser: {focus: sinon.spy()}
+        }
+      };
+    });
+    it("should focus the content browser when NEW_TAB_INIT", () => {
+      instance.onAction(action);
+
+      assert.calledOnce(action.data.browser.focus);
+    });
+    it("should NOT focus the content browser when NEW_TAB_INIT for about:newtab", () => {
+      action.data.url = "about:newtab";
+
+      instance.onAction(action);
+
+      assert.notCalled(action.data.browser.focus);
+    });
+    it("should NOT focus the content browser when NEW_TAB_INIT when autoFocus pref is off", () => {
+      STATE.Prefs.values["aboutHome.autoFocus"] = false;
+
+      instance.onAction(action);
+
+      assert.notCalled(action.data.browser.focus);
+    });
+    it("should NOT focus the content browser when NEW_TAB_INIT when there's no search", () => {
+      STATE.Prefs.values.showSearch = false;
+
+      instance.onAction(action);
+
+      assert.notCalled(action.data.browser.focus);
+    });
   });
 });
deleted file mode 100644
--- a/browser/extensions/clicktoplay-rollout/bootstrap.js
+++ /dev/null
@@ -1,148 +0,0 @@
-/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-"use strict";
-
-const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
-
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/UpdateUtils.jsm");
-Cu.import("resource://gre/modules/AppConstants.jsm");
-Cu.import("resource://gre/modules/TelemetryEnvironment.jsm");
-
-// The amount of people to be part of the rollout
-const TEST_THRESHOLD = {
-  "beta": 1.0,  // 100%
-  "release": 1.0,  // 100%
-};
-
-if (AppConstants.RELEASE_OR_BETA) {
-  // The rollout is controlled by the channel name, which
-  // is the only way to distinguish between Beta and Release.
-  // However, non-official release builds (like the ones done by distros
-  // to ship Firefox on their package managers) do not set a value
-  // for the release channel, which gets them to the default value
-  // of.. (drumroll) "default".
-  // But we can't just always configure the same settings for the
-  // "default" channel because that's also the name that a locally
-  // built Firefox gets, and CTP is already directly set there
-  // through an #ifdef in firefox.js
-  TEST_THRESHOLD.default = TEST_THRESHOLD.release;
-}
-
-const PREF_COHORT_SAMPLE       = "plugins.ctprollout.cohortSample";
-const PREF_COHORT_NAME         = "plugins.ctprollout.cohort";
-const PREF_FLASH_STATE         = "plugin.state.flash";
-
-function startup() {
-  defineCohort();
-}
-
-function defineCohort() {
-  let updateChannel = UpdateUtils.getUpdateChannel(false);
-  if (!(updateChannel in TEST_THRESHOLD)) {
-    return;
-  }
-
-  let cohort = Services.prefs.getStringPref(PREF_COHORT_NAME, undefined);
-
-  if (!cohort) {
-    // The cohort has not been defined yet: this is the first
-    // time that we're running. Let's see if the user has
-    // a non-default setting to avoid changing it.
-    let currentPluginState = Services.prefs.getIntPref(PREF_FLASH_STATE);
-    switch (currentPluginState) {
-      case Ci.nsIPluginTag.STATE_CLICKTOPLAY:
-        cohort = "early-adopter-ctp";
-        break;
-
-      case Ci.nsIPluginTag.STATE_DISABLED:
-        cohort = "early-adopter-disabled";
-        break;
-
-      default:
-        // intentionally missing from the list is STATE_ENABLED,
-        // which will keep cohort undefined.
-        break;
-    }
-  }
-
-  switch (cohort) {
-    case undefined:
-    case null:
-    case "":
-    case "test":
-    case "control":
-    case "excluded":
-    {
-      // If it's either test/control, the cohort might have changed
-      // if the desired sampling has been changed.
-      let testThreshold = TEST_THRESHOLD[updateChannel];
-      let userSample = getUserSample();
-
-      if (userSample < testThreshold) {
-        cohort = "test";
-        let defaultPrefs = Services.prefs.getDefaultBranch("");
-        defaultPrefs.setIntPref(PREF_FLASH_STATE, Ci.nsIPluginTag.STATE_CLICKTOPLAY);
-      } else if (userSample >= 1.0 - testThreshold) {
-        cohort = "control";
-      } else {
-        cohort = "excluded";
-      }
-
-      setCohort(cohort);
-      watchForPrefChanges();
-      break;
-    }
-
-    case "early-adopter-ctp":
-    case "early-adopter-disabled":
-    default:
-      // "user-changed-from-*" will fall into this default case and
-      // not do anything special.
-      setCohort(cohort);
-      break;
-  }
-}
-
-function getUserSample() {
-  let prefType = Services.prefs.getPrefType(PREF_COHORT_SAMPLE);
-
-  if (prefType == Ci.nsIPrefBranch.PREF_STRING) {
-    return parseFloat(Services.prefs.getStringPref(PREF_COHORT_SAMPLE), 10);
-  }
-
-  let value = Math.random();
-  Services.prefs.setStringPref(PREF_COHORT_SAMPLE, value.toString().substr(0, 8));
-  return value;
-}
-
-function setCohort(cohortName) {
-  Services.prefs.setStringPref(PREF_COHORT_NAME, cohortName);
-  TelemetryEnvironment.setExperimentActive("clicktoplay-rollout", cohortName);
-
-  try {
-    if (Ci.nsICrashReporter) {
-      Services.appinfo.QueryInterface(Ci.nsICrashReporter).annotateCrashReport("CTPCohort", cohortName);
-    }
-  } catch (e) {}
-}
-
-function watchForPrefChanges() {
-  Services.prefs.addObserver(PREF_FLASH_STATE, function prefWatcher() {
-    let currentCohort = Services.prefs.getStringPref(PREF_COHORT_NAME, "unknown");
-    setCohort(`user-changed-from-${currentCohort}`);
-    Services.prefs.removeObserver(PREF_FLASH_STATE, prefWatcher);
-  });
-}
-
-function install() {
-}
-
-function shutdown(data, reason) {
-}
-
-function uninstall() {
-}
deleted file mode 100644
--- a/browser/extensions/clicktoplay-rollout/install.rdf.in
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0"?>
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
-   - License, v. 2.0. If a copy of the MPL was not distributed with this
-   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
-
-#filter substitution
-
-<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
-
-  <Description about="urn:mozilla:install-manifest">
-    <em:id>clicktoplay-rollout@mozilla.org</em:id>
-    <em:version>1.4</em:version>
-    <em:type>2</em:type>
-    <em:bootstrap>true</em:bootstrap>
-    <em:multiprocessCompatible>true</em:multiprocessCompatible>
-
-    <!-- Target Application this theme can install into,
-        with minimum and maximum supported versions. -->
-    <em:targetApplication>
-      <Description>
-        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
-        <em:minVersion>@MOZ_APP_VERSION@</em:minVersion>
-        <em:maxVersion>@MOZ_APP_MAXVERSION@</em:maxVersion>
-      </Description>
-    </em:targetApplication>
-
-    <!-- Front End MetaData -->
-    <em:name>Click-to-Play staged rollout</em:name>
-    <em:description>Staged rollout for Click-to-Play Flash.</em:description>
-  </Description>
-</RDF>
deleted file mode 100644
--- a/browser/extensions/clicktoplay-rollout/moz.build
+++ /dev/null
@@ -1,19 +0,0 @@
-# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-with Files("**"):
-    BUG_COMPONENT = ("Core", "Plug-ins")
-
-DEFINES['MOZ_APP_VERSION'] = CONFIG['MOZ_APP_VERSION']
-DEFINES['MOZ_APP_MAXVERSION'] = CONFIG['MOZ_APP_MAXVERSION']
-
-FINAL_TARGET_FILES.features['clicktoplay-rollout@mozilla.org'] += [
-  'bootstrap.js'
-]
-
-FINAL_TARGET_PP_FILES.features['clicktoplay-rollout@mozilla.org'] += [
-  'install.rdf.in'
-]
--- a/browser/extensions/formautofill/FormAutofillHandler.jsm
+++ b/browser/extensions/formautofill/FormAutofillHandler.jsm
@@ -170,20 +170,27 @@ FormAutofillHandler.prototype = {
 
     return validDetails;
   },
 
   getFieldDetailByName(fieldName) {
     return this.fieldDetails.find(detail => detail.fieldName == fieldName);
   },
 
-  getFieldDetailsByElement(element) {
-    let fieldDetail = this.fieldDetails.find(
+  getFieldDetailByElement(element) {
+    return this.fieldDetails.find(
       detail => detail.elementWeakRef.get() == element
     );
+  },
+
+  getFieldDetailsByElement(element) {
+    let fieldDetail = this.getFieldDetailByElement(element);
+    if (!fieldDetail) {
+      return [];
+    }
     if (FormAutofillUtils.isAddressField(fieldDetail.fieldName)) {
       return this.address.fieldDetails;
     }
     if (FormAutofillUtils.isCreditCardField(fieldDetail.fieldName)) {
       return this.creditCard.fieldDetails;
     }
     return [];
   },
--- a/browser/extensions/formautofill/test/mochitest/formautofill_common.js
+++ b/browser/extensions/formautofill/test/mochitest/formautofill_common.js
@@ -32,17 +32,17 @@ function clickOnElement(selector) {
 
   if (!element) {
     throw new Error("Can not find the element");
   }
 
   SimpleTest.executeSoon(() => element.click());
 }
 
-async function onAddressChanged(type) {
+async function onStorageChanged(type) {
   return new Promise(resolve => {
     formFillChromeScript.addMessageListener("formautofill-storage-changed", function onChanged(data) {
       formFillChromeScript.removeMessageListener("formautofill-storage-changed", onChanged);
       is(data.data, type, `Receive ${type} storage changed event`);
       resolve();
     });
   });
 }
@@ -53,70 +53,68 @@ function checkMenuEntries(expectedValues
   let expectedLength = isFormAutofillResult ? expectedValues.length + 1 : expectedValues.length;
 
   is(actualValues.length, expectedLength, " Checking length of expected menu");
   for (let i = 0; i < expectedValues.length; i++) {
     is(actualValues[i], expectedValues[i], " Checking menu entry #" + i);
   }
 }
 
-async function addAddress(address) {
-  return new Promise(resolve => {
-    formFillChromeScript.sendAsyncMessage("FormAutofillTest:AddAddress", {address});
-    formFillChromeScript.addMessageListener("FormAutofillTest:AddressAdded", function onAdded(data) {
-      formFillChromeScript.removeMessageListener("FormAutofillTest:AddressAdded", onAdded);
-
-      SimpleTest.requestFlakyTimeout("Ensure ProfileAutocomplete is registered");
-      setTimeout(resolve, 500);
-    });
-  });
-}
-
-async function removeAddress(guid) {
+function invokeAsyncChromeTask(message, response, payload = {}) {
   return new Promise(resolve => {
-    formFillChromeScript.sendAsyncMessage("FormAutofillTest:RemoveAddress", {guid});
-    formFillChromeScript.addMessageListener("FormAutofillTest:AddressRemoved", function onDeleted(data) {
-      formFillChromeScript.removeMessageListener("FormAutofillTest:AddressRemoved", onDeleted);
-
-      resolve();
-    });
-  });
-}
-
-async function updateAddress(guid, address) {
-  return new Promise(resolve => {
-    formFillChromeScript.sendAsyncMessage("FormAutofillTest:UpdateAddress", {address, guid});
-    formFillChromeScript.addMessageListener("FormAutofillTest:AddressUpdated", function onUpdated(data) {
-      formFillChromeScript.removeMessageListener("FormAutofillTest:AddressUpdated", onUpdated);
-
-      resolve();
-    });
-  });
-}
-
-async function checkAddresses(expectedAddresses) {
-  return new Promise(resolve => {
-    formFillChromeScript.sendAsyncMessage("FormAutofillTest:CheckAddresses", {expectedAddresses});
-    formFillChromeScript.addMessageListener("FormAutofillTest:areAddressesMatching", function onChecked(data) {
-      formFillChromeScript.removeMessageListener("FormAutofillTest:areAddressesMatching", onChecked);
+    formFillChromeScript.sendAsyncMessage(message, payload);
+    formFillChromeScript.addMessageListener(response, function onReceived(data) {
+      formFillChromeScript.removeMessageListener(response, onReceived);
 
       resolve(data);
     });
   });
 }
 
-async function cleanUpAddress() {
-  return new Promise(resolve => {
-    formFillChromeScript.sendAsyncMessage("FormAutofillTest:CleanUpAddress", {});
-    formFillChromeScript.addMessageListener("FormAutofillTest:AddressCleanedUp", function onCleanedUp(data) {
-      formFillChromeScript.removeMessageListener("FormAutofillTest:AddressCleanedUp", onCleanedUp);
+async function addAddress(address) {
+  await invokeAsyncChromeTask("FormAutofillTest:AddAddress", "FormAutofillTest:AddressAdded", {address});
+  await sleep();
+}
+
+async function removeAddress(guid) {
+  return invokeAsyncChromeTask("FormAutofillTest:RemoveAddress", "FormAutofillTest:AddressRemoved", {guid});
+}
+
+async function updateAddress(guid, address) {
+  return invokeAsyncChromeTask("FormAutofillTest:UpdateAddress", "FormAutofillTest:AddressUpdated", {address, guid});
+}
+
+async function checkAddresses(expectedAddresses) {
+  return invokeAsyncChromeTask("FormAutofillTest:CheckAddresses", "FormAutofillTest:areAddressesMatching", {expectedAddresses});
+}
+
+async function cleanUpAddresses() {
+  return invokeAsyncChromeTask("FormAutofillTest:CleanUpAddresses", "FormAutofillTest:AddressesCleanedUp");
+}
 
-      resolve(data);
-    });
-  });
+async function addCreditCard(creditcard) {
+  await invokeAsyncChromeTask("FormAutofillTest:AddCreditCard", "FormAutofillTest:CreditCardAdded", {creditcard});
+  await sleep();
+}
+
+async function removeCreditCard(guid) {
+  return invokeAsyncChromeTask("FormAutofillTest:RemoveCreditCard", "FormAutofillTest:CreditCardRemoved", {guid});
+}
+
+async function checkCreditCards(expectedCreditCards) {
+  return invokeAsyncChromeTask("FormAutofillTest:CheckCreditCards", "FormAutofillTest:areCreditCardsMatching", {expectedCreditCards});
+}
+
+async function cleanUpCreditCards() {
+  return invokeAsyncChromeTask("FormAutofillTest:CleanUpCreditCards", "FormAutofillTest:CreditCardsCleanedUp");
+}
+
+async function cleanUpStorage() {
+  await cleanUpAddresses();
+  await cleanUpCreditCards();
 }
 
 // Utils for registerPopupShownListener(in satchel_common.js) that handles dropdown popup
 // Please call "initPopupListener()" in your test and "await expectPopup()"
 // if you want to wait for dropdown menu displayed.
 function expectPopup() {
   info("expecting a popup");
   return new Promise(resolve => {
--- a/browser/extensions/formautofill/test/mochitest/formautofill_parent_utils.js
+++ b/browser/extensions/formautofill/test/mochitest/formautofill_parent_utils.js
@@ -2,120 +2,199 @@
 /* global assert */
 /* eslint-env mozilla/frame-script */
 
 "use strict";
 
 const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
 
 Cu.import("resource://gre/modules/Services.jsm");
+Cu.import("resource://formautofill/FormAutofillUtils.jsm");
+
 let {profileStorage} = Cu.import("resource://formautofill/ProfileStorage.jsm", {});
 
+const {ADDRESSES_COLLECTION_NAME, CREDITCARDS_COLLECTION_NAME} = FormAutofillUtils;
+
 var ParentUtils = {
-  cleanUpAddress() {
-    Services.cpmm.addMessageListener("FormAutofill:Records", function getResult(result) {
-      Services.cpmm.removeMessageListener("FormAutofill:Records", getResult);
+  async _getRecords(collectionName) {
+    return new Promise(resolve => {
+      Services.cpmm.addMessageListener("FormAutofill:Records", function getResult({data}) {
+        Services.cpmm.removeMessageListener("FormAutofill:Records", getResult);
+        resolve(data);
+      });
+      Services.cpmm.sendAsyncMessage("FormAutofill:GetRecords", {searchString: "", collectionName});
+    });
+  },
+
+  async _storageChangeObserved({topic = "formautofill-storage-changed", type, times = 1}) {
+    let count = times;
 
-      let addresses = result.data;
-      Services.cpmm.sendAsyncMessage("FormAutofill:RemoveAddresses",
-                                     {guids: addresses.map(address => address.guid)});
+    return new Promise(resolve => {
+      Services.obs.addObserver(function observer(subject, obsTopic, data) {
+        if (type && data != type || !!--count) {
+          return;
+        }
+
+        Services.obs.removeObserver(observer, obsTopic);
+        resolve();
+      }, topic);
+    });
+  },
+
+  async _operateRecord(collectionName, type, msgData, contentMsg) {
+    let times, topic;
 
-      let count = addresses.length;
-      Services.obs.addObserver(function observer(subject, topic, data) {
-        if (!--count) {
-          Services.obs.removeObserver(observer, topic);
-          sendAsyncMessage("FormAutofillTest:AddressCleanedUp");
+    if (collectionName == ADDRESSES_COLLECTION_NAME) {
+      switch (type) {
+        case "add": {
+          Services.cpmm.sendAsyncMessage("FormAutofill:SaveAddress", msgData);
+          break;
+        }
+        case "update": {
+          Services.cpmm.sendAsyncMessage("FormAutofill:SaveAddress", msgData);
+          break;
+        }
+        case "remove": {
+          times = msgData.guids.length;
+          Services.cpmm.sendAsyncMessage("FormAutofill:RemoveAddresses", msgData);
+          break;
         }
-      }, "formautofill-storage-changed");
-    });
+      }
+    } else {
+      switch (type) {
+        case "add": {
+          const msgDataCloned = Object.assign({}, msgData);
 
-    Services.cpmm.sendAsyncMessage("FormAutofill:GetRecords", {searchString: "", collectionName: "addresses"});
+          Services.cpmm.sendAsyncMessage("FormAutofill:SaveCreditCard", msgDataCloned);
+          break;
+        }
+        case "remove": {
+          times = msgData.guids.length;
+          Services.cpmm.sendAsyncMessage("FormAutofill:RemoveCreditCards", msgData);
+          break;
+        }
+      }
+    }
+
+    await this._storageChangeObserved({type, times, topic});
+    sendAsyncMessage(contentMsg);
+  },
+
+  async operateAddress(type, msgData, contentMsg) {
+    await this._operateRecord(ADDRESSES_COLLECTION_NAME, ...arguments);
   },
 
-  updateAddress(type, chromeMsg, msgData, contentMsg) {
-    Services.cpmm.sendAsyncMessage(chromeMsg, msgData);
-    Services.obs.addObserver(function observer(subject, topic, data) {
-      if (data != type) {
-        return;
+  async operateCreditCard(type, msgData, contentMsg) {
+    await this._operateRecord(CREDITCARDS_COLLECTION_NAME, ...arguments);
+  },
+
+  async cleanUpAddresses() {
+    const guids = (await this._getRecords(ADDRESSES_COLLECTION_NAME)).map(record => record.guid);
+
+    await this.operateAddress("remove", {guids}, "FormAutofillTest:AddressesCleanedUp");
+  },
+
+  async cleanUpCreditCards() {
+    const guids = (await this._getRecords(CREDITCARDS_COLLECTION_NAME)).map(record => record.guid);
+
+    await this.operateCreditCard("remove", {guids}, "FormAutofillTest:CreditCardsCleanedUp");
+  },
+
+  async cleanup() {
+    Services.obs.removeObserver(this, "formautofill-storage-changed");
+    await this.cleanUpAddresses();
+    await this.cleanUpCreditCards();
+  },
+
+  _areRecordsMatching(recordA, recordB, collectionName) {
+    for (let field of profileStorage[collectionName].VALID_FIELDS) {
+      if (recordA[field] !== recordB[field]) {
+        return false;
+      }
+    }
+    // Check the internal field if both addresses have valid value.
+    for (let field of profileStorage.INTERNAL_FIELDS) {
+      if (field in recordA && field in recordB && (recordA[field] !== recordB[field])) {
+        return false;
       }
+    }
+    return true;
+  },
 
-      Services.obs.removeObserver(observer, topic);
-      sendAsyncMessage(contentMsg);
-    }, "formautofill-storage-changed");
+  async _checkRecords(collectionName, expectedRecords) {
+    const records = await this._getRecords(collectionName);
+
+    if (records.length !== expectedRecords.length) {
+      return false;
+    }
+
+    for (let record of records) {
+      let matching = expectedRecords.some(expectedRecord => {
+        return ParentUtils._areRecordsMatching(record, expectedRecord, collectionName);
+      });
+
+      if (!matching) {
+        return false;
+      }
+    }
+
+    return true;
+  },
+
+  async checkAddresses({expectedAddresses}) {
+    const areMatched = await this._checkRecords(ADDRESSES_COLLECTION_NAME, expectedAddresses);
+
+    sendAsyncMessage("FormAutofillTest:areAddressesMatching", areMatched);
+  },
+
+  async checkCreditCards({expectedCreditCards}) {
+    const areMatched = await this._checkRecords(CREDITCARDS_COLLECTION_NAME, expectedCreditCards);
+
+    sendAsyncMessage("FormAutofillTest:areCreditCardsMatching", areMatched);
   },
 
   observe(subject, topic, data) {
     assert.ok(topic === "formautofill-storage-changed");
     sendAsyncMessage("formautofill-storage-changed", {subject: null, topic, data});
   },
-
-  cleanup() {
-    Services.obs.removeObserver(this, "formautofill-storage-changed");
-    this.cleanUpAddress();
-  },
-
-  areAddressesMatching(addressA, addressB) {
-    for (let field of profileStorage.addresses.VALID_FIELDS) {
-      if (addressA[field] !== addressB[field]) {
-        return false;
-      }
-    }
-    // Check the internal field if both addresses have valid value.
-    for (let field of profileStorage.INTERNAL_FIELDS) {
-      if (field in addressA && field in addressB && (addressA[field] !== addressB[field])) {
-        return false;
-      }
-    }
-    return true;
-  },
-
-  checkAddresses({expectedAddresses}) {
-    Services.cpmm.addMessageListener("FormAutofill:Records", function getResult(result) {
-      Services.cpmm.removeMessageListener("FormAutofill:Records", getResult);
-      let addresses = result.data;
-      if (addresses.length !== expectedAddresses.length) {
-        sendAsyncMessage("FormAutofillTest:areAddressesMatching", false);
-        return;
-      }
-
-      for (let address of addresses) {
-        let matching = expectedAddresses.some((expectedAddress) => {
-          return ParentUtils.areAddressesMatching(address, expectedAddress);
-        });
-
-        if (!matching) {
-          sendAsyncMessage("FormAutofillTest:areAddressesMatching", false);
-          return;
-        }
-      }
-
-      sendAsyncMessage("FormAutofillTest:areAddressesMatching", true);
-    });
-
-    Services.cpmm.sendAsyncMessage("FormAutofill:GetRecords", {searchString: "", collectionName: "addresses"});
-  },
 };
 
 Services.obs.addObserver(ParentUtils, "formautofill-storage-changed");
 
 addMessageListener("FormAutofillTest:AddAddress", (msg) => {
-  ParentUtils.updateAddress("add", "FormAutofill:SaveAddress", msg, "FormAutofillTest:AddressAdded");
+  ParentUtils.operateAddress("add", msg, "FormAutofillTest:AddressAdded");
 });
 
 addMessageListener("FormAutofillTest:RemoveAddress", (msg) => {
-  ParentUtils.updateAddress("remove", "FormAutofill:RemoveAddress", msg, "FormAutofillTest:AddressRemoved");
+  ParentUtils.operateAddress("remove", msg, "FormAutofillTest:AddressRemoved");
 });
 
 addMessageListener("FormAutofillTest:UpdateAddress", (msg) => {
-  ParentUtils.updateAddress("update", "FormAutofill:SaveAddress", msg, "FormAutofillTest:AddressUpdated");
+  ParentUtils.operateAddress("update", msg, "FormAutofillTest:AddressUpdated");
 });
 
 addMessageListener("FormAutofillTest:CheckAddresses", (msg) => {
   ParentUtils.checkAddresses(msg);
 });
 
-addMessageListener("FormAutofillTest:CleanUpAddress", (msg) => {
-  ParentUtils.cleanUpAddress();
+addMessageListener("FormAutofillTest:CleanUpAddresses", (msg) => {
+  ParentUtils.cleanUpAddresses();
+});
+
+addMessageListener("FormAutofillTest:AddCreditCard", (msg) => {
+  ParentUtils.operateCreditCard("add", msg, "FormAutofillTest:CreditCardAdded");
+});
+
+addMessageListener("FormAutofillTest:RemoveCreditCard", (msg) => {
+  ParentUtils.operateCreditCard("remove", msg, "FormAutofillTest:CreditCardRemoved");
+});
+
+addMessageListener("FormAutofillTest:CheckCreditCards", (msg) => {
+  ParentUtils.checkCreditCards(msg);
+});
+
+addMessageListener("FormAutofillTest:CleanUpCreditCards", (msg) => {
+  ParentUtils.cleanUpCreditCards();
 });
 
 addMessageListener("cleanup", () => {
   ParentUtils.cleanup();
 });
--- a/browser/extensions/formautofill/test/mochitest/mochitest.ini
+++ b/browser/extensions/formautofill/test/mochitest/mochitest.ini
@@ -2,11 +2,14 @@
 support-files =
   ../../../../../toolkit/components/satchel/test/satchel_common.js
   ../../../../../toolkit/components/satchel/test/parent_utils.js
   formautofill_common.js
   formautofill_parent_utils.js
 
 [test_autofocus_form.html]
 [test_basic_autocomplete_form.html]
+[test_basic_creditcard_autocomplete_form.html]
+scheme=https
+skip-if = debug # Bug 1401454
 [test_formautofill_preview_highlight.html]
 [test_multiple_forms.html]
 [test_on_address_submission.html]
--- a/browser/extensions/formautofill/test/mochitest/test_basic_autocomplete_form.html
+++ b/browser/extensions/formautofill/test/mochitest/test_basic_autocomplete_form.html
@@ -112,17 +112,17 @@ add_task(async function all_saved_fields
     email: "test@test.com",
   });
 
   await setInput("#email", "");
   doKey("down");
   await expectPopup();
   checkMenuEntries(["foo@mozilla.com"], false);
 
-  await cleanUpAddress();
+  await cleanUpAddresses();
 });
 
 // Form with both history and address storage.
 add_task(async function check_menu_when_both_existed() {
   await setupAddressStorage();
 
   await setInput("#organization", "");
   doKey("down");
new file mode 100644
--- /dev/null
+++ b/browser/extensions/formautofill/test/mochitest/test_basic_creditcard_autocomplete_form.html
@@ -0,0 +1,248 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+  <meta charset="utf-8">
+  <title>Test basic autofill</title>
+  <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
+  <script type="text/javascript" src="/tests/SimpleTest/SpawnTask.js"></script>
+  <script type="text/javascript" src="formautofill_common.js"></script>
+  <script type="text/javascript" src="satchel_common.js"></script>
+  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
+</head>
+<body>
+Form autofill test: simple form credit card autofill
+
+<script>
+/* import-globals-from ../../../../../testing/mochitest/tests/SimpleTest/SpawnTask.js */
+/* import-globals-from ../../../../../toolkit/components/satchel/test/satchel_common.js */
+/* import-globals-from formautofill_common.js */
+
+"use strict";
+
+const {FormAutofillUtils} = SpecialPowers.Cu.import("resource://formautofill/FormAutofillUtils.jsm");
+
+const MOCK_STORAGE = [{
+  "cc-name": "John Doe",
+  "cc-number": "1234567812345678",
+  "cc-exp-month": 4,
+  "cc-exp-year": 2017,
+}, {
+  "cc-name": "Timothy Berners-Lee",
+  "cc-number": "1111222233334444",
+  "cc-exp-month": 12,
+  "cc-exp-year": 2022,
+}];
+
+const reducedMockRecord = {
+  "cc-name": "John Doe",
+  "cc-number": "1234123456785678",
+};
+
+function patchRecordCCNumber(record) {
+  const ccNumber = record["cc-number"];
+  const normalizedCCNumber = "*".repeat(ccNumber.length - 4) + ccNumber.substr(-4);
+  const ccNumberFmt = FormAutofillUtils.fmtMaskedCreditCardLabel(normalizedCCNumber);
+
+  return Object.assign({}, record, {ccNumberFmt});
+}
+
+function checkElementFilled(element, expectedvalue) {
+  const focusedElem = document.activeElement;
+  const promises = [];
+
+  promises.push(new Promise(resolve => {
+    element.addEventListener("input", function onInput() {
+      ok(true, "Checking " + element.name + " field fires input event");
+      resolve();
+    }, {once: true});
+  }));
+
+  // Don't expect that focused input will receive "change" event since focus never move away.
+  if (element !== focusedElem) {
+    promises.push(new Promise(resolve => {
+      element.addEventListener("change", function onChange() {
+        ok(true, "Checking " + element.name + " field fires change event");
+        is(element.value, expectedvalue, "Checking " + element.name + " field");
+        resolve();
+      }, {once: true});
+    }));
+  }
+
+  return promises;
+}
+
+function checkFormFilled(creditCard) {
+  let promises = [];
+  for (let prop in creditCard) {
+    let element = document.getElementById(prop);
+    let converted = String(creditCard[prop]); // Convert potential number to string
+
+    promises.push(...checkElementFilled(element, converted));
+  }
+  doKey("return");
+  return Promise.all(promises);
+}
+
+async function setupCreditCardStorage() {
+  await addCreditCard(MOCK_STORAGE[0]);
+  await addCreditCard(MOCK_STORAGE[1]);
+}
+
+async function setupFormHistory() {
+  await updateFormHistory([
+    {op: "add", fieldname: "cc-name", value: "John Smith"},
+    {op: "add", fieldname: "cc-exp-year", value: 2023},
+  ]);
+}
+
+initPopupListener();
+
+// Form with history only.
+add_task(async function history_only_menu_checking() {
+  await setupFormHistory();
+
+  await setInput("#cc-exp-year", "");
+  doKey("down");
+  await expectPopup();
+  checkMenuEntries(["2023"], false);
+});
+
+// Display credit card result even if the number of fillable fields is less than the threshold.
+add_task(async function all_saved_fields_less_than_threshold() {
+  await addCreditCard(reducedMockRecord);
+
+  await setInput("#cc-name", "");
+  doKey("down");
+  await expectPopup();
+  checkMenuEntries([reducedMockRecord].map(patchRecordCCNumber).map(cc => JSON.stringify({
+    primary: cc["cc-name"],
+    secondary: cc.ccNumberFmt.affix + cc.ccNumberFmt.label,
+  })));
+
+  await cleanUpCreditCards();
+});
+
+// Form with both history and credit card storage.
+add_task(async function check_menu_when_both_existed() {
+  await setupCreditCardStorage();
+
+  await setInput("#cc-number", "");
+  doKey("down");
+  await expectPopup();
+  checkMenuEntries(MOCK_STORAGE.map(patchRecordCCNumber).map(cc => JSON.stringify({
+    primaryAffix: cc.ccNumberFmt.affix,
+    primary: cc.ccNumberFmt.label,
+    secondary: cc["cc-name"],
+  })));
+
+  await setInput("#cc-name", "");
+  doKey("down");
+  await expectPopup();
+  checkMenuEntries(MOCK_STORAGE.map(patchRecordCCNumber).map(cc => JSON.stringify({
+    primary: cc["cc-name"],
+    secondary: cc.ccNumberFmt.affix + cc.ccNumberFmt.label,
+  })));
+
+  await setInput("#cc-exp-year", "");
+  doKey("down");
+  await expectPopup();
+  checkMenuEntries(MOCK_STORAGE.map(patchRecordCCNumber).map(cc => JSON.stringify({
+    primary: cc["cc-exp-year"],
+    secondary: cc.ccNumberFmt.affix + cc.ccNumberFmt.label,
+  })));
+
+  await setInput("#cc-exp-month", "");
+  doKey("down");
+  await expectPopup();
+  checkMenuEntries(MOCK_STORAGE.map(patchRecordCCNumber).map(cc => JSON.stringify({
+    primary: cc["cc-exp-month"],
+    secondary: cc.ccNumberFmt.affix + cc.ccNumberFmt.label,
+  })));
+
+  await cleanUpCreditCards();
+});
+
+// Display history search result if no matched data in credit card.
+add_task(async function check_fallback_for_mismatched_field() {
+  await addCreditCard(reducedMockRecord);
+
+  await setInput("#cc-exp-year", "");
+  doKey("down");
+  await expectPopup();
+  checkMenuEntries(["2023"], false);
+
+  await cleanUpCreditCards();
+});
+
+// Display history search result if credit card autofill is disabled.
+add_task(async function check_search_result_for_pref_off() {
+  await setupCreditCardStorage();
+
+  await SpecialPowers.pushPrefEnv({
+    set: [["extensions.formautofill.creditCards.enabled", false]],
+  });
+
+  await setInput("#cc-name", "");
+  doKey("down");
+  await expectPopup();
+  checkMenuEntries(["John Smith"], false);
+
+  await SpecialPowers.popPrefEnv();
+});
+
+// Autofill the credit card from dropdown menu.
+add_task(async function check_fields_after_form_autofill() {
+  await setInput("#cc-exp-year", 202);
+
+  doKey("down");
+  await expectPopup();
+  checkMenuEntries(MOCK_STORAGE.slice(1).map(patchRecordCCNumber).map(cc => JSON.stringify({
+    primary: cc["cc-exp-year"],
+    secondary: cc.ccNumberFmt.affix + cc.ccNumberFmt.label,
+  })));
+
+  doKey("down");
+  await checkFormFilled(MOCK_STORAGE[1]);
+});
+
+// Fallback to history search after autofill address.
+add_task(async function check_fallback_after_form_autofill() {
+  await setInput("#cc-name", "");
+  doKey("down");
+  await expectPopup();
+  checkMenuEntries(["John Smith"], false);
+});
+
+// Resume form autofill once all the autofilled fileds are changed.
+add_task(async function check_form_autofill_resume() {
+  document.querySelector("#cc-name").blur();
+  document.querySelector("#form1").reset();
+
+  await setInput("#cc-name", "");
+  doKey("down");
+  await expectPopup();
+  checkMenuEntries(MOCK_STORAGE.map(patchRecordCCNumber).map(cc => JSON.stringify({
+    primary: cc["cc-name"],
+    secondary: cc.ccNumberFmt.affix + cc.ccNumberFmt.label,
+  })));
+});
+
+</script>
+
+<p id="display"></p>
+
+<div id="content">
+
+  <form id="form1">
+    <p>This is a basic form.</p>
+    <p><label>Name: <input id="cc-name" autocomplete="cc-name"></label></p>
+    <p><label>Card Number: <input id="cc-number" autocomplete="cc-number"></label></p>
+    <p><label>Expiration month: <input id="cc-exp-month" autocomplete="cc-exp-month"></label></p>
+    <p><label>Expiration year: <input id="cc-exp-year" autocomplete="cc-exp-year"></label></p>
+    <p><label>CSC: <input id="cc-csc" autocomplete="cc-csc"></label></p>
+  </form>
+</div>
+
+<pre id="test"></pre>
+</body>
+</html>
--- a/browser/extensions/formautofill/test/mochitest/test_on_address_submission.html
+++ b/browser/extensions/formautofill/test/mochitest/test_on_address_submission.html
@@ -40,17 +40,17 @@ add_task(async function check_storage_af
 
   for (let key in TEST_ADDRESSES[0]) {
     await setInput("#" + key, TEST_ADDRESSES[0][key]);
   }
 
   clickOnElement("input[type=submit]");
 
   let expectedAddresses = TEST_ADDRESSES.slice(0, 1);
-  await onAddressChanged("add");
+  await onStorageChanged("add");
   // Check if timesUsed is set correctly
   expectedAddresses[0].timesUsed = 1;
   let matching = await checkAddresses(expectedAddresses);
   ok(matching, "Address saved as expected");
   delete expectedAddresses[0].timesUsed;
 });
 
 // Submit another new address.
@@ -62,17 +62,17 @@ add_task(async function check_storage_af
 
   clickOnElement("input[type=submit]");
 
   // The 2nd test address should be on the top since it's the last used one.
   let addressesInMenu = TEST_ADDRESSES.slice(1);
   addressesInMenu.push(TEST_ADDRESSES[0]);
 
   // let expectedAddresses = TEST_ADDRESSES.slice(0);
-  await onAddressChanged("add");
+  await onStorageChanged("add");
   let matching = await checkAddresses(TEST_ADDRESSES);
   ok(matching, "New address saved as expected");
 
   await setInput("#organization", "");
   doKey("down");
   await expectPopup();
   checkMenuEntries(addressesInMenu.map(address =>
     JSON.stringify({primary: address.organization, secondary: address["street-address"]})
@@ -88,17 +88,17 @@ add_task(async function new_address_subm
   // Add country to first address in storage
   await setInput("#country", "US");
   TEST_ADDRESSES[0].country = "US";
   clickOnElement("input[type=submit]");
 
   let expectedAddresses = TEST_ADDRESSES.slice(0);
   // Check if timesUsed is set correctly
   expectedAddresses[0].timesUsed = 2;
-  await onAddressChanged("merge");
+  await onStorageChanged("merge");
   let matching = await checkAddresses(expectedAddresses);
   ok(matching, "Address merged as expected");
   delete expectedAddresses[0].timesUsed;
 });
 
 // Submit an updated autofill address and merge.
 add_task(async function check_storage_after_form_submitted() {
   document.querySelector("form").reset();
@@ -109,17 +109,17 @@ add_task(async function check_storage_af
   await setInput("#organization", "Moz");
   doKey("down");
   await expectPopup();
   doKey("down");
   doKey("return");
   clickOnElement("input[type=submit]");
 
   let expectedAddresses = TEST_ADDRESSES.slice(0);
-  await onAddressChanged("merge");
+  await onStorageChanged("merge");
   let matching = await checkAddresses(expectedAddresses);
   ok(matching, "Updated address merged as expected");
 });
 
 </script>
 
 <div>
 
--- a/browser/extensions/moz.build
+++ b/browser/extensions/moz.build
@@ -2,17 +2,16 @@
 # vim: set filetype=python:
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 DIRS += [
     'activity-stream',
     'aushelper',
-    'clicktoplay-rollout',
     'e10srollout',
     'followonsearch',
     'formautofill',
     'onboarding',
     'pdfjs',
     'pocket',
     'screenshots',
     'shield-recipe-client',
--- a/browser/extensions/pocket/skin/shared/library-pocket-animation.svg
+++ b/browser/extensions/pocket/skin/shared/library-pocket-animation.svg
@@ -1,986 +1,700 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 <svg xmlns="http://www.w3.org/2000/svg" width="1078" height="54">
-  <svg x="0">
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+  <defs>
+    <path id="books" d="M8 22a1 1 0 0 0-1 1v10a1 1 0 0 0 2 0V23a1 1 0 0 0-1-1zm3-1a1 1 0 0 0-1 1v11a1 1 0 0 0 2 0V22a1 1 0 0 0-1-1zm8 11.7l-4-11a1 1 0 1 0-2 .6l4 11a1 1 0 1 0 2-.6zM5 20a1 1 0 0 0-1 1v12a1 1 0 0 0 2 0V21a1 1 0 0 0-1-1z"/>
+    <path id="pocket" d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 3.8 5.5 1 .8-2.3H-3l6.7.4L6-8.5l8.5-1.7 2.8-18.2 6-25.2-.8-22.3-51.6-1z"/>
+    <path id="d1" d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 3.8 5.5 1 .8-2.3H-3l6.2.4L7.5-3l7-7.2 2.8-18.2 6-25.2-.8-22.3-51.6-1z"/>
+  </defs>
+  <svg>
+    <use fill="context-fill" href="#books"/>
   </svg>
   <svg x="22">
     <defs>
-      <mask id="a" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+      <mask id="b" mask-type="alpha">
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
-      <mask id="b" mask-type="alpha">
-        <g opacity=".055">
-          <g opacity="1">
-            <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-            <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-          </g>
-        </g>
+      <mask id="a" mask-type="alpha">
+        <use fill="#11DBEA" href="#d1" opacity=".055" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
+    <g mask="url(#a)">
+      <path fill="#EF3F56" d="M9 14a6.8 6.8 0 0 1-4.3-8.7l1.1-3.2a1.7 1.7 0 0 1 2.2-1l9.6 3.3a1.7 1.7 0 0 1 1 2.2l-1 3.2A6.8 6.8 0 0 1 8.9 14z"/>
+    </g>
     <g mask="url(#b)">
-      <path fill="#EF3F56" fill-opacity="1" d="M8.913 13.992c-3.55 -1.232 -5.428 -5.108 -4.197 -8.657l1.116 -3.214a1.7 1.7 0 0 1 2.164 -1.05l9.64 3.347a1.7 1.7 0 0 1 1.05 2.164l-1.116 3.214c-1.231 3.549 -5.108 5.428 -8.657 4.196z" opacity="1"/>
-    </g>
-    <g mask="url(#a)">
-      <path fill="#FFF" fill-opacity="1" d="M14.831 7.252a0.84 0.84 0 0 0 -0.671 0.054l-3.552 1.723 -1.688 -3.497a0.838 0.838 0 0 0 -0.504 -0.506 0.85 0.85 0 0 0 -1.047 1.166l-0.016 0.005 1.723 3.574 0.371 0.765a0.851 0.851 0 0 0 1.136 0.394l0.765 -0.37 3.58 -1.734a0.851 0.851 0 0 0 0.483 -0.82 0.851 0.851 0 0 0 -0.58 -0.754z" opacity=".043"/>
+      <path fill="#FFF" d="M14.8 7.3a.8.8 0 0 0-.6 0L10.6 9 9 5.5a.8.8 0 0 0-.5-.5.8.8 0 0 0-1 1.2L9 9.8l.3.7a.9.9 0 0 0 1.2.4l.7-.3L15 8.8a.9.9 0 0 0 .5-.8.9.9 0 0 0-.6-.7z" opacity=".043"/>
     </g>
   </svg>
   <svg x="44">
     <defs>
       <mask id="d" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="c" mask-type="alpha">
-        <g opacity=".198">
-          <g opacity="1">
-            <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-            <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-          </g>
-        </g>
+        <use fill="#11DBEA" href="#d1" opacity=".198" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#c)">
-      <path fill="#EF3F56" fill-opacity="1" d="M9.209 14.005c-3.574 -1.084 -5.593 -4.86 -4.509 -8.434l0.982 -3.235a1.69 1.69 0 0 1 2.108 -1.128l9.707 2.945a1.69 1.69 0 0 1 1.127 2.108l-0.981 3.236c-1.084 3.573 -4.86 5.592 -8.434 4.508z" opacity="1"/>
+      <path fill="#EF3F56" d="M9.2 14a6.8 6.8 0 0 1-4.5-8.4l1-3.3a1.7 1.7 0 0 1 2-1l9.8 2.9a1.7 1.7 0 0 1 1.1 2l-1 3.3A6.8 6.8 0 0 1 9.2 14z"/>
     </g>
     <g mask="url(#d)">
-      <path fill="#FFF" fill-opacity="1" d="M14.822 7.078a0.836 0.836 0 0 0 -0.665 0.08l-3.46 1.85 -1.814 -3.406a0.833 0.833 0 0 0 -0.52 -0.483 0.846 0.846 0 0 0 -0.995 1.2l-0.015 0.005 1.852 3.482 0.399 0.745a0.846 0.846 0 0 0 1.143 0.347l0.746 -0.398 3.487 -1.862a0.846 0.846 0 0 0 0.448 -0.834 0.846 0.846 0 0 0 -0.606 -0.726z" opacity=".156"/>
+      <path fill="#FFF" d="M14.8 7a.8.8 0 0 0-.6.2L10.7 9 8.9 5.6a.8.8 0 0 0-.5-.5.8.8 0 0 0-1 1.2l1.8 3.5.4.8a.8.8 0 0 0 1.1.3l.8-.4L15 8.6a.8.8 0 0 0 .4-.8.8.8 0 0 0-.6-.7z" opacity=".156"/>
     </g>
   </svg>
   <svg x="66">
     <defs>
       <mask id="f" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="e" mask-type="alpha">
-        <g opacity=".394">
-          <g opacity="1">
-            <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-            <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-          </g>
-        </g>
+        <use fill="#11DBEA" href="#d1" opacity=".394" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#e)">
-      <path fill="#EF3F56" fill-opacity="1" d="M9.627 14.025c-3.598 -0.875 -5.805 -4.501 -4.93 -8.1l0.792 -3.257a1.676 1.676 0 0 1 2.025 -1.232l9.773 2.377a1.676 1.676 0 0 1 1.232 2.024l-0.792 3.258c-0.875 3.598 -4.502 5.805 -8.1 4.93z" opacity="1"/>
+      <path fill="#EF3F56" d="M9.6 14a6.7 6.7 0 0 1-4.9-8l.8-3.3a1.7 1.7 0 0 1 2-1.3l9.8 2.4a1.7 1.7 0 0 1 1.2 2l-.8 3.3a6.7 6.7 0 0 1-8 5z"/>
     </g>
     <g mask="url(#f)">
-      <path fill="#FFF" fill-opacity="1" d="M14.8 6.857a0.829 0.829 0 0 0 -0.653 0.116l-3.323 2.023 -1.984 -3.272a0.826 0.826 0 0 0 -0.542 -0.449 0.838 0.838 0 0 0 -0.919 1.243l-0.015 0.006 2.027 3.345 0.436 0.715a0.839 0.839 0 0 0 1.151 0.28l0.716 -0.435 3.35 -2.037a0.839 0.839 0 0 0 0.396 -0.85 0.839 0.839 0 0 0 -0.64 -0.685z" opacity=".316"/>
+      <path fill="#FFF" d="M14.8 6.9a.8.8 0 0 0-.7 0L10.8 9l-2-3.3a.8.8 0 0 0-.5-.4.8.8 0 0 0-1 1.2l2 3.4.5.7a.8.8 0 0 0 1.2.3l.7-.5 3.3-2a.8.8 0 0 0 .4-.9.8.8 0 0 0-.6-.6z" opacity=".316"/>
     </g>
   </svg>
   <svg x="88">
     <defs>
       <mask id="h" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="g" mask-type="alpha">
-        <g opacity=".606">
-          <g opacity="1">
-            <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-            <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-          </g>
-        </g>
+        <use fill="#11DBEA" href="#d1" opacity=".606" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#g)">
-      <path fill="#EF3F56" fill-opacity="1" d="M10.107 14.027c-3.611 -0.637 -6.022 -4.08 -5.386 -7.691l0.577 -3.27a1.66 1.66 0 0 1 1.922 -1.346l9.808 1.73a1.66 1.66 0 0 1 1.346 1.922l-0.576 3.27c-0.637 3.61 -4.08 6.021 -7.691 5.385z" opacity="1"/>
+      <path fill="#EF3F56" d="M10.1 14c-3.6-.6-6-4-5.4-7.7l.6-3.2a1.7 1.7 0 0 1 2-1.4L17 3.4a1.7 1.7 0 0 1 1.4 2l-.6 3.2c-.6 3.7-4 6-7.7 5.4z"/>
     </g>
     <g mask="url(#h)">
-      <path fill="#FFF" fill-opacity="1" d="M14.764 6.615a0.82 0.82 0 0 0 -0.639 0.157l-3.155 2.21 -2.168 -3.108a0.818 0.818 0 0 0 -0.564 -0.41 0.83 0.83 0 0 0 -0.829 1.287l-0.014 0.007 2.215 3.176 0.476 0.68a0.83 0.83 0 0 0 1.155 0.204l0.68 -0.476 3.18 -2.225a0.83 0.83 0 0 0 0.339 -0.865 0.83 0.83 0 0 0 -0.676 -0.637z" opacity=".5"/>
+      <path fill="#FFF" d="M14.8 6.6a.8.8 0 0 0-.7.2L11 9 8.8 5.9a.8.8 0 0 0-.6-.4.8.8 0 0 0-.8 1.3l2.2 3.1.5.7a.8.8 0 0 0 1.1.2l.7-.5 3.2-2.2a.8.8 0 0 0 .3-.8.8.8 0 0 0-.6-.7z" opacity=".5"/>
     </g>
   </svg>
   <svg x="110">
     <defs>
       <mask id="j" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="i" mask-type="alpha">
-        <g opacity=".802">
-          <g opacity="1">
-            <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-            <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-          </g>
-        </g>
+        <use fill="#11DBEA" href="#d1" opacity=".802" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#i)">
-      <path fill="#EF3F56" fill-opacity="1" d="M10.583 13.998c-3.608 -0.4 -6.208 -3.65 -5.808 -7.258l0.362 -3.266a1.643 1.643 0 0 1 1.815 -1.452l9.8 1.087a1.643 1.643 0 0 1 1.451 1.814l-0.362 3.267c-0.4 3.608 -3.65 6.208 -7.258 5.808z" opacity="1"/>
+      <path fill="#EF3F56" d="M10.6 14a6.6 6.6 0 0 1-5.8-7.3L5 3.5A1.6 1.6 0 0 1 7 2l9.8 1.1A1.6 1.6 0 0 1 18.2 5l-.4 3.3a6.6 6.6 0 0 1-7.2 5.8z"/>
     </g>
     <g mask="url(#j)">
-      <path fill="#FFF" fill-opacity="1" d="M14.715 6.38a0.812 0.812 0 0 0 -0.62 0.195l-2.978 2.384 -2.34 -2.933a0.81 0.81 0 0 0 -0.583 -0.37 0.822 0.822 0 0 0 -0.737 1.324l-0.014 0.008 2.39 2.998 0.513 0.641a0.822 0.822 0 0 0 1.155 0.129l0.641 -0.514 3.002 -2.4a0.822 0.822 0 0 0 0.28 -0.876 0.822 0.822 0 0 0 -0.709 -0.586z" opacity=".684"/>
+      <path fill="#FFF" d="M14.7 6.4a.8.8 0 0 0-.6.2l-3 2.4-2.3-3a.8.8 0 0 0-.6-.3.8.8 0 0 0-.7 1.3l2.3 3 .5.6a.8.8 0 0 0 1.2.2l.6-.6 3-2.4a.8.8 0 0 0 .3-.8.8.8 0 0 0-.7-.6z" opacity=".684"/>
     </g>
   </svg>
   <svg x="132">
     <defs>
       <mask id="l" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="k" mask-type="alpha">
-        <g opacity=".945">
-          <g opacity="1">
-            <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-            <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-          </g>
-        </g>
+        <use fill="#11DBEA" href="#d1" opacity=".945" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#k)">
-      <path fill="#EF3F56" fill-opacity="1" d="M10.996 13.943c-3.593 -0.196 -6.347 -3.268 -6.15 -6.861l0.177 -3.253a1.628 1.628 0 0 1 1.715 -1.538l9.76 0.533a1.628 1.628 0 0 1 1.537 1.716l-0.178 3.253c-0.196 3.592 -3.268 6.346 -6.861 6.15z" opacity="1"/>
+      <path fill="#EF3F56" d="M11 14a6.5 6.5 0 0 1-6.2-7L5 3.9a1.6 1.6 0 0 1 1.7-1.5l9.8.5A1.6 1.6 0 0 1 18 4.5v3.3a6.5 6.5 0 0 1-6.9 6.1z"/>
     </g>
     <g mask="url(#l)">
-      <path fill="#FFF" fill-opacity="1" d="M14.663 6.175a0.805 0.805 0 0 0 -0.603 0.227l-2.815 2.524 -2.478 -2.773a0.803 0.803 0 0 0 -0.597 -0.333 0.815 0.815 0 0 0 -0.657 1.35l-0.013 0.009 2.531 2.835 0.544 0.606a0.815 0.815 0 0 0 1.15 0.063l0.606 -0.543 2.838 -2.542a0.815 0.815 0 0 0 0.228 -0.882 0.815 0.815 0 0 0 -0.734 -0.541z" opacity=".844"/>
+      <path fill="#FFF" d="M14.7 6.2a.8.8 0 0 0-.6.2l-2.9 2.5-2.4-2.7a.8.8 0 0 0-.6-.4.8.8 0 0 0-.7 1.4L10 10l.6.6a.8.8 0 0 0 1.1 0l.6-.5 2.9-2.5a.8.8 0 0 0 .2-.9.8.8 0 0 0-.7-.5z" opacity=".844"/>
     </g>
   </svg>
   <svg x="154">
     <defs>
       <mask id="n" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="m" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#m)">
-      <path fill="#EF3F56" fill-opacity="1" d="M11.285 13.878c-3.575 -0.054 -6.43 -2.996 -6.377 -6.571l0.049 -3.237a1.618 1.618 0 0 1 1.643 -1.595l9.711 0.146a1.618 1.618 0 0 1 1.594 1.643l-0.048 3.237c-0.054 3.576 -2.996 6.43 -6.572 6.377z" opacity="1"/>
+      <path fill="#EF3F56" d="M11.3 13.9c-3.6 0-6.4-3-6.4-6.6V4.1a1.6 1.6 0 0 1 1.7-1.6l9.7.1A1.6 1.6 0 0 1 18 4.3v3.2c-.1 3.6-3 6.4-6.6 6.4z"/>
     </g>
     <g mask="url(#n)">
-      <path fill="#FFF" fill-opacity="1" d="M14.622 6.02a0.8 0.8 0 0 0 -0.591 0.25l-2.696 2.617 -2.569 -2.657a0.798 0.798 0 0 0 -0.607 -0.307 0.81 0.81 0 0 0 -0.598 1.367l-0.013 0.009 2.625 2.715 0.563 0.581a0.81 0.81 0 0 0 1.145 0.017l0.58 -0.563 2.719 -2.635a0.81 0.81 0 0 0 0.19 -0.886 0.81 0.81 0 0 0 -0.748 -0.508z" opacity=".957"/>
+      <path fill="#FFF" d="M14.6 6a.8.8 0 0 0-.6.3l-2.7 2.6-2.5-2.7a.8.8 0 0 0-.6-.3.8.8 0 0 0-.6 1.4l2.6 2.7.5.6a.8.8 0 0 0 1.2 0l.6-.6 2.7-2.6a.8.8 0 0 0 .2-.9.8.8 0 0 0-.8-.5z" opacity=".957"/>
     </g>
   </svg>
   <svg x="176">
     <defs>
       <mask id="p" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="o" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#o)">
-      <path fill="#EF3F56" fill-opacity="1" d="M11.395 13.825c-3.568 0 -6.46 -2.893 -6.46 -6.46v-3.23a1.614 1.614 0 0 1 1.615 -1.615h9.69a1.614 1.614 0 0 1 1.614 1.615v3.23c0 3.567 -2.892 6.46 -6.46 6.46z" opacity="1"/>
+      <path fill="#EF3F56" d="M11.4 13.8a6.5 6.5 0 0 1-6.5-6.4V4a1.6 1.6 0 0 1 1.6-1.6h9.7A1.6 1.6 0 0 1 18 4.1v3.3c0 3.5-3 6.4-6.5 6.4z"/>
     </g>
     <g mask="url(#p)">
-      <path fill="#FFF" fill-opacity="1" d="M14.605 5.936a0.798 0.798 0 0 0 -0.585 0.258l-2.65 2.65 -2.603 -2.61a0.796 0.796 0 0 0 -0.61 -0.298 0.808 0.808 0 0 0 -0.576 1.373l-0.013 0.009 2.659 2.67 0.57 0.57a0.808 0.808 0 0 0 1.143 0l0.57 -0.57 2.672 -2.67a0.808 0.808 0 0 0 0.178 -0.886 0.808 0.808 0 0 0 -0.755 -0.496z" opacity="1"/>
+      <path fill="#FFF" d="M14.6 6a.8.8 0 0 0-.6.2l-2.6 2.6-2.6-2.6a.8.8 0 0 0-.6-.3.8.8 0 0 0-.6 1.4l2.6 2.7.6.6a.8.8 0 0 0 1.1 0l.6-.6 2.7-2.7a.8.8 0 0 0 .2-.9.8.8 0 0 0-.8-.5z"/>
     </g>
   </svg>
   <svg x="198">
     <defs>
       <mask id="r" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="q" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#q)">
-      <path fill="#EF3F56" fill-opacity="1" d="M11.453 13.875c-3.567 0.03 -6.483 -2.839 -6.512 -6.406l-0.027 -3.23a1.614 1.614 0 0 1 1.602 -1.628l9.69 -0.08a1.614 1.614 0 0 1 1.627 1.602l0.027 3.23c0.029 3.567 -2.84 6.483 -6.407 6.512z" opacity="1"/>
+      <path fill="#EF3F56" d="M11.5 13.9a6.5 6.5 0 0 1-6.6-6.4V4.2a1.6 1.6 0 0 1 1.6-1.6h9.7A1.6 1.6 0 0 1 17.8 4v3.3c0 3.5-2.8 6.4-6.3 6.5z"/>
     </g>
     <g mask="url(#r)">
-      <path fill="#FFF" fill-opacity="1" d="M14.599 5.96a0.798 0.798 0 0 0 -0.583 0.263l-2.629 2.673 -2.623 -2.59a0.796 0.796 0 0 0 -0.612 -0.292 0.808 0.808 0 0 0 -0.566 1.377l-0.012 0.009 2.68 2.648 0.576 0.566a0.808 0.808 0 0 0 1.142 -0.01l0.566 -0.575 2.65 -2.691a0.808 0.808 0 0 0 0.17 -0.888 0.808 0.808 0 0 0 -0.759 -0.49z" opacity="1"/>
+      <path fill="#FFF" d="M14.6 6a.8.8 0 0 0-.6.2L11.4 9 8.8 6.3a.8.8 0 0 0-.6-.3.8.8 0 0 0-.6 1.4l2.7 2.6.5.6a.8.8 0 0 0 1.2 0l.5-.6 2.7-2.7a.8.8 0 0 0 .2-.8.8.8 0 0 0-.8-.5z"/>
     </g>
   </svg>
   <svg x="220">
     <defs>
       <mask id="t" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="s" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#s)">
-      <path fill="#EF3F56" fill-opacity="1" d="M11.535 13.94c-3.567 0.07 -6.515 -2.766 -6.585 -6.332l-0.063 -3.23a1.614 1.614 0 0 1 1.582 -1.646l9.688 -0.19a1.614 1.614 0 0 1 1.646 1.583l0.064 3.23c0.07 3.566 -2.765 6.514 -6.332 6.584z" opacity="1"/>
+      <path fill="#EF3F56" d="M11.5 14A6.5 6.5 0 0 1 5 7.5l-.1-3.2a1.6 1.6 0 0 1 1.6-1.7l9.7-.2A1.6 1.6 0 0 1 17.8 4v3.3a6.3 6.3 0 0 1-6.3 6.5z"/>
     </g>
     <g mask="url(#t)">
-      <path fill="#FFF" fill-opacity="1" d="M14.59 5.99a0.798 0.798 0 0 0 -0.58 0.269l-2.598 2.702 -2.653 -2.56a0.796 0.796 0 0 0 -0.615 -0.285 0.808 0.808 0 0 0 -0.55 1.384l-0.012 0.009 2.71 2.617 0.582 0.56a0.808 0.808 0 0 0 1.142 -0.023l0.56 -0.582 2.618 -2.721a0.808 0.808 0 0 0 0.16 -0.89 0.808 0.808 0 0 0 -0.764 -0.48z" opacity="1"/>
+      <path fill="#FFF" d="M14.6 6a.8.8 0 0 0-.6.3L11.4 9 8.8 6.4a.8.8 0 0 0-.7-.3.8.8 0 0 0-.5 1.4l2.7 2.6.6.6a.8.8 0 0 0 1.1 0l.6-.6 2.6-2.7a.8.8 0 0 0 .2-1 .8.8 0 0 0-.8-.4z"/>
     </g>
   </svg>
   <svg x="242">
     <defs>
       <mask id="v" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="u" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#u)">
-      <path fill="#EF3F56" fill-opacity="1" d="M11.63 14.017c-3.566 0.117 -6.551 -2.678 -6.669 -6.244l-0.106 -3.228a1.614 1.614 0 0 1 1.561 -1.667l9.684 -0.319a1.614 1.614 0 0 1 1.667 1.561l0.107 3.228c0.117 3.566 -2.679 6.552 -6.244 6.669z" opacity="1"/>
+      <path fill="#EF3F56" d="M11.6 14A6.5 6.5 0 0 1 5 7.8l-.1-3.3A1.6 1.6 0 0 1 6.4 3l9.7-.3A1.6 1.6 0 0 1 17.8 4v3.2a6.5 6.5 0 0 1-6.2 6.7z"/>
     </g>
     <g mask="url(#v)">
-      <path fill="#FFF" fill-opacity="1" d="M14.58 6.027a0.798 0.798 0 0 0 -0.577 0.277l-2.562 2.737 -2.687 -2.525a0.796 0.796 0 0 0 -0.619 -0.277 0.808 0.808 0 0 0 -0.53 1.391l-0.013 0.01 2.745 2.58 0.59 0.552a0.808 0.808 0 0 0 1.14 -0.038l0.552 -0.59 2.583 -2.755a0.808 0.808 0 0 0 0.148 -0.891 0.808 0.808 0 0 0 -0.77 -0.47z" opacity="1"/>
+      <path fill="#FFF" d="M14.6 6a.8.8 0 0 0-.6.3L11.4 9 8.8 6.5a.8.8 0 0 0-.7-.3.8.8 0 0 0-.5 1.4l2.7 2.6.6.6a.8.8 0 0 0 1.2 0l.5-.7 2.6-2.7a.8.8 0 0 0 .2-.9.8.8 0 0 0-.8-.5z"/>
     </g>
   </svg>
   <svg x="264">
     <defs>
       <mask id="x" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="w" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#w)">
-      <path fill="#EF3F56" fill-opacity="1" d="M11.733 14.108c-3.563 0.17 -6.589 -2.583 -6.758 -6.146l-0.153 -3.226a1.614 1.614 0 0 1 1.537 -1.69l9.678 -0.459a1.614 1.614 0 0 1 1.69 1.537l0.153 3.226c0.169 3.563 -2.583 6.59 -6.147 6.758z" opacity="1"/>
+      <path fill="#EF3F56" d="M11.7 14.1A6.5 6.5 0 0 1 5 8l-.2-3.3A1.6 1.6 0 0 1 6.4 3l9.6-.4A1.6 1.6 0 0 1 17.7 4l.2 3.3a6.5 6.5 0 0 1-6.2 6.7z"/>
     </g>
     <g mask="url(#x)">
-      <path fill="#FFF" fill-opacity="1" d="M14.567 6.077a0.798 0.798 0 0 0 -0.573 0.285l-2.521 2.773 -2.724 -2.485a0.796 0.796 0 0 0 -0.623 -0.268 0.808 0.808 0 0 0 -0.51 1.399l-0.013 0.01 2.782 2.54 0.598 0.543a0.808 0.808 0 0 0 1.14 -0.054l0.543 -0.598 2.543 -2.792a0.808 0.808 0 0 0 0.135 -0.894 0.808 0.808 0 0 0 -0.777 -0.46z" opacity="1"/>
+      <path fill="#FFF" d="M14.6 6a.8.8 0 0 0-.6.4L11.5 9 8.7 6.7a.8.8 0 0 0-.6-.3.8.8 0 0 0-.5 1.4l2.8 2.5.6.6a.8.8 0 0 0 1.1 0l.6-.7 2.5-2.8a.8.8 0 0 0 .1-.9.8.8 0 0 0-.7-.4z"/>
     </g>
   </svg>
   <svg x="286">
     <defs>
       <mask id="z" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="y" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#y)">
-      <path fill="#EF3F56" fill-opacity="1" d="M11.843 14.215c-3.56 0.223 -6.628 -2.482 -6.852 -6.042l-0.203 -3.224a1.614 1.614 0 0 1 1.51 -1.713l9.671 -0.607a1.614 1.614 0 0 1 1.713 1.51l0.203 3.224c0.223 3.56 -2.482 6.628 -6.042 6.852z" opacity="1"/>
+      <path fill="#EF3F56" d="M11.8 14.2a6.5 6.5 0 0 1-6.8-6l-.2-3.3a1.6 1.6 0 0 1 1.5-1.7l9.7-.6a1.6 1.6 0 0 1 1.7 1.5l.2 3.3a6.5 6.5 0 0 1-6 6.8z"/>
     </g>
     <g mask="url(#z)">
-      <path fill="#FFF" fill-opacity="1" d="M14.552 6.14a0.798 0.798 0 0 0 -0.568 0.294l-2.478 2.812 -2.761 -2.443a0.796 0.796 0 0 0 -0.627 -0.258 0.808 0.808 0 0 0 -0.49 1.406l-0.012 0.01 2.821 2.497 0.606 0.534a0.808 0.808 0 0 0 1.14 -0.072l0.533 -0.605 2.5 -2.832a0.808 0.808 0 0 0 0.121 -0.895 0.808 0.808 0 0 0 -0.785 -0.448z" opacity="1"/>
+      <path fill="#FFF" d="M14.6 6.1a.8.8 0 0 0-.6.3l-2.5 2.8-2.8-2.4a.8.8 0 0 0-.6-.3.8.8 0 0 0-.5 1.5l2.8 2.5.6.5a.8.8 0 0 0 1.2 0l.5-.7 2.5-2.8a.8.8 0 0 0 .1-1 .8.8 0 0 0-.7-.4z"/>
     </g>
   </svg>
   <svg x="308">
     <defs>
       <mask id="B" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="A" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#A)">
-      <path fill="#EF3F56" fill-opacity="1" d="M11.957 14.336c-3.556 0.281 -6.667 -2.375 -6.948 -5.93l-0.254 -3.22a1.614 1.614 0 0 1 1.483 -1.738l9.66 -0.762a1.614 1.614 0 0 1 1.736 1.483l0.254 3.22c0.281 3.556 -2.375 6.667 -5.931 6.947z" opacity="1"/>
+      <path fill="#EF3F56" d="M12 14.3a6.5 6.5 0 0 1-7-5.9l-.2-3.2a1.6 1.6 0 0 1 1.4-1.8l9.7-.7a1.6 1.6 0 0 1 1.7 1.5l.3 3.2a6.5 6.5 0 0 1-6 7z"/>
     </g>
     <g mask="url(#B)">
-      <path fill="#FFF" fill-opacity="1" d="M14.537 6.22a0.798 0.798 0 0 0 -0.563 0.303l-2.434 2.85 -2.8 -2.398a0.796 0.796 0 0 0 -0.63 -0.248 0.808 0.808 0 0 0 -0.467 1.414l-0.013 0.01 2.861 2.452 0.614 0.524a0.808 0.808 0 0 0 1.138 -0.09l0.525 -0.614 2.453 -2.871a0.808 0.808 0 0 0 0.107 -0.897 0.808 0.808 0 0 0 -0.791 -0.435z" opacity="1"/>
+      <path fill="#FFF" d="M14.5 6.2a.8.8 0 0 0-.5.3l-2.5 2.9L8.7 7a.8.8 0 0 0-.6-.3.8.8 0 0 0-.5 1.4l2.9 2.5.6.5a.8.8 0 0 0 1.1 0l.6-.7 2.4-2.8a.8.8 0 0 0 .1-1 .8.8 0 0 0-.8-.4z"/>
     </g>
   </svg>
   <svg x="330">
     <defs>
       <mask id="D" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="C" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#C)">
-      <path fill="#EF3F56" fill-opacity="1" d="M12.074 14.475c-3.55 0.34 -6.705 -2.265 -7.044 -5.816l-0.308 -3.215a1.614 1.614 0 0 1 1.454 -1.761l9.646 -0.922a1.614 1.614 0 0 1 1.76 1.454l0.308 3.215c0.34 3.551 -2.264 6.706 -5.816 7.045z" opacity="1"/>
+      <path fill="#EF3F56" d="M12 14.5a6.5 6.5 0 0 1-7-5.8l-.3-3.3a1.6 1.6 0 0 1 1.5-1.7l9.6-1a1.6 1.6 0 0 1 1.8 1.5l.3 3.2a6.5 6.5 0 0 1-5.8 7z"/>
     </g>
     <g mask="url(#D)">
-      <path fill="#FFF" fill-opacity="1" d="M14.52 6.317a0.798 0.798 0 0 0 -0.558 0.312l-2.386 2.891 -2.84 -2.352a0.796 0.796 0 0 0 -0.634 -0.238 0.808 0.808 0 0 0 -0.444 1.422l-0.012 0.01 2.901 2.404 0.623 0.514a0.808 0.808 0 0 0 1.136 -0.109l0.514 -0.622 2.406 -2.912a0.808 0.808 0 0 0 0.093 -0.898 0.808 0.808 0 0 0 -0.8 -0.422z" opacity="1"/>
+      <path fill="#FFF" d="M14.5 6.3a.8.8 0 0 0-.5.3l-2.4 3-2.9-2.4a.8.8 0 0 0-.6-.3.8.8 0 0 0-.4 1.5l2.8 2.4.7.5a.8.8 0 0 0 1.1-.1l.5-.7 2.4-2.9a.8.8 0 0 0 .1-.9.8.8 0 0 0-.8-.4z"/>
     </g>
   </svg>
   <svg x="352">
     <defs>
       <mask id="F" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="E" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#E)">
-      <path fill="#EF3F56" fill-opacity="1" d="M12.194 14.632c-3.545 0.4 -6.742 -2.15 -7.142 -5.696l-0.361 -3.21a1.614 1.614 0 0 1 1.424 -1.785l9.628 -1.085a1.614 1.614 0 0 1 1.786 1.424l0.361 3.21c0.4 3.545 -2.15 6.743 -5.696 7.142z" opacity="1"/>
+      <path fill="#EF3F56" d="M12.2 14.6A6.5 6.5 0 0 1 5 9l-.4-3.2A1.6 1.6 0 0 1 6 4l9.6-1a1.6 1.6 0 0 1 1.8 1.4l.4 3.2a6.5 6.5 0 0 1-5.7 7.1z"/>
     </g>
     <g mask="url(#F)">
-      <path fill="#FFF" fill-opacity="1" d="M14.502 6.434a0.798 0.798 0 0 0 -0.553 0.321l-2.337 2.931 -2.878 -2.303a0.796 0.796 0 0 0 -0.64 -0.227 0.808 0.808 0 0 0 -0.419 1.428l-0.011 0.01 2.94 2.355 0.632 0.504a0.808 0.808 0 0 0 1.134 -0.128l0.504 -0.631 2.356 -2.952a0.808 0.808 0 0 0 0.077 -0.9 0.808 0.808 0 0 0 -0.805 -0.408z" opacity="1"/>
+      <path fill="#FFF" d="M14.5 6.4a.8.8 0 0 0-.6.4l-2.3 2.9-2.9-2.3a.8.8 0 0 0-.6-.2.8.8 0 0 0-.4 1.4l2.9 2.3.6.6a.8.8 0 0 0 1.2-.2l.5-.6 2.3-3a.8.8 0 0 0 .1-.9.8.8 0 0 0-.8-.4z"/>
     </g>
   </svg>
   <svg x="374">
     <defs>
       <mask id="H" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="G" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#G)">
-      <path fill="#EF3F56" fill-opacity="1" d="M12.316 14.809c-3.537 0.46 -6.779 -2.035 -7.239 -5.572l-0.417 -3.203a1.614 1.614 0 0 1 1.393 -1.81l9.609 -1.25a1.614 1.614 0 0 1 1.81 1.393l0.416 3.203c0.46 3.537 -2.034 6.779 -5.572 7.239z" opacity="1"/>
+      <path fill="#EF3F56" d="M12.3 14.8c-3.5.5-6.8-2-7.2-5.6L4.7 6A1.6 1.6 0 0 1 6 4.2L15.7 3a1.6 1.6 0 0 1 1.8 1.4l.4 3.2c.4 3.5-2 6.7-5.6 7.2z"/>
     </g>
     <g mask="url(#H)">
-      <path fill="#FFF" fill-opacity="1" d="M14.482 6.572a0.798 0.798 0 0 0 -0.547 0.331l-2.286 2.97 -2.918 -2.253a0.796 0.796 0 0 0 -0.643 -0.216 0.808 0.808 0 0 0 -0.394 1.436l-0.012 0.01 2.981 2.304 0.64 0.493a0.808 0.808 0 0 0 1.132 -0.148l0.493 -0.64 2.305 -2.991a0.808 0.808 0 0 0 0.061 -0.902 0.808 0.808 0 0 0 -0.812 -0.394z" opacity="1"/>
+      <path fill="#FFF" d="M14.5 6.6a.8.8 0 0 0-.6.3l-2.3 3-2.9-2.3a.8.8 0 0 0-.6-.2.8.8 0 0 0-.4 1.4l3 2.4.6.4a.8.8 0 0 0 1.1-.1l.5-.6 2.3-3a.8.8 0 0 0 0-1 .8.8 0 0 0-.7-.3z"/>
     </g>
   </svg>
   <svg x="396">
     <defs>
       <mask id="J" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="I" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#I)">
-      <path fill="#EF3F56" fill-opacity="1" d="M12.44 15.008c-3.53 0.522 -6.814 -1.916 -7.336 -5.445l-0.473 -3.195a1.614 1.614 0 0 1 1.361 -1.834l9.585 -1.418a1.614 1.614 0 0 1 1.834 1.361l0.473 3.195c0.522 3.53 -1.916 6.814 -5.445 7.336z" opacity="1"/>
+      <path fill="#EF3F56" d="M12.4 15c-3.5.5-6.8-2-7.3-5.4l-.5-3.2A1.6 1.6 0 0 1 6 4.5l9.6-1.4a1.6 1.6 0 0 1 1.8 1.4l.5 3.2c.5 3.5-2 6.8-5.5 7.3z"/>
     </g>
     <g mask="url(#J)">
-      <path fill="#FFF" fill-opacity="1" d="M14.46 6.734a0.798 0.798 0 0 0 -0.54 0.341l-2.234 3.01 -2.957 -2.202a0.796 0.796 0 0 0 -0.646 -0.205 0.808 0.808 0 0 0 -0.37 1.442l-0.011 0.011 3.02 2.252 0.649 0.48a0.808 0.808 0 0 0 1.13 -0.166l0.48 -0.649 2.253 -3.031a0.808 0.808 0 0 0 0.046 -0.903 0.808 0.808 0 0 0 -0.82 -0.38z" opacity="1"/>
+      <path fill="#FFF" d="M14.5 6.7a.8.8 0 0 0-.6.4l-2.2 3-3-2.2a.8.8 0 0 0-.6-.2.8.8 0 0 0-.4 1.4l3 2.3.7.5a.8.8 0 0 0 1.1-.2l.5-.7 2.2-3a.8.8 0 0 0 0-.9.8.8 0 0 0-.7-.4z"/>
     </g>
   </svg>
   <svg x="418">
     <defs>
       <mask id="L" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="K" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#K)">
-      <path fill="#EF3F56" fill-opacity="1" d="M12.563 15.231c-3.519 0.584 -6.846 -1.795 -7.43 -5.314l-0.53 -3.187a1.614 1.614 0 0 1 1.33 -1.857l9.558 -1.587a1.614 1.614 0 0 1 1.858 1.328l0.529 3.187c0.584 3.519 -1.796 6.846 -5.315 7.43z" opacity="1"/>
+      <path fill="#EF3F56" d="M12.6 15.2A6.5 6.5 0 0 1 5 10l-.5-3.2A1.6 1.6 0 0 1 5.9 5l9.6-1.6a1.6 1.6 0 0 1 1.8 1.3l.6 3.2a6.5 6.5 0 0 1-5.3 7.4z"/>
     </g>
     <g mask="url(#L)">
-      <path fill="#FFF" fill-opacity="1" d="M14.438 6.923a0.798 0.798 0 0 0 -0.535 0.35l-2.18 3.05 -2.995 -2.15a0.796 0.796 0 0 0 -0.65 -0.194 0.808 0.808 0 0 0 -0.344 1.449l-0.011 0.01 3.06 2.199 0.657 0.47a0.808 0.808 0 0 0 1.126 -0.188l0.47 -0.656 2.198 -3.071a0.808 0.808 0 0 0 0.03 -0.903 0.808 0.808 0 0 0 -0.826 -0.366z" opacity="1"/>
+      <path fill="#FFF" d="M14.4 7a.8.8 0 0 0-.5.3l-2.2 3-3-2.1a.8.8 0 0 0-.6-.2.8.8 0 0 0-.4 1.4l3 2.2.7.5a.8.8 0 0 0 1.2-.2l.4-.6 2.2-3.1a.8.8 0 0 0 0-1 .8.8 0 0 0-.8-.3z"/>
     </g>
   </svg>
   <svg x="440">
     <defs>
       <mask id="N" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="M" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#M)">
-      <path fill="#EF3F56" fill-opacity="1" d="M12.688 15.481c-3.509 0.647 -6.877 -1.673 -7.524 -5.181l-0.586 -3.176a1.614 1.614 0 0 1 1.296 -1.881l9.528 -1.757a1.614 1.614 0 0 1 1.881 1.295l0.586 3.177c0.647 3.508 -1.673 6.877 -5.181 7.523z" opacity="1"/>
+      <path fill="#EF3F56" d="M12.7 15.5a6.5 6.5 0 0 1-7.5-5.2l-.6-3.2a1.6 1.6 0 0 1 1.3-1.9l9.5-1.7a1.6 1.6 0 0 1 1.9 1.3l.6 3.2a6.5 6.5 0 0 1-5.2 7.5z"/>
     </g>
     <g mask="url(#N)">
-      <path fill="#FFF" fill-opacity="1" d="M14.415 7.142a0.798 0.798 0 0 0 -0.53 0.359l-2.125 3.087 -3.033 -2.096a0.796 0.796 0 0 0 -0.653 -0.181 0.808 0.808 0 0 0 -0.318 1.454l-0.011 0.011 3.099 2.143 0.665 0.458a0.808 0.808 0 0 0 1.122 -0.207l0.458 -0.665 2.144 -3.11a0.808 0.808 0 0 0 0.014 -0.903 0.808 0.808 0 0 0 -0.832 -0.35z" opacity="1"/>
+      <path fill="#FFF" d="M14.4 7.1a.8.8 0 0 0-.5.4l-2.1 3-3-2a.8.8 0 0 0-.7-.2.8.8 0 0 0-.3 1.5l3 2.1.7.5a.8.8 0 0 0 1.1-.2l.5-.7 2.1-3.1a.8.8 0 0 0 0-1 .8.8 0 0 0-.8-.3z"/>
     </g>
   </svg>
   <svg x="462">
     <defs>
       <mask id="P" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="O" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#O)">
-      <path fill="#EF3F56" fill-opacity="1" d="M12.812 15.762c-3.496 0.71 -6.906 -1.55 -7.615 -5.046l-0.642 -3.165a1.614 1.614 0 0 1 1.261 -1.904l9.496 -1.927a1.614 1.614 0 0 1 1.904 1.261l0.642 3.166c0.71 3.496 -1.55 6.905 -5.046 7.615z" opacity="1"/>
+      <path fill="#EF3F56" d="M12.8 15.8a6.5 6.5 0 0 1-7.6-5l-.6-3.2a1.6 1.6 0 0 1 1.2-2l9.5-1.9a1.6 1.6 0 0 1 2 1.3l.6 3.1c.7 3.5-1.6 7-5 7.7z"/>
     </g>
     <g mask="url(#P)">
-      <path fill="#FFF" fill-opacity="1" d="M14.39 7.393a0.798 0.798 0 0 0 -0.523 0.369l-2.07 3.124 -3.07 -2.041a0.796 0.796 0 0 0 -0.656 -0.17 0.808 0.808 0 0 0 -0.292 1.46l-0.01 0.011 3.136 2.087 0.673 0.446a0.808 0.808 0 0 0 1.119 -0.227l0.446 -0.673 2.087 -3.147a0.808 0.808 0 0 0 -0.002 -0.904 0.808 0.808 0 0 0 -0.838 -0.335z" opacity="1"/>
+      <path fill="#FFF" d="M14.4 7.4a.8.8 0 0 0-.5.4l-2.1 3-3-2a.8.8 0 0 0-.7-.1.8.8 0 0 0-.3 1.4l3.1 2.1.7.5a.8.8 0 0 0 1.1-.2l.4-.7 2.1-3.2a.8.8 0 0 0 0-.9.8.8 0 0 0-.8-.3z"/>
     </g>
   </svg>
   <svg x="484">
     <defs>
       <mask id="R" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="Q" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#Q)">
-      <path fill="#EF3F56" fill-opacity="1" d="M12.937 16.077c-3.483 0.772 -6.933 -1.425 -7.705 -4.908l-0.7 -3.153a1.614 1.614 0 0 1 1.228 -1.927l9.46 -2.097a1.614 1.614 0 0 1 1.925 1.227l0.7 3.153c0.772 3.483 -1.426 6.933 -4.908 7.705z" opacity="1"/>
+      <path fill="#EF3F56" d="M13 16c-3.5.8-7-1.3-7.8-4.8L4.5 8a1.6 1.6 0 0 1 1.3-2l9.4-2a1.6 1.6 0 0 1 2 1.2l.6 3.2a6.4 6.4 0 0 1-4.9 7.7z"/>
     </g>
     <g mask="url(#R)">
-      <path fill="#FFF" fill-opacity="1" d="M14.363 7.68a0.798 0.798 0 0 0 -0.515 0.379l-2.014 3.162 -3.106 -1.986a0.796 0.796 0 0 0 -0.66 -0.159 0.808 0.808 0 0 0 -0.265 1.465l-0.01 0.012 3.173 2.03 0.68 0.434a0.808 0.808 0 0 0 1.116 -0.247l0.433 -0.681 2.031 -3.185a0.808 0.808 0 0 0 -0.018 -0.903 0.808 0.808 0 0 0 -0.845 -0.32z" opacity="1"/>
+      <path fill="#FFF" d="M14.4 7.7a.8.8 0 0 0-.6.4l-2 3.1-3-2a.8.8 0 0 0-.7-.1.8.8 0 0 0-.3 1.4l3.2 2 .6.5a.8.8 0 0 0 1.2-.2l.4-.7 2-3.2a.8.8 0 0 0 0-.9.8.8 0 0 0-.8-.3z"/>
     </g>
   </svg>
   <svg x="506">
     <defs>
       <mask id="T" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="S" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#S)">
-      <path fill="#EF3F56" fill-opacity="1" d="M13.06 16.431c-3.468 0.835 -6.957 -1.3 -7.792 -4.768l-0.755 -3.14a1.614 1.614 0 0 1 1.192 -1.948l9.42 -2.268a1.614 1.614 0 0 1 1.948 1.192l0.756 3.14c0.835 3.468 -1.3 6.957 -4.769 7.792z" opacity="1"/>
+      <path fill="#EF3F56" d="M13 16.4a6.3 6.3 0 0 1-7.7-4.7l-.8-3.2a1.6 1.6 0 0 1 1.2-2l9.4-2.2a1.6 1.6 0 0 1 2 1.2l.7 3.1c.9 3.5-1.3 7-4.7 7.8z"/>
     </g>
     <g mask="url(#T)">
-      <path fill="#FFF" fill-opacity="1" d="M14.336 8.01a0.798 0.798 0 0 0 -0.51 0.388l-1.955 3.197 -3.142 -1.93a0.796 0.796 0 0 0 -0.662 -0.146 0.808 0.808 0 0 0 -0.24 1.47l-0.01 0.011 3.21 1.974 0.689 0.42a0.808 0.808 0 0 0 1.11 -0.266l0.421 -0.689 1.973 -3.22a0.808 0.808 0 0 0 -0.034 -0.903 0.808 0.808 0 0 0 -0.85 -0.306z" opacity="1"/>
+      <path fill="#FFF" d="M14.3 8a.8.8 0 0 0-.5.4l-2 3.2-3-2a.8.8 0 0 0-.7 0 .8.8 0 0 0-.3 1.4l3.2 2 .7.4a.8.8 0 0 0 1.1-.3l.4-.7 2-3.2a.8.8 0 0 0 0-.9.8.8 0 0 0-.9-.3z"/>
     </g>
   </svg>
   <svg x="528">
     <defs>
       <mask id="V" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="U" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#U)">
-      <path fill="#EF3F56" fill-opacity="1" d="M13.183 16.83c-3.452 0.897 -6.979 -1.174 -7.876 -4.627l-0.813 -3.126a1.614 1.614 0 0 1 1.157 -1.97l9.378 -2.436a1.614 1.614 0 0 1 1.97 1.157l0.812 3.126c0.897 3.452 -1.175 6.979 -4.628 7.876z" opacity="1"/>
+      <path fill="#EF3F56" d="M13.2 16.8c-3.5 1-7-1.1-7.9-4.6l-.8-3.1a1.6 1.6 0 0 1 1.2-2L15 4.7a1.6 1.6 0 0 1 2 1.1l.8 3.2c1 3.4-1.2 7-4.6 7.8z"/>
     </g>
     <g mask="url(#V)">
-      <path fill="#FFF" fill-opacity="1" d="M14.307 8.388a0.798 0.798 0 0 0 -0.502 0.396l-1.898 3.233 -3.176 -1.873a0.796 0.796 0 0 0 -0.665 -0.134 0.808 0.808 0 0 0 -0.212 1.473l-0.01 0.012 3.244 1.915 0.696 0.409a0.808 0.808 0 0 0 1.105 -0.287l0.41 -0.696 1.914 -3.256a0.808 0.808 0 0 0 -0.051 -0.902 0.808 0.808 0 0 0 -0.855 -0.29z" opacity="1"/>
+      <path fill="#FFF" d="M14.3 8.4a.8.8 0 0 0-.5.4L11.9 12l-3.2-1.9a.8.8 0 0 0-.6 0 .8.8 0 0 0-.2 1.4l3.2 2 .7.3a.8.8 0 0 0 1-.3l.5-.7 2-3.2a.8.8 0 0 0-.1-1 .8.8 0 0 0-.9-.2z"/>
     </g>
   </svg>
   <svg x="550">
     <defs>
       <mask id="X" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="W" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#W)">
-      <path fill="#EF3F56" fill-opacity="1" d="M13.305 17.282c-3.436 0.959 -7 -1.049 -7.959 -4.485l-0.868 -3.11a1.614 1.614 0 0 1 1.121 -1.99l9.333 -2.606a1.614 1.614 0 0 1 1.99 1.121l0.868 3.11c0.96 3.437 -1.049 7 -4.485 7.96z" opacity="1"/>
+      <path fill="#EF3F56" d="M13.3 17.3c-3.4 1-7-1-8-4.5l-.8-3.1a1.6 1.6 0 0 1 1.1-2l9.3-2.6a1.6 1.6 0 0 1 2 1.1l.9 3.1c1 3.5-1 7-4.5 8z"/>
     </g>
     <g mask="url(#X)">
-      <path fill="#FFF" fill-opacity="1" d="M14.276 8.82a0.798 0.798 0 0 0 -0.494 0.406l-1.84 3.266 -3.209 -1.815a0.796 0.796 0 0 0 -0.667 -0.123 0.808 0.808 0 0 0 -0.186 1.477l-0.01 0.013 3.279 1.856 0.703 0.396a0.808 0.808 0 0 0 1.1 -0.307l0.396 -0.703 1.856 -3.29a0.808 0.808 0 0 0 -0.067 -0.901 0.808 0.808 0 0 0 -0.86 -0.274z" opacity="1"/>
+      <path fill="#FFF" d="M14.3 8.8a.8.8 0 0 0-.5.4l-1.9 3.3-3.2-1.8a.8.8 0 0 0-.6-.1.8.8 0 0 0-.2 1.4l3.1 2 .8.4a.8.8 0 0 0 1-.3l.4-.7 1.9-3.3a.8.8 0 0 0 0-.9.8.8 0 0 0-1-.3z"/>
     </g>
   </svg>
   <svg x="572">
     <defs>
       <mask id="Z" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="Y" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#Y)">
-      <path fill="#EF3F56" fill-opacity="1" d="M13.426 17.795c-3.419 1.02 -7.018 -0.923 -8.038 -4.341l-0.925 -3.095a1.614 1.614 0 0 1 1.085 -2.01l9.285 -2.772a1.614 1.614 0 0 1 2.009 1.085l0.924 3.095c1.021 3.418 -0.922 7.017 -4.34 8.038z" opacity="1"/>
+      <path fill="#EF3F56" d="M13.4 17.8c-3.4 1-7-1-8-4.3l-1-3.1a1.6 1.6 0 0 1 1.1-2l9.3-2.8a1.6 1.6 0 0 1 2 1l1 3.2c1 3.4-1 7-4.4 8z"/>
     </g>
     <g mask="url(#Z)">
-      <path fill="#FFF" fill-opacity="1" d="M14.244 9.318a0.798 0.798 0 0 0 -0.487 0.414l-1.78 3.298 -3.241 -1.757a0.796 0.796 0 0 0 -0.67 -0.11 0.808 0.808 0 0 0 -0.16 1.48l-0.009 0.012 3.312 1.797 0.71 0.384a0.808 0.808 0 0 0 1.094 -0.327l0.384 -0.71 1.796 -3.323a0.808 0.808 0 0 0 -0.083 -0.9 0.808 0.808 0 0 0 -0.866 -0.258z" opacity="1"/>
+      <path fill="#FFF" d="M14.2 9.3a.8.8 0 0 0-.4.4L12 13l-3.3-1.7a.8.8 0 0 0-.6-.1.8.8 0 0 0-.2 1.4l3.3 1.9.7.3a.8.8 0 0 0 1.1-.3l.4-.7 1.8-3.3a.8.8 0 0 0 0-1 .8.8 0 0 0-1-.2z"/>
     </g>
   </svg>
   <svg x="594">
     <defs>
       <mask id="ab" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="aa" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#aa)">
-      <path fill="#EF3F56" fill-opacity="1" d="M13.544 18.382c-3.4 1.081 -7.032 -0.797 -8.114 -4.197l-0.98 -3.077a1.614 1.614 0 0 1 1.05 -2.029l9.232 -2.939a1.614 1.614 0 0 1 2.029 1.05l0.98 3.077c1.081 3.4 -0.798 7.033 -4.197 8.115z" opacity="1"/>
+      <path fill="#EF3F56" d="M13.5 18.4c-3.4 1-7-.8-8-4.2l-1-3a1.6 1.6 0 0 1 1-2.1l9.2-3a1.6 1.6 0 0 1 2 1l1 3.2c1.1 3.4-.8 7-4.2 8z"/>
     </g>
     <g mask="url(#ab)">
-      <path fill="#FFF" fill-opacity="1" d="M14.21 9.891a0.798 0.798 0 0 0 -0.479 0.423l-1.721 3.33 -3.272 -1.7a0.796 0.796 0 0 0 -0.67 -0.097 0.808 0.808 0 0 0 -0.134 1.482l-0.01 0.013 3.344 1.737 0.717 0.37a0.808 0.808 0 0 0 1.088 -0.345l0.37 -0.718 1.737 -3.354a0.808 0.808 0 0 0 -0.1 -0.898 0.808 0.808 0 0 0 -0.87 -0.243z" opacity="1"/>
+      <path fill="#FFF" d="M14.2 9.9a.8.8 0 0 0-.5.4L12 13.6 8.7 12a.8.8 0 0 0-.6 0 .8.8 0 0 0-.2 1.4l3.4 1.8.7.3a.8.8 0 0 0 1-.3l.4-.7 1.8-3.4a.8.8 0 0 0-.1-.9.8.8 0 0 0-.9-.2z"/>
     </g>
   </svg>
   <svg x="616">
     <defs>
       <mask id="ad" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="ac" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
+    <use fill="context-fill" href="#books"/>
     <g mask="url(#ac)">
-      <path fill="#EF3F56" fill-opacity="1" d="M13.66 19.058c-3.38 1.143 -7.045 -0.671 -8.187 -4.05l-1.035 -3.06a1.614 1.614 0 0 1 1.013 -2.047l9.18 -3.103a1.614 1.614 0 0 1 2.046 1.013l1.034 3.06c1.143 3.379 -0.671 7.045 -4.05 8.187z" opacity="1"/>
+      <path fill="#EF3F56" d="M13.7 19c-3.4 1.2-7-.6-8.2-4l-1-3a1.6 1.6 0 0 1 1-2.1l9.1-3.1a1.6 1.6 0 0 1 2 1l1.1 3a6.6 6.6 0 0 1-4 8.3z"/>
     </g>
     <g mask="url(#ad)">
-      <path fill="#FFF" fill-opacity="1" d="M14.176 10.557a0.798 0.798 0 0 0 -0.472 0.432l-1.662 3.36 -3.301 -1.64a0.796 0.796 0 0 0 -0.673 -0.087 0.808 0.808 0 0 0 -0.107 1.485l-0.01 0.012 3.375 1.678 0.723 0.358a0.808 0.808 0 0 0 1.082 -0.366l0.358 -0.723 1.676 -3.385a0.808 0.808 0 0 0 -0.115 -0.896 0.808 0.808 0 0 0 -0.874 -0.228z" opacity="1"/>
+      <path fill="#FFF" d="M14.2 10.6a.8.8 0 0 0-.5.4L12 14.3l-3.3-1.6a.8.8 0 0 0-.6 0A.8.8 0 0 0 8 14l3.3 1.7.7.4a.8.8 0 0 0 1.1-.4l.4-.7 1.7-3.4a.8.8 0 0 0-.1-1 .8.8 0 0 0-1-.1z"/>
     </g>
   </svg>
   <svg x="638">
     <defs>
       <mask id="af" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="ae" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5166 0 0 .5 13.667 28.016)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5166 0 0 .5 13.667 28.016)"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5166 0 0 .5 13.667 28.016)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M7.985 22.141c-0.57 0 -1.033 0.448 -1.033 1v10c0 0.552 0.463 1 1.033 1 0.57 0 1.033 -0.448 1.033 -1v-10c0 -0.552 -0.462 -1 -1.033 -1zm3.1 -1c-0.57 0 -1.033 0.448 -1.033 1v11c0 0.552 0.462 1 1.033 1 0.57 0 1.033 -0.448 1.033 -1v-11c0 -0.552 -0.463 -1 -1.033 -1zm8.202 11.658l-4.132 -11c-0.185 -0.523 -0.772 -0.8 -1.313 -0.622 -0.539 0.178 -0.827 0.747 -0.642 1.27a0.509 0.509 0 0 0 0.013 0.036l4.133 11c0.185 0.523 0.772 0.801 1.312 0.622 0.54 -0.178 0.828 -0.747 0.643 -1.27 -0.004 -0.012 -0.008 -0.024 -0.014 -0.036zm-14.401 -12.658c-0.57 0 -1.034 0.448 -1.034 1v12c0 0.552 0.463 1 1.034 1 0.57 0 1.033 -0.448 1.033 -1v-12c0 -0.552 -0.463 -1 -1.033 -1z" opacity="1"/>
+    <path fill="context-fill" d="M8 22.1a1 1 0 0 0-1 1v10c0 .6.4 1 1 1s1-.4 1-1v-10c0-.5-.4-1-1-1zm3-1a1 1 0 0 0-1 1v11c0 .6.5 1 1 1 .7 0 1.1-.4 1.1-1v-11c0-.5-.4-1-1-1zm8.3 11.7l-4.1-11a1 1 0 0 0-1.4-.6 1 1 0 0 0-.6 1.2l4.1 11c.2.6.8.9 1.4.7.5-.2.8-.7.6-1.3zM4.9 20.1a1 1 0 0 0-1 1v12c0 .6.4 1 1 1s1-.4 1-1v-12c0-.5-.4-1-1-1z"/>
     <g mask="url(#ae)">
-      <path fill="#EF3F56" fill-opacity="1" d="M13.774 19.847c-3.359 1.202 -7.056 -0.547 -8.258 -3.905l-1.088 -3.041a1.614 1.614 0 0 1 0.976 -2.065l9.123 -3.264a1.614 1.614 0 0 1 2.065 0.976l1.088 3.041c1.202 3.36 -0.547 7.057 -3.906 8.258z" opacity="1"/>
+      <path fill="#EF3F56" d="M13.8 19.8c-3.4 1.2-7-.5-8.3-3.9l-1-3a1.6 1.6 0 0 1 .9-2l9.1-3.3a1.6 1.6 0 0 1 2 1l1.2 3c1.2 3.3-.6 7-4 8.2z"/>
     </g>
     <g mask="url(#af)">
-      <path fill="#FFF" fill-opacity="1" d="M14.14 11.339a0.798 0.798 0 0 0 -0.465 0.44l-1.602 3.388 -3.33 -1.582a0.796 0.796 0 0 0 -0.674 -0.074 0.808 0.808 0 0 0 -0.08 1.486l-0.01 0.013 3.403 1.618 0.73 0.345a0.808 0.808 0 0 0 1.075 -0.385l0.345 -0.73 1.616 -3.413a0.808 0.808 0 0 0 -0.13 -0.894 0.808 0.808 0 0 0 -0.879 -0.212z" opacity="1"/>
+      <path fill="#FFF" d="M14.1 11.3a.8.8 0 0 0-.4.5L12 15.2l-3.4-1.6a.8.8 0 0 0-.6 0A.8.8 0 0 0 8 15l3.4 1.6.7.4a.8.8 0 0 0 1-.4l.4-.7 1.6-3.5a.8.8 0 0 0 0-.8.8.8 0 0 0-1-.3z"/>
     </g>
   </svg>
   <svg x="660">
     <defs>
       <mask id="ah" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="ag" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5332 0 0 .5 13.9 28.407)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5332 0 0 .5 13.9 28.407)"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5332 0 0 .5 13.9 28.407)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8.035 22.532c-0.589 0 -1.066 0.448 -1.066 1v10c0 0.552 0.477 1 1.066 1 0.589 0 1.066 -0.448 1.066 -1v-10c0 -0.552 -0.477 -1 -1.066 -1zm3.2 -1c-0.59 0 -1.067 0.448 -1.067 1v11c0 0.552 0.478 1 1.066 1 0.589 0 1.067 -0.448 1.067 -1v-11c0 -0.552 -0.478 -1 -1.067 -1zm8.465 11.658l-4.265 -11c-0.191 -0.523 -0.797 -0.8 -1.355 -0.622 -0.556 0.178 -0.854 0.747 -0.663 1.27l0.014 0.036 4.266 11c0.19 0.523 0.796 0.801 1.354 0.622 0.557 -0.178 0.854 -0.747 0.663 -1.27 -0.004 -0.012 -0.008 -0.024 -0.014 -0.036zm-14.864 -12.658c-0.589 0 -1.067 0.448 -1.067 1v12c0 0.552 0.478 1 1.067 1 0.588 0 1.066 -0.448 1.066 -1v-12c0 -0.552 -0.478 -1 -1.066 -1z" opacity="1"/>
+    <path fill="context-fill" d="M8 22.5a1 1 0 0 0-1 1v10c0 .6.4 1 1 1s1.1-.4 1.1-1v-10c0-.5-.5-1-1-1zm3.2-1a1 1 0 0 0-1 1v11c0 .6.4 1 1 1s1.1-.4 1.1-1v-11c0-.5-.5-1-1-1zm8.5 11.7l-4.3-11a1 1 0 0 0-1.3-.6 1 1 0 0 0-.7 1.2l4.3 11c.2.6.8.9 1.4.7.5-.2.8-.8.6-1.3zM4.8 20.5a1 1 0 0 0-1 1v12c0 .6.4 1 1 1s1.1-.4 1.1-1v-12c0-.5-.5-1-1-1z"/>
     <g mask="url(#ag)">
-      <path fill="#EF3F56" fill-opacity="1" d="M13.884 20.78c-3.337 1.261 -7.065 -0.423 -8.325 -3.76l-1.141 -3.021a1.614 1.614 0 0 1 0.94 -2.082l9.064 -3.423a1.614 1.614 0 0 1 2.082 0.94l1.14 3.022c1.261 3.337 -0.423 7.065 -3.76 8.325z" opacity="1"/>
+      <path fill="#EF3F56" d="M13.9 20.8c-3.4 1.2-7-.4-8.3-3.8l-1.2-3a1.6 1.6 0 0 1 1-2l9-3.5a1.6 1.6 0 0 1 2.1 1l1.1 3c1.3 3.3-.4 7-3.7 8.3z"/>
     </g>
     <g mask="url(#ah)">
-      <path fill="#FFF" fill-opacity="1" d="M14.1 12.267a0.798 0.798 0 0 0 -0.456 0.448l-1.543 3.416 -3.357 -1.523a0.796 0.796 0 0 0 -0.675 -0.063 0.808 0.808 0 0 0 -0.054 1.488l-0.01 0.013 3.431 1.557 0.736 0.333a0.808 0.808 0 0 0 1.068 -0.404l0.332 -0.735 1.557 -3.442a0.808 0.808 0 0 0 -0.147 -0.89 0.808 0.808 0 0 0 -0.881 -0.198z" opacity="1"/>
+      <path fill="#FFF" d="M14.1 12.3a.8.8 0 0 0-.5.4l-1.5 3.4-3.4-1.5a.8.8 0 0 0-.6 0A.8.8 0 0 0 8 16l3.4 1.6.8.3a.8.8 0 0 0 1-.4l.4-.7 1.5-3.4a.8.8 0 0 0-.1-1 .8.8 0 0 0-.9-.1z"/>
     </g>
   </svg>
   <svg x="682">
     <defs>
       <mask id="aj" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="ai" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.54974 0 0 .5 14.157 28.922)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.54974 0 0 .5 14.157 28.922)"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.54974 0 0 .5 14.157 28.922)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8.11 23.047c-0.606 0 -1.099 0.448 -1.099 1v10c0 0.552 0.493 1 1.1 1 0.607 0 1.1 -0.448 1.1 -1v-10c0 -0.552 -0.493 -1 -1.1 -1zm3.3 -1c-0.608 0 -1.1 0.448 -1.1 1v11c0 0.552 0.492 1 1.1 1 0.606 0 1.099 -0.448 1.099 -1v-11c0 -0.552 -0.493 -1 -1.1 -1zm8.728 11.658l-4.398 -11c-0.197 -0.523 -0.821 -0.8 -1.396 -0.622 -0.574 0.178 -0.881 0.747 -0.684 1.27l0.014 0.036 4.398 11c0.197 0.523 0.821 0.801 1.396 0.622 0.574 -0.178 0.881 -0.747 0.684 -1.27l-0.014 -0.036zm-15.326 -12.658c-0.607 0 -1.1 0.448 -1.1 1v12c0 0.552 0.493 1 1.1 1 0.607 0 1.1 -0.448 1.1 -1v-12c0 -0.552 -0.493 -1 -1.1 -1z" opacity="1"/>
+    <path fill="context-fill" d="M8.1 23a1 1 0 0 0-1 1v10c0 .6.4 1 1 1s1.1-.4 1.1-1V24c0-.5-.5-1-1-1zm3.3-1a1 1 0 0 0-1 1v11c0 .6.4 1 1 1s1.1-.4 1.1-1V23c0-.5-.5-1-1-1zm8.7 11.7l-4.4-11c-.2-.5-.8-.8-1.4-.6a1 1 0 0 0-.6 1.3l4.4 11c.2.5.8.8 1.4.6.5-.2.8-.7.7-1.3zM4.8 21a1 1 0 0 0-1 1v12c0 .6.4 1 1 1S6 34.6 6 34V22c0-.5-.5-1-1-1z"/>
     <g mask="url(#ai)">
-      <path fill="#EF3F56" fill-opacity="1" d="M13.99 21.907c-3.315 1.318 -7.07 -0.301 -8.389 -3.616l-1.193 -3.001a1.614 1.614 0 0 1 0.904 -2.098l9.004 -3.58a1.614 1.614 0 0 1 2.097 0.905l1.193 3.001c1.318 3.315 -0.3 7.071 -3.616 8.39z" opacity="1"/>
+      <path fill="#EF3F56" d="M14 22c-3.3 1.2-7-.4-8.4-3.7l-1.2-3a1.6 1.6 0 0 1 1-2.1l9-3.6a1.6 1.6 0 0 1 2 1l1.2 3c1.3 3.2-.3 7-3.6 8.3z"/>
     </g>
     <g mask="url(#aj)">
-      <path fill="#FFF" fill-opacity="1" d="M14.06 13.39a0.798 0.798 0 0 0 -0.45 0.456l-1.483 3.443 -3.383 -1.465a0.796 0.796 0 0 0 -0.676 -0.051 0.808 0.808 0 0 0 -0.029 1.488l-0.008 0.013 3.457 1.499 0.741 0.32a0.808 0.808 0 0 0 1.061 -0.423l0.32 -0.741 1.496 -3.468a0.808 0.808 0 0 0 -0.162 -0.888 0.808 0.808 0 0 0 -0.885 -0.182z" opacity="1"/>
+      <path fill="#FFF" d="M14 13.4a.8.8 0 0 0-.4.4l-1.5 3.5-3.4-1.5a.8.8 0 0 0-.6 0 .8.8 0 0 0 0 1.5l3.4 1.5.7.3a.8.8 0 0 0 1-.4l.4-.8 1.5-3.4a.8.8 0 0 0-.2-1 .8.8 0 0 0-.8-.1z"/>
     </g>
   </svg>
   <svg x="704">
     <defs>
       <mask id="al" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="ak" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.56608 0 0 .5 14.405 29.44)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.56608 0 0 .5 14.405 29.44)"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.56608 0 0 .5 14.405 29.44)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8.18 23.565c-0.626 0 -1.133 0.448 -1.133 1v10c0 0.552 0.507 1 1.132 1 0.625 0 1.133 -0.448 1.133 -1v-10c0 -0.552 -0.508 -1 -1.133 -1zm3.396 -1c-0.625 0 -1.132 0.448 -1.132 1v11c0 0.552 0.507 1 1.132 1 0.625 0 1.132 -0.448 1.132 -1v-11c0 -0.552 -0.507 -1 -1.132 -1zm8.988 11.658l-4.529 -11c-0.202 -0.523 -0.845 -0.8 -1.437 -0.622 -0.591 0.178 -0.907 0.747 -0.705 1.27a0.481 0.481 0 0 0 0.015 0.036l4.529 11c0.202 0.523 0.846 0.801 1.438 0.622 0.59 -0.178 0.907 -0.747 0.704 -1.27a0.481 0.481 0 0 0 -0.015 -0.036zm-15.781 -12.658c-0.625 0 -1.132 0.448 -1.132 1v12c0 0.552 0.507 1 1.132 1 0.625 0 1.132 -0.448 1.132 -1v-12c0 -0.552 -0.507 -1 -1.132 -1z" opacity="1"/>
+    <path fill="context-fill" d="M8.2 23.6c-.6 0-1.2.4-1.2 1v10c0 .5.6 1 1.2 1s1.1-.5 1.1-1v-10c0-.6-.5-1-1.1-1zm3.4-1c-.6 0-1.2.4-1.2 1v11c0 .5.6 1 1.2 1s1.1-.5 1.1-1v-11c0-.6-.5-1-1.1-1zm9 11.6l-4.6-11c-.2-.5-.8-.8-1.4-.6-.6.2-1 .7-.7 1.3l4.5 11c.2.5.9.8 1.5.6.6-.1.9-.7.7-1.2zM4.8 21.6c-.6 0-1.1.4-1.1 1v12c0 .5.5 1 1 1 .7 0 1.2-.5 1.2-1v-12c0-.6-.5-1-1.1-1z"/>
     <g mask="url(#ak)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.091 23.304c-3.292 1.374 -7.075 -0.181 -8.45 -3.473l-1.243 -2.98a1.614 1.614 0 0 1 0.868 -2.113l8.941 -3.732a1.614 1.614 0 0 1 2.113 0.868l1.244 2.98c1.374 3.292 -0.18 7.076 -3.473 8.45z" opacity="1"/>
+      <path fill="#EF3F56" d="M14 23.3c-3.2 1.4-7-.2-8.4-3.5l-1.2-3a1.6 1.6 0 0 1 .9-2l9-3.8a1.6 1.6 0 0 1 2 .9l1.3 3c1.3 3.2-.2 7-3.5 8.4z"/>
     </g>
     <g mask="url(#al)">
-      <path fill="#FFF" fill-opacity="1" d="M14.015 14.788a0.798 0.798 0 0 0 -0.44 0.463l-1.425 3.467 -3.408 -1.407a0.796 0.796 0 0 0 -0.677 -0.04 0.808 0.808 0 0 0 -0.003 1.489l-0.009 0.013 3.483 1.44 0.746 0.306a0.808 0.808 0 0 0 1.054 -0.44l0.307 -0.746 1.437 -3.493a0.808 0.808 0 0 0 -0.177 -0.886 0.808 0.808 0 0 0 -0.888 -0.166z" opacity="1"/>
+      <path fill="#FFF" d="M14 14.8a.8.8 0 0 0-.4.5l-1.4 3.4-3.5-1.4a.8.8 0 0 0-.6 0 .8.8 0 0 0 0 1.5l3.4 1.4.8.3a.8.8 0 0 0 1-.4l.3-.8 1.5-3.5a.8.8 0 0 0-.2-.8.8.8 0 0 0-.9-.2z"/>
     </g>
   </svg>
   <svg x="726">
     <defs>
       <mask id="an" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="am" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.58198 0 0 .5 14.61 29.84)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.58198 0 0 .5 14.61 29.84)"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.58198 0 0 .5 14.61 29.84)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8.209 23.965c-0.643 0 -1.164 0.448 -1.164 1v10c0 0.552 0.521 1 1.164 1 0.642 0 1.164 -0.448 1.164 -1v-10c0 -0.552 -0.522 -1 -1.164 -1zm3.492 -1c-0.643 0 -1.164 0.448 -1.164 1v11c0 0.552 0.521 1 1.164 1 0.642 0 1.164 -0.448 1.164 -1v-11c0 -0.552 -0.522 -1 -1.164 -1zm9.24 11.658l-4.655 -11c-0.209 -0.523 -0.87 -0.801 -1.479 -0.622 -0.607 0.178 -0.932 0.747 -0.724 1.27a0.474 0.474 0 0 0 0.016 0.036l4.655 11c0.209 0.523 0.87 0.8 1.479 0.622 0.607 -0.178 0.932 -0.747 0.724 -1.27l-0.016 -0.036zm-16.224 -12.658c-0.642 0 -1.164 0.448 -1.164 1v12c0 0.552 0.522 1 1.164 1 0.643 0 1.164 -0.448 1.164 -1v-12c0 -0.552 -0.521 -1 -1.164 -1z" opacity="1"/>
+    <path fill="context-fill" d="M8.2 24c-.6 0-1.2.4-1.2 1v10c0 .5.6 1 1.2 1 .7 0 1.2-.5 1.2-1V25c0-.6-.5-1-1.2-1zm3.5-1c-.6 0-1.2.4-1.2 1v11c0 .5.6 1 1.2 1s1.2-.5 1.2-1V24c0-.6-.6-1-1.2-1zm9.2 11.6l-4.6-11c-.2-.5-.9-.8-1.5-.6-.6.2-1 .7-.7 1.3l4.7 11c.2.5.8.8 1.4.6.6-.1 1-.7.8-1.2zM4.7 22c-.6 0-1.1.4-1.1 1v12c0 .5.5 1 1.1 1 .7 0 1.2-.5 1.2-1V23c0-.6-.5-1-1.2-1z"/>
     <g mask="url(#am)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.185 25.102c-3.269 1.429 -7.077 -0.063 -8.506 -3.331l-1.294 -2.96a1.614 1.614 0 0 1 0.833 -2.126l8.878 -3.882a1.614 1.614 0 0 1 2.126 0.833l1.294 2.96c1.429 3.268 -0.062 7.077 -3.331 8.506z" opacity="1"/>
+      <path fill="#EF3F56" d="M14.2 25.1c-3.3 1.4-7 0-8.5-3.3l-1.3-3a1.6 1.6 0 0 1 .8-2.1l8.9-3.9a1.6 1.6 0 0 1 2.1.8l1.3 3c1.4 3.3 0 7-3.3 8.5z"/>
     </g>
     <g mask="url(#an)">
-      <path fill="#FFF" fill-opacity="1" d="M13.967 16.588a0.798 0.798 0 0 0 -0.434 0.47l-1.366 3.49 -3.43 -1.35a0.796 0.796 0 0 0 -0.678 -0.028 0.808 0.808 0 0 0 0.022 1.49l-0.009 0.012 3.506 1.381 0.752 0.295a0.808 0.808 0 0 0 1.046 -0.458l0.294 -0.752 1.379 -3.516a0.808 0.808 0 0 0 -0.192 -0.882 0.808 0.808 0 0 0 -0.89 -0.152z" opacity="1"/>
+      <path fill="#FFF" d="M14 16.6a.8.8 0 0 0-.5.5l-1.3 3.4-3.5-1.3a.8.8 0 0 0-.6 0 .8.8 0 0 0 0 1.5l3.5 1.4.7.2a.8.8 0 0 0 1-.4l.4-.8 1.3-3.5a.8.8 0 0 0-.1-.9.8.8 0 0 0-1-.1z"/>
     </g>
   </svg>
   <svg x="748">
     <defs>
       <mask id="ap" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="ao" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5969 0 0 .5 14.733 30)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5969 0 0 .5 14.733 30)"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.5969 0 0 .5 14.733 30)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8.169 24.125c-0.66 0 -1.194 0.448 -1.194 1v10c0 0.552 0.535 1 1.194 1 0.659 0 1.193 -0.448 1.193 -1v-10c0 -0.552 -0.534 -1 -1.193 -1zm3.581 -1c-0.659 0 -1.194 0.448 -1.194 1v11c0 0.552 0.535 1 1.194 1 0.659 0 1.194 -0.448 1.194 -1v-11c0 -0.552 -0.535 -1 -1.194 -1zm9.478 11.658l-4.776 -11c-0.213 -0.523 -0.891 -0.801 -1.516 -0.622 -0.623 0.178 -0.956 0.747 -0.742 1.27a0.467 0.467 0 0 0 0.015 0.036l4.775 11c0.214 0.523 0.892 0.801 1.517 0.622 0.623 -0.178 0.956 -0.747 0.742 -1.27l-0.015 -0.036zm-16.64 -12.658c-0.66 0 -1.195 0.448 -1.195 1v12c0 0.552 0.535 1 1.194 1 0.66 0 1.194 -0.448 1.194 -1v-12c0 -0.552 -0.535 -1 -1.194 -1z" opacity="1"/>
+    <path fill="context-fill" d="M8.2 24.1c-.7 0-1.2.5-1.2 1v10c0 .6.5 1 1.2 1 .6 0 1.2-.4 1.2-1v-10c0-.5-.6-1-1.2-1zm3.6-1c-.7 0-1.2.5-1.2 1v11c0 .6.5 1 1.2 1 .6 0 1.1-.4 1.1-1v-11c0-.5-.5-1-1.2-1zm9.4 11.7l-4.7-11c-.3-.5-1-.8-1.6-.6-.6.1-1 .7-.7 1.2l4.8 11c.2.6.9.9 1.5.7.6-.2 1-.8.7-1.3zM4.6 22c-.7 0-1.2.5-1.2 1v12c0 .6.5 1 1.2 1 .6 0 1.2-.4 1.2-1V23c0-.5-.6-1-1.2-1z"/>
     <g mask="url(#ao)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.27 27.514c-3.246 1.482 -7.078 0.053 -8.56 -3.191l-1.342 -2.938a1.614 1.614 0 0 1 0.797 -2.14l8.814 -4.026a1.614 1.614 0 0 1 2.14 0.798l1.342 2.938c1.482 3.244 0.053 7.077 -3.192 8.56z" opacity="1"/>
+      <path fill="#EF3F56" d="M14.3 27.5a6.5 6.5 0 0 1-8.6-3.2l-1.3-3a1.6 1.6 0 0 1 .8-2l8.8-4a1.6 1.6 0 0 1 2.1.7l1.4 3c1.4 3.2 0 7-3.2 8.5z"/>
     </g>
     <g mask="url(#ap)">
-      <path fill="#FFF" fill-opacity="1" d="M13.912 19.005a0.798 0.798 0 0 0 -0.426 0.478l-1.309 3.512 -3.452 -1.294a0.796 0.796 0 0 0 -0.678 -0.017 0.808 0.808 0 0 0 0.046 1.488l-0.008 0.014 3.528 1.323 0.756 0.282a0.808 0.808 0 0 0 1.039 -0.475l0.282 -0.756 1.32 -3.538a0.808 0.808 0 0 0 -0.206 -0.88 0.808 0.808 0 0 0 -0.892 -0.137z" opacity="1"/>
+      <path fill="#FFF" d="M14 19a.8.8 0 0 0-.5.5L12.2 23l-3.5-1.3a.8.8 0 0 0-.7 0 .8.8 0 0 0 0 1.5l3.6 1.3.8.3a.8.8 0 0 0 1-.5l.3-.7L15 20a.8.8 0 0 0-.2-.9.8.8 0 0 0-.9-.1z"/>
     </g>
   </svg>
   <svg x="770">
     <defs>
       <mask id="ar" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="aq" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.60979 0 0 .5 14.812 29.779)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.60979 0 0 .5 14.812 29.779)"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.60979 0 0 .5 14.812 29.779)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8.105 23.904c-0.673 0 -1.22 0.448 -1.22 1v10c0 0.552 0.547 1 1.22 1 0.674 0 1.22 -0.448 1.22 -1v-10c0 -0.552 -0.546 -1 -1.22 -1zm3.659 -1c-0.673 0 -1.22 0.448 -1.22 1v11c0 0.552 0.547 1 1.22 1 0.673 0 1.22 -0.448 1.22 -1v-11c0 -0.552 -0.547 -1 -1.22 -1zm9.682 11.658l-4.878 -11c-0.218 -0.523 -0.911 -0.801 -1.549 -0.622 -0.637 0.178 -0.977 0.747 -0.758 1.27a0.462 0.462 0 0 0 0.015 0.036l4.879 11c0.218 0.523 0.91 0.8 1.549 0.622 0.636 -0.178 0.976 -0.747 0.758 -1.27l-0.016 -0.036zm-17 -12.658c-0.673 0 -1.219 0.448 -1.219 1v12c0 0.552 0.546 1 1.22 1 0.673 0 1.22 -0.448 1.22 -1v-12c0 -0.552 -0.547 -1 -1.22 -1z" opacity="1"/>
+    <path fill="context-fill" d="M8.1 23.9c-.7 0-1.2.5-1.2 1v10c0 .6.5 1 1.2 1s1.2-.4 1.2-1v-10c0-.5-.5-1-1.2-1zm3.7-1c-.7 0-1.3.5-1.3 1v11c0 .6.6 1 1.3 1 .6 0 1.2-.4 1.2-1v-11c0-.5-.6-1-1.2-1zm9.6 11.7l-4.8-11c-.3-.6-1-.8-1.6-.7-.6.2-1 .8-.7 1.3l4.9 11c.2.6.9.8 1.5.7.6-.2 1-.8.8-1.3zm-17-12.7c-.6 0-1.2.5-1.2 1v12c0 .6.6 1 1.2 1 .7 0 1.3-.4 1.3-1v-12c0-.5-.6-1-1.3-1z"/>
     <g mask="url(#aq)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.342 30.655c-3.22 1.534 -7.075 0.166 -8.61 -3.055l-1.388 -2.916a1.614 1.614 0 0 1 0.764 -2.152l8.748 -4.166a1.614 1.614 0 0 1 2.153 0.764l1.388 2.916c1.534 3.22 0.166 7.075 -3.055 8.61z" opacity="1"/>
+      <path fill="#EF3F56" d="M14.3 30.7c-3.2 1.5-7 .1-8.6-3.1l-1.4-3a1.6 1.6 0 0 1 .8-2l8.8-4.2a1.6 1.6 0 0 1 2.1.7l1.4 3c1.5 3.2.2 7-3 8.6z"/>
     </g>
     <g mask="url(#ar)">
-      <path fill="#FFF" fill-opacity="1" d="M13.85 22.153a0.798 0.798 0 0 0 -0.418 0.484l-1.253 3.533 -3.473 -1.24a0.796 0.796 0 0 0 -0.678 -0.005 0.808 0.808 0 0 0 0.07 1.487l-0.008 0.013 3.548 1.267 0.761 0.27a0.808 0.808 0 0 0 1.03 -0.49l0.27 -0.761 1.266 -3.56a0.808 0.808 0 0 0 -0.22 -0.875 0.808 0.808 0 0 0 -0.896 -0.123z" opacity="1"/>
+      <path fill="#FFF" d="M13.8 22.2a.8.8 0 0 0-.4.4l-1.2 3.6-3.5-1.3a.8.8 0 0 0-.7 0 .8.8 0 0 0 .1 1.5l3.5 1.3.8.3a.8.8 0 0 0 1-.5l.3-.8 1.3-3.5a.8.8 0 0 0-.3-1 .8.8 0 0 0-.9 0z"/>
     </g>
   </svg>
   <svg x="792">
     <defs>
       <mask id="at" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="as" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.61897 0 0 .5 14.884 29.251)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.61897 0 0 .5 14.884 29.251)"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.61897 0 0 .5 14.884 29.251)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8.076 23.376c-0.683 0 -1.237 0.448 -1.237 1v10c0 0.552 0.554 1 1.237 1 0.684 0 1.238 -0.448 1.238 -1v-10c0 -0.552 -0.554 -1 -1.238 -1zm3.714 -1c-0.683 0 -1.238 0.448 -1.238 1v11c0 0.552 0.555 1 1.238 1 0.684 0 1.238 -0.448 1.238 -1v-11c0 -0.552 -0.554 -1 -1.238 -1zm9.828 11.658l-4.951 -11c-0.222 -0.523 -0.925 -0.801 -1.573 -0.622 -0.646 0.178 -0.991 0.747 -0.77 1.27a0.459 0.459 0 0 0 0.016 0.036l4.952 11c0.222 0.523 0.925 0.801 1.572 0.622 0.647 -0.178 0.992 -0.747 0.77 -1.27a0.459 0.459 0 0 0 -0.016 -0.036zm-17.255 -12.658c-0.684 0 -1.238 0.448 -1.238 1v12c0 0.552 0.554 1 1.238 1 0.683 0 1.238 -0.448 1.238 -1v-12c0 -0.552 -0.555 -1 -1.238 -1z" opacity="1"/>
+    <path fill="context-fill" d="M8 23.4c-.6 0-1.2.4-1.2 1v10c0 .5.6 1 1.3 1 .7 0 1.2-.5 1.2-1v-10c0-.6-.5-1-1.2-1zm3.8-1c-.7 0-1.2.4-1.2 1v11c0 .5.5 1 1.2 1s1.2-.5 1.2-1v-11c0-.6-.5-1-1.2-1zM21.6 34l-5-11c-.2-.5-.9-.8-1.5-.6-.7.2-1 .8-.8 1.3l5 11c.2.5 1 .8 1.6.6.6-.1 1-.7.7-1.2zM4.4 21.4c-.7 0-1.3.4-1.3 1v12c0 .5.6 1 1.3 1 .6 0 1.2-.5 1.2-1v-12c0-.6-.6-1-1.2-1z"/>
     <g mask="url(#as)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.412 33.611c-3.196 1.583 -7.072 0.274 -8.655 -2.923l-1.433 -2.894a1.614 1.614 0 0 1 0.73 -2.164l8.684 -4.3a1.614 1.614 0 0 1 2.164 0.731l1.433 2.895c1.583 3.197 0.274 7.072 -2.923 8.655z" opacity="1"/>
+      <path fill="#EF3F56" d="M14.4 33.6c-3.2 1.6-7 .3-8.6-3l-1.5-2.8a1.6 1.6 0 0 1 .8-2.2l8.6-4.3a1.6 1.6 0 0 1 2.2.8l1.4 2.9c1.6 3.2.3 7-2.9 8.6z"/>
     </g>
     <g mask="url(#at)">
-      <path fill="#FFF" fill-opacity="1" d="M13.79 25.117a0.798 0.798 0 0 0 -0.411 0.49l-1.199 3.552 -3.49 -1.185a0.796 0.796 0 0 0 -0.679 0.004 0.808 0.808 0 0 0 0.093 1.486l-0.008 0.014 3.567 1.212 0.765 0.258a0.808 0.808 0 0 0 1.023 -0.506l0.259 -0.765 1.21 -3.578a0.808 0.808 0 0 0 -0.234 -0.873 0.808 0.808 0 0 0 -0.897 -0.109z" opacity="1"/>
+      <path fill="#FFF" d="M13.8 25.1a.8.8 0 0 0-.4.5l-1.2 3.6L8.7 28a.8.8 0 0 0-.7 0 .8.8 0 0 0 .1 1.5l3.6 1.2.7.2a.8.8 0 0 0 1-.5l.3-.7L15 26a.8.8 0 0 0-.2-.9.8.8 0 0 0-1 0z"/>
     </g>
   </svg>
   <svg x="814">
     <defs>
       <mask id="av" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="au" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.62351 0 0 .5 14.922 28.62)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.62351 0 0 .5 14.922 28.62)"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.62351 0 0 .5 14.922 28.62)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8.064 22.746c-0.688 0 -1.247 0.448 -1.247 1v10c0 0.552 0.56 1 1.247 1 0.689 0 1.247 -0.448 1.247 -1v-10c0 -0.552 -0.558 -1 -1.247 -1zm3.741 -1c-0.688 0 -1.247 0.448 -1.247 1v11c0 0.552 0.56 1 1.247 1 0.689 0 1.247 -0.448 1.247 -1v-11c0 -0.552 -0.558 -1 -1.247 -1zm9.9 11.658l-4.988 -11c-0.223 -0.523 -0.931 -0.801 -1.583 -0.622 -0.651 0.178 -1 0.747 -0.776 1.27l0.016 0.036 4.988 11c0.224 0.523 0.932 0.8 1.584 0.622 0.651 -0.178 0.999 -0.747 0.776 -1.27a0.457 0.457 0 0 0 -0.016 -0.036zm-17.382 -12.658c-0.688 0 -1.247 0.448 -1.247 1v12c0 0.552 0.559 1 1.247 1 0.689 0 1.247 -0.448 1.247 -1v-12c0 -0.552 -0.558 -1 -1.247 -1z" opacity="1"/>
+    <path fill="context-fill" d="M8 22.7c-.6 0-1.2.5-1.2 1v10c0 .6.6 1 1.3 1 .7 0 1.2-.4 1.2-1v-10c0-.5-.5-1-1.2-1zm3.8-1c-.7 0-1.2.5-1.2 1v11c0 .6.5 1 1.2 1s1.3-.4 1.3-1v-11c0-.5-.6-1-1.3-1zm9.9 11.7l-5-11c-.2-.5-1-.8-1.6-.6-.6.2-1 .7-.7 1.3l5 11c.2.5.9.8 1.5.6.7-.2 1-.7.8-1.3zM4.3 20.7c-.7 0-1.2.5-1.2 1v12c0 .6.5 1 1.2 1s1.3-.4 1.3-1v-12c0-.5-.6-1-1.3-1z"/>
     <g mask="url(#au)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.489 35.462c-3.174 1.63 -7.068 0.378 -8.697 -2.796l-1.475 -2.873a1.614 1.614 0 0 1 0.698 -2.174l8.62 -4.426a1.614 1.614 0 0 1 2.174 0.699l1.475 2.873c1.63 3.173 0.378 7.067 -2.795 8.697z" opacity="1"/>
+      <path fill="#EF3F56" d="M14.5 35.5c-3.2 1.6-7 .3-8.7-2.8l-1.5-3a1.6 1.6 0 0 1 .7-2l8.6-4.5a1.6 1.6 0 0 1 2.2.7l1.5 2.9c1.6 3.1.4 7-2.8 8.7z"/>
     </g>
     <g mask="url(#av)">
-      <path fill="#FFF" fill-opacity="1" d="M13.741 26.978a0.798 0.798 0 0 0 -0.403 0.497l-1.146 3.568 -3.508 -1.134a0.796 0.796 0 0 0 -0.678 0.014 0.808 0.808 0 0 0 0.114 1.485l-0.007 0.013 3.584 1.16 0.769 0.248a0.808 0.808 0 0 0 1.016 -0.522l0.247 -0.769 1.157 -3.595a0.808 0.808 0 0 0 -0.247 -0.869 0.808 0.808 0 0 0 -0.898 -0.096z" opacity="1"/>
+      <path fill="#FFF" d="M13.7 27a.8.8 0 0 0-.4.5L12.2 31l-3.5-1a.8.8 0 0 0-.7 0 .8.8 0 0 0 .1 1.4l3.6 1.2.8.2a.8.8 0 0 0 1-.5l.2-.8L15 28a.8.8 0 0 0-.3-.8.8.8 0 0 0-.9-.1z"/>
     </g>
   </svg>
   <svg x="836">
     <defs>
       <mask id="ax" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="aw" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.62484 0 0 .5 14.911 28.093)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.62484 0 0 .5 14.911 28.093)"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.62484 0 0 .5 14.911 28.093)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8.04 22.218c-0.69 0 -1.25 0.448 -1.25 1v10c0 0.552 0.56 1 1.25 1s1.249 -0.448 1.249 -1v-10c0 -0.552 -0.56 -1 -1.25 -1zm3.748 -1c-0.69 0 -1.25 0.448 -1.25 1v11c0 0.552 0.56 1 1.25 1s1.25 -0.448 1.25 -1v-11c0 -0.552 -0.56 -1 -1.25 -1zm9.922 11.658l-5 -11c-0.223 -0.523 -0.933 -0.801 -1.586 -0.622 -0.653 0.178 -1.001 0.747 -0.778 1.27a0.457 0.457 0 0 0 0.017 0.036l4.998 11c0.224 0.523 0.934 0.801 1.588 0.622 0.652 -0.178 1 -0.747 0.777 -1.27a0.457 0.457 0 0 0 -0.016 -0.036zm-17.42 -12.658c-0.69 0 -1.25 0.448 -1.25 1v12c0 0.552 0.56 1 1.25 1s1.25 -0.448 1.25 -1v-12c0 -0.552 -0.56 -1 -1.25 -1z" opacity="1"/>
+    <path fill="context-fill" d="M8 22.2c-.7 0-1.2.5-1.2 1v10c0 .6.5 1 1.2 1s1.3-.4 1.3-1v-10c0-.5-.6-1-1.3-1zm3.8-1c-.7 0-1.3.5-1.3 1v11c0 .6.6 1 1.3 1s1.2-.4 1.2-1v-11c0-.5-.5-1-1.2-1zm10 11.7l-5-11c-.3-.5-1-.8-1.7-.6-.6.1-1 .7-.8 1.2l5 11c.3.6 1 .9 1.6.7.7-.2 1-.8.8-1.3zM4.2 20.2c-.7 0-1.3.5-1.3 1v12c0 .6.6 1 1.3 1s1.2-.4 1.2-1v-12c0-.5-.5-1-1.2-1z"/>
     <g mask="url(#aw)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.567 36.513c-3.15 1.673 -7.061 0.475 -8.734 -2.676l-1.515 -2.852a1.614 1.614 0 0 1 0.669 -2.184l8.558 -4.544a1.614 1.614 0 0 1 2.183 0.669l1.515 2.852c1.673 3.151 0.475 7.062 -2.676 8.735z" opacity="1"/>
+      <path fill="#EF3F56" d="M14.6 36.5c-3.2 1.7-7 .5-8.8-2.7L4.3 31a1.6 1.6 0 0 1 .7-2.2l8.5-4.5a1.6 1.6 0 0 1 2.2.6l1.5 2.9c1.7 3.1.5 7-2.6 8.7z"/>
     </g>
     <g mask="url(#ax)">
-      <path fill="#FFF" fill-opacity="1" d="M13.703 28.04a0.798 0.798 0 0 0 -0.396 0.502l-1.097 3.584 -3.523 -1.085a0.796 0.796 0 0 0 -0.678 0.023 0.808 0.808 0 0 0 0.134 1.483l-0.007 0.014 3.6 1.11 0.772 0.237a0.808 0.808 0 0 0 1.009 -0.536l0.236 -0.772 1.108 -3.61a0.808 0.808 0 0 0 -0.258 -0.866 0.808 0.808 0 0 0 -0.9 -0.084z" opacity="1"/>
+      <path fill="#FFF" d="M13.7 28a.8.8 0 0 0-.4.5l-1 3.6-3.6-1a.8.8 0 0 0-.7 0 .8.8 0 0 0 .1 1.4l3.6 1.2.8.2a.8.8 0 0 0 1-.5l.3-.8 1-3.6a.8.8 0 0 0-.2-.9.8.8 0 0 0-.9 0z"/>
     </g>
   </svg>
   <svg x="858">
     <defs>
       <mask id="az" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
+        <use fill="#11DBEA" href="#pocket" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
       </mask>
       <mask id="ay" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.625 0 0 .5 14.874 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.625 0 0 .5 14.874 27.875)"/>
-        </g>
+        <use fill="#11DBEA" href="#d1" transform="matrix(.625 0 0 .5 14.874 27.875)"/>
       </mask>
     </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22c-0.69 0 -1.25 0.448 -1.25 1v10c0 0.552 0.56 1 1.25 1s1.25 -0.448 1.25 -1v-10c0 -0.552 -0.56 -1 -1.25 -1zm3.75 -1c-0.69 0 -1.25 0.448 -1.25 1v11c0 0.552 0.56 1 1.25 1s1.25 -0.448 1.25 -1v-11c0 -0.552 -0.56 -1 -1.25 -1zm9.924 11.658l-5 -11c-0.224 -0.523 -0.934 -0.801 -1.588 -0.622 -0.652 0.178 -1.001 0.747 -0.777 1.27l0.016 0.036 5 11c0.224 0.523 0.934 0.801 1.587 0.622 0.653 -0.178 1.002 -0.747 0.778 -1.27a0.457 0.457 0 0 0 -0.016 -0.036zm-17.424 -12.658c-0.69 0 -1.25 0.448 -1.25 1v12c0 0.552 0.56 1 1.25 1s1.25 -0.448 1.25 -1v-12c0 -0.552 -0.56 -1 -1.25 -1z" opacity="1"/>
-    <g mask="url(#ay)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.642 37.113c-3.13 1.713 -7.055 0.564 -8.768 -2.566l-1.55 -2.833a1.614 1.614 0 0 1 0.642 -2.192l8.5 -4.651a1.614 1.614 0 0 1 2.192 0.641l1.55 2.834c1.712 3.13 0.563 7.055 -2.566 8.767z" opacity="1"/>
-    </g>
-    <g mask="url(#az)">
-      <path fill="#FFF" fill-opacity="1" d="M13.672 28.652a0.798 0.798 0 0 0 -0.39 0.507l-1.052 3.597 -3.537 -1.041a0.796 0.796 0 0 0 -0.677 0.032 0.808 0.808 0 0 0 0.153 1.48l-0.007 0.015 3.614 1.065 0.774 0.227a0.808 0.808 0 0 0 1.002 -0.548l0.227 -0.775 1.062 -3.624a0.808 0.808 0 0 0 -0.269 -0.863 0.808 0.808 0 0 0 -0.9 -0.072z" opacity="1"/>
-    </g>
+    <path fill="context-fill" d="M8 22c-.7 0-1.3.4-1.3 1v10c0 .6.6 1 1.3 1s1.3-.4 1.3-1V23c0-.6-.6-1-1.3-1zm3.8-1c-.7 0-1.3.4-1.3 1v11c0 .6.6 1 1.3 1s1.2-.4 1.2-1V22c0-.6-.6-1-1.3-1zm9.9 11.7l-5-11c-.2-.6-1-.8-1.6-.7-.7.2-1 .8-.8 1.3l5 11c.2.6 1 .8 1.6.7.7-.2 1-.8.8-1.3zM4.3 20c-.7 0-1.3.4-1.3 1v12c0 .6.6 1 1.3 1s1.2-.4 1.2-1V21c0-.6-.6-1-1.3-1z"/>
   </svg>
   <svg x="880">
-    <defs>
-      <mask id="aB" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-      </mask>
-      <mask id="aA" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.61111 0 0 .5 14.775 27.817)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.61111 0 0 .5 14.775 27.817)"/>
-        </g>
-      </mask>
-    </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8.054 21.942c-0.674 0 -1.222 0.448 -1.222 1v10c0 0.552 0.548 1 1.222 1 0.675 0 1.223 -0.448 1.223 -1v-10c0 -0.552 -0.548 -1 -1.223 -1zm3.667 -1c-0.675 0 -1.222 0.448 -1.222 1v11c0 0.552 0.547 1 1.222 1 0.675 0 1.222 -0.448 1.222 -1v-11c0 -0.552 -0.547 -1 -1.222 -1zm9.703 11.658l-4.889 -11c-0.218 -0.523 -0.913 -0.8 -1.552 -0.622 -0.638 0.178 -0.979 0.747 -0.76 1.27l0.016 0.036 4.889 11c0.219 0.523 0.913 0.801 1.552 0.622 0.638 -0.178 0.979 -0.747 0.76 -1.27l-0.016 -0.036zm-17.036 -12.658c-0.675 0 -1.222 0.448 -1.222 1v12c0 0.552 0.547 1 1.222 1 0.674 0 1.222 -0.448 1.222 -1v-12c0 -0.552 -0.548 -1 -1.222 -1z" opacity="1"/>
-    <g mask="url(#aA)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.708 37.444c-3.11 1.746 -7.048 0.64 -8.795 -2.47l-1.58 -2.817a1.614 1.614 0 0 1 0.617 -2.199l8.449 -4.743a1.614 1.614 0 0 1 2.199 0.617l1.58 2.817c1.747 3.11 0.64 7.048 -2.47 8.795z" opacity="1"/>
-    </g>
-    <g mask="url(#aB)">
-      <path fill="#FFF" fill-opacity="1" d="M13.646 28.993a0.798 0.798 0 0 0 -0.384 0.512l-1.013 3.608 -3.548 -1.003a0.796 0.796 0 0 0 -0.677 0.04 0.808 0.808 0 0 0 0.17 1.479l-0.008 0.014 3.626 1.026 0.777 0.218a0.808 0.808 0 0 0 0.995 -0.559l0.219 -0.777 1.023 -3.636a0.808 0.808 0 0 0 -0.279 -0.859 0.808 0.808 0 0 0 -0.9 -0.063z" opacity="1"/>
-    </g>
+    <path fill="context-fill" d="M8 22c-.6 0-1.2.4-1.2 1v10c0 .5.6 1 1.3 1 .6 0 1.2-.5 1.2-1V23c0-.6-.6-1-1.2-1zm3.7-1c-.7 0-1.2.4-1.2 1v11c0 .5.5 1 1.2 1s1.2-.5 1.2-1V22c0-.6-.5-1-1.2-1zm9.7 11.6l-4.9-11c-.2-.5-.9-.8-1.5-.6-.7.2-1 .7-.8 1.2l5 11c.1.6.8.9 1.5.7.6-.2 1-.7.7-1.3zm-17-12.7c-.7 0-1.2.5-1.2 1v12c0 .6.5 1 1.2 1s1.2-.4 1.2-1V21c0-.5-.5-1-1.2-1z"/>
   </svg>
   <svg x="902">
-    <defs>
-      <mask id="aD" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-      </mask>
-      <mask id="aC" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.59722 0 0 .5 14.62 27.745)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.59722 0 0 .5 14.62 27.745)"/>
-        </g>
-      </mask>
-    </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8.052 21.87c-0.659 0 -1.194 0.448 -1.194 1v10c0 0.552 0.535 1 1.194 1 0.66 0 1.195 -0.448 1.195 -1v-10c0 -0.552 -0.535 -1 -1.195 -1zm3.584 -1c-0.66 0 -1.195 0.448 -1.195 1v11c0 0.552 0.535 1 1.195 1 0.659 0 1.194 -0.448 1.194 -1v-11c0 -0.552 -0.535 -1 -1.194 -1zm9.482 11.658l-4.777 -11c-0.214 -0.523 -0.893 -0.801 -1.517 -0.622 -0.624 0.178 -0.957 0.747 -0.743 1.27a0.467 0.467 0 0 0 0.015 0.036l4.778 11c0.214 0.523 0.892 0.8 1.517 0.622 0.623 -0.178 0.957 -0.747 0.743 -1.27a0.467 0.467 0 0 0 -0.016 -0.036zm-16.649 -12.658c-0.66 0 -1.194 0.448 -1.194 1v12c0 0.552 0.535 1 1.194 1 0.66 0 1.194 -0.448 1.194 -1v-12c0 -0.552 -0.535 -1 -1.194 -1z" opacity="1"/>
-    <g mask="url(#aC)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.76 37.601c-3.096 1.772 -7.043 0.7 -8.815 -2.397l-1.605 -2.803a1.614 1.614 0 0 1 0.6 -2.204l8.409 -4.813a1.614 1.614 0 0 1 2.204 0.6l1.604 2.802c1.772 3.096 0.699 7.043 -2.397 8.815z" opacity="1"/>
-    </g>
-    <g mask="url(#aD)">
-      <path fill="#FFF" fill-opacity="1" d="M13.627 29.16a0.798 0.798 0 0 0 -0.38 0.515l-0.983 3.617 -3.556 -0.974a0.796 0.796 0 0 0 -0.676 0.045 0.808 0.808 0 0 0 0.181 1.478l-0.007 0.014 3.634 0.996 0.78 0.212a0.808 0.808 0 0 0 0.99 -0.567l0.212 -0.78 0.993 -3.643a0.808 0.808 0 0 0 -0.286 -0.857 0.808 0.808 0 0 0 -0.902 -0.056z" opacity="1"/>
-    </g>
+    <path fill="context-fill" d="M8 21.9c-.6 0-1.1.4-1.1 1v10c0 .5.5 1 1.2 1 .6 0 1.1-.5 1.1-1v-10c0-.6-.5-1-1.1-1zm3.6-1c-.6 0-1.2.4-1.2 1v11c0 .5.6 1 1.2 1 .7 0 1.2-.5 1.2-1v-11c0-.6-.5-1-1.2-1zm9.5 11.6l-4.8-11c-.2-.5-.9-.8-1.5-.6-.6.2-1 .8-.7 1.3l4.8 11c.2.5.9.8 1.5.6.6-.1 1-.7.7-1.2zM4.5 20c-.7 0-1.2.4-1.2 1v12c0 .5.5 1 1.2 1 .6 0 1.2-.5 1.2-1V21c0-.6-.6-1-1.2-1z"/>
   </svg>
   <svg x="924">
-    <defs>
-      <mask id="aF" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-      </mask>
-      <mask id="aE" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.58333 0 0 .5 14.429 27.718)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.58333 0 0 .5 14.429 27.718)"/>
-        </g>
-      </mask>
-    </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8.013 21.843c-0.644 0 -1.166 0.448 -1.166 1v10c0 0.552 0.522 1 1.166 1 0.644 0 1.167 -0.448 1.167 -1v-10c0 -0.552 -0.523 -1 -1.167 -1zm3.5 -1c-0.644 0 -1.166 0.448 -1.166 1v11c0 0.552 0.522 1 1.166 1 0.644 0 1.167 -0.448 1.167 -1v-11c0 -0.552 -0.523 -1 -1.167 -1zm9.262 11.658l-4.666 -11c-0.21 -0.523 -0.872 -0.801 -1.482 -0.622 -0.609 0.178 -0.934 0.747 -0.726 1.27a0.473 0.473 0 0 0 0.016 0.036l4.666 11c0.21 0.523 0.872 0.8 1.482 0.622 0.609 -0.178 0.934 -0.747 0.726 -1.27l-0.016 -0.036zm-16.262 -12.658c-0.644 0 -1.166 0.448 -1.166 1v12c0 0.552 0.522 1 1.166 1 0.644 0 1.167 -0.448 1.167 -1v-12c0 -0.552 -0.523 -1 -1.167 -1z" opacity="1"/>
-    <g mask="url(#aE)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.783 37.647c-3.09 1.784 -7.04 0.725 -8.824 -2.364l-1.615 -2.797a1.614 1.614 0 0 1 0.591 -2.206l8.391 -4.845a1.614 1.614 0 0 1 2.206 0.591l1.615 2.797c1.784 3.09 0.725 7.04 -2.364 8.824z" opacity="1"/>
-    </g>
-    <g mask="url(#aF)">
-      <path fill="#FFF" fill-opacity="1" d="M13.62 29.21a0.798 0.798 0 0 0 -0.379 0.516l-0.97 3.62 -3.559 -0.96a0.796 0.796 0 0 0 -0.677 0.048 0.808 0.808 0 0 0 0.188 1.477l-0.007 0.014 3.637 0.982 0.78 0.21a0.808 0.808 0 0 0 0.989 -0.571l0.209 -0.78 0.979 -3.648a0.808 0.808 0 0 0 -0.29 -0.856 0.808 0.808 0 0 0 -0.9 -0.052z" opacity="1"/>
-    </g>
+    <path fill="context-fill" d="M8 21.8c-.6 0-1.2.5-1.2 1v10c0 .6.6 1 1.2 1 .7 0 1.2-.4 1.2-1v-10c0-.5-.5-1-1.2-1zm3.5-1c-.6 0-1.2.5-1.2 1v11c0 .6.6 1 1.2 1 .7 0 1.2-.4 1.2-1v-11c0-.5-.5-1-1.2-1zm9.3 11.7l-4.7-11c-.2-.5-.9-.8-1.5-.6-.6.2-1 .7-.7 1.2l4.7 11c.2.6.9.9 1.5.7.6-.2.9-.7.7-1.3zM4.5 19.8c-.6 0-1.2.5-1.2 1v12c0 .6.6 1 1.2 1 .7 0 1.2-.4 1.2-1v-12c0-.5-.5-1-1.2-1z"/>
   </svg>
   <svg x="946">
-    <defs>
-      <mask id="aH" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-      </mask>
-      <mask id="aG" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.56944 0 0 .5 14.233 27.728)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.56944 0 0 .5 14.233 27.728)"/>
-        </g>
-      </mask>
-    </defs>
-    <path fill="context-fill" fill-opacity="1" d="M7.97 21.853c-0.629 0 -1.139 0.448 -1.139 1v10c0 0.552 0.51 1 1.139 1s1.139 -0.448 1.139 -1v-10c0 -0.552 -0.51 -1 -1.139 -1zm3.417 -1c-0.629 0 -1.14 0.448 -1.14 1v11c0 0.552 0.511 1 1.14 1 0.628 0 1.139 -0.448 1.139 -1v-11c0 -0.552 -0.51 -1 -1.14 -1zm9.041 11.658l-4.555 -11c-0.204 -0.523 -0.851 -0.8 -1.447 -0.622 -0.594 0.178 -0.912 0.747 -0.708 1.27a0.48 0.48 0 0 0 0.015 0.036l4.555 11c0.204 0.523 0.851 0.801 1.447 0.622 0.594 -0.178 0.912 -0.747 0.708 -1.27a0.48 0.48 0 0 0 -0.015 -0.036zm-15.875 -12.658c-0.628 0 -1.139 0.448 -1.139 1v12c0 0.552 0.51 1 1.14 1 0.628 0 1.138 -0.448 1.138 -1v-12c0 -0.552 -0.51 -1 -1.139 -1z" opacity="1"/>
-    <g mask="url(#aG)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.783 37.647c-3.09 1.784 -7.04 0.725 -8.824 -2.364l-1.615 -2.797a1.614 1.614 0 0 1 0.591 -2.206l8.391 -4.845a1.614 1.614 0 0 1 2.206 0.591l1.615 2.797c1.784 3.09 0.725 7.04 -2.364 8.824z" opacity="1"/>
-    </g>
-    <g mask="url(#aH)">
-      <path fill="#FFF" fill-opacity="1" d="M13.62 29.21a0.798 0.798 0 0 0 -0.379 0.516l-0.97 3.621 -3.559 -0.96a0.796 0.796 0 0 0 -0.677 0.047 0.808 0.808 0 0 0 0.188 1.477l-0.007 0.014 3.637 0.983 0.78 0.209a0.808 0.808 0 0 0 0.989 -0.571l0.209 -0.78 0.979 -3.648a0.808 0.808 0 0 0 -0.29 -0.856 0.808 0.808 0 0 0 -0.9 -0.051z" opacity="1"/>
-    </g>
+    <path fill="context-fill" d="M8 21.9c-.7 0-1.2.4-1.2 1v10c0 .5.5 1 1.2 1s1.1-.5 1.1-1v-10c0-.6-.5-1-1.1-1zm3.4-1c-.6 0-1.2.4-1.2 1v11c0 .5.6 1 1.2 1s1.1-.5 1.1-1v-11c0-.6-.5-1-1.1-1zm9 11.6l-4.5-11c-.2-.5-.9-.8-1.5-.6-.6.2-.9.7-.7 1.3l4.6 11c.2.5.8.8 1.4.6.6-.2 1-.7.7-1.3zM4.6 20c-.7 0-1.2.4-1.2 1v12c0 .5.5 1 1.2 1 .6 0 1-.5 1-1V21c0-.6-.4-1-1-1z"/>
   </svg>
   <svg x="968">
-    <defs>
-      <mask id="aJ" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-      </mask>
-      <mask id="aI" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.55556 0 0 .5 14.046 27.757)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.55556 0 0 .5 14.046 27.757)"/>
-        </g>
-      </mask>
-    </defs>
-    <path fill="context-fill" fill-opacity="1" d="M7.936 21.882c-0.614 0 -1.112 0.448 -1.112 1v10c0 0.552 0.498 1 1.112 1 0.613 0 1.11 -0.448 1.11 -1v-10c0 -0.552 -0.497 -1 -1.11 -1zm3.333 -1c-0.613 0 -1.111 0.448 -1.111 1v11c0 0.552 0.498 1 1.11 1 0.614 0 1.112 -0.448 1.112 -1v-11c0 -0.552 -0.498 -1 -1.111 -1zm8.821 11.658l-4.444 -11c-0.2 -0.523 -0.83 -0.8 -1.412 -0.622 -0.58 0.178 -0.89 0.747 -0.69 1.27a0.487 0.487 0 0 0 0.014 0.036l4.444 11c0.2 0.523 0.83 0.801 1.411 0.622 0.58 -0.178 0.89 -0.747 0.691 -1.27a0.487 0.487 0 0 0 -0.014 -0.036zm-15.488 -12.658c-0.613 0 -1.11 0.448 -1.11 1v12c0 0.552 0.497 1 1.11 1 0.614 0 1.111 -0.448 1.111 -1v-12c0 -0.552 -0.497 -1 -1.11 -1z" opacity="1"/>
-    <g mask="url(#aI)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.783 37.647c-3.09 1.784 -7.04 0.725 -8.824 -2.364l-1.615 -2.797a1.614 1.614 0 0 1 0.591 -2.206l8.391 -4.845a1.614 1.614 0 0 1 2.206 0.591l1.615 2.797c1.784 3.09 0.725 7.04 -2.364 8.824z" opacity="1"/>
-    </g>
-    <g mask="url(#aJ)">
-      <path fill="#FFF" fill-opacity="1" d="M13.62 29.21a0.798 0.798 0 0 0 -0.379 0.516l-0.97 3.621 -3.559 -0.96a0.796 0.796 0 0 0 -0.677 0.047 0.808 0.808 0 0 0 0.188 1.477l-0.007 0.014 3.637 0.983 0.78 0.209a0.808 0.808 0 0 0 0.989 -0.571l0.209 -0.78 0.979 -3.648a0.808 0.808 0 0 0 -0.29 -0.856 0.808 0.808 0 0 0 -0.9 -0.051z" opacity="1"/>
-    </g>
+    <path fill="context-fill" d="M8 21.9c-.7 0-1.2.4-1.2 1v10c0 .5.5 1 1.1 1 .6 0 1.1-.5 1.1-1v-10c0-.6-.5-1-1-1zm3.3-1c-.6 0-1.1.4-1.1 1v11c0 .5.5 1 1 1 .7 0 1.2-.5 1.2-1v-11c0-.6-.5-1-1.1-1zM20 32.5l-4.5-11c-.2-.5-.8-.8-1.4-.6-.5.2-.9.8-.7 1.3l4.5 11c.2.5.8.8 1.4.6.6-.1.9-.7.7-1.2zM4.6 20c-.6 0-1.1.4-1.1 1v12c0 .5.5 1 1.1 1 .6 0 1.1-.5 1.1-1V21c0-.6-.5-1-1.1-1z"/>
   </svg>
   <svg x="990">
-    <defs>
-      <mask id="aL" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-      </mask>
-      <mask id="aK" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.54167 0 0 .5 13.872 27.794)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.54167 0 0 .5 13.872 27.794)"/>
-        </g>
-      </mask>
-    </defs>
-    <path fill="context-fill" fill-opacity="1" d="M7.915 21.919c-0.598 0 -1.083 0.448 -1.083 1v10c0 0.552 0.485 1 1.083 1s1.084 -0.448 1.084 -1v-10c0 -0.552 -0.486 -1 -1.084 -1zm3.25 -1c-0.598 0 -1.083 0.448 -1.083 1v11c0 0.552 0.485 1 1.083 1s1.084 -0.448 1.084 -1v-11c0 -0.552 -0.486 -1 -1.084 -1zm8.6 11.658l-4.333 -11c-0.193 -0.523 -0.809 -0.801 -1.375 -0.622 -0.566 0.178 -0.868 0.747 -0.674 1.27a0.494 0.494 0 0 0 0.014 0.036l4.333 11c0.194 0.523 0.81 0.8 1.376 0.622 0.566 -0.178 0.868 -0.747 0.674 -1.27a0.494 0.494 0 0 0 -0.014 -0.036zm-15.1 -12.658c-0.598 0 -1.083 0.448 -1.083 1v12c0 0.552 0.485 1 1.083 1s1.084 -0.448 1.084 -1v-12c0 -0.552 -0.486 -1 -1.084 -1z" opacity="1"/>
-    <g mask="url(#aK)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.783 37.647c-3.09 1.784 -7.04 0.725 -8.824 -2.364l-1.615 -2.797a1.614 1.614 0 0 1 0.591 -2.206l8.391 -4.845a1.614 1.614 0 0 1 2.206 0.591l1.615 2.797c1.784 3.09 0.725 7.04 -2.364 8.824z" opacity="1"/>
-    </g>
-    <g mask="url(#aL)">
-      <path fill="#FFF" fill-opacity="1" d="M13.62 29.21a0.798 0.798 0 0 0 -0.379 0.516l-0.97 3.621 -3.559 -0.96a0.796 0.796 0 0 0 -0.677 0.047 0.808 0.808 0 0 0 0.188 1.477l-0.007 0.014 3.637 0.983 0.78 0.209a0.808 0.808 0 0 0 0.989 -0.571l0.209 -0.78 0.979 -3.648a0.808 0.808 0 0 0 -0.29 -0.856 0.808 0.808 0 0 0 -0.9 -0.051z" opacity="1"/>
-    </g>
+    <path fill="context-fill" d="M8 22c-.7 0-1.2.4-1.2 1v10c0 .5.5 1 1.1 1S9 33.4 9 33V23c0-.6-.5-1-1-1zm3.2-1c-.6 0-1.1.4-1.1 1v11c0 .5.5 1 1 1s1.1-.5 1.1-1V22c0-.6-.4-1-1-1zm8.6 11.6l-4.4-11c-.2-.5-.8-.8-1.3-.6-.6.1-1 .7-.7 1.2l4.3 11c.2.6.8.9 1.4.7.6-.2.9-.8.7-1.3zM4.7 19.9c-.6 0-1.1.5-1.1 1v12c0 .6.5 1 1 1s1.1-.4 1.1-1V21c0-.5-.4-1-1-1z"/>
   </svg>
   <svg x="1012">
-    <defs>
-      <mask id="aN" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-      </mask>
-      <mask id="aM" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.52778 0 0 .5 13.719 27.83)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.52778 0 0 .5 13.719 27.83)"/>
-        </g>
-      </mask>
-    </defs>
-    <path fill="context-fill" fill-opacity="1" d="M7.914 21.956c-0.583 0 -1.056 0.448 -1.056 1v10c0 0.552 0.473 1 1.056 1 0.583 0 1.056 -0.448 1.056 -1v-10c0 -0.552 -0.473 -1 -1.056 -1zm3.167 -1c-0.583 0 -1.056 0.448 -1.056 1v11c0 0.552 0.473 1 1.056 1 0.582 0 1.055 -0.448 1.055 -1v-11c0 -0.552 -0.473 -1 -1.055 -1zm8.38 11.658l-4.222 -11c-0.19 -0.523 -0.789 -0.801 -1.341 -0.622 -0.551 0.178 -0.846 0.747 -0.657 1.27l0.014 0.036 4.222 11c0.19 0.523 0.789 0.8 1.34 0.622 0.552 -0.178 0.846 -0.747 0.657 -1.27l-0.013 -0.036zm-14.714 -12.658c-0.582 0 -1.055 0.448 -1.055 1v12c0 0.552 0.473 1 1.055 1 0.583 0 1.056 -0.448 1.056 -1v-12c0 -0.552 -0.473 -1 -1.056 -1z" opacity="1"/>
-    <g mask="url(#aM)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.783 37.647c-3.09 1.784 -7.04 0.725 -8.824 -2.364l-1.615 -2.797a1.614 1.614 0 0 1 0.591 -2.206l8.391 -4.845a1.614 1.614 0 0 1 2.206 0.591l1.615 2.797c1.784 3.09 0.725 7.04 -2.364 8.824z" opacity="1"/>
-    </g>
-    <g mask="url(#aN)">
-      <path fill="#FFF" fill-opacity="1" d="M13.62 29.21a0.798 0.798 0 0 0 -0.379 0.516l-0.97 3.621 -3.559 -0.96a0.796 0.796 0 0 0 -0.677 0.047 0.808 0.808 0 0 0 0.188 1.477l-0.007 0.014 3.637 0.983 0.78 0.209a0.808 0.808 0 0 0 0.989 -0.571l0.209 -0.78 0.979 -3.648a0.808 0.808 0 0 0 -0.29 -0.856 0.808 0.808 0 0 0 -0.9 -0.051z" opacity="1"/>
-    </g>
+    <path fill="context-fill" d="M8 22a1 1 0 0 0-1.1 1v10c0 .5.4 1 1 1s1-.5 1-1V23c0-.6-.4-1-1-1zm3-1a1 1 0 0 0-1 1v11c0 .5.5 1 1 1 .7 0 1.1-.5 1.1-1V22c0-.6-.4-1-1-1zm8.5 11.6l-4.3-11A1 1 0 0 0 14 21a1 1 0 0 0-.7 1.3l4.3 11c.2.5.8.8 1.3.6.6-.2.9-.7.7-1.2zM4.7 20a1 1 0 0 0-1 1v12c0 .5.5 1 1 1 .6 0 1.1-.5 1.1-1V21c0-.6-.5-1-1-1z"/>
   </svg>
   <svg x="1034">
-    <defs>
-      <mask id="aP" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-      </mask>
-      <mask id="aO" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.51389 0 0 .5 13.59 27.86)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.51389 0 0 .5 13.59 27.86)"/>
-        </g>
-      </mask>
-    </defs>
-    <path fill="context-fill" fill-opacity="1" d="M7.938 21.986c-0.567 0 -1.027 0.448 -1.027 1v10c0 0.552 0.46 1 1.027 1 0.568 0 1.028 -0.448 1.028 -1v-10c0 -0.552 -0.46 -1 -1.028 -1zm3.084 -1c-0.568 0 -1.028 0.448 -1.028 1v11c0 0.552 0.46 1 1.028 1 0.567 0 1.028 -0.448 1.028 -1v-11c0 -0.552 -0.46 -1 -1.028 -1zm8.16 11.658l-4.112 -11c-0.184 -0.523 -0.768 -0.801 -1.305 -0.622 -0.537 0.178 -0.823 0.747 -0.64 1.27a0.51 0.51 0 0 0 0.014 0.036l4.111 11c0.184 0.523 0.768 0.8 1.305 0.622 0.537 -0.178 0.824 -0.747 0.64 -1.27l-0.014 -0.036zm-14.327 -12.658c-0.567 0 -1.028 0.448 -1.028 1v12c0 0.552 0.46 1 1.028 1 0.567 0 1.028 -0.448 1.028 -1v-12c0 -0.552 -0.46 -1 -1.028 -1z" opacity="1"/>
-    <g mask="url(#aO)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.783 37.647c-3.09 1.784 -7.04 0.725 -8.824 -2.364l-1.615 -2.797a1.614 1.614 0 0 1 0.591 -2.206l8.391 -4.845a1.614 1.614 0 0 1 2.206 0.591l1.615 2.797c1.784 3.09 0.725 7.04 -2.364 8.824z" opacity="1"/>
-    </g>
-    <g mask="url(#aP)">
-      <path fill="#FFF" fill-opacity="1" d="M13.62 29.21a0.798 0.798 0 0 0 -0.379 0.516l-0.97 3.621 -3.559 -0.96a0.796 0.796 0 0 0 -0.677 0.047 0.808 0.808 0 0 0 0.188 1.477l-0.007 0.014 3.637 0.983 0.78 0.209a0.808 0.808 0 0 0 0.989 -0.571l0.209 -0.78 0.979 -3.648a0.808 0.808 0 0 0 -0.29 -0.856 0.808 0.808 0 0 0 -0.9 -0.051z" opacity="1"/>
-    </g>
+    <path fill="context-fill" d="M8 22a1 1 0 0 0-1 1v10c0 .5.4 1 1 1 .5 0 1-.5 1-1V23c0-.6-.5-1-1-1zm3-1a1 1 0 0 0-1 1v11c0 .5.5 1 1 1 .6 0 1-.5 1-1V22c0-.6-.4-1-1-1zm8.2 11.6l-4.1-11a1 1 0 0 0-1.3-.6 1 1 0 0 0-.7 1.3l4.2 11c.1.6.7.8 1.3.7.5-.2.8-.8.6-1.3zM4.9 20a1 1 0 0 0-1 1v12c0 .5.4 1 1 1 .5 0 1-.5 1-1V21c0-.6-.5-1-1-1z"/>
   </svg>
   <svg x="1056">
-    <defs>
-      <mask id="aR" mask-type="alpha">
-        <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.658 0.5 2.375 5.876 8.467 -1.751 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" opacity="1" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-      </mask>
-      <mask id="aQ" mask-type="alpha">
-        <g opacity="1">
-          <path fill="#11DBEA" fill-opacity="1" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 3.75 5.5 1 0.75 -2.25 3.25 -0.125 6.229 0.505 4.259 11.371 7.012 -7.251 2.75 -18.125 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.499 27.875)"/>
-          <path fill-opacity="0" stroke="#871111" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="4" stroke-opacity="1" stroke-width="0" d="M-1.063 -10.563l-7.75 24.313 10.687 6 2.75 -0.375 1.5 -0.125 1.125 1.875 2.75 0.5 0.375 -1.125 1.625 -0.063 3.115 0.253 2.129 5.685 3.506 -3.625 1.375 -9.062 3 -12.625 -0.375 -11.125 -25.812 -0.5z"/>
-        </g>
-      </mask>
-    </defs>
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
-    <g mask="url(#aQ)">
-      <path fill="#EF3F56" fill-opacity="1" d="M14.783 37.647c-3.09 1.784 -7.04 0.725 -8.824 -2.364l-1.615 -2.797a1.614 1.614 0 0 1 0.591 -2.206l8.391 -4.845a1.614 1.614 0 0 1 2.206 0.591l1.615 2.797c1.784 3.09 0.725 7.04 -2.364 8.824z" opacity="1"/>
-    </g>
-    <g mask="url(#aR)">
-      <path fill="#FFF" fill-opacity="1" d="M13.62 29.21a0.798 0.798 0 0 0 -0.379 0.516l-0.97 3.621 -3.559 -0.96a0.796 0.796 0 0 0 -0.677 0.047 0.808 0.808 0 0 0 0.188 1.477l-0.007 0.014 3.637 0.983 0.78 0.209a0.808 0.808 0 0 0 0.989 -0.571l0.209 -0.78 0.979 -3.648a0.808 0.808 0 0 0 -0.29 -0.856 0.808 0.808 0 0 0 -0.9 -0.051z" opacity="1"/>
-    </g>
+    <use fill="context-fill" href="#books"/>
   </svg>
   <svg x="1078">
-    <path fill="context-fill" fill-opacity="1" d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z" opacity="1"/>
-    <g mask="url(#bS)">
-      <path fill="#EF3F56" fill-opacity="1" d="M8.8 14.017c-3.538 -1.288 -5.363 -5.201 -4.075 -8.74l1.166 -3.203a1.704 1.704 0 0 1 2.185 -1.02l9.611 3.499a1.704 1.704 0 0 1 1.019 2.185l-1.166 3.203c-1.288 3.539 -5.201 5.364 -8.74 4.076z" opacity="1"/>
-    </g>
+    <use fill="context-fill" href="#books"/>
   </svg>
 </svg>
--- a/browser/extensions/pocket/skin/shared/pocket-animation.svg
+++ b/browser/extensions/pocket/skin/shared/pocket-animation.svg
@@ -1,243 +1,131 @@
-<!-- This Source Code Form is subject to the terms of the Mozilla Public
-   - License, v. 2.0. If a copy of the MPL was not distributed with this
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+   - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 <svg xmlns="http://www.w3.org/2000/svg" width="260" height="16" fill="context-fill">
   <svg>
     <defs>
       <filter id="a">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.253c-4.525 0 -8.195 -3.669 -8.195 -8.195v-4.097a2.048 2.048 0 0 1 2.05 -2.05h12.292a2.048 2.048 0 0 1 2.049 2.05v4.097c0 4.526 -3.67 8.195 -8.196 8.195z"/>
-      </g>
-      <g filter="url(#a)" transform="translate(1.75 1.092) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 15.3A8.2 8.2 0 0 1 1.8 7V3a2 2 0 0 1 2-2h12.4a2 2 0 0 1 2 2v4c0 4.6-3.7 8.3-8.2 8.3z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#a)" transform="translate(1.75 1.092) scale(1.02438)"/>
   </svg>
   <svg x="20">
     <defs>
       <filter id="b">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.253c-4.525 0 -8.195 -3.669 -8.195 -8.195v-4.097a2.048 2.048 0 0 1 2.05 -2.05h12.292a2.048 2.048 0 0 1 2.049 2.05v4.097c0 4.526 -3.67 8.195 -8.196 8.195z"/>
-      </g>
-      <g filter="url(#b)" transform="translate(1.75 1.092) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 15.3A8.2 8.2 0 0 1 1.8 7V3a2 2 0 0 1 2-2h12.4a2 2 0 0 1 2 2v4c0 4.6-3.7 8.3-8.2 8.3z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#b)" transform="translate(1.75 1.092) scale(1.02438)"/>
   </svg>
   <svg x="40">
     <defs>
       <filter id="c">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.97c-4.978 0 -9.014 -4.036 -9.014 -9.014v-4.507a2.253 2.253 0 0 1 2.254 -2.254h13.521a2.253 2.253 0 0 1 2.254 2.254v4.507c0 4.978 -4.036 9.014 -9.015 9.014z"/>
-      </g>
-      <g filter="url(#c)" transform="translate(1.75 1.86) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 16c-5 0-9-4-9-9V2.4A2.3 2.3 0 0 1 3.3.2h13.5A2.3 2.3 0 0 1 19 2.4V7c0 5-4 9-9 9z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#c)" transform="translate(1.75 1.86) scale(1.02438)"/>
   </svg>
   <svg x="60">
     <defs>
       <filter id="d">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.97c-4.978 0 -9.014 -4.036 -9.014 -9.014v-4.507a2.253 2.253 0 0 1 2.254 -2.254h13.521a2.253 2.253 0 0 1 2.254 2.254v4.507c0 4.978 -4.036 9.014 -9.015 9.014z"/>
-      </g>
-      <g filter="url(#d)" transform="translate(1.75 1.862) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 16c-5 0-9-4-9-9V2.4A2.3 2.3 0 0 1 3.3.2h13.5A2.3 2.3 0 0 1 19 2.4V7c0 5-4 9-9 9z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#d)" transform="translate(1.75 1.862) scale(1.02438)"/>
   </svg>
   <svg x="80">
     <defs>
       <filter id="e">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.97c-4.978 0 -9.014 -4.036 -9.014 -9.014v-4.507a2.253 2.253 0 0 1 2.254 -2.254h13.521a2.253 2.253 0 0 1 2.254 2.254v4.507c0 4.978 -4.036 9.014 -9.015 9.014z"/>
-      </g>
-      <g filter="url(#e)" transform="translate(1.75 1.86) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 16c-5 0-9-4-9-9V2.4A2.3 2.3 0 0 1 3.3.2h13.5A2.3 2.3 0 0 1 19 2.4V7c0 5-4 9-9 9z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#e)" transform="translate(1.75 1.86) scale(1.02438)"/>
   </svg>
   <svg x="100">
     <defs>
       <filter id="f">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.94c-4.958 0 -8.979 -4.021 -8.979 -8.98v-4.49a2.244 2.244 0 0 1 2.245 -2.244h13.469a2.244 2.244 0 0 1 2.245 2.245v4.49c0 4.958 -4.02 8.979 -8.98 8.979z"/>
-      </g>
-      <g filter="url(#f)" transform="translate(1.75 1.817) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 16c-5 0-9-4-9-9V2.5A2.2 2.2 0 0 1 3.3.2h13.5A2.2 2.2 0 0 1 19 2.5V7c0 5-4 9-9 9z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#f)" transform="translate(1.75 1.817) scale(1.02438)"/>
   </svg>
   <svg x="120">
     <defs>
       <filter id="g">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.858c-4.907 0 -8.886 -3.979 -8.886 -8.886v-4.443a2.221 2.221 0 0 1 2.222 -2.222h13.33a2.221 2.221 0 0 1 2.22 2.222v4.443c0 4.907 -3.978 8.886 -8.886 8.886z"/>
-      </g>
-      <g filter="url(#g)" transform="translate(1.75 1.705) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 15.9a9 9 0 0 1-8.9-9V2.6A2.2 2.2 0 0 1 3.4.3h13.3a2.2 2.2 0 0 1 2.2 2.2V7a9 9 0 0 1-8.9 8.9z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#g)" transform="translate(1.75 1.705) scale(1.02438)"/>
   </svg>
   <svg x="140">
     <defs>
       <filter id="h">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.743c-4.835 0 -8.755 -3.92 -8.755 -8.755v-4.377a2.188 2.188 0 0 1 2.19 -2.19h13.132c1.21 0 2.189 0.98 2.189 2.19v4.377c0 4.835 -3.92 8.755 -8.756 8.755z"/>
-      </g>
-      <g filter="url(#h)" transform="translate(1.75 1.552) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 15.7A8.7 8.7 0 0 1 1.3 7V2.6A2.2 2.2 0 0 1 3.5.4h13c1.3 0 2.3 1 2.3 2.2V7c0 4.8-4 8.7-8.8 8.7z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#h)" transform="translate(1.75 1.552) scale(1.02438)"/>
   </svg>
   <svg x="160">
     <defs>
       <filter id="i">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.612c-4.752 0 -8.604 -3.853 -8.604 -8.605v-4.302a2.15 2.15 0 0 1 2.15 -2.152h12.908a2.15 2.15 0 0 1 2.151 2.152v4.302c0 4.752 -3.853 8.605 -8.605 8.605z"/>
-      </g>
-      <g filter="url(#i)" transform="translate(1.75 1.387) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 15.6A8.6 8.6 0 0 1 1.4 7V2.7A2.1 2.1 0 0 1 3.6.6h12.9a2.1 2.1 0 0 1 2.1 2.1V7c0 4.8-3.8 8.6-8.6 8.6z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#i)" transform="translate(1.75 1.387) scale(1.02438)"/>
   </svg>
   <svg x="180">
     <defs>
       <filter id="j">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.48c-4.668 0 -8.454 -3.785 -8.454 -8.454v-4.227a2.113 2.113 0 0 1 2.114 -2.114h12.681a2.113 2.113 0 0 1 2.114 2.114v4.227c0 4.669 -3.786 8.454 -8.455 8.454z"/>
-      </g>
-      <g filter="url(#j)" transform="translate(1.75 1.238) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 15.5A8.5 8.5 0 0 1 1.6 7V2.8a2.1 2.1 0 0 1 2-2.1h12.8a2.1 2.1 0 0 1 2 2.1V7c0 4.7-3.7 8.5-8.4 8.5z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#j)" transform="translate(1.75 1.238) scale(1.02438)"/>
   </svg>
   <svg x="200">
     <defs>
       <filter id="k">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.365c-4.596 0 -8.323 -3.726 -8.323 -8.323v-4.161a2.08 2.08 0 0 1 2.081 -2.081h12.485a2.08 2.08 0 0 1 2.08 2.08v4.162c0 4.597 -3.726 8.323 -8.323 8.323z"/>
-      </g>
-      <g filter="url(#k)" transform="translate(1.75 1.132) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 15.4A8.3 8.3 0 0 1 1.7 7V3a2 2 0 0 1 2-2.1h12.6a2 2 0 0 1 2 2V7c0 4.6-3.7 8.4-8.3 8.4z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#k)" transform="translate(1.75 1.132) scale(1.02438)"/>
   </svg>
   <svg x="220">
     <defs>
       <filter id="l">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.284c-4.545 0 -8.23 -3.685 -8.23 -8.23v-4.115a2.057 2.057 0 0 1 2.058 -2.058h12.345a2.057 2.057 0 0 1 2.058 2.058v4.115c0 4.545 -3.685 8.23 -8.23 8.23z"/>
-      </g>
-      <g filter="url(#l)" transform="translate(1.75 1.092) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 15.3A8.2 8.2 0 0 1 1.8 7V2.9a2 2 0 0 1 2-2h12.4a2 2 0 0 1 2 2v4.2c0 4.5-3.6 8.2-8.2 8.2z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#l)" transform="translate(1.75 1.092) scale(1.02438)"/>
   </svg>
   <svg x="240">
     <defs>
       <filter id="m">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.253c-4.525 0 -8.195 -3.669 -8.195 -8.195v-4.097a2.048 2.048 0 0 1 2.05 -2.05h12.292a2.048 2.048 0 0 1 2.049 2.05v4.097c0 4.526 -3.67 8.195 -8.196 8.195z"/>
-      </g>
-      <g filter="url(#m)" transform="translate(1.75 1.092) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 15.3A8.2 8.2 0 0 1 1.8 7V3a2 2 0 0 1 2-2h12.4a2 2 0 0 1 2 2v4c0 4.6-3.7 8.3-8.2 8.3z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#m)" transform="translate(1.75 1.092) scale(1.02438)"/>
   </svg>
   <svg x="260">
     <defs>
       <filter id="n">
         <feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
       </filter>
     </defs>
-    <g>
-      <g>
-        <path d="M10.016 15.253c-4.525 0 -8.195 -3.669 -8.195 -8.195v-4.097a2.048 2.048 0 0 1 2.05 -2.05h12.292a2.048 2.048 0 0 1 2.049 2.05v4.097c0 4.526 -3.67 8.195 -8.196 8.195z"/>
-      </g>
-      <g filter="url(#n)" transform="translate(1.75 1.092) scale(1.02438)">
-        <g>
-          <path d="M11.985 3.968a0.991 0.991 0 0 0 -0.726 0.319l-3.281 3.284 -3.224 -3.235a0.984 0.984 0 0 0 -0.754 -0.368 1.001 1.001 0 0 0 -0.715 1.7l-0.016 0.011 3.294 3.306 0.706 0.707a1 1 0 0 0 1.414 0l0.707 -0.707 3.31 -3.306a1.001 1.001 0 0 0 0.22 -1.097 1 1 0 0 0 -0.935 -0.614z"/>
-        </g>
-      </g>
-    </g>
+    <path d="M10 15.3A8.2 8.2 0 0 1 1.8 7V3a2 2 0 0 1 2-2h12.4a2 2 0 0 1 2 2v4c0 4.6-3.7 8.3-8.2 8.3z"/>
+    <path d="M12 4a1 1 0 0 0-.7.3L8 7.6 4.8 4.3A1 1 0 0 0 4 4a1 1 0 0 0-.7 1.7L6.6 9l.7.7a1 1 0 0 0 1.4 0l.7-.7 3.3-3.3a1 1 0 0 0 .2-1.1 1 1 0 0 0-1-.6z" filter="url(#n)" transform="translate(1.75 1.092) scale(1.02438)"/>
   </svg>
 </svg>
--- a/browser/locales/en-US/chrome/browser/aboutSessionRestore.dtd
+++ b/browser/locales/en-US/chrome/browser/aboutSessionRestore.dtd
@@ -1,26 +1,24 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
 <!ENTITY restorepage.tabtitle       "Restore Session">
 
 <!-- LOCALIZATION NOTE: The title is intended to be apologetic and disarming, expressing dismay
      and regret that we are unable to restore the session for the user -->
-<!ENTITY restorepage.errorTitle     "Well, this is embarrassing.">
-<!ENTITY restorepage.problemDesc    "&brandShortName; is having trouble recovering your windows and tabs. This is usually caused by a recently opened web page.">
-<!ENTITY restorepage.tryThis        "You can try:">
-<!ENTITY restorepage.restoreSome    "Removing one or more tabs that you think may be causing the problem">
-<!ENTITY restorepage.startNew       "Starting an entirely new browsing session">
+<!ENTITY restorepage.errorTitle2    "Sorry. We’re having trouble getting your pages back.">
+<!ENTITY restorepage.problemDesc2   "We are having trouble restoring your last browsing session. Select Restore Session to try again.">
+<!ENTITY restorepage.tryThis2       "Still not able to restore your session? Sometimes a tab is causing the issue. View previous tabs, remove the checkmark from the tabs you don’t need to recover, and then restore.">
 
-<!ENTITY restorepage.tryagainButton "Restore">
-<!ENTITY restorepage.restore.access "R">
-<!ENTITY restorepage.closeButton    "Close">
-<!ENTITY restorepage.close.access   "C">
+<!ENTITY restorepage.tryagainButton2 "Restore Session">
+<!ENTITY restorepage.restore.access2 "R">
+<!ENTITY restorepage.closeButton2    "Start New Session">
+<!ENTITY restorepage.close.access2   "N">
 
 <!ENTITY restorepage.restoreHeader  "Restore">
 <!ENTITY restorepage.listHeader     "Windows and Tabs">
 <!-- LOCALIZATION NOTE: &#37;S will be replaced with a number. -->
 <!ENTITY restorepage.windowLabel    "Window &#37;S">
 
 
 <!-- LOCALIZATION NOTE: The following 'welcomeback2' strings are for about:welcomeback,
--- a/browser/locales/en-US/chrome/browser/aboutTabCrashed.dtd
+++ b/browser/locales/en-US/chrome/browser/aboutTabCrashed.dtd
@@ -1,30 +1,32 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 
-<!ENTITY tabCrashed.closeTab "Close This Tab">
+<!ENTITY tabCrashed.title "Tab crash reporter">
+
+<!ENTITY tabCrashed.closeTab2  "Close Tab">
 <!ENTITY tabCrashed.restoreTab "Restore This Tab">
 <!ENTITY tabCrashed.restoreAll "Restore All Crashed Tabs">
 
 <!-- LOCALIZATION NOTE (tabCrashed.header2): "Gah" is an English slang word
      used to express surprise or frustration (or both at the same time).  We
      are using it to communicate in an informal way that it is both
      frustrating that your tab crashed and a surprise that we didn't want to
      happen. If you have a similar word or short phrase that is not profane or
      vulgar, use it. If not, feel free to skip the word in your
      translation. -->
 <!ENTITY tabCrashed.header2 "Gah. Your tab just crashed.">
-<!ENTITY tabCrashed.offerHelp "We can help you!">
-<!ENTITY tabCrashed.single.offerHelpMessage "Choose &tabCrashed.restoreTab; to reload page content.">
-<!ENTITY tabCrashed.multiple.offerHelpMessage "Choose &tabCrashed.restoreTab; or &tabCrashed.restoreAll; to reload page content.">
+<!ENTITY tabCrashed.offerHelp2 "We can help!">
+<!ENTITY tabCrashed.single.offerHelpMessage2 "Choose &tabCrashed.restoreTab; to reload the page.">
+<!ENTITY tabCrashed.multiple.offerHelpMessage2 "Choose &tabCrashed.restoreTab; or &tabCrashed.restoreAll; to reload the page/pages.">
 <!ENTITY tabCrashed.requestHelp "Will you help us?">
 <!ENTITY tabCrashed.requestHelpMessage "Crash reports help us diagnose problems and make &brandShortName; better.">
 <!ENTITY tabCrashed.requestReport "Report this tab">
-<!ENTITY tabCrashed.sendReport2 "Send a crash report for the tab you are viewing">
+<!ENTITY tabCrashed.sendReport3 "Send an automated crash report so we can fix issues like this.">
 <!ENTITY tabCrashed.commentPlaceholder2 "Optional comments (comments are publicly visible)">
-<!ENTITY tabCrashed.includeURL2 "Include page URL with this crash report">
+<!ENTITY tabCrashed.includeURL3 "Include the URLs of the sites you were on when &brandShortName; crashed.">
 <!ENTITY tabCrashed.emailPlaceholder "Enter your email address here">
 <!ENTITY tabCrashed.emailMe "Email me when more information is available">
 <!ENTITY tabCrashed.reportSent "Crash report already submitted; thank you for helping make &brandShortName; better!">
 <!ENTITY tabCrashed.requestAutoSubmit2 "Report background tabs">
-<!ENTITY tabCrashed.autoSubmit2 "Update preferences to automatically send crash reports, including reports for crashed background tabs from this session and future sessions">
+<!ENTITY tabCrashed.autoSubmit3 "Update preferences to automatically submit reports when &brandShortName; crashes.">
--- a/browser/locales/en-US/chrome/overrides/appstrings.properties
+++ b/browser/locales/en-US/chrome/overrides/appstrings.properties
@@ -1,16 +1,16 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 malformedURI2=Please check that the URL is correct and try again.
 fileNotFound=Firefox can’t find the file at %S.
 fileAccessDenied=The file at %S is not readable.
-dnsNotFound=Firefox can’t find the server at %S.
+dnsNotFound2=We can’t connect to the server at %S.
 unknownProtocolFound=Firefox doesn’t know how to open this address, because one of the following protocols (%S) isn’t associated with any program or is not allowed in this context.
 connectionFailure=Firefox can’t establish a connection to the server at %S.
 netInterrupt=The connection to %S was interrupted while the page was loading.
 netTimeout=The server at %S is taking too long to respond.
 redirectLoop=Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
 ## LOCALIZATION NOTE (confirmRepostPrompt): In this item, don’t translate "%S"
 confirmRepostPrompt=To display this page, %S must send information that will repeat any action (such as a search or order confirmation) that was performed earlier.
 resendButton.label=Resend
--- a/browser/locales/en-US/chrome/overrides/netError.dtd
+++ b/browser/locales/en-US/chrome/overrides/netError.dtd
@@ -13,26 +13,25 @@
 <!-- Specific error messages -->
 
 <!ENTITY connectionFailure.title "Unable to connect">
 <!ENTITY connectionFailure.longDesc "&sharedLongDesc;">
 
 <!ENTITY deniedPortAccess.title "This address is restricted">
 <!ENTITY deniedPortAccess.longDesc "">
 
-<!ENTITY dnsNotFound.title "Server not found">
-<!ENTITY dnsNotFound.longDesc "
+<!ENTITY dnsNotFound.pageTitle "Server Not Found">
+<!-- Localization note (dnsNotFound.title1) - "Hmm" is a sound made when considering or puzzling over something. You don't have to include it in your translation if your language does not have a written word like this. -->
+<!ENTITY dnsNotFound.title1 "Hmm. We’re having trouble finding that site.">
+<!ENTITY dnsNotFound.longDesc1 "
+<strong>If that address is correct, here are three other things you can try:</strong>
 <ul>
-  <li>Check the address for typing errors such as
-    <strong>ww</strong>.example.com instead of
-    <strong>www</strong>.example.com</li>
-  <li>If you are unable to load any pages, check your computer’s network
-    connection.</li>
-  <li>If your computer or network is protected by a firewall or proxy, make sure
-    that &brandShortName; is permitted to access the Web.</li>
+  <li>Try again later.</li>
+  <li>Check your network connection.</li>
+  <li>If you are connected but behind a firewall, check that &brandShortName; has permission to access the Web.</li>
 </ul>
 ">
 
 <!ENTITY fileNotFound.title "File not found">
 <!ENTITY fileNotFound.longDesc "
 <ul>
   <li>Check the file name for capitalization or other typing errors.</li>
   <li>Check to see if the file was moved, renamed or deleted.</li>
@@ -53,16 +52,18 @@
 
 <!ENTITY captivePortal.title "Log in to network">
 <!ENTITY captivePortal.longDesc2 "
 <p>You must log in to this network before you can access the Internet.</p>
 ">
 
 <!ENTITY openPortalLoginPage.label2 "Open Network Login Page">
 
+<!ENTITY malformedURI.pageTitle "Invalid URL">
+<!-- Localization note (malformedURI.title1) - "Hmm" is a sound made when considering or puzzling over something. You don't have to include it in your translation if your language does not have a written word like this. -->
 <!ENTITY malformedURI.title1 "Hmm. That address doesn’t look right.">
 
 <!ENTITY netInterrupt.title "The connection was interrupted">
 <!ENTITY netInterrupt.longDesc "&sharedLongDesc;">
 
 <!ENTITY notCached.title "Document Expired">
 <!ENTITY notCached.longDesc "<p>The requested document is not available in &brandShortName;’s cache.</p><ul><li>As a security precaution, &brandShortName; does not automatically re-request sensitive documents.</li><li>Click Try Again to re-request the document from the website.</li></ul>">
 
--- a/browser/themes/osx/customizableui/panelUI.css
+++ b/browser/themes/osx/customizableui/panelUI.css
@@ -15,16 +15,20 @@
 .subviewbutton {
   padding-inline-start: 18px;
 }
 
 photonpanelmultiview .toolbaritem-combined-buttons > label {
   padding-inline-start: 42px; /* 18px toolbarbutton padding + 16px icon + 8px label padding start */
 }
 
+#appMenu-mainView > .panel-subview-body > .panel-banner-item {
+  padding-inline-start: 18px;
+}
+
 #appMenu-fxa-container[fxastatus="signedin"] > #appMenu-fxa-status > #appMenu-fxa-label {
   /* 18px space before the avatar, then 16px for the avatar */
   padding-inline-start: 34px;
   margin-inline-start: -34px;
 }
 
 #appMenu-fxa-container[fxastatus="signedin"] > #appMenu-fxa-status > #appMenu-fxa-avatar {
   margin-inline-start: 18px;
--- a/browser/themes/shared/aboutNetError.css
+++ b/browser/themes/shared/aboutNetError.css
@@ -155,16 +155,17 @@ span#hostname {
   display: flex;
   justify-content: end;
   padding: 10px;
 }
 
 .illustrated #errorPageContainer {
   min-height: 300px;
   display: flex;
+  flex-direction: column;
   background-position: left center;
 }
 
 .illustrated[dir="rtl"] #errorPageContainer {
   background-position: right center;
 }
 
 .illustrated .title {
@@ -178,15 +179,19 @@ span#hostname {
   padding-inline-start: 38%;
 }
 
 .illustrated #errorPageContainer {
   background-repeat: no-repeat;
   background-size: 38%;
 }
 
+.dnsNotFound #errorPageContainer {
+  background-image: url("chrome://browser/content/illustrations/error-server-not-found.svg");
+}
+
 .malformedURI #errorPageContainer {
   background-image: url("chrome://browser/content/illustrations/error-malformed-url.svg");
 }
 
 .malformedURI #errorTryAgain {
   display: none;
 }
--- a/browser/themes/shared/customizableui/panelUI.inc.css
+++ b/browser/themes/shared/customizableui/panelUI.inc.css
@@ -772,17 +772,17 @@ toolbaritem[cui-areatype="menu-panel"][s
   margin-bottom: -1px;
 }
 
 /* in Photon, we have a bottom border as well. Reconcile with the above rule
  * after photon launch. */
 #appMenu-mainView > .panel-subview-body > .panel-banner-item {
   border-bottom: 1px solid var(--panel-separator-color);
   margin-bottom: 3px;
-  padding-inline-start: 10px;
+  padding-inline-start: 12px;
 }
 
 .panel-banner-item > .toolbarbutton-text {
   width: 0; /* Fancy cropping solution for flexbox. */
 }
 
 /* FxAccount indicator bits. */
 
@@ -1391,17 +1391,17 @@ photonpanelmultiview .PanelUI-subView .t
 }
 
 photonpanelmultiview .toolbaritem-combined-buttons > .subviewbutton:not(.subviewbutton-iconic) > .toolbarbutton-text {
   font-size: 1em;
   padding-inline-start: 0;
 }
 
 photonpanelmultiview .panel-banner-item::after {
-  margin-inline-end: 14px;
+  margin-inline-end: 12px;
   margin-inline-start: 10px;
 }
 
 photonpanelmultiview .subview-subheader {
   color: GrayText;
 }
 
 photonpanelmultiview .subview-subheader,
--- a/browser/themes/shared/icons/chevron-animation.svg
+++ b/browser/themes/shared/icons/chevron-animation.svg
@@ -1,221 +1,221 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 <svg xmlns="http://www.w3.org/2000/svg" width="1278" height="36" fill="context-fill" fill-opacity="context-fill-opacity">
   <svg>
-    <path d="M9.707 17.293l-5 -5a1 1 0 1 0 -1.414 1.414l4.293 4.293 -4.293 4.293a1 1 0 0 0 -0.025 1.414 1 1 0 0 0 1.414 0.025l0.025 -0.025 5 -5a1 1 0 0 0 0 -1.414zm6 0l-5 -5a1 1 0 1 0 -1.414 1.414l4.293 4.293 -4.293 4.293a1 1 0 0 0 -0.025 1.414 1 1 0 0 0 1.414 0.025l0.025 -0.025 5 -5a1 1 0 0 0 0 -1.414z"/>
+    <path d="M9.7 17.3l-5-5a1 1 0 1 0-1.4 1.4L7.6 18l-4.3 4.3a1 1 0 0 0 0 1.4 1 1 0 0 0 1.4 0l5-5a1 1 0 0 0 0-1.4zm6 0l-5-5a1 1 0 1 0-1.4 1.4l4.3 4.3-4.3 4.3a1 1 0 0 0 0 1.4 1 1 0 0 0 1.4 0l5-5a1 1 0 0 0 0-1.4z"/>
   </svg>
   <svg x="18">
-    <path d="M9.714 17.3l-4.948 -5.051a1 1 0 1 0 -1.429 1.4l4.25 4.336 -4.338 4.249a1 1 0 0 0 -0.04 1.413 1 1 0 0 0 1.414 0.04l0.025 -0.025 5.052 -4.948a1 1 0 0 0 0.014 -1.414zm6 0.063l-4.948 -5.052a1 1 0 1 0 -1.429 1.4l4.249 4.337 -4.338 4.248a1 1 0 0 0 -0.04 1.413 1 1 0 0 0 1.415 0.04l0.025 -0.025 5.051 -4.948a1 1 0 0 0 0.015 -1.413z"/>
+    <path d="M9.7 17.3l-5-5a1 1 0 1 0-1.4 1.3L7.6 18l-4.4 4.2a1 1 0 0 0 0 1.4 1 1 0 0 0 1.4 0l5.1-4.9a1 1 0 0 0 0-1.4zm6 0l-5-5a1 1 0 1 0-1.4 1.4l4.3 4.3-4.4 4.3a1 1 0 0 0 0 1.4 1 1 0 0 0 1.4 0l5.1-5a1 1 0 0 0 0-1.3z"/>
   </svg>
   <svg x="36">
-    <path d="M9.735 17.322l-4.796 -5.196a1 1 0 1 0 -1.47 1.356l4.118 4.461 -4.461 4.118a1 1 0 0 0 -0.082 1.412 1 1 0 0 0 1.412 0.081c0.01 -0.007 0.017 -0.016 0.026 -0.024l5.196 -4.795a1 1 0 0 0 0.057 -1.413zm5.995 0.24l-4.796 -5.196a1 1 0 1 0 -1.47 1.356l4.118 4.462 -4.461 4.117a1 1 0 0 0 -0.082 1.412 1 1 0 0 0 1.412 0.082l0.026 -0.024 5.196 -4.796a1 1 0 0 0 0.057 -1.413z"/>
+    <path d="M9.7 17.3L5 12.1a1 1 0 1 0-1.4 1.4l4 4.4-4.4 4.2a1 1 0 0 0 0 1.4 1 1 0 0 0 1.4 0l5.2-4.8a1 1 0 0 0 0-1.4zm6 .3L11 12.4a1 1 0 1 0-1.4 1.3l4 4.5-4.4 4.1a1 1 0 0 0 0 1.4 1 1 0 0 0 1.4 0l5.2-4.7a1 1 0 0 0 0-1.4z"/>
   </svg>
   <svg x="54">
-    <path d="M9.766 17.357l-4.546 -5.416a1 1 0 1 0 -1.532 1.286l3.903 4.65 -4.65 3.903a1 1 0 0 0 -0.148 1.407 1 1 0 0 0 1.407 0.148l0.027 -0.023 5.416 -4.546a1 1 0 0 0 0.123 -1.409zm5.977 0.522l-4.546 -5.416a1 1 0 1 0 -1.532 1.286l3.904 4.65 -4.65 3.903a1 1 0 0 0 -0.149 1.407 1 1 0 0 0 1.407 0.148l0.027 -0.023 5.416 -4.546a1 1 0 0 0 0.123 -1.409z"/>
+    <path d="M9.8 17.4l-4.6-5.5a1 1 0 1 0-1.5 1.3L7.6 18l-4.7 3.9a1 1 0 0 0-.1 1.4 1 1 0 0 0 1.4.1l5.4-4.5a1 1 0 0 0 .2-1.4zm6 .5l-4.6-5.4a1 1 0 1 0-1.5 1.2l3.9 4.7-4.7 3.9a1 1 0 0 0-.1 1.4 1 1 0 0 0 1.4.2l5.4-4.6a1 1 0 0 0 .1-1.4z"/>
   </svg>
   <svg x="72">
-    <path d="M9.804 17.406l-4.2 -5.688a1 1 0 1 0 -1.609 1.188l3.607 4.884 -4.884 3.606a1 1 0 0 0 -0.236 1.394 1 1 0 0 0 1.395 0.235l0.028 -0.02 5.689 -4.2a1 1 0 0 0 0.21 -1.399zm5.934 0.893l-4.2 -5.688a1 1 0 1 0 -1.609 1.188l3.606 4.884 -4.884 3.606a1 1 0 0 0 -0.235 1.394 1 1 0 0 0 1.394 0.236l0.029 -0.021 5.688 -4.2a1 1 0 0 0 0.21 -1.399z"/>
+    <path d="M9.8 17.4l-4.2-5.7A1 1 0 1 0 4 13l3.6 4.9-4.9 3.6a1 1 0 0 0-.2 1.4 1 1 0 0 0 1.4.2l5.7-4.2a1 1 0 0 0 .2-1.4zm6 .9l-4.3-5.7a1 1 0 1 0-1.6 1.2l3.6 4.9-4.8 3.6a1 1 0 0 0-.3 1.4 1 1 0 0 0 1.4.2l5.7-4.2a1 1 0 0 0 .2-1.4z"/>
   </svg>
   <svg x="90">
-    <path d="M9.847 17.468l-3.76 -5.989a1 1 0 1 0 -1.694 1.063l3.229 5.143 -5.143 3.227a1 1 0 0 0 -0.34 1.373 1 1 0 0 0 1.373 0.34c0.011 -0.006 0.02 -0.013 0.03 -0.02l5.99 -3.758a1 1 0 0 0 0.315 -1.379zm5.849 1.339l-3.76 -5.99a1 1 0 1 0 -1.694 1.063l3.229 5.143 -5.143 3.227a1 1 0 0 0 -0.34 1.373 1 1 0 0 0 1.373 0.34l0.03 -0.019 5.99 -3.76a1 1 0 0 0 0.315 -1.377z"/>
+    <path d="M9.8 17.5l-3.7-6a1 1 0 1 0-1.7 1l3.2 5.2-5.1 3.2a1 1 0 0 0-.4 1.4 1 1 0 0 0 1.4.3l6-3.8a1 1 0 0 0 .3-1.3zm5.9 1.3l-3.8-6a1 1 0 1 0-1.7 1l3.3 5.2-5.2 3.2a1 1 0 0 0-.3 1.4 1 1 0 0 0 1.4.4l6-3.8a1 1 0 0 0 .3-1.4z"/>
   </svg>
   <svg x="108">
-    <path d="M9.89 17.544l-3.227 -6.292a1 1 0 1 0 -1.78 0.912l2.771 5.403 -5.402 2.77a1 1 0 0 0 -0.458 1.338 1 1 0 0 0 1.339 0.457l0.031 -0.016 6.292 -3.226a1 1 0 0 0 0.434 -1.346zm5.71 1.84l-3.226 -6.293a1 1 0 1 0 -1.78 0.912l2.771 5.403 -5.402 2.77a1 1 0 0 0 -0.457 1.338 1 1 0 0 0 1.338 0.458l0.031 -0.016 6.292 -3.227a1 1 0 0 0 0.434 -1.346z"/>
+    <path d="M9.9 17.5l-3.2-6.2a1 1 0 1 0-1.8.9l2.8 5.4-5.4 2.7a1 1 0 0 0-.5 1.4A1 1 0 0 0 3 22l6.6-3a1 1 0 0 0 .4-1.4zm5.7 1.9L12.4 13a1 1 0 1 0-1.8.9l2.8 5.4L8 22.2a1 1 0 0 0-.5 1.3 1 1 0 0 0 1.3.5l6.4-3.3a1 1 0 0 0 .4-1.3z"/>
   </svg>
   <svg x="126">
-    <path d="M9.93 17.631l-2.61 -6.572a1 1 0 1 0 -1.859 0.738l2.24 5.643 -5.642 2.24a1 1 0 0 0 -0.583 1.289 1 1 0 0 0 1.288 0.583l0.033 -0.013 6.572 -2.61a1 1 0 0 0 0.56 -1.298zm5.508 2.377l-2.61 -6.572a1 1 0 1 0 -1.859 0.738l2.242 5.643 -5.643 2.24a1 1 0 0 0 -0.583 1.29 1 1 0 0 0 1.288 0.582c0.012 -0.003 0.023 -0.009 0.033 -0.013l6.572 -2.61a1 1 0 0 0 0.56 -1.298z"/>
+    <path d="M10 17.6l-2.7-6.5a1 1 0 1 0-1.8.7l2.2 5.6-5.6 2.3a1 1 0 0 0-.6 1.3 1 1 0 0 0 1.3.6l6.6-2.7a1 1 0 0 0 .5-1.3zm5.4 2.4l-2.6-6.6a1 1 0 1 0-1.8.8l2.2 5.6-5.6 2.3a1 1 0 0 0-.6 1.2 1 1 0 0 0 1.3.6l6.6-2.6a1 1 0 0 0 .5-1.3z"/>
   </svg>
   <svg x="144">
-    <path d="M9.962 17.728l-1.92 -6.805a1 1 0 1 0 -1.925 0.543l1.65 5.843 -5.844 1.65a1 1 0 0 0 -0.712 1.221 1 1 0 0 0 1.221 0.712c0.012 -0.002 0.023 -0.006 0.034 -0.01l6.806 -1.92a1 1 0 0 0 0.69 -1.234zm5.236 2.931l-1.92 -6.805a1 1 0 1 0 -1.925 0.543l1.649 5.843 -5.843 1.65a1 1 0 0 0 -0.713 1.22 1 1 0 0 0 1.222 0.713c0.012 -0.002 0.023 -0.006 0.034 -0.01l6.805 -1.92a1 1 0 0 0 0.69 -1.234z"/>
+    <path d="M10 17.7L8 11a1 1 0 1 0-1.9.6l1.7 5.8L1.9 19a1 1 0 0 0-.7 1.2 1 1 0 0 0 1.2.7l6.9-2a1 1 0 0 0 .7-1.2zm5.2 3l-2-6.8a1 1 0 1 0-1.8.5l1.6 5.8L7.2 22a1 1 0 0 0-.8 1.2 1 1 0 0 0 1.3.7l6.8-2a1 1 0 0 0 .7-1.1z"/>
   </svg>
   <svg x="162">
-    <path d="M9.986 17.834l-1.176 -6.973a1 1 0 1 0 -1.972 0.333l1.01 5.986 -5.987 1.01a1 1 0 0 0 -0.84 1.138 1 1 0 0 0 1.138 0.84l0.035 -0.006 6.972 -1.176a1 1 0 0 0 0.82 -1.152zm4.889 3.478l-1.176 -6.973a1 1 0 1 0 -1.972 0.333l1.01 5.986 -5.987 1.01a1 1 0 0 0 -0.84 1.138 1 1 0 0 0 1.138 0.84l0.035 -0.006 6.972 -1.176a1 1 0 0 0 0.82 -1.152z"/>
+    <path d="M10 17.8l-1.2-7a1 1 0 1 0-2 .4l1 6-6 1a1 1 0 0 0-.8 1.1 1 1 0 0 0 1.2.9l7-1.2a1 1 0 0 0 .8-1.2zm4.9 3.5l-1.2-7a1 1 0 1 0-2 .4l1 6-6 1a1 1 0 0 0-.8 1.1 1 1 0 0 0 1.1.8l7-1.1a1 1 0 0 0 .9-1.2z"/>
   </svg>
   <svg x="180">
-    <path d="M9.998 17.944l-0.396 -7.06a1 1 0 1 0 -1.997 0.112l0.34 6.062 -6.061 0.34a1 1 0 0 0 -0.96 1.037 1 1 0 0 0 1.037 0.961l0.035 -0.002 7.06 -0.396a1 1 0 0 0 0.942 -1.054zm4.474 3.998l-0.396 -7.06a1 1 0 1 0 -1.997 0.112l0.34 6.062 -6.061 0.34a1 1 0 0 0 -0.961 1.038 1 1 0 0 0 1.037 0.96l0.036 -0.001 7.06 -0.396a1 1 0 0 0 0.942 -1.055z"/>
+    <path d="M10 18l-.4-7.1a1 1 0 1 0-2 .1l.3 6-6 .4a1 1 0 0 0-1 1 1 1 0 0 0 1 1H2l7-.4a1 1 0 0 0 1-1zm4.5 4l-.4-7.1a1 1 0 1 0-2 0l.3 6.2-6 .3a1 1 0 0 0-1 1 1 1 0 0 0 1 1l7.1-.4a1 1 0 0 0 1-1z"/>
   </svg>
   <svg x="198">
-    <path d="M9.998 18.056l0.396 -7.06a1 1 0 1 0 -1.997 -0.112l-0.34 6.062 -6.061 -0.34a1 1 0 0 0 -1.07 0.923 1 1 0 0 0 0.923 1.071 0.211 0.211 0 0 0 0.035 0.002l7.06 0.396a1 1 0 0 0 1.054 -0.942zm3.999 4.474l0.396 -7.06a1 1 0 1 0 -1.997 -0.112l-0.34 6.061 -6.062 -0.34a1 1 0 0 0 -1.07 0.924 1 1 0 0 0 0.923 1.07l0.035 0.003 7.06 0.396a1 1 0 0 0 1.055 -0.942z"/>
+    <path d="M10 18l.4-7a1 1 0 1 0-2-.1l-.3 6-6.1-.3a1 1 0 0 0-1 1 1 1 0 0 0 .8 1L9 19a1 1 0 0 0 1.1-1zm4 4.5l.4-7a1 1 0 1 0-2-.1l-.3 6-6.1-.3a1 1 0 0 0-1 .9 1 1 0 0 0 .8 1l7.1.5a1 1 0 0 0 1.1-1z"/>
   </svg>
   <svg x="216">
-    <path d="M9.986 18.166l1.176 -6.972a1 1 0 1 0 -1.972 -0.333l-1.01 5.987 -5.986 -1.01a1 1 0 0 0 -1.167 0.8 1 1 0 0 0 0.8 1.166c0.011 0.003 0.023 0.004 0.034 0.006l6.973 1.176a1 1 0 0 0 1.152 -0.82zm3.478 4.89l1.176 -6.973a1 1 0 1 0 -1.972 -0.333l-1.01 5.987 -5.986 -1.01a1 1 0 0 0 -1.167 0.8 1 1 0 0 0 0.8 1.166c0.011 0.003 0.023 0.004 0.034 0.006l6.973 1.176a1 1 0 0 0 1.152 -0.82z"/>
+    <path d="M10 18.2l1.2-7a1 1 0 1 0-2-.3l-1 6-6-1a1 1 0 0 0-1.2.7 1 1 0 0 0 .8 1.2l7 1.2a1 1 0 0 0 1.2-.8zm3.5 4.9l1.1-7a1 1 0 1 0-2-.3l-1 6-6-1a1 1 0 0 0-1 .7 1 1 0 0 0 .7 1.2l7 1.2a1 1 0 0 0 1.2-.8z"/>
   </svg>
   <svg x="234">
-    <path d="M9.962 18.272l1.92 -6.806a1 1 0 1 0 -1.925 -0.543l-1.648 5.843 -5.843 -1.649a1 1 0 0 0 -1.246 0.669 1 1 0 0 0 0.67 1.246l0.033 0.01 6.805 1.92a1 1 0 0 0 1.234 -0.69zm2.931 5.235l1.92 -6.805a1 1 0 1 0 -1.925 -0.543l-1.648 5.843 -5.843 -1.65a1 1 0 0 0 -1.246 0.67 1 1 0 0 0 0.669 1.246l0.034 0.01 6.805 1.92a1 1 0 0 0 1.234 -0.69z"/>
+    <path d="M10 18.3l1.9-6.8a1 1 0 1 0-2-.6l-1.6 5.9L2.5 15a1 1 0 0 0-1.3.7A1 1 0 0 0 2 17l6.8 2a1 1 0 0 0 1.3-.7zm2.9 5.2l2-6.8a1 1 0 1 0-2-.5L11.2 22l-5.8-1.6a1 1 0 0 0-1.2.6 1 1 0 0 0 .6 1.3l6.9 1.9a1 1 0 0 0 1.2-.7z"/>
   </svg>
   <svg x="252">
-    <path d="M9.93 18.369l2.609 -6.572a1 1 0 1 0 -1.859 -0.738l-2.24 5.643 -5.643 -2.24a1 1 0 0 0 -1.308 0.536 1 1 0 0 0 0.537 1.309l0.033 0.013 6.572 2.61a1 1 0 0 0 1.298 -0.561zm2.377 5.509l2.61 -6.572a1 1 0 1 0 -1.859 -0.738l-2.24 5.643 -5.644 -2.241a1 1 0 0 0 -1.308 0.537 1 1 0 0 0 0.538 1.308c0.01 0.006 0.022 0.01 0.032 0.014l6.572 2.61a1 1 0 0 0 1.299 -0.561z"/>
+    <path d="M10 18.4l2.5-6.6a1 1 0 1 0-1.8-.7l-2.3 5.6-5.6-2.2a1 1 0 0 0-1.3.5 1 1 0 0 0 .5 1.3L8.7 19a1 1 0 0 0 1.3-.5zm2.3 5.5l2.6-6.6a1 1 0 1 0-1.8-.7l-2.3 5.6L5.2 20a1 1 0 0 0-1.3.5 1 1 0 0 0 .5 1.3l6.6 2.6a1 1 0 0 0 1.3-.5z"/>
   </svg>
   <svg x="270">
-    <path d="M9.89 18.456l3.226 -6.292a1 1 0 1 0 -1.78 -0.912l-2.77 5.402 -5.402 -2.77a1 1 0 0 0 -1.353 0.41 1 1 0 0 0 0.41 1.353l0.03 0.016 6.293 3.227a1 1 0 0 0 1.346 -0.434zm1.84 5.711l3.226 -6.292a1 1 0 1 0 -1.78 -0.912l-2.77 5.402 -5.402 -2.77a1 1 0 0 0 -1.354 0.41 1 1 0 0 0 0.41 1.353l0.031 0.016 6.292 3.227a1 1 0 0 0 1.346 -0.434z"/>
+    <path d="M9.9 18.5l3.2-6.3a1 1 0 1 0-1.8-1l-2.7 5.5-5.4-2.8a1 1 0 0 0-1.4.4 1 1 0 0 0 .4 1.3L8.6 19a1 1 0 0 0 1.4-.4zm1.8 5.7l3.3-6.3a1 1 0 1 0-1.8-1l-2.8 5.5L5 19.6a1 1 0 0 0-1.3.4 1 1 0 0 0 .4 1.4l6.3 3.2a1 1 0 0 0 1.3-.4z"/>
   </svg>
   <svg x="288">
-    <path d="M9.847 18.532l3.759 -5.99a1 1 0 1 0 -1.694 -1.063l-3.227 5.143 -5.143 -3.228a1 1 0 0 0 -1.384 0.291 1 1 0 0 0 0.291 1.384l0.03 0.019 5.99 3.759a1 1 0 0 0 1.378 -0.315zm1.338 5.848l3.759 -5.989a1 1 0 1 0 -1.694 -1.063l-3.227 5.143 -5.143 -3.228a1 1 0 0 0 -1.384 0.291 1 1 0 0 0 0.291 1.384l0.03 0.019 5.99 3.759a1 1 0 0 0 1.378 -0.316z"/>
+    <path d="M9.8 18.5l3.8-6a1 1 0 1 0-1.7-1l-3.2 5.1-5.2-3.2a1 1 0 0 0-1.3.3 1 1 0 0 0 .2 1.4l6 3.7a1 1 0 0 0 1.4-.3zm1.4 5.9l3.7-6a1 1 0 1 0-1.7-1l-3.2 5-5-3.1a1 1 0 0 0-1.4.3 1 1 0 0 0 .3 1.4l6 3.8a1 1 0 0 0 1.4-.3z"/>
   </svg>
   <svg x="306">
-    <path d="M9.804 18.594l4.2 -5.689a1 1 0 1 0 -1.609 -1.188l-3.605 4.885 -4.885 -3.606a1 1 0 0 0 -1.402 0.185 1 1 0 0 0 0.186 1.402l0.029 0.021 5.688 4.2a1 1 0 0 0 1.398 -0.21zm0.893 5.933l4.2 -5.688a1 1 0 1 0 -1.609 -1.188l-3.605 4.884 -4.885 -3.606a1 1 0 0 0 -1.402 0.185 1 1 0 0 0 0.186 1.402l0.029 0.021 5.688 4.2a1 1 0 0 0 1.398 -0.21z"/>
+    <path d="M9.8 18.6l4.2-5.7a1 1 0 1 0-1.6-1.2l-3.6 4.9L3.9 13a1 1 0 0 0-1.4.2 1 1 0 0 0 .2 1.4l5.7 4.2a1 1 0 0 0 1.4-.2zm.9 6l4.2-5.8a1 1 0 1 0-1.6-1.1l-3.6 4.8L4.8 19a1 1 0 0 0-1.4.2 1 1 0 0 0 .2 1.4l5.7 4.2a1 1 0 0 0 1.4-.2z"/>
   </svg>
   <svg x="324">
-    <path d="M9.766 18.643l4.546 -5.416a1 1 0 1 0 -1.532 -1.286l-3.903 4.65 -4.65 -3.903a1 1 0 0 0 -1.411 0.098 1 1 0 0 0 0.098 1.411l0.027 0.023 5.416 4.546a1 1 0 0 0 1.409 -0.123zm0.522 5.977l4.546 -5.416a1 1 0 1 0 -1.532 -1.286l-3.903 4.65 -4.65 -3.903a1 1 0 0 0 -1.411 0.099 1 1 0 0 0 0.098 1.41 0.276 0.276 0 0 0 0.027 0.023l5.416 4.546a1 1 0 0 0 1.409 -0.123z"/>
+    <path d="M9.8 18.6l4.5-5.4a1 1 0 1 0-1.5-1.3l-4 4.7-4.6-4a1 1 0 0 0-1.4.2 1 1 0 0 0 .1 1.4l5.5 4.6a1 1 0 0 0 1.4-.2zm.5 6l4.5-5.4a1 1 0 1 0-1.5-1.3l-3.9 4.7-4.7-4a1 1 0 0 0-1.4.2 1 1 0 0 0 .1 1.4L9 24.7a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="342">
-    <path d="M9.735 18.678l4.795 -5.196a1 1 0 1 0 -1.47 -1.356l-4.117 4.461 -4.461 -4.117a1 1 0 0 0 -1.414 0.031 1 1 0 0 0 0.032 1.414c0.008 0.009 0.017 0.016 0.026 0.024l5.196 4.796a1 1 0 0 0 1.413 -0.057zm0.24 5.995l4.796 -5.196a1 1 0 1 0 -1.47 -1.356l-4.117 4.461 -4.462 -4.117a1 1 0 0 0 -1.414 0.031 1 1 0 0 0 0.032 1.414c0.008 0.009 0.018 0.017 0.026 0.024l5.196 4.796a1 1 0 0 0 1.413 -0.057z"/>
+    <path d="M9.7 18.7l4.8-5.2a1 1 0 1 0-1.4-1.4l-4.2 4.5-4.4-4.1a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5.2 4.8a1 1 0 0 0 1.4 0zm.3 6l4.8-5.2a1 1 0 1 0-1.5-1.4l-4.1 4.5-4.5-4.1a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5.3 4.8a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="360">
-    <path d="M9.714 18.7l4.948 -5.052a1 1 0 1 0 -1.429 -1.4l-4.248 4.338 -4.337 -4.248a1 1 0 0 0 -1.414 -0.01 1 1 0 0 0 -0.01 1.414l0.025 0.024 5.051 4.948a1 1 0 0 0 1.414 -0.014zm0.062 6l4.948 -5.052a1 1 0 1 0 -1.429 -1.4l-4.247 4.338 -4.338 -4.249a1 1 0 0 0 -1.414 -0.01 1 1 0 0 0 -0.01 1.414c0.008 0.01 0.017 0.017 0.025 0.025l5.052 4.948a1 1 0 0 0 1.413 -0.015z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.5-1.5L9 16.6l-4.4-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5.1 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.5L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.5 0z"/>
   </svg>
   <svg x="378">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="396">
-    <path d="M9.707 18.793l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.8l5-5a1 1 0 1 0-1.4-1.4L9 16.7l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.7l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="414">
-    <path d="M9.707 19.02l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 19l5-5a1 1 0 1 0-1.4-1.4L9 17l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 23l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="432">
-    <path d="M9.707 19.34l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 19.3l5-5a1 1 0 1 0-1.4-1.4L9 17.2 4.7 13a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 23.2 4.7 19a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="450">
-    <path d="M9.707 19.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 19.7l5-5a1 1 0 1 0-1.4-1.4L9 17.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 23.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="468">
-    <path d="M9.707 20.074l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 20l5-5a1 1 0 1 0-1.4-1.3L9 18l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.3l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.3L9 24l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.3l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="486">
-    <path d="M9.707 20.394l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414c0.008 0.01 0.017 0.017 0.025 0.025l5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414c0.008 0.01 0.017 0.017 0.025 0.025l5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 20.4l5-5a1 1 0 1 0-1.4-1.4L9 18.3 4.7 14a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 24.3 4.7 20a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="504">
-    <path d="M9.722 20.621l5.103 -5a0.985 0.985 0 0 0 -0.026 -1.414 1.036 1.036 0 0 0 -1.418 0l-4.381 4.293 -4.381 -4.293a1.036 1.036 0 0 0 -1.444 -0.025 0.987 0.987 0 0 0 -0.025 1.414l0.025 0.025 5.103 5a1.036 1.036 0 0 0 1.444 0zm0 6l5.103 -5a0.985 0.985 0 0 0 -0.026 -1.414 1.036 1.036 0 0 0 -1.418 0l-4.381 4.293 -4.381 -4.293a1.036 1.036 0 0 0 -1.444 -0.025 0.987 0.987 0 0 0 -0.025 1.414l0.025 0.025 5.103 5a1.036 1.036 0 0 0 1.444 0z"/>
+    <path d="M9.7 20.6l5.1-5a1 1 0 0 0 0-1.4 1 1 0 0 0-1.4 0L9 18.5l-4.4-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.5 0zm0 6l5.1-5a1 1 0 0 0 0-1.4 1 1 0 0 0-1.4 0L9 24.5l-4.4-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.5 0z"/>
   </svg>
   <svg x="522">
-    <path d="M9.738 20.707l5.217 -5a0.97 0.97 0 0 0 -0.026 -1.414 1.076 1.076 0 0 0 -1.45 0l-4.479 4.293 -4.48 -4.293a1.077 1.077 0 0 0 -1.475 -0.025 0.972 0.972 0 0 0 -0.026 1.414l0.026 0.025 5.217 5a1.077 1.077 0 0 0 1.476 0zm0 6l5.217 -5a0.97 0.97 0 0 0 -0.026 -1.414 1.076 1.076 0 0 0 -1.45 0l-4.479 4.293 -4.48 -4.293a1.077 1.077 0 0 0 -1.475 -0.025 0.972 0.972 0 0 0 -0.026 1.414l0.026 0.025 5.217 5a1.077 1.077 0 0 0 1.476 0z"/>
+    <path d="M9.7 20.7l5.3-5a1 1 0 0 0 0-1.4 1 1 0 0 0-1.5 0L9 18.6l-4.5-4.3a1 1 0 0 0-1.5 0 1 1 0 0 0 0 1.4l5.3 5a1 1 0 0 0 1.4 0zm0 6l5.3-5a1 1 0 0 0 0-1.4 1 1 0 0 0-1.5 0L9 24.6l-4.5-4.3a1 1 0 0 0-1.5 0 1 1 0 0 0 0 1.4l5.3 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="540">
-    <path d="M9.755 20.855l5.34 -5c0.41 -0.397 0.398 -1.03 -0.027 -1.414 -0.413 -0.374 -1.069 -0.374 -1.483 0l-4.585 4.293 -4.585 -4.293c-0.41 -0.397 -1.086 -0.408 -1.51 -0.025 -0.424 0.384 -0.435 1.017 -0.026 1.414 0.008 0.01 0.018 0.017 0.026 0.025l5.34 5c0.418 0.39 1.092 0.39 1.51 0zm0 6l5.34 -5c0.41 -0.397 0.398 -1.03 -0.027 -1.414 -0.413 -0.374 -1.069 -0.374 -1.483 0l-4.585 4.293 -4.585 -4.293c-0.41 -0.397 -1.086 -0.408 -1.51 -0.025 -0.424 0.384 -0.435 1.017 -0.026 1.414 0.008 0.01 0.018 0.017 0.026 0.025l5.34 5c0.418 0.39 1.092 0.39 1.51 0z"/>
+    <path d="M9.8 20.9l5.3-5c.4-.4.4-1 0-1.5-.4-.3-1.1-.3-1.5 0L9 18.7l-4.6-4.3c-.4-.4-1-.4-1.5 0a1 1 0 0 0 0 1.4l5.3 5c.5.4 1.1.4 1.6 0zm0 6l5.3-5c.4-.4.4-1 0-1.5-.4-.3-1.1-.3-1.5 0L9 24.7l-4.6-4.3c-.4-.4-1-.4-1.5 0a1 1 0 0 0 0 1.4l5.3 5c.5.4 1.1.4 1.6 0z"/>
   </svg>
   <svg x="558">
-    <path d="M9.773 21.226l5.466 -5c0.42 -0.397 0.408 -1.03 -0.027 -1.414 -0.423 -0.374 -1.094 -0.374 -1.518 0l-4.694 4.293 -4.694 -4.293c-0.42 -0.397 -1.111 -0.408 -1.545 -0.025 -0.434 0.384 -0.447 1.017 -0.028 1.414l0.028 0.025 5.466 5c0.428 0.39 1.118 0.39 1.546 0zm0 6l5.466 -5c0.42 -0.397 0.408 -1.03 -0.027 -1.414 -0.423 -0.374 -1.094 -0.374 -1.518 0l-4.694 4.293 -4.694 -4.293c-0.42 -0.397 -1.111 -0.408 -1.545 -0.025 -0.434 0.384 -0.447 1.017 -0.028 1.414l0.028 0.025 5.466 5c0.428 0.39 1.118 0.39 1.546 0z"/>
+    <path d="M9.8 21.2l5.4-5c.5-.4.4-1 0-1.4-.4-.4-1-.4-1.5 0L9 19.1l-4.7-4.3a1 1 0 0 0-1.5 0 1 1 0 0 0 0 1.4l5.4 5c.5.4 1.1.4 1.6 0zm0 6l5.4-5c.5-.4.4-1 0-1.4-.4-.4-1-.4-1.5 0L9 25.1l-4.7-4.3a1 1 0 0 0-1.5 0 1 1 0 0 0 0 1.4l5.4 5c.5.4 1.1.4 1.6 0z"/>
   </svg>
   <svg x="576">
-    <path d="M9.791 21.707l5.595 -5c0.43 -0.397 0.417 -1.03 -0.028 -1.414 -0.433 -0.374 -1.12 -0.374 -1.555 0l-4.803 4.293 -4.803 -4.293c-0.43 -0.397 -1.138 -0.408 -1.583 -0.025 -0.444 0.384 -0.456 1.017 -0.027 1.414 0.008 0.009 0.019 0.017 0.027 0.025l5.595 5c0.437 0.39 1.145 0.39 1.582 0zm0 6l5.595 -5c0.43 -0.397 0.417 -1.03 -0.028 -1.414 -0.433 -0.374 -1.12 -0.374 -1.555 0l-4.803 4.293 -4.803 -4.293c-0.43 -0.397 -1.138 -0.408 -1.583 -0.025 -0.444 0.384 -0.456 1.017 -0.027 1.414 0.008 0.009 0.019 0.017 0.027 0.025l5.595 5c0.437 0.39 1.145 0.39 1.582 0z"/>
+    <path d="M9.8 21.7l5.6-5c.4-.4.4-1 0-1.4-.5-.4-1.2-.4-1.6 0L9 19.6l-4.8-4.3c-.4-.4-1.1-.4-1.6 0a1 1 0 0 0 0 1.4l5.6 5c.4.4 1.2.4 1.6 0zm0 6l5.6-5c.4-.4.4-1 0-1.4-.5-.4-1.2-.4-1.6 0L9 25.6l-4.8-4.3c-.4-.4-1.1-.4-1.6 0a1 1 0 0 0 0 1.4l5.6 5c.4.4 1.2.4 1.6 0z"/>
   </svg>
   <svg x="594">
-    <path d="M9.809 22.188l5.72 -5c0.44 -0.397 0.427 -1.03 -0.029 -1.414 -0.442 -0.374 -1.145 -0.374 -1.589 0l-4.911 4.293 -4.911 -4.293c-0.44 -0.397 -1.164 -0.408 -1.618 -0.025 -0.454 0.384 -0.467 1.017 -0.029 1.414 0.01 0.01 0.02 0.017 0.029 0.025l5.72 5c0.447 0.39 1.17 0.39 1.618 0zm0 6l5.72 -5c0.44 -0.397 0.427 -1.03 -0.029 -1.414 -0.442 -0.374 -1.145 -0.374 -1.589 0l-4.911 4.293 -4.911 -4.293c-0.44 -0.397 -1.164 -0.408 -1.618 -0.025 -0.454 0.384 -0.467 1.017 -0.029 1.414 0.01 0.01 0.02 0.017 0.029 0.025l5.72 5c0.447 0.39 1.17 0.39 1.618 0z"/>
+    <path d="M9.8 22.2l5.7-5c.5-.4.5-1 0-1.4-.4-.4-1.1-.4-1.6 0L9 20l-5-4.3c-.4-.4-1-.4-1.5 0a1 1 0 0 0 0 1.4l5.7 5c.4.4 1.2.4 1.6 0zm0 6l5.7-5c.5-.4.5-1 0-1.4-.4-.4-1.1-.4-1.6 0L9 26l-5-4.3c-.4-.4-1-.4-1.5 0a1 1 0 0 0 0 1.4l5.7 5c.4.4 1.2.4 1.6 0z"/>
   </svg>
   <svg x="612">
-    <path d="M9.826 22.559l5.84 -5c0.449 -0.397 0.436 -1.03 -0.03 -1.414 -0.451 -0.374 -1.168 -0.374 -1.622 0l-5.014 4.293 -5.014 -4.293c-0.449 -0.397 -1.188 -0.408 -1.652 -0.025 -0.464 0.384 -0.477 1.017 -0.03 1.414l0.03 0.025 5.84 5c0.457 0.39 1.195 0.39 1.652 0zm0 6l5.84 -5c0.449 -0.397 0.436 -1.03 -0.03 -1.414 -0.451 -0.374 -1.168 -0.374 -1.622 0l-5.014 4.293 -5.014 -4.293c-0.449 -0.397 -1.188 -0.408 -1.652 -0.025 -0.464 0.384 -0.477 1.017 -0.03 1.414l0.03 0.025 5.84 5c0.457 0.39 1.195 0.39 1.652 0z"/>
+    <path d="M9.8 22.6l5.9-5c.4-.4.4-1 0-1.5-.5-.3-1.2-.3-1.7 0l-5 4.3-5-4.3c-.5-.4-1.2-.4-1.7 0a1 1 0 0 0 0 1.4l5.9 5c.4.4 1.2.4 1.6 0zm0 6l5.9-5c.4-.4.4-1 0-1.5-.5-.3-1.2-.3-1.7 0l-5 4.3-5-4.3c-.5-.4-1.2-.4-1.7 0a1 1 0 0 0 0 1.4l5.9 5c.4.4 1.2.4 1.6 0z"/>
   </svg>
   <svg x="630">
-    <path d="M9.841 22.707l5.952 -5c0.457 -0.397 0.444 -1.03 -0.03 -1.414 -0.46 -0.374 -1.192 -0.374 -1.653 0l-5.11 4.293 -5.11 -4.293c-0.457 -0.397 -1.21 -0.408 -1.683 -0.025 -0.472 0.384 -0.485 1.017 -0.03 1.414l0.03 0.025 5.952 5c0.465 0.39 1.217 0.39 1.682 0zm0 6l5.952 -5c0.457 -0.397 0.444 -1.03 -0.03 -1.414 -0.46 -0.374 -1.192 -0.374 -1.653 0l-5.11 4.293 -5.11 -4.293c-0.457 -0.397 -1.21 -0.408 -1.683 -0.025 -0.472 0.384 -0.485 1.017 -0.03 1.414l0.03 0.025 5.952 5c0.465 0.39 1.217 0.39 1.682 0z"/>
+    <path d="M9.8 22.7l6-5c.4-.4.4-1 0-1.4-.5-.4-1.2-.4-1.7 0L9 20.6l-5.1-4.3c-.5-.4-1.2-.4-1.7 0s-.5 1 0 1.4l6 5c.4.4 1.2.4 1.6 0zm0 6l6-5c.4-.4.4-1 0-1.4-.5-.4-1.2-.4-1.7 0L9 26.6l-5.1-4.3c-.5-.4-1.2-.4-1.7 0s-.5 1 0 1.4l6 5c.4.4 1.2.4 1.6 0z"/>
   </svg>
   <svg x="648">
-    <path d="M9.855 22.29l6.05 -5c0.465 -0.396 0.451 -1.03 -0.03 -1.413 -0.469 -0.374 -1.211 -0.374 -1.68 0l-5.195 4.293 -5.194 -4.293c-0.465 -0.397 -1.23 -0.408 -1.711 -0.025 -0.48 0.384 -0.494 1.017 -0.03 1.414l0.03 0.025 6.05 5c0.473 0.39 1.237 0.39 1.71 0zm0 6l6.05 -5c0.465 -0.396 0.451 -1.03 -0.03 -1.413 -0.469 -0.374 -1.211 -0.374 -1.68 0l-5.195 4.293 -5.194 -4.293c-0.465 -0.397 -1.23 -0.408 -1.711 -0.025 -0.48 0.384 -0.494 1.017 -0.03 1.414l0.03 0.025 6.05 5c0.473 0.39 1.237 0.39 1.71 0z"/>
+    <path d="M9.9 22.3l6-5c.5-.4.5-1 0-1.4-.5-.4-1.2-.4-1.7 0L9 20.2l-5.2-4.3c-.5-.4-1.2-.4-1.7 0-.5.3-.5 1 0 1.4l6 5c.5.4 1.3.4 1.8 0zm0 6l6-5c.5-.4.5-1 0-1.4-.5-.4-1.2-.4-1.7 0L9 26.2l-5.2-4.3c-.5-.4-1.2-.4-1.7 0-.5.3-.5 1 0 1.4l6 5c.5.4 1.3.4 1.8 0z"/>
   </svg>
   <svg x="666">
-    <path d="M9.867 21.299l6.132 -5c0.471 -0.397 0.458 -1.03 -0.03 -1.414 -0.475 -0.374 -1.228 -0.374 -1.704 0l-5.265 4.293 -5.265 -4.293c-0.471 -0.397 -1.247 -0.408 -1.734 -0.025 -0.487 0.384 -0.5 1.017 -0.03 1.414 0.009 0.009 0.02 0.017 0.03 0.025l6.132 5c0.48 0.39 1.255 0.39 1.734 0zm0 6l6.132 -5c0.471 -0.397 0.458 -1.03 -0.03 -1.414 -0.475 -0.374 -1.228 -0.374 -1.704 0l-5.265 4.293 -5.265 -4.293c-0.471 -0.397 -1.247 -0.408 -1.734 -0.025 -0.487 0.384 -0.5 1.017 -0.03 1.414 0.009 0.009 0.02 0.017 0.03 0.025l6.132 5c0.48 0.39 1.255 0.39 1.734 0z"/>
+    <path d="M9.9 21.3l6.1-5c.5-.4.5-1 0-1.4-.5-.4-1.3-.4-1.7 0L9 19.2l-5.3-4.3c-.4-.4-1.2-.4-1.7 0-.5.3-.5 1 0 1.4l6.1 5c.5.4 1.3.4 1.8 0zm0 6l6.1-5c.5-.4.5-1 0-1.4-.5-.4-1.3-.4-1.7 0L9 25.2l-5.3-4.3c-.4-.4-1.2-.4-1.7 0-.5.3-.5 1 0 1.4l6.1 5c.5.4 1.3.4 1.8 0z"/>
   </svg>
   <svg x="684">
-    <path d="M9.876 20.115l6.195 -5c0.476 -0.397 0.462 -1.03 -0.03 -1.414 -0.48 -0.374 -1.241 -0.374 -1.722 0l-5.319 4.293 -5.32 -4.293c-0.475 -0.397 -1.26 -0.408 -1.751 -0.025 -0.492 0.384 -0.506 1.017 -0.031 1.414 0.01 0.01 0.02 0.017 0.03 0.025l6.196 5c0.484 0.39 1.268 0.39 1.752 0zm0 6l6.195 -5c0.476 -0.397 0.462 -1.03 -0.03 -1.414 -0.48 -0.374 -1.241 -0.374 -1.722 0l-5.319 4.293 -5.32 -4.293c-0.475 -0.397 -1.26 -0.408 -1.751 -0.025 -0.492 0.384 -0.506 1.017 -0.031 1.414 0.01 0.01 0.02 0.017 0.03 0.025l6.196 5c0.484 0.39 1.268 0.39 1.752 0z"/>
+    <path d="M9.9 20.1l6.2-5c.4-.4.4-1 0-1.4-.5-.4-1.3-.4-1.8 0L9 18l-5.3-4.3c-.5-.4-1.3-.4-1.8 0s-.5 1 0 1.4l6.2 5c.5.4 1.3.4 1.8 0zm0 6l6.2-5c.4-.4.4-1 0-1.4-.5-.4-1.3-.4-1.8 0L9 24l-5.3-4.3c-.5-.4-1.3-.4-1.8 0s-.5 1 0 1.4l6.2 5c.5.4 1.3.4 1.8 0z"/>
   </svg>
   <svg x="702">
-    <path d="M9.882 19.123l6.235 -5c0.48 -0.397 0.466 -1.03 -0.03 -1.414 -0.483 -0.374 -1.25 -0.374 -1.733 0l-5.354 4.293 -5.354 -4.293c-0.479 -0.397 -1.268 -0.408 -1.763 -0.025 -0.496 0.384 -0.51 1.017 -0.032 1.414 0.01 0.01 0.022 0.017 0.032 0.025l6.235 5c0.488 0.39 1.276 0.39 1.764 0zm0 6l6.235 -5c0.48 -0.397 0.466 -1.03 -0.03 -1.414 -0.483 -0.374 -1.25 -0.374 -1.733 0l-5.354 4.293 -5.354 -4.293c-0.479 -0.397 -1.268 -0.408 -1.763 -0.025 -0.496 0.384 -0.51 1.017 -0.032 1.414 0.01 0.01 0.022 0.017 0.032 0.025l6.235 5c0.488 0.39 1.276 0.39 1.764 0z"/>
+    <path d="M9.9 19.1l6.2-5c.5-.4.5-1 0-1.4-.5-.4-1.3-.4-1.7 0L9 17l-5.4-4.3c-.4-.4-1.2-.4-1.7 0s-.5 1 0 1.4l6.2 5c.5.4 1.3.4 1.8 0zm0 6l6.2-5c.5-.4.5-1 0-1.4-.5-.4-1.3-.4-1.7 0L9 23l-5.4-4.3c-.4-.4-1.2-.4-1.7 0s-.5 1 0 1.4l6.2 5c.5.4 1.3.4 1.8 0z"/>
   </svg>
   <svg x="720">
-    <path d="M9.884 18.707l6.25 -5c0.48 -0.397 0.466 -1.03 -0.032 -1.414 -0.483 -0.374 -1.25 -0.374 -1.736 0l-5.366 4.293 -5.366 -4.293c-0.48 -0.397 -1.272 -0.408 -1.768 -0.025 -0.496 0.384 -0.51 1.017 -0.031 1.414l0.031 0.025 6.25 5c0.489 0.39 1.279 0.39 1.768 0zm0 6l6.25 -5c0.48 -0.397 0.466 -1.03 -0.032 -1.414 -0.483 -0.374 -1.25 -0.374 -1.736 0l-5.366 4.293 -5.366 -4.293c-0.48 -0.397 -1.272 -0.408 -1.768 -0.025 -0.496 0.384 -0.51 1.017 -0.031 1.414l0.031 0.025 6.25 5c0.489 0.39 1.279 0.39 1.768 0z"/>
+    <path d="M9.9 18.7l6.2-5c.5-.4.5-1 0-1.4-.5-.4-1.2-.4-1.7 0L9 16.6l-5.4-4.3c-.4-.4-1.2-.4-1.7 0s-.5 1 0 1.4l6.2 5c.5.4 1.3.4 1.8 0zm0 6l6.2-5c.5-.4.5-1 0-1.4-.5-.4-1.2-.4-1.7 0L9 22.6l-5.4-4.3c-.4-.4-1.2-.4-1.7 0s-.5 1 0 1.4l6.2 5c.5.4 1.3.4 1.8 0z"/>
   </svg>
   <svg x="738">
-    <path d="M9.862 18.707l6.098 -5c0.468 -0.397 0.454 -1.03 -0.03 -1.414 -0.473 -0.374 -1.222 -0.374 -1.695 0l-5.235 4.293 -5.235 -4.293c-0.468 -0.397 -1.24 -0.408 -1.725 -0.025 -0.484 0.384 -0.497 1.017 -0.03 1.414l0.03 0.025 6.098 5c0.477 0.39 1.247 0.39 1.724 0zm0 6l6.098 -5c0.468 -0.397 0.454 -1.03 -0.03 -1.414 -0.473 -0.374 -1.222 -0.374 -1.695 0l-5.235 4.293 -5.235 -4.293c-0.468 -0.397 -1.24 -0.408 -1.725 -0.025 -0.484 0.384 -0.497 1.017 -0.03 1.414l0.03 0.025 6.098 5c0.477 0.39 1.247 0.39 1.724 0z"/>
+    <path d="M9.9 18.7l6-5c.5-.4.5-1 0-1.4-.4-.4-1.2-.4-1.7 0L9 16.6l-5.2-4.3c-.5-.4-1.3-.4-1.8 0-.4.4-.5 1 0 1.4l6.1 5c.5.4 1.3.4 1.8 0zm0 6l6-5c.5-.4.5-1 0-1.4-.4-.4-1.2-.4-1.7 0L9 22.6l-5.2-4.3c-.5-.4-1.3-.4-1.8 0-.4.4-.5 1 0 1.4l6.1 5c.5.4 1.3.4 1.8 0z"/>
   </svg>
   <svg x="756">
-    <path d="M9.838 18.707l5.924 -5c0.455 -0.397 0.442 -1.03 -0.03 -1.414 -0.458 -0.374 -1.186 -0.374 -1.645 0l-5.087 4.293 -5.087 -4.293c-0.455 -0.397 -1.205 -0.408 -1.675 -0.025 -0.47 0.384 -0.483 1.017 -0.03 1.414l0.03 0.025 5.924 5c0.464 0.39 1.212 0.39 1.676 0zm0 6l5.924 -5c0.455 -0.397 0.442 -1.03 -0.03 -1.414 -0.458 -0.374 -1.186 -0.374 -1.645 0l-5.087 4.293 -5.087 -4.293c-0.455 -0.397 -1.205 -0.408 -1.675 -0.025 -0.47 0.384 -0.483 1.017 -0.03 1.414l0.03 0.025 5.924 5c0.464 0.39 1.212 0.39 1.676 0z"/>
+    <path d="M9.8 18.7l6-5c.4-.4.4-1 0-1.4-.5-.4-1.3-.4-1.7 0L9 16.6l-5-4.3c-.5-.4-1.3-.4-1.8 0a1 1 0 0 0 0 1.4l6 5c.4.4 1.2.4 1.6 0zm0 6l6-5c.4-.4.4-1 0-1.4-.5-.4-1.3-.4-1.7 0L9 22.6l-5-4.3c-.5-.4-1.3-.4-1.8 0a1 1 0 0 0 0 1.4l6 5c.4.4 1.2.4 1.6 0z"/>
   </svg>
   <svg x="774">
-    <path d="M9.812 18.707l5.74 -5c0.441 -0.397 0.429 -1.03 -0.028 -1.414 -0.444 -0.374 -1.15 -0.374 -1.595 0l-4.929 4.293 -4.93 -4.293c-0.44 -0.397 -1.167 -0.408 -1.623 -0.025 -0.455 0.384 -0.468 1.017 -0.028 1.414l0.028 0.025 5.741 5c0.45 0.39 1.175 0.39 1.624 0zm0 6l5.74 -5c0.441 -0.397 0.429 -1.03 -0.028 -1.414 -0.444 -0.374 -1.15 -0.374 -1.595 0l-4.929 4.293 -4.93 -4.293c-0.44 -0.397 -1.167 -0.408 -1.623 -0.025 -0.455 0.384 -0.468 1.017 -0.028 1.414l0.028 0.025 5.741 5c0.45 0.39 1.175 0.39 1.624 0z"/>
+    <path d="M9.8 18.7l5.8-5c.4-.4.4-1 0-1.4-.5-.4-1.2-.4-1.7 0L9 16.6l-5-4.3c-.4-.4-1.1-.4-1.6 0a1 1 0 0 0 0 1.4l5.8 5c.4.4 1.2.4 1.6 0zm0 6l5.8-5c.4-.4.4-1 0-1.4-.5-.4-1.2-.4-1.7 0L9 22.6l-5-4.3c-.4-.4-1.1-.4-1.6 0a1 1 0 0 0 0 1.4l5.8 5c.4.4 1.2.4 1.6 0z"/>
   </svg>
   <svg x="792">
-    <path d="M9.786 18.707l5.557 -5c0.427 -0.397 0.415 -1.03 -0.028 -1.414 -0.43 -0.374 -1.112 -0.374 -1.543 0l-4.772 4.293 -4.772 -4.293c-0.426 -0.397 -1.13 -0.408 -1.571 -0.025 -0.441 0.384 -0.454 1.017 -0.028 1.414l0.028 0.025 5.557 5c0.435 0.39 1.137 0.39 1.572 0zm0 6l5.557 -5c0.427 -0.397 0.415 -1.03 -0.028 -1.414 -0.43 -0.374 -1.112 -0.374 -1.543 0l-4.772 4.293 -4.772 -4.293c-0.426 -0.397 -1.13 -0.408 -1.571 -0.025 -0.441 0.384 -0.454 1.017 -0.028 1.414l0.028 0.025 5.557 5c0.435 0.39 1.137 0.39 1.572 0z"/>
+    <path d="M9.8 18.7l5.5-5c.5-.4.5-1 0-1.4a1 1 0 0 0-1.5 0L9 16.6l-4.8-4.3a1 1 0 0 0-1.5 0 1 1 0 0 0 0 1.4l5.5 5c.4.4 1.2.4 1.6 0zm0 6l5.5-5c.5-.4.5-1 0-1.4a1 1 0 0 0-1.5 0L9 22.6l-4.8-4.3a1 1 0 0 0-1.5 0 1 1 0 0 0 0 1.4l5.5 5c.4.4 1.2.4 1.6 0z"/>
   </svg>
   <svg x="810">
-    <path d="M9.761 18.707l5.385 -5c0.413 -0.397 0.401 -1.03 -0.027 -1.414 -0.417 -0.374 -1.078 -0.374 -1.496 0l-4.623 4.293 -4.623 -4.293c-0.413 -0.397 -1.095 -0.408 -1.523 -0.025 -0.427 0.384 -0.439 1.017 -0.027 1.414l0.027 0.025 5.385 5c0.42 0.39 1.101 0.39 1.522 0zm0 6l5.385 -5c0.413 -0.397 0.401 -1.03 -0.027 -1.414 -0.417 -0.374 -1.078 -0.374 -1.496 0l-4.623 4.293 -4.623 -4.293c-0.413 -0.397 -1.095 -0.408 -1.523 -0.025 -0.427 0.384 -0.439 1.017 -0.027 1.414l0.027 0.025 5.385 5c0.42 0.39 1.101 0.39 1.522 0z"/>
+    <path d="M9.8 18.7l5.3-5c.5-.4.4-1 0-1.4-.4-.4-1-.4-1.5 0L9 16.6l-4.6-4.3a1 1 0 0 0-1.5 0 1 1 0 0 0 0 1.4l5.3 5c.5.4 1.1.4 1.6 0zm0 6l5.3-5c.5-.4.4-1 0-1.4-.4-.4-1-.4-1.5 0L9 22.6l-4.6-4.3a1 1 0 0 0-1.5 0 1 1 0 0 0 0 1.4l5.3 5c.5.4 1.1.4 1.6 0z"/>
   </svg>
   <svg x="828">
-    <path d="M9.74 18.707l5.231 -5a0.968 0.968 0 0 0 -0.026 -1.414 1.082 1.082 0 0 0 -1.453 0l-4.492 4.293 -4.492 -4.293a1.082 1.082 0 0 0 -1.48 -0.025 0.97 0.97 0 0 0 -0.026 1.414l0.027 0.025 5.231 5a1.082 1.082 0 0 0 1.48 0zm0 6l5.231 -5a0.968 0.968 0 0 0 -0.026 -1.414 1.082 1.082 0 0 0 -1.453 0l-4.492 4.293 -4.492 -4.293a1.082 1.082 0 0 0 -1.48 -0.025 0.97 0.97 0 0 0 -0.026 1.414l0.027 0.025 5.231 5a1.082 1.082 0 0 0 1.48 0z"/>
+    <path d="M9.7 18.7l5.3-5a1 1 0 0 0 0-1.4 1 1 0 0 0-1.5 0L9 16.6l-4.5-4.3a1 1 0 0 0-1.5 0 1 1 0 0 0 0 1.4l5.3 5a1 1 0 0 0 1.4 0zm0 6l5.3-5a1 1 0 0 0 0-1.4 1 1 0 0 0-1.5 0L9 22.6l-4.5-4.3a1 1 0 0 0-1.5 0 1 1 0 0 0 0 1.4l5.3 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="846">
-    <path d="M9.723 18.707l5.11 -5a0.984 0.984 0 0 0 -0.026 -1.414 1.038 1.038 0 0 0 -1.42 0l-4.387 4.293 -4.387 -4.293a1.039 1.039 0 0 0 -1.445 -0.025 0.986 0.986 0 0 0 -0.026 1.414l0.026 0.025 5.11 5a1.039 1.039 0 0 0 1.445 0zm0 6l5.11 -5a0.984 0.984 0 0 0 -0.026 -1.414 1.038 1.038 0 0 0 -1.42 0l-4.387 4.293 -4.387 -4.293a1.039 1.039 0 0 0 -1.445 -0.025 0.986 0.986 0 0 0 -0.026 1.414l0.026 0.025 5.11 5a1.039 1.039 0 0 0 1.445 0z"/>
+    <path d="M9.7 18.7l5.1-5a1 1 0 0 0 0-1.4 1 1 0 0 0-1.4 0L9 16.6l-4.4-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.5 0zm0 6l5.1-5a1 1 0 0 0 0-1.4 1 1 0 0 0-1.4 0L9 22.6l-4.4-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.5 0z"/>
   </svg>
   <svg x="864">
-    <path d="M9.711 18.707l5.03 -5a0.995 0.995 0 0 0 -0.026 -1.414 1.01 1.01 0 0 0 -1.397 0l-4.318 4.293 -4.318 -4.293a1.01 1.01 0 0 0 -1.422 -0.025 0.997 0.997 0 0 0 -0.025 1.414l0.025 0.025 5.029 5a1.01 1.01 0 0 0 1.422 0zm0 6l5.03 -5a0.995 0.995 0 0 0 -0.026 -1.414 1.01 1.01 0 0 0 -1.397 0l-4.318 4.293 -4.318 -4.293a1.01 1.01 0 0 0 -1.422 -0.025 0.997 0.997 0 0 0 -0.025 1.414l0.025 0.025 5.029 5a1.01 1.01 0 0 0 1.422 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 0 0 0-1.4 1 1 0 0 0-1.4 0L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 0 0 0-1.4 1 1 0 0 0-1.4 0L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="882">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="900">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="918">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="936">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="954">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="972">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="990">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="1008">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="1026">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="1044">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="1062">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="1080">
-    <path d="M9.707 18.707l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0zm0 6l5 -5a1 1 0 1 0 -1.414 -1.414l-4.293 4.293 -4.293 -4.293a1 1 0 0 0 -1.414 -0.025 1 1 0 0 0 -0.025 1.414l0.025 0.025 5 5a1 1 0 0 0 1.414 0z"/>
+    <path d="M9.7 18.7l5-5a1 1 0 1 0-1.4-1.4L9 16.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0zm0 6l5-5a1 1 0 1 0-1.4-1.4L9 22.6l-4.3-4.3a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5 5a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="1098">
-    <path d="M9.737 18.675l4.775 -5.215a1 1 0 1 0 -1.475 -1.35l-4.1 4.477 -4.477 -4.1a1 1 0 0 0 -1.414 0.038 1 1 0 0 0 0.037 1.414l0.027 0.023 5.215 4.775a1 1 0 0 0 1.412 -0.062zm0.265 5.994l4.775 -5.215a1 1 0 1 0 -1.475 -1.35l-4.1 4.478 -4.478 -4.1a1 1 0 0 0 -1.414 0.037 1 1 0 0 0 0.038 1.414l0.026 0.024 5.215 4.775a1 1 0 0 0 1.413 -0.063z"/>
+    <path d="M9.7 18.7l4.8-5.2A1 1 0 1 0 13 12l-4 4.5-4.5-4.1a1 1 0 0 0-1.5 0A1 1 0 0 0 3 14h.1l5.2 4.8a1 1 0 0 0 1.4 0zm.3 6l4.8-5.2a1 1 0 1 0-1.5-1.4l-4.1 4.5-4.5-4.1a1 1 0 0 0-1.4 0 1 1 0 0 0 0 1.4l5.3 4.8a1 1 0 0 0 1.4 0z"/>
   </svg>
   <svg x="1116">
-    <path d="M9.813 18.582l4.12 -5.747a1 1 0 1 0 -1.625 -1.165l-3.538 4.935 -4.935 -3.537a1 1 0 0 0 -1.399 0.205 1 1 0 0 0 0.206 1.4l0.028 0.02 5.748 4.12a1 1 0 0 0 1.395 -0.23zm0.976 5.92l4.12 -5.747a1 1 0 1 0 -1.625 -1.165l-3.537 4.935 -4.935 -3.537a1 1 0 0 0 -1.4 0.205 1 1 0 0 0 0.206 1.4l0.029 0.02 5.747 4.12a1 1 0 0 0 1.395 -0.23z"/>
+    <path d="M9.8 18.6l4.1-5.8a1 1 0 1 0-1.6-1.1l-3.5 5-5-3.6a1 1 0 0 0-1.4.2 1 1 0 0 0 .2 1.4l5.8 4.1a1 1 0 0 0 1.4-.2zm1 5.9l4.1-5.7a1 1 0 1 0-1.6-1.2l-3.6 5L4.8 19a1 1 0 0 0-1.4.2 1 1 0 0 0 .2 1.4l5.8 4.1a1 1 0 0 0 1.4-.2z"/>
   </svg>
   <svg x="1134">
-    <path d="M9.902 18.431l3.05 -6.38a1 1 0 1 0 -1.804 -0.862l-2.619 5.478 -5.477 -2.619a1 1 0 0 0 -1.342 0.447 1 1 0 0 0 0.447 1.342c0.01 0.006 0.022 0.01 0.032 0.015l6.38 3.05a1 1 0 0 0 1.333 -0.47zm1.998 5.658l3.05 -6.38a1 1 0 1 0 -1.804 -0.862l-2.619 5.477 -5.477 -2.618a1 1 0 0 0 -1.342 0.447 1 1 0 0 0 0.447 1.342l0.032 0.015 6.38 3.05a1 1 0 0 0 1.333 -0.471z"/>
+    <path d="M9.9 18.4l3-6.3a1 1 0 1 0-1.8-1l-2.6 5.6L3.1 14a1 1 0 0 0-1.4.5 1 1 0 0 0 .5 1.3L8.6 19a1 1 0 0 0 1.3-.5zm2 5.7l3-6.4a1 1 0 1 0-1.8-.9l-2.6 5.5L5 19.7a1 1 0 0 0-1.3.5 1 1 0 0 0 .5 1.3l6.4 3a1 1 0 0 0 1.3-.4z"/>
   </svg>
   <svg x="1152">
-    <path d="M9.973 18.23l1.628 -6.88a1 1 0 1 0 -1.946 -0.46l-1.398 5.907 -5.908 -1.398a1 1 0 0 0 -1.216 0.721 1 1 0 0 0 0.721 1.216l0.035 0.009 6.88 1.628a1 1 0 0 0 1.204 -0.743zm3.152 5.106l1.628 -6.881a1 1 0 1 0 -1.946 -0.46l-1.398 5.907 -5.908 -1.398a1 1 0 0 0 -1.217 0.722 1 1 0 0 0 0.722 1.216c0.011 0.004 0.023 0.006 0.034 0.008l6.881 1.629a1 1 0 0 0 1.204 -0.743z"/>
+    <path d="M10 18.2l1.6-6.8a1 1 0 1 0-2-.5l-1.3 5.9-6-1.4a1 1 0 0 0-1.2.7 1 1 0 0 0 .8 1.2L8.8 19a1 1 0 0 0 1.2-.8zm3.1 5.1l1.7-6.8a1 1 0 1 0-2-.5l-1.4 5.9-5.9-1.4a1 1 0 0 0-1.2.7 1 1 0 0 0 .7 1.2l7 1.7a1 1 0 0 0 1.1-.8z"/>
   </svg>
   <svg x="1170">
-    <path d="M10 18v-7.071a1 1 0 1 0 -2 0v6.071h-6.071a1 1 0 0 0 -1.018 0.982 1 1 0 0 0 0.983 1.018h7.106a1 1 0 0 0 1 -1zm4.242 4.243v-7.071a1 1 0 1 0 -2 0v6.07h-6.07a1 1 0 0 0 -1.018 0.983 1 1 0 0 0 0.982 1.017h7.106a1 1 0 0 0 1 -1z"/>
+    <path d="M10 18v-7a1 1 0 1 0-2 0v6H2a1 1 0 0 0-1 1 1 1 0 0 0 .9 1H9a1 1 0 0 0 1-1zm4.2 4.2v-7a1 1 0 1 0-2 0v6h-6a1 1 0 0 0-1 1 1 1 0 0 0 1 1h7a1 1 0 0 0 1-1z"/>
   </svg>
   <svg x="1188">
-    <path d="M9.973 17.77l-1.628 -6.881a1 1 0 1 0 -1.946 0.46l1.398 5.908 -5.908 1.398a1 1 0 0 0 -0.764 1.19 1 1 0 0 0 1.19 0.764l0.034 -0.008 6.881 -1.628a1 1 0 0 0 0.743 -1.203zm5.106 3.151l-1.629 -6.88a1 1 0 1 0 -1.946 0.46l1.398 5.908 -5.908 1.398a1 1 0 0 0 -0.764 1.19 1 1 0 0 0 1.19 0.764l0.035 -0.008 6.88 -1.628a1 1 0 0 0 0.744 -1.204z"/>
+    <path d="M10 17.8l-1.7-7a1 1 0 1 0-1.9.5l1.4 6-6 1.4a1 1 0 0 0-.7 1.1 1 1 0 0 0 1.2.8l7-1.6a1 1 0 0 0 .7-1.2zm5 3.1L13.6 14a1 1 0 1 0-2 .5l1.4 6-6 1.3a1 1 0 0 0-.7 1.2 1 1 0 0 0 1.2.8l7-1.7A1 1 0 0 0 15 21z"/>
   </svg>
   <svg x="1206">
-    <path d="M9.902 17.569l-3.05 -6.38a1 1 0 1 0 -1.804 0.862l2.619 5.478 -5.478 2.619a1 1 0 0 0 -0.494 1.325 1 1 0 0 0 1.325 0.494l0.032 -0.015 6.38 -3.05a1 1 0 0 0 0.47 -1.333zm5.658 1.998l-3.05 -6.38a1 1 0 1 0 -1.804 0.862l2.618 5.478 -5.477 2.619a1 1 0 0 0 -0.495 1.325 1 1 0 0 0 1.325 0.494l0.032 -0.015 6.38 -3.05a1 1 0 0 0 0.47 -1.333z"/>
+    <path d="M9.9 17.6l-3-6.4A1 1 0 1 0 5 12l2.7 5.4L2.2 20a1 1 0 0 0-.5 1.4A1 1 0 0 0 3 22l6.4-3.1a1 1 0 0 0 .5-1.3zm5.7 2l-3-6.4a1 1 0 1 0-1.9.8l2.6 5.5-5.5 2.6a1 1 0 0 0-.4 1.4 1 1 0 0 0 1.3.5l6.4-3.1a1 1 0 0 0 .5-1.3z"/>
   </svg>
   <svg x="1224">
-    <path d="M9.813 17.418l-4.12 -5.748a1 1 0 1 0 -1.625 1.165l3.537 4.935 -4.935 3.537a1 1 0 0 0 -0.255 1.39 1 1 0 0 0 1.392 0.256l0.028 -0.02 5.747 -4.12a1 1 0 0 0 0.23 -1.395zm5.92 0.976l-4.12 -5.747a1 1 0 1 0 -1.625 1.165l3.537 4.935 -4.935 3.536a1 1 0 0 0 -0.255 1.392 1 1 0 0 0 1.392 0.254l0.028 -0.02 5.747 -4.12a1 1 0 0 0 0.23 -1.395z"/>
+    <path d="M9.8 17.4l-4.1-5.7A1 1 0 1 0 4 12.8l3.5 5-5 3.5a1 1 0 0 0-.2 1.4 1 1 0 0 0 1.4.3l5.8-4.2a1 1 0 0 0 .2-1.4zm6 1l-4.2-5.8a1 1 0 1 0-1.6 1.2l3.5 5-5 3.5a1 1 0 0 0-.2 1.4 1 1 0 0 0 1.4.2l5.8-4.1a1 1 0 0 0 .2-1.4z"/>
   </svg>
   <svg x="1242">
-    <path d="M9.737 17.325l-4.775 -5.215a1 1 0 1 0 -1.475 1.35l4.1 4.478 -4.477 4.1a1 1 0 0 0 -0.088 1.411 1 1 0 0 0 1.412 0.087c0.01 -0.007 0.018 -0.016 0.026 -0.024l5.215 -4.775a1 1 0 0 0 0.062 -1.412zm5.995 0.264l-4.775 -5.215a1 1 0 1 0 -1.475 1.35l4.1 4.478 -4.478 4.1a1 1 0 0 0 -0.088 1.411 1 1 0 0 0 1.412 0.087c0.01 -0.007 0.018 -0.016 0.026 -0.023l5.215 -4.775a1 1 0 0 0 0.063 -1.413z"/>
+    <path d="M9.7 17.3L5 12.1a1 1 0 1 0-1.5 1.4l4 4.4L3.2 22a1 1 0 0 0 0 1.4 1 1 0 0 0 1.3.1l5.3-4.8a1 1 0 0 0 0-1.4zm6 .3L11 12.4a1 1 0 1 0-1.5 1.3l4 4.5-4.4 4.1a1 1 0 0 0 0 1.4 1 1 0 0 0 1.3.1l5.3-4.8a1 1 0 0 0 0-1.4z"/>
   </svg>
   <svg x="1260">
-    <path d="M9.707 17.293l-5 -5a1 1 0 1 0 -1.414 1.414l4.293 4.293 -4.293 4.293a1 1 0 0 0 -0.025 1.414 1 1 0 0 0 1.414 0.025l0.025 -0.025 5 -5a1 1 0 0 0 0 -1.414zm6 0l-5 -5a1 1 0 1 0 -1.414 1.414l4.293 4.293 -4.293 4.293a1 1 0 0 0 -0.025 1.414 1 1 0 0 0 1.414 0.025l0.025 -0.025 5 -5a1 1 0 0 0 0 -1.414z"/>
+    <path d="M9.7 17.3l-5-5a1 1 0 1 0-1.4 1.4L7.6 18l-4.3 4.3a1 1 0 0 0 0 1.4 1 1 0 0 0 1.4 0l5-5a1 1 0 0 0 0-1.4zm6 0l-5-5a1 1 0 1 0-1.4 1.4l4.3 4.3-4.3 4.3a1 1 0 0 0 0 1.4 1 1 0 0 0 1.4 0l5-5a1 1 0 0 0 0-1.4z"/>
   </svg>
   <svg x="1278">
-    <path d="M9.707 17.293l-5 -5a1 1 0 1 0 -1.414 1.414l4.293 4.293 -4.293 4.293a1 1 0 0 0 -0.025 1.414 1 1 0 0 0 1.414 0.025l0.025 -0.025 5 -5a1 1 0 0 0 0 -1.414zm6 0l-5 -5a1 1 0 1 0 -1.414 1.414l4.293 4.293 -4.293 4.293a1 1 0 0 0 -0.025 1.414 1 1 0 0 0 1.414 0.025l0.025 -0.025 5 -5a1 1 0 0 0 0 -1.414z"/>
+    <path d="M9.7 17.3l-5-5a1 1 0 1 0-1.4 1.4L7.6 18l-4.3 4.3a1 1 0 0 0 0 1.4 1 1 0 0 0 1.4 0l5-5a1 1 0 0 0 0-1.4zm6 0l-5-5a1 1 0 1 0-1.4 1.4l4.3 4.3-4.3 4.3a1 1 0 0 0 0 1.4 1 1 0 0 0 1.4 0l5-5a1 1 0 0 0 0-1.4z"/>
   </svg>
 </svg>
--- a/browser/themes/shared/icons/library-bookmark-animation.svg
+++ b/browser/themes/shared/icons/library-bookmark-animation.svg
@@ -1,635 +1,369 @@
 <!-- This Source Code Form is subject to the terms of the Mozilla Public
    - License, v. 2.0. If a copy of the MPL was not distributed with this
    - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
 <svg xmlns="http://www.w3.org/2000/svg" width="1078" height="54" fill="context-fill" fill-opacity="context-fill-opacity">
+  <defs>
+    <mask id="a" mask-type="alpha">
+      <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
+    </mask>
+    <path id="books" d="M8 22a1 1 0 0 0-1 1v10a1 1 0 0 0 2 0V23a1 1 0 0 0-1-1zm3-1a1 1 0 0 0-1 1v11a1 1 0 0 0 2 0V22a1 1 0 0 0-1-1zm8 11.7l-4-11a1 1 0 1 0-2 .6l4 11a1 1 0 1 0 2-.6zM5 20a1 1 0 0 0-1 1v12a1 1 0 0 0 2 0V21a1 1 0 0 0-1-1z"/>
+  </defs>
   <svg>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
+    <use href="#books"/>
   </svg>
   <svg x="22">
-    <defs>
-      <mask id="a" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
+    <use href="#books"/>
     <g mask="url(#a)" opacity=".043">
-      <path fill="context-stroke" d="M13.593 1.683l0.46 3.355 0.193 1.418 1.254 0.69 2.914 1.604 -3.108 1.673 -1.204 0.647 -0.247 1.345 -0.628 3.414 -2.298 -2.47 -1.034 -1.113 -1.498 0.24 -3.246 0.519 1.614 -3.05 0.643 -1.215 -0.554 -1.26 -1.42 -3.23 3.336 0.564 1.447 0.244 1.038 -1.038 2.336 -2.335"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.422" d="M13.593 1.683l0.46 3.355 0.193 1.418 1.254 0.69 2.914 1.604 -3.108 1.673 -1.204 0.647 -0.247 1.345 -0.628 3.414 -2.298 -2.47 -1.034 -1.113 -1.498 0.24 -3.246 0.519 1.614 -3.05 0.643 -1.215 -0.554 -1.26 -1.42 -3.23 3.336 0.564 1.447 0.244 1.038 -1.038 2.336 -2.335"/>
+      <path fill="context-stroke" stroke="none" d="M13.6 1.7L14 5l.1 1.5 1.3.6 3 1.7-3.2 1.6-1.2.7-.2 1.3-.7 3.4-2.3-2.4-1-1.2-1.5.3-3.2.5 1.6-3 .6-1.3L7 7.5 5.4 4.3l3.4.5 1.4.3 1-1 2.4-2.4"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M13.6 1.7L14 5l.1 1.5 1.3.6 3 1.7-3.2 1.6-1.2.7-.2 1.3-.7 3.4-2.3-2.4-1-1.2-1.5.3-3.2.5 1.6-3 .6-1.3L7 7.5 5.4 4.3l3.4.5 1.4.3 1-1 2.4-2.4"/>
     </g>
   </svg>
   <svg x="44">
-    <defs>
-      <mask id="b" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#b)" opacity=".156">
-      <path fill="context-stroke" d="M13.328 1.594l0.588 3.314 0.248 1.4 1.272 0.636 2.957 1.48 -3.02 1.783 -1.17 0.69 -0.194 1.346 -0.49 3.416 -2.378 -2.364 -1.072 -1.064 -1.478 0.297 -3.203 0.643 1.482 -3.092 0.592 -1.233 -0.6 -1.23 -1.538 -3.152 3.336 0.429 1.447 0.186 0.99 -1.072 2.229 -2.412"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.413" d="M13.328 1.594l0.588 3.314 0.248 1.4 1.272 0.636 2.957 1.48 -3.02 1.783 -1.17 0.69 -0.194 1.346 -0.49 3.416 -2.378 -2.364 -1.072 -1.064 -1.478 0.297 -3.203 0.643 1.482 -3.092 0.592 -1.233 -0.6 -1.23 -1.538 -3.152 3.336 0.429 1.447 0.186 0.99 -1.072 2.229 -2.412"/>
+    <use href="#books"/>
+    <g mask="url(#a)" opacity=".156">
+      <path fill="context-stroke" stroke="none" d="M13.3 1.6l.6 3.3.3 1.4 1.2.6 3 1.5-3 1.8-1.2.7-.2 1.3-.5 3.5-2.4-2.4-1-1-1.5.2-3.2.7L6.9 10l.6-1.3-.6-1.2-1.6-3.1 3.4.4L10 5l1-1 2.2-2.5"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M13.3 1.6l.6 3.3.3 1.4 1.2.6 3 1.5-3 1.8-1.2.7-.2 1.3-.5 3.5-2.4-2.4-1-1-1.5.2-3.2.7L6.9 10l.6-1.3-.6-1.2-1.6-3.1 3.4.4L10 5l1-1 2.2-2.5"/>
     </g>
   </svg>
   <svg x="66">
-    <defs>
-      <mask id="c" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#c)" opacity=".316">
-      <path fill="context-stroke" d="M12.953 1.508l0.766 3.249 0.323 1.373 1.295 0.558 3.009 1.3 -2.892 1.934 -1.12 0.748 -0.117 1.342 -0.295 3.41 -2.486 -2.209 -1.12 -0.994 -1.447 0.376 -3.135 0.814 1.296 -3.143 0.517 -1.254 -0.661 -1.184 -1.698 -3.036 3.327 0.24 1.442 0.105 0.92 -1.117 2.074 -2.51"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.401" d="M12.953 1.508l0.766 3.249 0.323 1.373 1.295 0.558 3.009 1.3 -2.892 1.934 -1.12 0.748 -0.117 1.342 -0.295 3.41 -2.486 -2.209 -1.12 -0.994 -1.447 0.376 -3.135 0.814 1.296 -3.143 0.517 -1.254 -0.661 -1.184 -1.698 -3.036 3.327 0.24 1.442 0.105 0.92 -1.117 2.074 -2.51"/>
+    <use href="#books"/>
+    <g mask="url(#a)" opacity=".316">
+      <path fill="context-stroke" stroke="none" d="M13 1.5l.7 3.3L14 6l1.3.6 3 1.3-2.8 2-1.2.7V12l-.4 3.4-2.5-2.2-1-1-1.5.4-3.2.8L7 10.3 7.5 9 7 7.8l-1.7-3 3.3.2 1.5.1.9-1 2-2.6"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M13 1.5l.7 3.3L14 6l1.3.6 3 1.3-2.8 2-1.2.7V12l-.4 3.4-2.5-2.2-1-1-1.5.4-3.2.8L7 10.3 7.5 9 7 7.8l-1.7-3 3.3.2 1.5.1.9-1 2-2.6"/>
     </g>
   </svg>
   <svg x="88">
-    <defs>
-      <mask id="d" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#d)" opacity=".5">
-      <path fill="context-stroke" d="M12.525 1.445l0.963 3.162 0.406 1.336 1.315 0.47 3.056 1.094 -2.735 2.093 -1.06 0.81 -0.03 1.335 -0.075 3.387 -2.597 -2.025 -1.17 -0.91 -1.405 0.463 -3.047 1.002 1.082 -3.188 0.431 -1.271 -0.729 -1.128 -1.87 -2.892 3.303 0.026 1.432 0.011 0.839 -1.161 1.89 -2.612"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.388" d="M12.525 1.445l0.963 3.162 0.406 1.336 1.315 0.47 3.056 1.094 -2.735 2.093 -1.06 0.81 -0.03 1.335 -0.075 3.387 -2.597 -2.025 -1.17 -0.91 -1.405 0.463 -3.047 1.002 1.082 -3.188 0.431 -1.271 -0.729 -1.128 -1.87 -2.892 3.303 0.026 1.432 0.011 0.839 -1.161 1.89 -2.612"/>
+    <use href="#books"/>
+    <g mask="url(#a)" opacity=".5">
+      <path fill="context-stroke" stroke="none" d="M12.5 1.4l1 3.2.4 1.3 1.3.5 3 1.1-2.7 2.1-1 .8v1.3l-.1 3.4-2.6-2-1.2-.9-1.4.5-3 1 1-3.2.5-1.3-.8-1.1-1.8-3 3.3.1h1.4l.8-1.1 2-2.7"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 1.4l1 3.2.4 1.3 1.3.5 3 1.1-2.7 2.1-1 .8v1.3l-.1 3.4-2.6-2-1.2-.9-1.4.5-3 1 1-3.2.5-1.3-.8-1.1-1.8-3 3.3.1h1.4l.8-1.1 2-2.7"/>
     </g>
   </svg>
   <svg x="110">
-    <defs>
-      <mask id="e" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#e)" opacity=".684">
-      <path fill="context-stroke" d="M12.101 1.412l1.152 3.062 0.486 1.294 1.329 0.381 3.089 0.888 -2.57 2.242 -0.995 0.867 0.055 1.32 0.14 3.352 -2.695 -1.836 -1.213 -0.826 -1.36 0.547 -2.946 1.184 0.867 -3.219 0.345 -1.283 -0.791 -1.068 -2.03 -2.74 3.263 -0.183 1.416 -0.08 0.755 -1.2 1.702 -2.7"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.374" d="M12.101 1.412l1.152 3.062 0.486 1.294 1.329 0.381 3.089 0.888 -2.57 2.242 -0.995 0.867 0.055 1.32 0.14 3.352 -2.695 -1.836 -1.213 -0.826 -1.36 0.547 -2.946 1.184 0.867 -3.219 0.345 -1.283 -0.791 -1.068 -2.03 -2.74 3.263 -0.183 1.416 -0.08 0.755 -1.2 1.702 -2.7"/>
+    <use href="#books"/>
+    <g mask="url(#a)" opacity=".684">
+      <path fill="context-stroke" stroke="none" d="M12.1 1.4l1.2 3 .4 1.4 1.4.3 3 1-2.5 2.2-1 .8v1.4l.2 3.3L12 13l-1.2-.8-1.4.5-3 1.2 1-3.2.3-1.3-.8-1-2-2.8 3.2-.2h1.4l.8-1.3L12 1.4"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.1 1.4l1.2 3 .4 1.4 1.4.3 3 1-2.5 2.2-1 .8v1.4l.2 3.3L12 13l-1.2-.8-1.4.5-3 1.2 1-3.2.3-1.3-.8-1-2-2.8 3.2-.2h1.4l.8-1.3L12 1.4"/>
     </g>
   </svg>
   <svg x="132">
-    <defs>
-      <mask id="f" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#f)" opacity=".844">
-      <path fill="context-stroke" d="M11.736 1.4l1.31 2.967 0.552 1.254 1.337 0.304 3.106 0.707 -2.419 2.361 -0.937 0.914 0.127 1.303 0.324 3.31 -2.768 -1.668 -1.246 -0.75 -1.316 0.616 -2.85 1.335 0.68 -3.233 0.27 -1.29 -0.842 -1.013 -2.162 -2.599 3.22 -0.362 1.397 -0.157 0.682 -1.23 1.534 -2.767"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.362" d="M11.736 1.4l1.31 2.967 0.552 1.254 1.337 0.304 3.106 0.707 -2.419 2.361 -0.937 0.914 0.127 1.303 0.324 3.31 -2.768 -1.668 -1.246 -0.75 -1.316 0.616 -2.85 1.335 0.68 -3.233 0.27 -1.29 -0.842 -1.013 -2.162 -2.599 3.22 -0.362 1.397 -0.157 0.682 -1.23 1.534 -2.767"/>
+    <use href="#books"/>
+    <g mask="url(#a)" opacity=".844">
+      <path fill="context-stroke" stroke="none" d="M11.7 1.4l1.3 3 .6 1.2 1.3.3 3.1.7L15.6 9l-1 1 .2 1.2.3 3.3-2.7-1.6L11 12l-1.3.6L7 14.1l.6-3.3.3-1.3-.8-1L4.9 6l3.2-.3 1.4-.2.7-1.2 1.5-2.8"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11.7 1.4l1.3 3 .6 1.2 1.3.3 3.1.7L15.6 9l-1 1 .2 1.2.3 3.3-2.7-1.6L11 12l-1.3.6L7 14.1l.6-3.3.3-1.3-.8-1L4.9 6l3.2-.3 1.4-.2.7-1.2 1.5-2.8"/>
     </g>
   </svg>
   <svg x="154">
-    <defs>
-      <mask id="g" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#g)" opacity=".957">
-      <path fill="context-stroke" d="M11.481 1.392l1.417 2.895 0.598 1.224 1.34 0.249 3.111 0.58 -2.309 2.44 -0.894 0.944 0.177 1.289 0.452 3.273 -2.814 -1.547 -1.267 -0.696 -1.282 0.664 -2.779 1.437 0.548 -3.237 0.219 -1.291 -0.877 -0.973 -2.248 -2.496 3.184 -0.486 1.38 -0.21 0.628 -1.249 1.415 -2.808"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.353" d="M11.481 1.392l1.417 2.895 0.598 1.224 1.34 0.249 3.111 0.58 -2.309 2.44 -0.894 0.944 0.177 1.289 0.452 3.273 -2.814 -1.547 -1.267 -0.696 -1.282 0.664 -2.779 1.437 0.548 -3.237 0.219 -1.291 -0.877 -0.973 -2.248 -2.496 3.184 -0.486 1.38 -0.21 0.628 -1.249 1.415 -2.808"/>
+    <use href="#books"/>
+    <g mask="url(#a)" opacity=".957">
+      <path fill="context-stroke" stroke="none" d="M11.5 1.4l1.4 2.9.6 1.2 1.3.3 3.1.5-2.3 2.5-.9 1L15 11l.5 3.3-2.8-1.6-1.3-.7-1.3.7-2.8 1.4.6-3.2.2-1.3-.9-1L5 6.1l3-.4 1.3-.2.7-1.3 1.4-2.8"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11.5 1.4l1.4 2.9.6 1.2 1.3.3 3.1.5-2.3 2.5-.9 1L15 11l.5 3.3-2.8-1.6-1.3-.7-1.3.7-2.8 1.4.6-3.2.2-1.3-.9-1L5 6.1l3-.4 1.3-.2.7-1.3 1.4-2.8"/>
     </g>
   </svg>
   <svg x="176">
-    <defs>
-      <mask id="h" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#h)">
-      <path fill="context-stroke" d="M11.386 1.366l1.456 2.867 0.615 1.211 1.34 0.228 3.113 0.532 -2.267 2.469 -0.878 0.955 0.196 1.283 0.5 3.259 -2.83 -1.501 -1.275 -0.676 -1.269 0.682 -2.75 1.475 0.499 -3.237 0.198 -1.291 -0.889 -0.958 -2.28 -2.456 3.169 -0.532 1.373 -0.231 0.608 -1.255 1.37 -2.822"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11.386 1.366l1.456 2.867 0.615 1.211 1.34 0.228 3.113 0.532 -2.267 2.469 -0.878 0.955 0.196 1.283 0.5 3.259 -2.83 -1.501 -1.275 -0.676 -1.269 0.682 -2.75 1.475 0.499 -3.237 0.198 -1.291 -0.889 -0.958 -2.28 -2.456 3.169 -0.532 1.373 -0.231 0.608 -1.255 1.37 -2.822"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M11.4 1.4l1.4 2.8.7 1.2 1.3.3 3.1.5-2.3 2.5-.8 1 .2 1.2.5 3.3-2.9-1.5-1.2-.7-1.3.7-2.8 1.5.5-3.3.2-1.3-.9-1L5 6.3l3-.6 1.4-.3.6-1.2 1.4-2.8"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11.4 1.4l1.4 2.8.7 1.2 1.3.3 3.1.5-2.3 2.5-.8 1 .2 1.2.5 3.3-2.9-1.5-1.2-.7-1.3.7-2.8 1.5.5-3.3.2-1.3-.9-1L5 6.3l3-.6 1.4-.3.6-1.2 1.4-2.8"/>
     </g>
   </svg>
   <svg x="198">
-    <defs>
-      <mask id="i" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#i)">
-      <path fill="context-stroke" d="M11.333 1.416l1.48 2.854 0.625 1.206 1.341 0.218 3.118 0.506 -2.247 2.487 -0.87 0.962 0.207 1.282 0.526 3.254 -2.842 -1.478 -1.28 -0.665 -1.263 0.692 -2.738 1.498 0.471 -3.241 0.188 -1.293 -0.896 -0.95 -2.3 -2.437 3.163 -0.558 1.372 -0.243 0.598 -1.26 1.346 -2.833"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11.333 1.416l1.48 2.854 0.625 1.206 1.341 0.218 3.118 0.506 -2.247 2.487 -0.87 0.962 0.207 1.282 0.526 3.254 -2.842 -1.478 -1.28 -0.665 -1.263 0.692 -2.738 1.498 0.471 -3.241 0.188 -1.293 -0.896 -0.95 -2.3 -2.437 3.163 -0.558 1.372 -0.243 0.598 -1.26 1.346 -2.833"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M11.3 1.4l1.5 2.9.6 1.2 1.4.2 3.1.5-2.3 2.5-.8 1 .2 1.2.5 3.3-2.8-1.5-1.3-.7-1.3.7-2.7 1.5.5-3.2.1-1.3-.8-1-2.3-2.4L8 5.8l1.4-.3.6-1.3 1.3-2.8"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11.3 1.4l1.5 2.9.6 1.2 1.4.2 3.1.5-2.3 2.5-.8 1 .2 1.2.5 3.3-2.8-1.5-1.3-.7-1.3.7-2.7 1.5.5-3.2.1-1.3-.8-1-2.3-2.4L8 5.8l1.4-.3.6-1.3 1.3-2.8"/>
     </g>
   </svg>
   <svg x="220">
-    <defs>
-      <mask id="j" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#j)">
-      <path fill="context-stroke" d="M11.26 1.479l1.512 2.837 0.639 1.2 1.343 0.201 3.123 0.471 -2.217 2.512 -0.86 0.973 0.222 1.279 0.563 3.248 -2.859 -1.445 -1.287 -0.65 -1.256 0.706 -2.72 1.528 0.435 -3.246 0.173 -1.295 -0.908 -0.94 -2.328 -2.41 3.158 -0.595 1.369 -0.258 0.583 -1.266 1.313 -2.848"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11.26 1.479l1.512 2.837 0.639 1.2 1.343 0.201 3.123 0.471 -2.217 2.512 -0.86 0.973 0.222 1.279 0.563 3.248 -2.859 -1.445 -1.287 -0.65 -1.256 0.706 -2.72 1.528 0.435 -3.246 0.173 -1.295 -0.908 -0.94 -2.328 -2.41 3.158 -0.595 1.369 -0.258 0.583 -1.266 1.313 -2.848"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M11.3 1.5l1.5 2.8.6 1.2 1.4.2 3 .5-2.1 2.5-.9 1L15 11l.6 3.2-2.9-1.4-1.3-.7-1.2.7-2.7 1.5.4-3.2.2-1.3-1-1-2.3-2.4L8 6l1.4-.3.5-1.3 1.4-2.8"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11.3 1.5l1.5 2.8.6 1.2 1.4.2 3 .5-2.1 2.5-.9 1L15 11l.6 3.2-2.9-1.4-1.3-.7-1.2.7-2.7 1.5.4-3.2.2-1.3-1-1-2.3-2.4L8 6l1.4-.3.5-1.3 1.4-2.8"/>
     </g>
   </svg>
   <svg x="242">
-    <defs>
-      <mask id="k" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#k)">
-      <path fill="context-stroke" d="M11.174 1.557l1.55 2.817 0.655 1.19 1.346 0.185 3.129 0.43 -2.184 2.54 -0.847 0.984 0.239 1.277 0.606 3.24 -2.878 -1.408 -1.296 -0.633 -1.246 0.723 -2.7 1.565 0.392 -3.252 0.156 -1.297 -0.92 -0.928 -2.36 -2.379 3.15 -0.636 1.365 -0.277 0.567 -1.273 1.275 -2.866"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11.174 1.557l1.55 2.817 0.655 1.19 1.346 0.185 3.129 0.43 -2.184 2.54 -0.847 0.984 0.239 1.277 0.606 3.24 -2.878 -1.408 -1.296 -0.633 -1.246 0.723 -2.7 1.565 0.392 -3.252 0.156 -1.297 -0.92 -0.928 -2.36 -2.379 3.15 -0.636 1.365 -0.277 0.567 -1.273 1.275 -2.866"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M11.2 1.6l1.5 2.8.7 1.2 1.3.1 3.2.5-2.2 2.5-.9 1 .3 1.3.6 3.2-3-1.4-1.2-.6-1.3.7-2.7 1.6.4-3.3.2-1.3-1-1-2.3-2.3L8 6l1.3-.3.6-1.3 1.3-2.8"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11.2 1.6l1.5 2.8.7 1.2 1.3.1 3.2.5-2.2 2.5-.9 1 .3 1.3.6 3.2-3-1.4-1.2-.6-1.3.7-2.7 1.6.4-3.3.2-1.3-1-1-2.3-2.3L8 6l1.3-.3.6-1.3 1.3-2.8"/>
     </g>
   </svg>
   <svg x="264">
-    <defs>
-      <mask id="l" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#l)">
-      <path fill="context-stroke" d="M11.08 1.652l1.592 2.794 0.671 1.181 1.349 0.165 3.135 0.383 -2.147 2.573 -0.833 0.996 0.258 1.273 0.653 3.23 -2.898 -1.365 -1.305 -0.614 -1.235 0.741 -2.677 1.604 0.344 -3.257 0.137 -1.3 -0.933 -0.914 -2.394 -2.345 3.14 -0.682 1.361 -0.296 0.548 -1.282 1.234 -2.883"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11.08 1.652l1.592 2.794 0.671 1.181 1.349 0.165 3.135 0.383 -2.147 2.573 -0.833 0.996 0.258 1.273 0.653 3.23 -2.898 -1.365 -1.305 -0.614 -1.235 0.741 -2.677 1.604 0.344 -3.257 0.137 -1.3 -0.933 -0.914 -2.394 -2.345 3.14 -0.682 1.361 -0.296 0.548 -1.282 1.234 -2.883"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M11 1.7l1.7 2.7.6 1.2 1.4.2 3.1.4-2.1 2.5-.9 1 .3 1.3.7 3.2-3-1.3-1.2-.6-1.3.7-2.7 1.6.4-3.2V10L7 9 4.7 6.7 7.8 6l1.4-.3.5-1.3L11 1.6"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11 1.7l1.7 2.7.6 1.2 1.4.2 3.1.4-2.1 2.5-.9 1 .3 1.3.7 3.2-3-1.3-1.2-.6-1.3.7-2.7 1.6.4-3.2V10L7 9 4.7 6.7 7.8 6l1.4-.3.5-1.3L11 1.6"/>
     </g>
   </svg>
   <svg x="286">
-    <defs>
-      <mask id="m" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#m)">
-      <path fill="context-stroke" d="M10.982 1.764l1.633 2.77 0.69 1.17 1.351 0.144 3.14 0.335 -2.107 2.606 -0.817 1.008 0.277 1.269 0.703 3.22 -2.919 -1.32 -1.314 -0.594 -1.224 0.76 -2.652 1.644 0.294 -3.262 0.117 -1.3 -0.947 -0.9 -2.43 -2.309 3.13 -0.73 1.356 -0.317 0.528 -1.29 1.19 -2.902"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.982 1.764l1.633 2.77 0.69 1.17 1.351 0.144 3.14 0.335 -2.107 2.606 -0.817 1.008 0.277 1.269 0.703 3.22 -2.919 -1.32 -1.314 -0.594 -1.224 0.76 -2.652 1.644 0.294 -3.262 0.117 -1.3 -0.947 -0.9 -2.43 -2.309 3.13 -0.73 1.356 -0.317 0.528 -1.29 1.19 -2.902"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M11 1.8l1.6 2.7.7 1.2 1.4.1 3.1.4-2.1 2.6-.8 1 .2 1.3.8 3.2-3-1.3-1.3-.6-1.2.7-2.7 1.7.3-3.3.2-1.3-1-.9L4.8 7l3.1-.7L9.3 6l.5-1.3 1.2-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M11 1.8l1.6 2.7.7 1.2 1.4.1 3.1.4-2.1 2.6-.8 1 .2 1.3.8 3.2-3-1.3-1.3-.6-1.2.7-2.7 1.7.3-3.3.2-1.3-1-.9L4.8 7l3.1-.7L9.3 6l.5-1.3 1.2-3"/>
     </g>
   </svg>
   <svg x="308">
-    <defs>
-      <mask id="n" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#n)">
-      <path fill="context-stroke" d="M10.879 1.895l1.677 2.743 0.709 1.159 1.353 0.122 3.145 0.285 -2.065 2.64 -0.8 1.02 0.296 1.265 0.755 3.209 -2.94 -1.274 -1.323 -0.573 -1.212 0.78 -2.625 1.686 0.242 -3.266 0.096 -1.303 -0.961 -0.885 -2.467 -2.268 3.117 -0.78 1.351 -0.339 0.508 -1.298 1.142 -2.921"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.879 1.895l1.677 2.743 0.709 1.159 1.353 0.122 3.145 0.285 -2.065 2.64 -0.8 1.02 0.296 1.265 0.755 3.209 -2.94 -1.274 -1.323 -0.573 -1.212 0.78 -2.625 1.686 0.242 -3.266 0.096 -1.303 -0.961 -0.885 -2.467 -2.268 3.117 -0.78 1.351 -0.339 0.508 -1.298 1.142 -2.921"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M10.9 1.9l1.7 2.7.7 1.2 1.3.1 3.2.3-2.1 2.6-.8 1 .3 1.3.7 3.2-2.9-1.2-1.3-.6-1.2.8L7.8 15l.3-3.3v-1.3l-.9-.9-2.4-2.3 3-.7L9.3 6l.5-1.3L11 2"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.9 1.9l1.7 2.7.7 1.2 1.3.1 3.2.3-2.1 2.6-.8 1 .3 1.3.7 3.2-2.9-1.2-1.3-.6-1.2.8L7.8 15l.3-3.3v-1.3l-.9-.9-2.4-2.3 3-.7L9.3 6l.5-1.3L11 2"/>
     </g>
   </svg>
   <svg x="330">
-    <defs>
-      <mask id="o" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#o)">
-      <path fill="context-stroke" d="M10.772 2.046l1.723 2.715 0.728 1.147 1.354 0.1 3.15 0.233 -2.022 2.673 -0.783 1.034 0.318 1.26 0.807 3.195 -2.96 -1.225 -1.333 -0.551 -1.198 0.8 -2.597 1.73 0.187 -3.27 0.075 -1.305 -0.976 -0.868 -2.503 -2.228 3.103 -0.831 1.346 -0.361 0.486 -1.307 1.094 -2.94"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.772 2.046l1.723 2.715 0.728 1.147 1.354 0.1 3.15 0.233 -2.022 2.673 -0.783 1.034 0.318 1.26 0.807 3.195 -2.96 -1.225 -1.333 -0.551 -1.198 0.8 -2.597 1.73 0.187 -3.27 0.075 -1.305 -0.976 -0.868 -2.503 -2.228 3.103 -0.831 1.346 -0.361 0.486 -1.307 1.094 -2.94"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M10.8 2l1.7 2.8.7 1.1 1.4.1 3.1.2-2 2.7-.8 1 .3 1.3.8 3.2-3-1.2-1.2-.6-1.2.8L8 15.2l.1-3.3.1-1.3-1-.9-2.5-2.2 3.1-.8 1.4-.4.5-1.3 1-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.8 2l1.7 2.8.7 1.1 1.4.1 3.1.2-2 2.7-.8 1 .3 1.3.8 3.2-3-1.2-1.2-.6-1.2.8L8 15.2l.1-3.3.1-1.3-1-.9-2.5-2.2 3.1-.8 1.4-.4.5-1.3 1-3"/>
     </g>
   </svg>
   <svg x="352">
-    <defs>
-      <mask id="p" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#p)">
-      <path fill="context-stroke" d="M10.663 2.218l1.769 2.686 0.747 1.135 1.356 0.076 3.153 0.18 -1.976 2.707 -0.766 1.048 0.339 1.253 0.861 3.182 -2.98 -1.175 -1.342 -0.529 -1.185 0.82 -2.567 1.774 0.132 -3.273 0.053 -1.305 -0.99 -0.852 -2.541 -2.185 3.089 -0.884 1.339 -0.384 0.464 -1.314 1.044 -2.958"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.663 2.218l1.769 2.686 0.747 1.135 1.356 0.076 3.153 0.18 -1.976 2.707 -0.766 1.048 0.339 1.253 0.861 3.182 -2.98 -1.175 -1.342 -0.529 -1.185 0.82 -2.567 1.774 0.132 -3.273 0.053 -1.305 -0.99 -0.852 -2.541 -2.185 3.089 -0.884 1.339 -0.384 0.464 -1.314 1.044 -2.958"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M10.7 2.2L12.4 5l.8 1.1 1.3.1 3.2.2-2 2.7-.8 1 .4 1.3.8 3.2-3-1.2-1.3-.5-1.2.8-2.5 1.8.1-3.3v-1.3l-1-.9-2.5-2.1 3.1-1 1.4-.3.4-1.3 1-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.7 2.2L12.4 5l.8 1.1 1.3.1 3.2.2-2 2.7-.8 1 .4 1.3.8 3.2-3-1.2-1.3-.5-1.2.8-2.5 1.8.1-3.3v-1.3l-1-.9-2.5-2.1 3.1-1 1.4-.3.4-1.3 1-3"/>
     </g>
   </svg>
   <svg x="374">
-    <defs>
-      <mask id="q" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#q)">
-      <path fill="context-stroke" d="M10.552 2.414l1.815 2.655 0.766 1.122 1.357 0.053 3.156 0.126 -1.929 2.74 -0.748 1.06 0.36 1.248 0.917 3.167 -3 -1.124 -1.351 -0.505 -1.17 0.84 -2.537 1.817 0.076 -3.274 0.03 -1.306 -1.005 -0.835 -2.578 -2.14 3.073 -0.937 1.333 -0.407 0.44 -1.323 0.994 -2.975"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.552 2.414l1.815 2.655 0.766 1.122 1.357 0.053 3.156 0.126 -1.929 2.74 -0.748 1.06 0.36 1.248 0.917 3.167 -3 -1.124 -1.351 -0.505 -1.17 0.84 -2.537 1.817 0.076 -3.274 0.03 -1.306 -1.005 -0.835 -2.578 -2.14 3.073 -0.937 1.333 -0.407 0.44 -1.323 0.994 -2.975"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M10.6 2.4l1.8 2.7.7 1 1.4.1 3.1.2L15.7 9l-.7 1 .3 1.3 1 3.2-3-1.1-1.4-.5-1.2.8-2.5 1.8V11l-1-.8-2.5-2.1 3-1 1.4-.4.5-1.3 1-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.6 2.4l1.8 2.7.7 1 1.4.1 3.1.2L15.7 9l-.7 1 .3 1.3 1 3.2-3-1.1-1.4-.5-1.2.8-2.5 1.8V11l-1-.8-2.5-2.1 3-1 1.4-.4.5-1.3 1-3"/>
     </g>
   </svg>
   <svg x="396">
-    <defs>
-      <mask id="r" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#r)">
-      <path fill="context-stroke" d="M10.44 2.636l1.86 2.622 0.786 1.109 1.358 0.03 3.158 0.07 -1.881 2.773 -0.73 1.074 0.383 1.24 0.97 3.151 -3.018 -1.07 -1.36 -0.482 -1.155 0.86 -2.505 1.861 0.02 -3.275 0.006 -1.306 -1.019 -0.817 -2.615 -2.096 3.057 -0.99 1.325 -0.43 0.418 -1.33 0.94 -2.992"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.44 2.636l1.86 2.622 0.786 1.109 1.358 0.03 3.158 0.07 -1.881 2.773 -0.73 1.074 0.383 1.24 0.97 3.151 -3.018 -1.07 -1.36 -0.482 -1.155 0.86 -2.505 1.861 0.02 -3.275 0.006 -1.306 -1.019 -0.817 -2.615 -2.096 3.057 -0.99 1.325 -0.43 0.418 -1.33 0.94 -2.992"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M10.4 2.6l1.9 2.7.8 1 1.3.1h3.2l-1.9 2.8-.7 1.1.4 1.3 1 3.1-3-1-1.4-.5-1.2.8-2.5 2v-4.6l-1-.8-2.6-2.1 3-1L9.2 7l.4-1.4 1-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.4 2.6l1.9 2.7.8 1 1.3.1h3.2l-1.9 2.8-.7 1.1.4 1.3 1 3.1-3-1-1.4-.5-1.2.8-2.5 2v-4.6l-1-.8-2.6-2.1 3-1L9.2 7l.4-1.4 1-3"/>
     </g>
   </svg>
   <svg x="418">
-    <defs>
-      <mask id="s" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#s)">
-      <path fill="context-stroke" d="M10.326 2.885l1.907 2.59 0.805 1.094 1.359 0.006 3.158 0.014 -1.832 2.807 -0.71 1.086 0.404 1.234 1.026 3.132 -3.037 -1.017 -1.368 -0.458 -1.14 0.88 -2.472 1.906 -0.038 -3.275 -0.016 -1.306 -1.034 -0.8 -2.651 -2.048 3.038 -1.044 1.318 -0.453 0.394 -1.338 0.888 -3.008"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.326 2.885l1.907 2.59 0.805 1.094 1.359 0.006 3.158 0.014 -1.832 2.807 -0.71 1.086 0.404 1.234 1.026 3.132 -3.037 -1.017 -1.368 -0.458 -1.14 0.88 -2.472 1.906 -0.038 -3.275 -0.016 -1.306 -1.034 -0.8 -2.651 -2.048 3.038 -1.044 1.318 -0.453 0.394 -1.338 0.888 -3.008"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M10.3 2.9l2 2.6.7 1h4.6l-1.9 2.9-.7 1 .4 1.3 1 3.1-3-1-1.4-.4-1.1.9-2.5 1.9v-4.6l-1-.8-2.7-2 3-1.1L9 7.2 9.4 6l1-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.3 2.9l2 2.6.7 1h4.6l-1.9 2.9-.7 1 .4 1.3 1 3.1-3-1-1.4-.4-1.1.9-2.5 1.9v-4.6l-1-.8-2.7-2 3-1.1L9 7.2 9.4 6l1-3"/>
     </g>
   </svg>
   <svg x="440">
-    <defs>
-      <mask id="t" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#t)">
-      <path fill="context-stroke" d="M10.212 3.165l1.952 2.555 0.825 1.08 1.358 -0.019 3.158 -0.04 -1.782 2.837 -0.69 1.1 0.426 1.226 1.082 3.114 -3.055 -0.964 -1.376 -0.433 -1.125 0.9 -2.436 1.95 -0.097 -3.274 -0.04 -1.306 -1.047 -0.78 -2.688 -2.002 3.02 -1.098 1.309 -0.476 0.37 -1.344 0.835 -3.024"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.212 3.165l1.952 2.555 0.825 1.08 1.358 -0.019 3.158 -0.04 -1.782 2.837 -0.69 1.1 0.426 1.226 1.082 3.114 -3.055 -0.964 -1.376 -0.433 -1.125 0.9 -2.436 1.95 -0.097 -3.274 -0.04 -1.306 -1.047 -0.78 -2.688 -2.002 3.02 -1.098 1.309 -0.476 0.37 -1.344 0.835 -3.024"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M10.2 3.2l2 2.5.8 1.1h4.5l-1.8 2.8-.7 1 .5 1.3 1 3.1-3-1-1.4-.4-1.1 1-2.5 1.9v-4.6L7.3 11 4.6 9l3-1L9 7.4l.4-1.3.8-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.2 3.2l2 2.5.8 1.1h4.5l-1.8 2.8-.7 1 .5 1.3 1 3.1-3-1-1.4-.4-1.1 1-2.5 1.9v-4.6L7.3 11 4.6 9l3-1L9 7.4l.4-1.3.8-3"/>
     </g>
   </svg>
   <svg x="462">
-    <defs>
-      <mask id="u" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#u)">
-      <path fill="context-stroke" d="M10.097 3.479l1.998 2.52 0.843 1.064 1.358 -0.043 3.157 -0.097 -1.73 2.87 -0.671 1.11 0.447 1.219 1.138 3.094 -3.072 -0.908 -1.383 -0.409 -1.108 0.92 -2.402 1.993 -0.156 -3.272 -0.062 -1.304 -1.061 -0.762 -2.723 -1.953 2.999 -1.152 1.3 -0.5 0.347 -1.35 0.78 -3.038"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.097 3.479l1.998 2.52 0.843 1.064 1.358 -0.043 3.157 -0.097 -1.73 2.87 -0.671 1.11 0.447 1.219 1.138 3.094 -3.072 -0.908 -1.383 -0.409 -1.108 0.92 -2.402 1.993 -0.156 -3.272 -0.062 -1.304 -1.061 -0.762 -2.723 -1.953 2.999 -1.152 1.3 -0.5 0.347 -1.35 0.78 -3.038"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M10.1 3.5l2 2.5.8 1h4.6l-1.8 2.8-.6 1.1.4 1.2 1.1 3.1-3-.9-1.4-.4-1.1 1-2.4 2-.2-3.4v-1.3l-1.1-.7-2.7-2 3-1.1L9 7.9l.3-1.4.8-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10.1 3.5l2 2.5.8 1h4.6l-1.8 2.8-.6 1.1.4 1.2 1.1 3.1-3-.9-1.4-.4-1.1 1-2.4 2-.2-3.4v-1.3l-1.1-.7-2.7-2 3-1.1L9 7.9l.3-1.4.8-3"/>
     </g>
   </svg>
   <svg x="484">
-    <defs>
-      <mask id="v" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#v)">
-      <path fill="context-stroke" d="M9.981 3.83l2.043 2.483 0.863 1.05 1.357 -0.068 3.154 -0.154 -1.678 2.9 -0.651 1.123 0.47 1.21 1.193 3.073 -3.088 -0.853 -1.39 -0.383 -1.092 0.94 -2.366 2.036 -0.214 -3.269 -0.086 -1.303 -1.075 -0.743 -2.757 -1.903 2.978 -1.206 1.291 -0.523 0.322 -1.357 0.726 -3.051"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.981 3.83l2.043 2.483 0.863 1.05 1.357 -0.068 3.154 -0.154 -1.678 2.9 -0.651 1.123 0.47 1.21 1.193 3.073 -3.088 -0.853 -1.39 -0.383 -1.092 0.94 -2.366 2.036 -0.214 -3.269 -0.086 -1.303 -1.075 -0.743 -2.757 -1.903 2.978 -1.206 1.291 -0.523 0.322 -1.357 0.726 -3.051"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M10 3.8l2 2.5.9 1h1.3l3.2-.2-1.7 3-.6 1 .4 1.3 1.2 3-3-.8-1.4-.4-1.1 1-2.4 2-.2-3.3-.1-1.3-1-.7-2.8-2 3-1.1 1.2-.6.4-1.3.7-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M10 3.8l2 2.5.9 1h1.3l3.2-.2-1.7 3-.6 1 .4 1.3 1.2 3-3-.8-1.4-.4-1.1 1-2.4 2-.2-3.3-.1-1.3-1-.7-2.8-2 3-1.1 1.2-.6.4-1.3.7-3"/>
     </g>
   </svg>
   <svg x="506">
-    <defs>
-      <mask id="w" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#w)">
-      <path fill="context-stroke" d="M9.866 4.223l2.087 2.446 0.881 1.034 1.356 -0.092 3.15 -0.211 -1.625 2.93 -0.63 1.134 0.491 1.202 1.248 3.05 -3.103 -0.796 -1.397 -0.359 -1.074 0.96 -2.328 2.078 -0.274 -3.264 -0.109 -1.302 -1.088 -0.723 -2.791 -1.854 2.955 -1.259 1.282 -0.546 0.297 -1.362 0.67 -3.064"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.866 4.223l2.087 2.446 0.881 1.034 1.356 -0.092 3.15 -0.211 -1.625 2.93 -0.63 1.134 0.491 1.202 1.248 3.05 -3.103 -0.796 -1.397 -0.359 -1.074 0.96 -2.328 2.078 -0.274 -3.264 -0.109 -1.302 -1.088 -0.723 -2.791 -1.854 2.955 -1.259 1.282 -0.546 0.297 -1.362 0.67 -3.064"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M9.9 4.2l2 2.5 1 1h1.3l3.1-.3-1.6 3-.6 1 .5 1.3 1.2 3-3-.8-1.5-.3-1 1-2.4 2-.3-3.3V13l-1.1-.7-2.8-1.8 3-1.3 1.2-.5.3-1.4.7-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.9 4.2l2 2.5 1 1h1.3l3.1-.3-1.6 3-.6 1 .5 1.3 1.2 3-3-.8-1.5-.3-1 1-2.4 2-.3-3.3V13l-1.1-.7-2.8-1.8 3-1.3 1.2-.5.3-1.4.7-3"/>
     </g>
   </svg>
   <svg x="528">
-    <defs>
-      <mask id="x" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#x)">
-      <path fill="context-stroke" d="M9.75 4.663l2.13 2.408 0.901 1.018 1.354 -0.116 3.146 -0.268 -1.573 2.959 -0.61 1.145 0.514 1.193 1.303 3.028 -3.117 -0.741 -1.403 -0.333 -1.057 0.979 -2.29 2.12 -0.333 -3.26 -0.132 -1.299 -1.101 -0.703 -2.825 -1.803 2.933 -1.312 1.271 -0.57 0.273 -1.367 0.615 -3.076"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.75 4.663l2.13 2.408 0.901 1.018 1.354 -0.116 3.146 -0.268 -1.573 2.959 -0.61 1.145 0.514 1.193 1.303 3.028 -3.117 -0.741 -1.403 -0.333 -1.057 0.979 -2.29 2.12 -0.333 -3.26 -0.132 -1.299 -1.101 -0.703 -2.825 -1.803 2.933 -1.312 1.271 -0.57 0.273 -1.367 0.615 -3.076"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M9.8 4.7l2 2.4 1 1L14 8l3.2-.3-1.6 3-.6 1.1.5 1.2 1.3 3-3.1-.7-1.4-.3-1 1L9 18l-.3-3.2-.1-1.3-1.1-.7L4.7 11l2.9-1.3L8.9 9 9 7.7l.6-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.8 4.7l2 2.4 1 1L14 8l3.2-.3-1.6 3-.6 1.1.5 1.2 1.3 3-3.1-.7-1.4-.3-1 1L9 18l-.3-3.2-.1-1.3-1.1-.7L4.7 11l2.9-1.3L8.9 9 9 7.7l.6-3"/>
     </g>
   </svg>
   <svg x="550">
-    <defs>
-      <mask id="y" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#y)">
-      <path fill="context-stroke" d="M9.635 5.158l2.173 2.37 0.919 1 1.35 -0.14 3.142 -0.324 -1.52 2.987 -0.588 1.156 0.534 1.183 1.358 3.004 -3.13 -0.685 -1.409 -0.307 -1.039 0.997 -2.252 2.16 -0.39 -3.251 -0.157 -1.297 -1.113 -0.683 -2.857 -1.752 2.909 -1.365 1.26 -0.593 0.25 -1.371 0.559 -3.087"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.635 5.158l2.173 2.37 0.919 1 1.35 -0.14 3.142 -0.324 -1.52 2.987 -0.588 1.156 0.534 1.183 1.358 3.004 -3.13 -0.685 -1.409 -0.307 -1.039 0.997 -2.252 2.16 -0.39 -3.251 -0.157 -1.297 -1.113 -0.683 -2.857 -1.752 2.909 -1.365 1.26 -0.593 0.25 -1.371 0.559 -3.087"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M9.6 5.2l2.2 2.3 1 1 1.3-.1 3.1-.3-1.5 3-.6 1.1.5 1.2 1.4 3-3.1-.7-1.4-.3-1 1-2.3 2.2-.4-3.3-.2-1.3-1-.7-3-1.7 3-1.4 1.2-.6.3-1.4.5-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.6 5.2l2.2 2.3 1 1 1.3-.1 3.1-.3-1.5 3-.6 1.1.5 1.2 1.4 3-3.1-.7-1.4-.3-1 1-2.3 2.2-.4-3.3-.2-1.3-1-.7-3-1.7 3-1.4 1.2-.6.3-1.4.5-3"/>
     </g>
   </svg>
   <svg x="572">
-    <defs>
-      <mask id="z" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#z)">
-      <path fill="context-stroke" d="M9.52 5.717l2.215 2.33 0.936 0.984 1.349 -0.164 3.135 -0.382 -1.466 3.014 -0.568 1.167 0.556 1.173 1.411 2.98 -3.141 -0.63 -1.415 -0.282 -1.02 1.017 -2.213 2.2 -0.45 -3.244 -0.179 -1.294 -1.125 -0.663 -2.888 -1.7 2.884 -1.418 1.25 -0.614 0.223 -1.376 0.504 -3.096"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.52 5.717l2.215 2.33 0.936 0.984 1.349 -0.164 3.135 -0.382 -1.466 3.014 -0.568 1.167 0.556 1.173 1.411 2.98 -3.141 -0.63 -1.415 -0.282 -1.02 1.017 -2.213 2.2 -0.45 -3.244 -0.179 -1.294 -1.125 -0.663 -2.888 -1.7 2.884 -1.418 1.25 -0.614 0.223 -1.376 0.504 -3.096"/>
+    <use href="#books"/>
+    <g mask="url(#a)">
+      <path fill="context-stroke" stroke="none" d="M9.5 5.7L11.7 8l1 1H14l3.2-.4-1.5 3-.6 1.2.6 1.1 1.4 3-3.2-.6-1.4-.3-1 1-2.2 2.2-.5-3.2-.1-1.3-1.2-.7-2.8-1.7 2.8-1.4 1.3-.6.2-1.4.5-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.5 5.7L11.7 8l1 1H14l3.2-.4-1.5 3-.6 1.2.6 1.1 1.4 3-3.2-.6-1.4-.3-1 1-2.2 2.2-.5-3.2-.1-1.3-1.2-.7-2.8-1.7 2.8-1.4 1.3-.6.2-1.4.5-3"/>
     </g>
   </svg>
   <svg x="594">
     <defs>
       <mask id="A" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
+        <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
       </mask>
     </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
+    <use href="#books"/>
     <g mask="url(#A)">
-      <path fill="context-stroke" d="M9.404 6.35l2.257 2.29 0.954 0.968 1.345 -0.19 3.128 -0.437 -1.411 3.04 -0.547 1.177 0.576 1.163 1.464 2.953 -3.152 -0.572 -1.419 -0.257 -1.002 1.035 -2.173 2.24 -0.508 -3.237 -0.202 -1.29 -1.137 -0.643 -2.918 -1.648 2.858 -1.469 1.239 -0.637 0.199 -1.38 0.448 -3.104"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.404 6.35l2.257 2.29 0.954 0.968 1.345 -0.19 3.128 -0.437 -1.411 3.04 -0.547 1.177 0.576 1.163 1.464 2.953 -3.152 -0.572 -1.419 -0.257 -1.002 1.035 -2.173 2.24 -0.508 -3.237 -0.202 -1.29 -1.137 -0.643 -2.918 -1.648 2.858 -1.469 1.239 -0.637 0.199 -1.38 0.448 -3.104"/>
+      <path fill="context-stroke" stroke="none" d="M9.4 6.3l2.3 2.3 1 1 1.3-.2 3-.4-1.3 3-.6 1.2.6 1.2 1.5 3-3.2-.7-1.4-.2-1 1-2.2 2.3-.5-3.3-.2-1.3-1.1-.6-3-1.7 3-1.4 1.2-.7.2-1.3.4-3.1"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.4 6.3l2.3 2.3 1 1 1.3-.2 3-.4-1.3 3-.6 1.2.6 1.2 1.5 3-3.2-.7-1.4-.2-1 1-2.2 2.3-.5-3.3-.2-1.3-1.1-.6-3-1.7 3-1.4 1.2-.7.2-1.3.4-3.1"/>
     </g>
   </svg>
   <svg x="616">
     <defs>
       <mask id="B" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
+        <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
       </mask>
     </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
+    <use href="#books"/>
     <g mask="url(#B)">
-      <path fill="context-stroke" d="M9.29 7.074l2.297 2.249 0.97 0.95 1.342 -0.212 3.12 -0.493 -1.357 3.064 -0.526 1.186 0.597 1.153 1.517 2.927 -3.162 -0.516 -1.424 -0.232 -0.984 1.052 -2.133 2.278 -0.564 -3.226 -0.226 -1.287 -1.148 -0.622 -2.947 -1.597 2.832 -1.518 1.227 -0.66 0.174 -1.383 0.394 -3.111"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.29 7.074l2.297 2.249 0.97 0.95 1.342 -0.212 3.12 -0.493 -1.357 3.064 -0.526 1.186 0.597 1.153 1.517 2.927 -3.162 -0.516 -1.424 -0.232 -0.984 1.052 -2.133 2.278 -0.564 -3.226 -0.226 -1.287 -1.148 -0.622 -2.947 -1.597 2.832 -1.518 1.227 -0.66 0.174 -1.383 0.394 -3.111"/>
+      <path fill="context-stroke" stroke="none" d="M9.3 7l2.3 2.3 1 1 1.3-.2 3.1-.5-1.3 3-.6 1.2.6 1.2 1.6 2.9-3.2-.5-1.4-.3-1 1.1-2.2 2.3-.5-3.2-.2-1.3-1.2-.7-3-1.6 2.9-1.5 1.2-.6.2-1.4.4-3.1"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.3 7l2.3 2.3 1 1 1.3-.2 3.1-.5-1.3 3-.6 1.2.6 1.2 1.6 2.9-3.2-.5-1.4-.3-1 1.1-2.2 2.3-.5-3.2-.2-1.3-1.2-.7-3-1.6 2.9-1.5 1.2-.6.2-1.4.4-3.1"/>
     </g>
   </svg>
   <svg x="638">
     <defs>
       <mask id="C" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5166 0 0 .5 13.263 28.454)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5166 0 0 .5 13.263 28.454)"/>
+        <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.5166 0 0 .5 13.263 28.454)"/>
       </mask>
     </defs>
-    <path d="M7.985 22.141c-0.57 0 -1.033 0.448 -1.033 1v10c0 0.552 0.463 1 1.033 1 0.57 0 1.033 -0.448 1.033 -1v-10c0 -0.552 -0.462 -1 -1.033 -1zm3.1 -1c-0.57 0 -1.033 0.448 -1.033 1v11c0 0.552 0.462 1 1.033 1 0.57 0 1.033 -0.448 1.033 -1v-11c0 -0.552 -0.463 -1 -1.033 -1zm8.202 11.658l-4.132 -11c-0.185 -0.523 -0.772 -0.8 -1.313 -0.622 -0.539 0.178 -0.827 0.747 -0.642 1.27a0.509 0.509 0 0 0 0.013 0.036l4.133 11c0.185 0.523 0.772 0.801 1.312 0.622 0.54 -0.178 0.828 -0.747 0.643 -1.27 -0.004 -0.012 -0.008 -0.024 -0.014 -0.036zm-14.401 -12.658c-0.57 0 -1.034 0.448 -1.034 1v12c0 0.552 0.463 1 1.034 1 0.57 0 1.033 -0.448 1.033 -1v-12c0 -0.552 -0.463 -1 -1.033 -1z"/>
+    <path d="M8 22.1a1 1 0 0 0-1 1v10c0 .6.4 1 1 1s1-.4 1-1v-10c0-.5-.4-1-1-1zm3-1a1 1 0 0 0-1 1v11c0 .6.5 1 1 1 .7 0 1.1-.4 1.1-1v-11c0-.5-.4-1-1-1zm8.3 11.7l-4.1-11a1 1 0 0 0-1.4-.6 1 1 0 0 0-.6 1.2l4.1 11c.2.6.8.9 1.4.7.5-.2.8-.7.6-1.3zM4.9 20.1a1 1 0 0 0-1 1v12c0 .6.4 1 1 1s1-.4 1-1v-12c0-.5-.4-1-1-1z"/>
     <g mask="url(#C)">
-      <path fill="context-stroke" d="M9.175 7.909l2.337 2.208 0.987 0.933 1.338 -0.236 3.11 -0.548 -1.302 3.087 -0.506 1.196 0.618 1.142 1.568 2.9 -3.17 -0.46 -1.428 -0.207 -0.965 1.07 -2.092 2.315 -0.622 -3.216 -0.248 -1.283 -1.16 -0.602 -2.973 -1.544 2.803 -1.568 1.216 -0.681 0.15 -1.386 0.338 -3.118"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.175 7.909l2.337 2.208 0.987 0.933 1.338 -0.236 3.11 -0.548 -1.302 3.087 -0.506 1.196 0.618 1.142 1.568 2.9 -3.17 -0.46 -1.428 -0.207 -0.965 1.07 -2.092 2.315 -0.622 -3.216 -0.248 -1.283 -1.16 -0.602 -2.973 -1.544 2.803 -1.568 1.216 -0.681 0.15 -1.386 0.338 -3.118"/>
+      <path fill="context-stroke" stroke="none" d="M9.2 8l2.3 2.1 1 1 1.3-.3 3.1-.5-1.3 3-.5 1.2.7 1.2 1.5 2.9-3.1-.5-1.5-.2-1 1-2 2.4-.7-3.2-.2-1.3-1.2-.6-3-1.5 3-1.7 1.2-.7.1-1.4.4-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.2 8l2.3 2.1 1 1 1.3-.3 3.1-.5-1.3 3-.5 1.2.7 1.2 1.5 2.9-3.1-.5-1.5-.2-1 1-2 2.4-.7-3.2-.2-1.3-1.2-.6-3-1.5 3-1.7 1.2-.7.1-1.4.4-3"/>
     </g>
   </svg>
   <svg x="660">
     <defs>
       <mask id="D" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5332 0 0 .5 13.482 28.845)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5332 0 0 .5 13.482 28.845)"/>
+        <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.5332 0 0 .5 13.482 28.845)"/>
       </mask>
     </defs>
-    <path d="M8.035 22.532c-0.589 0 -1.066 0.448 -1.066 1v10c0 0.552 0.477 1 1.066 1 0.589 0 1.066 -0.448 1.066 -1v-10c0 -0.552 -0.477 -1 -1.066 -1zm3.2 -1c-0.59 0 -1.067 0.448 -1.067 1v11c0 0.552 0.478 1 1.066 1 0.589 0 1.067 -0.448 1.067 -1v-11c0 -0.552 -0.478 -1 -1.067 -1zm8.465 11.658l-4.265 -11c-0.191 -0.523 -0.797 -0.8 -1.355 -0.622 -0.556 0.178 -0.854 0.747 -0.663 1.27l0.014 0.036 4.266 11c0.19 0.523 0.796 0.801 1.354 0.622 0.557 -0.178 0.854 -0.747 0.663 -1.27 -0.004 -0.012 -0.008 -0.024 -0.014 -0.036zm-14.864 -12.658c-0.589 0 -1.067 0.448 -1.067 1v12c0 0.552 0.478 1 1.067 1 0.588 0 1.066 -0.448 1.066 -1v-12c0 -0.552 -0.478 -1 -1.066 -1z"/>
+    <path d="M8 22.5a1 1 0 0 0-1 1v10c0 .6.4 1 1 1s1.1-.4 1.1-1v-10c0-.5-.5-1-1-1zm3.2-1a1 1 0 0 0-1 1v11c0 .6.4 1 1 1s1.1-.4 1.1-1v-11c0-.5-.5-1-1-1zm8.5 11.7l-4.3-11a1 1 0 0 0-1.3-.6 1 1 0 0 0-.7 1.2l4.3 11c.2.6.8.9 1.4.7.5-.2.8-.8.6-1.3zM4.8 20.5a1 1 0 0 0-1 1v12c0 .6.4 1 1 1s1.1-.4 1.1-1v-12c0-.5-.5-1-1-1z"/>
     <g mask="url(#D)">
-      <path fill="context-stroke" d="M9.06 8.886l2.376 2.167 1.003 0.916 1.334 -0.26 3.1 -0.602 -1.248 3.11 -0.485 1.204 0.638 1.13 1.618 2.872 -3.178 -0.404 -1.43 -0.182 -0.947 1.086 -2.051 2.352 -0.678 -3.204 -0.27 -1.278 -1.17 -0.582 -3 -1.492 2.775 -1.617 1.204 -0.702 0.125 -1.389 0.284 -3.123"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9.06 8.886l2.376 2.167 1.003 0.916 1.334 -0.26 3.1 -0.602 -1.248 3.11 -0.485 1.204 0.638 1.13 1.618 2.872 -3.178 -0.404 -1.43 -0.182 -0.947 1.086 -2.051 2.352 -0.678 -3.204 -0.27 -1.278 -1.17 -0.582 -3 -1.492 2.775 -1.617 1.204 -0.702 0.125 -1.389 0.284 -3.123"/>
+      <path fill="context-stroke" stroke="none" d="M9 8.9l2.4 2.2 1 .9 1.4-.3 3-.6-1.2 3.1-.5 1.2.7 1.2 1.6 2.8-3.2-.4-1.4-.2-1 1.1-2 2.4L9 19l-.3-1.3-1.1-.6-3-1.5L7.3 14l1.3-.7V12l.6-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9 8.9l2.4 2.2 1 .9 1.4-.3 3-.6-1.2 3.1-.5 1.2.7 1.2 1.6 2.8-3.2-.4-1.4-.2-1 1.1-2 2.4L9 19l-.3-1.3-1.1-.6-3-1.5L7.3 14l1.3-.7V12l.6-3"/>
     </g>
   </svg>
   <svg x="682">
     <defs>
       <mask id="E" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.54974 0 0 .5 13.727 29.36)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.54974 0 0 .5 13.727 29.36)"/>
+        <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.54974 0 0 .5 13.727 29.36)"/>
       </mask>
     </defs>
-    <path d="M8.11 23.047c-0.606 0 -1.099 0.448 -1.099 1v10c0 0.552 0.493 1 1.1 1 0.607 0 1.1 -0.448 1.1 -1v-10c0 -0.552 -0.493 -1 -1.1 -1zm3.3 -1c-0.608 0 -1.1 0.448 -1.1 1v11c0 0.552 0.492 1 1.1 1 0.606 0 1.099 -0.448 1.099 -1v-11c0 -0.552 -0.493 -1 -1.1 -1zm8.728 11.658l-4.398 -11c-0.197 -0.523 -0.821 -0.8 -1.396 -0.622 -0.574 0.178 -0.881 0.747 -0.684 1.27l0.014 0.036 4.398 11c0.197 0.523 0.821 0.801 1.396 0.622 0.574 -0.178 0.881 -0.747 0.684 -1.27l-0.014 -0.036zm-15.326 -12.658c-0.607 0 -1.1 0.448 -1.1 1v12c0 0.552 0.493 1 1.1 1 0.607 0 1.1 -0.448 1.1 -1v-12c0 -0.552 -0.493 -1 -1.1 -1z"/>
+    <path d="M8.1 23a1 1 0 0 0-1 1v10c0 .6.4 1 1 1s1.1-.4 1.1-1V24c0-.5-.5-1-1-1zm3.3-1a1 1 0 0 0-1 1v11c0 .6.4 1 1 1s1.1-.4 1.1-1V23c0-.5-.5-1-1-1zm8.7 11.7l-4.4-11c-.2-.5-.8-.8-1.4-.6a1 1 0 0 0-.6 1.3l4.4 11c.2.5.8.8 1.4.6.5-.2.8-.7.7-1.3zM4.8 21a1 1 0 0 0-1 1v12c0 .6.4 1 1 1S6 34.6 6 34V22c0-.5-.5-1-1-1z"/>
     <g mask="url(#E)">
-      <path fill="context-stroke" d="M8.946 10.051l2.413 2.126 1.019 0.898 1.329 -0.283 3.089 -0.655 -1.195 3.13 -0.463 1.213 0.657 1.12 1.668 2.843 -3.185 -0.35 -1.433 -0.156 -0.928 1.102 -2.01 2.387 -0.733 -3.192 -0.293 -1.273 -1.18 -0.562 -3.025 -1.44 2.747 -1.665 1.191 -0.722 0.102 -1.39 0.23 -3.129"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.946 10.051l2.413 2.126 1.019 0.898 1.329 -0.283 3.089 -0.655 -1.195 3.13 -0.463 1.213 0.657 1.12 1.668 2.843 -3.185 -0.35 -1.433 -0.156 -0.928 1.102 -2.01 2.387 -0.733 -3.192 -0.293 -1.273 -1.18 -0.562 -3.025 -1.44 2.747 -1.665 1.191 -0.722 0.102 -1.39 0.23 -3.129"/>
+      <path fill="context-stroke" stroke="none" d="M9 10l2.4 2.2 1 .9 1.3-.3 3.1-.7-1.2 3.2-.5 1.2.7 1.1 1.7 2.8-3.2-.3-1.5-.2L12 21l-2 2.4-.7-3.2L9 19l-1.2-.6-3-1.4 2.7-1.7 1.2-.7.1-1.4L9 10"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M9 10l2.4 2.2 1 .9 1.3-.3 3.1-.7-1.2 3.2-.5 1.2.7 1.1 1.7 2.8-3.2-.3-1.5-.2L12 21l-2 2.4-.7-3.2L9 19l-1.2-.6-3-1.4 2.7-1.7 1.2-.7.1-1.4L9 10"/>
     </g>
   </svg>
   <svg x="704">
     <defs>
       <mask id="F" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.56608 0 0 .5 13.962 29.878)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.56608 0 0 .5 13.962 29.878)"/>
+        <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.56608 0 0 .5 13.962 29.878)"/>
       </mask>
     </defs>
-    <path d="M8.18 23.565c-0.626 0 -1.133 0.448 -1.133 1v10c0 0.552 0.507 1 1.132 1 0.625 0 1.133 -0.448 1.133 -1v-10c0 -0.552 -0.508 -1 -1.133 -1zm3.396 -1c-0.625 0 -1.132 0.448 -1.132 1v11c0 0.552 0.507 1 1.132 1 0.625 0 1.132 -0.448 1.132 -1v-11c0 -0.552 -0.507 -1 -1.132 -1zm8.988 11.658l-4.529 -11c-0.202 -0.523 -0.845 -0.8 -1.437 -0.622 -0.591 0.178 -0.907 0.747 -0.705 1.27a0.481 0.481 0 0 0 0.015 0.036l4.529 11c0.202 0.523 0.846 0.801 1.438 0.622 0.59 -0.178 0.907 -0.747 0.704 -1.27a0.481 0.481 0 0 0 -0.015 -0.036zm-15.781 -12.658c-0.625 0 -1.132 0.448 -1.132 1v12c0 0.552 0.507 1 1.132 1 0.625 0 1.132 -0.448 1.132 -1v-12c0 -0.552 -0.507 -1 -1.132 -1z"/>
+    <path d="M8.2 23.6c-.6 0-1.2.4-1.2 1v10c0 .5.6 1 1.2 1s1.1-.5 1.1-1v-10c0-.6-.5-1-1.1-1zm3.4-1c-.6 0-1.2.4-1.2 1v11c0 .5.6 1 1.2 1s1.1-.5 1.1-1v-11c0-.6-.5-1-1.1-1zm9 11.6l-4.6-11c-.2-.5-.8-.8-1.4-.6-.6.2-1 .7-.7 1.3l4.5 11c.2.5.9.8 1.5.6.6-.1.9-.7.7-1.2zM4.8 21.6c-.6 0-1.1.4-1.1 1v12c0 .5.5 1 1 1 .7 0 1.2-.5 1.2-1v-12c0-.6-.5-1-1.1-1z"/>
     <g mask="url(#F)">
-      <path fill="context-stroke" d="M8.831 11.48l2.448 2.083 1.035 0.881 1.324 -0.305 3.077 -0.708 -1.14 3.15 -0.443 1.22 0.676 1.11 1.716 2.814 -3.19 -0.295 -1.436 -0.133 -0.909 1.118 -1.97 2.42 -0.787 -3.179 -0.314 -1.268 -1.189 -0.541 -3.05 -1.388 2.719 -1.712 1.179 -0.742 0.077 -1.392 0.176 -3.132"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.831 11.48l2.448 2.083 1.035 0.881 1.324 -0.305 3.077 -0.708 -1.14 3.15 -0.443 1.22 0.676 1.11 1.716 2.814 -3.19 -0.295 -1.436 -0.133 -0.909 1.118 -1.97 2.42 -0.787 -3.179 -0.314 -1.268 -1.189 -0.541 -3.05 -1.388 2.719 -1.712 1.179 -0.742 0.077 -1.392 0.176 -3.132"/>
+      <path fill="context-stroke" stroke="none" d="M8.8 11.5l2.5 2 1 1 1.3-.4 3.1-.7-1.1 3.2-.5 1.2.7 1.1 1.7 2.8-3.2-.3-1.4-.1-1 1.1-1.9 2.4-.8-3.1-.3-1.3-1.2-.6-3-1.3 2.7-1.8 1.2-.7v-1.4l.2-3.1"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.8 11.5l2.5 2 1 1 1.3-.4 3.1-.7-1.1 3.2-.5 1.2.7 1.1 1.7 2.8-3.2-.3-1.4-.1-1 1.1-1.9 2.4-.8-3.1-.3-1.3-1.2-.6-3-1.3 2.7-1.8 1.2-.7v-1.4l.2-3.1"/>
     </g>
   </svg>
   <svg x="726">
     <defs>
       <mask id="G" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.58198 0 0 .5 14.154 30.278)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.58198 0 0 .5 14.154 30.278)"/>
+        <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.58198 0 0 .5 14.154 30.278)"/>
       </mask>
     </defs>
-    <path d="M8.209 23.965c-0.643 0 -1.164 0.448 -1.164 1v10c0 0.552 0.521 1 1.164 1 0.642 0 1.164 -0.448 1.164 -1v-10c0 -0.552 -0.522 -1 -1.164 -1zm3.492 -1c-0.643 0 -1.164 0.448 -1.164 1v11c0 0.552 0.521 1 1.164 1 0.642 0 1.164 -0.448 1.164 -1v-11c0 -0.552 -0.522 -1 -1.164 -1zm9.24 11.658l-4.655 -11c-0.209 -0.523 -0.87 -0.801 -1.479 -0.622 -0.607 0.178 -0.932 0.747 -0.724 1.27a0.474 0.474 0 0 0 0.016 0.036l4.655 11c0.209 0.523 0.87 0.8 1.479 0.622 0.607 -0.178 0.932 -0.747 0.724 -1.27l-0.016 -0.036zm-16.224 -12.658c-0.642 0 -1.164 0.448 -1.164 1v12c0 0.552 0.522 1 1.164 1 0.643 0 1.164 -0.448 1.164 -1v-12c0 -0.552 -0.521 -1 -1.164 -1z"/>
+    <path d="M8.2 24c-.6 0-1.2.4-1.2 1v10c0 .5.6 1 1.2 1 .7 0 1.2-.5 1.2-1V25c0-.6-.5-1-1.2-1zm3.5-1c-.6 0-1.2.4-1.2 1v11c0 .5.6 1 1.2 1s1.2-.5 1.2-1V24c0-.6-.6-1-1.2-1zm9.2 11.6l-4.6-11c-.2-.5-.9-.8-1.5-.6-.6.2-1 .7-.7 1.3l4.7 11c.2.5.8.8 1.4.6.6-.1 1-.7.8-1.2zM4.7 22c-.6 0-1.1.4-1.1 1v12c0 .5.5 1 1.1 1 .7 0 1.2-.5 1.2-1V23c0-.6-.5-1-1.2-1z"/>
     <g mask="url(#G)">
-      <path fill="context-stroke" d="M8.714 13.295l2.483 2.043 1.05 0.863 1.318 -0.327 3.065 -0.76 -1.088 3.17 -0.422 1.227 0.694 1.097 1.763 2.786 -3.194 -0.242 -1.438 -0.108 -0.89 1.133 -1.929 2.453 -0.84 -3.166 -0.336 -1.262 -1.197 -0.522 -3.073 -1.336 2.69 -1.757 1.166 -0.763 0.054 -1.393 0.124 -3.134"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.714 13.295l2.483 2.043 1.05 0.863 1.318 -0.327 3.065 -0.76 -1.088 3.17 -0.422 1.227 0.694 1.097 1.763 2.786 -3.194 -0.242 -1.438 -0.108 -0.89 1.133 -1.929 2.453 -0.84 -3.166 -0.336 -1.262 -1.197 -0.522 -3.073 -1.336 2.69 -1.757 1.166 -0.763 0.054 -1.393 0.124 -3.134"/>
+      <path fill="context-stroke" stroke="none" d="M8.7 13.3l2.5 2 1 .9 1.4-.3 3-.8-1 3.2-.5 1.2.7 1.1 1.8 2.8-3.2-.2-1.5-.2-.8 1.2-2 2.4-.8-3.1-.4-1.3-1.1-.5-3.1-1.4 2.7-1.7 1.1-.8v-1.4l.2-3.1"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.7 13.3l2.5 2 1 .9 1.4-.3 3-.8-1 3.2-.5 1.2.7 1.1 1.8 2.8-3.2-.2-1.5-.2-.8 1.2-2 2.4-.8-3.1-.4-1.3-1.1-.5-3.1-1.4 2.7-1.7 1.1-.8v-1.4l.2-3.1"/>
     </g>
   </svg>
   <svg x="748">
     <defs>
       <mask id="H" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5969 0 0 .5 14.267 30.438)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5969 0 0 .5 14.267 30.438)"/>
+        <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.5969 0 0 .5 14.267 30.438)"/>
       </mask>
     </defs>
-    <path d="M8.169 24.125c-0.66 0 -1.194 0.448 -1.194 1v10c0 0.552 0.535 1 1.194 1 0.659 0 1.193 -0.448 1.193 -1v-10c0 -0.552 -0.534 -1 -1.193 -1zm3.581 -1c-0.659 0 -1.194 0.448 -1.194 1v11c0 0.552 0.535 1 1.194 1 0.659 0 1.194 -0.448 1.194 -1v-11c0 -0.552 -0.535 -1 -1.194 -1zm9.478 11.658l-4.776 -11c-0.213 -0.523 -0.891 -0.801 -1.516 -0.622 -0.623 0.178 -0.956 0.747 -0.742 1.27a0.467 0.467 0 0 0 0.015 0.036l4.775 11c0.214 0.523 0.892 0.801 1.517 0.622 0.623 -0.178 0.956 -0.747 0.742 -1.27l-0.015 -0.036zm-16.64 -12.658c-0.66 0 -1.195 0.448 -1.195 1v12c0 0.552 0.535 1 1.194 1 0.66 0 1.194 -0.448 1.194 -1v-12c0 -0.552 -0.535 -1 -1.194 -1z"/>
+    <path d="M8.2 24.1c-.7 0-1.2.5-1.2 1v10c0 .6.5 1 1.2 1 .6 0 1.2-.4 1.2-1v-10c0-.5-.6-1-1.2-1zm3.6-1c-.7 0-1.2.5-1.2 1v11c0 .6.5 1 1.2 1 .6 0 1.1-.4 1.1-1v-11c0-.5-.5-1-1.2-1zm9.4 11.7l-4.7-11c-.3-.5-1-.8-1.6-.6-.6.1-1 .7-.7 1.2l4.8 11c.2.6.9.9 1.5.7.6-.2 1-.8.7-1.3zM4.6 22c-.7 0-1.2.5-1.2 1v12c0 .6.5 1 1.2 1 .6 0 1.2-.4 1.2-1V23c0-.5-.6-1-1.2-1z"/>
     <g mask="url(#H)">
-      <path fill="context-stroke" d="M8.594 15.704l2.516 2.002 1.063 0.846 1.313 -0.349 3.053 -0.81 -1.036 3.187 -0.402 1.234 0.712 1.086 1.808 2.756 -3.198 -0.19 -1.44 -0.084 -0.87 1.147 -1.89 2.485 -0.891 -3.152 -0.356 -1.257 -1.206 -0.502 -3.095 -1.286 2.661 -1.8 1.154 -0.782 0.031 -1.394 0.073 -3.135"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.594 15.704l2.516 2.002 1.063 0.846 1.313 -0.349 3.053 -0.81 -1.036 3.187 -0.402 1.234 0.712 1.086 1.808 2.756 -3.198 -0.19 -1.44 -0.084 -0.87 1.147 -1.89 2.485 -0.891 -3.152 -0.356 -1.257 -1.206 -0.502 -3.095 -1.286 2.661 -1.8 1.154 -0.782 0.031 -1.394 0.073 -3.135"/>
+      <path fill="context-stroke" stroke="none" d="M8.6 15.7l2.5 2 1 .9 1.4-.4 3-.8-1 3.2-.4 1.2.7 1.1 1.8 2.8-3.2-.2-1.4-.1-.9 1.1-1.9 2.5-.9-3.1-.3-1.3-1.2-.5-3.1-1.3L7.3 21l1.2-.8v-4.4"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.6 15.7l2.5 2 1 .9 1.4-.4 3-.8-1 3.2-.4 1.2.7 1.1 1.8 2.8-3.2-.2-1.4-.1-.9 1.1-1.9 2.5-.9-3.1-.3-1.3-1.2-.5-3.1-1.3L7.3 21l1.2-.8v-4.4"/>
     </g>
   </svg>
   <svg x="770">
     <defs>
       <mask id="I" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.60979 0 0 .5 14.335 30.217)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.60979 0 0 .5 14.335 30.217)"/>
+        <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.60979 0 0 .5 14.335 30.217)"/>
       </mask>
     </defs>
-    <path d="M8.105 23.904c-0.673 0 -1.22 0.448 -1.22 1v10c0 0.552 0.547 1 1.22 1 0.674 0 1.22 -0.448 1.22 -1v-10c0 -0.552 -0.546 -1 -1.22 -1zm3.659 -1c-0.673 0 -1.22 0.448 -1.22 1v11c0 0.552 0.547 1 1.22 1 0.673 0 1.22 -0.448 1.22 -1v-11c0 -0.552 -0.547 -1 -1.22 -1zm9.682 11.658l-4.878 -11c-0.218 -0.523 -0.911 -0.801 -1.549 -0.622 -0.637 0.178 -0.977 0.747 -0.758 1.27a0.462 0.462 0 0 0 0.015 0.036l4.879 11c0.218 0.523 0.91 0.8 1.549 0.622 0.636 -0.178 0.976 -0.747 0.758 -1.27l-0.016 -0.036zm-17 -12.658c-0.673 0 -1.219 0.448 -1.219 1v12c0 0.552 0.546 1 1.22 1 0.673 0 1.22 -0.448 1.22 -1v-12c0 -0.552 -0.547 -1 -1.22 -1z"/>
+    <path d="M8.1 23.9c-.7 0-1.2.5-1.2 1v10c0 .6.5 1 1.2 1s1.2-.4 1.2-1v-10c0-.5-.5-1-1.2-1zm3.7-1c-.7 0-1.3.5-1.3 1v11c0 .6.6 1 1.3 1 .6 0 1.2-.4 1.2-1v-11c0-.5-.6-1-1.2-1zm9.6 11.7l-4.8-11c-.3-.6-1-.8-1.6-.7-.6.2-1 .8-.7 1.3l4.9 11c.2.6.9.8 1.5.7.6-.2 1-.8.8-1.3zm-17-12.7c-.6 0-1.2.5-1.2 1v12c0 .6.6 1 1.2 1 .7 0 1.3-.4 1.3-1v-12c0-.5-.6-1-1.3-1z"/>
     <g mask="url(#I)">
-      <path fill="context-stroke" d="M8.47 18.813l2.547 1.962 1.077 0.83 1.307 -0.37 3.04 -0.859 -0.986 3.203 -0.382 1.24 0.729 1.075 1.852 2.727 -3.2 -0.139 -1.442 -0.062 -0.852 1.161 -1.85 2.514 -0.941 -3.137 -0.376 -1.25 -1.214 -0.483 -3.115 -1.237 2.632 -1.843 1.141 -0.8 0.01 -1.393 0.022 -3.137"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.47 18.813l2.547 1.962 1.077 0.83 1.307 -0.37 3.04 -0.859 -0.986 3.203 -0.382 1.24 0.729 1.075 1.852 2.727 -3.2 -0.139 -1.442 -0.062 -0.852 1.161 -1.85 2.514 -0.941 -3.137 -0.376 -1.25 -1.214 -0.483 -3.115 -1.237 2.632 -1.843 1.141 -0.8 0.01 -1.393 0.022 -3.137"/>
+      <path fill="context-stroke" stroke="none" d="M8.5 18.8l2.5 2 1 .8 1.4-.4 3-.8-1 3.2-.3 1.2.7 1 1.9 2.8-3.2-.1H13l-.8 1-1.9 2.6-1-3.1-.3-1.3-1.2-.5L4.7 26l2.6-2 1.1-.8v-4.5"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.5 18.8l2.5 2 1 .8 1.4-.4 3-.8-1 3.2-.3 1.2.7 1 1.9 2.8-3.2-.1H13l-.8 1-1.9 2.6-1-3.1-.3-1.3-1.2-.5L4.7 26l2.6-2 1.1-.8v-4.5"/>
     </g>
   </svg>
   <svg x="792">
     <defs>
       <mask id="J" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.61897 0 0 .5 14.4 29.689)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.61897 0 0 .5 14.4 29.689)"/>
+        <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.61897 0 0 .5 14.4 29.689)"/>
       </mask>
     </defs>
-    <path d="M8.076 23.376c-0.683 0 -1.237 0.448 -1.237 1v10c0 0.552 0.554 1 1.237 1 0.684 0 1.238 -0.448 1.238 -1v-10c0 -0.552 -0.554 -1 -1.238 -1zm3.714 -1c-0.683 0 -1.238 0.448 -1.238 1v11c0 0.552 0.555 1 1.238 1 0.684 0 1.238 -0.448 1.238 -1v-11c0 -0.552 -0.554 -1 -1.238 -1zm9.828 11.658l-4.951 -11c-0.222 -0.523 -0.925 -0.801 -1.573 -0.622 -0.646 0.178 -0.991 0.747 -0.77 1.27a0.459 0.459 0 0 0 0.016 0.036l4.952 11c0.222 0.523 0.925 0.801 1.572 0.622 0.647 -0.178 0.992 -0.747 0.77 -1.27a0.459 0.459 0 0 0 -0.016 -0.036zm-17.255 -12.658c-0.684 0 -1.238 0.448 -1.238 1v12c0 0.552 0.554 1 1.238 1 0.683 0 1.238 -0.448 1.238 -1v-12c0 -0.552 -0.555 -1 -1.238 -1z"/>
+    <path d="M8 23.4c-.6 0-1.2.4-1.2 1v10c0 .5.6 1 1.3 1 .7 0 1.2-.5 1.2-1v-10c0-.6-.5-1-1.2-1zm3.8-1c-.7 0-1.2.4-1.2 1v11c0 .5.5 1 1.2 1s1.2-.5 1.2-1v-11c0-.6-.5-1-1.2-1zM21.6 34l-5-11c-.2-.5-.9-.8-1.5-.6-.7.2-1 .8-.8 1.3l5 11c.2.5 1 .8 1.6.6.6-.1 1-.7.7-1.2zM4.4 21.4c-.7 0-1.3.4-1.3 1v12c0 .5.6 1 1.3 1 .6 0 1.2-.5 1.2-1v-12c0-.6-.6-1-1.2-1z"/>
     <g mask="url(#J)">
-      <path fill="context-stroke" d="M8.351 21.743l2.577 1.923 1.09 0.812 1.3 -0.39 3.027 -0.904 -0.937 3.217 -0.363 1.246 0.746 1.063 1.893 2.699 -3.202 -0.09 -1.442 -0.04 -0.834 1.174 -1.81 2.543 -0.99 -3.123 -0.395 -1.245 -1.222 -0.463 -3.133 -1.19 2.603 -1.882 1.129 -0.817 -0.012 -1.394 -0.025 -3.137"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.351 21.743l2.577 1.923 1.09 0.812 1.3 -0.39 3.027 -0.904 -0.937 3.217 -0.363 1.246 0.746 1.063 1.893 2.699 -3.202 -0.09 -1.442 -0.04 -0.834 1.174 -1.81 2.543 -0.99 -3.123 -0.395 -1.245 -1.222 -0.463 -3.133 -1.19 2.603 -1.882 1.129 -0.817 -0.012 -1.394 -0.025 -3.137"/>
+      <path fill="context-stroke" stroke="none" d="M8.4 21.7l2.5 2 1.1.8 1.3-.4 3-1-.9 3.3-.4 1.2.8 1.1 1.9 2.7h-3.2l-1.5-.1-.8 1.2-1.8 2.5-1-3.1-.4-1.3-1.2-.4L4.7 29l2.6-2 1-.7v-4.6"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.4 21.7l2.5 2 1.1.8 1.3-.4 3-1-.9 3.3-.4 1.2.8 1.1 1.9 2.7h-3.2l-1.5-.1-.8 1.2-1.8 2.5-1-3.1-.4-1.3-1.2-.4L4.7 29l2.6-2 1-.7v-4.6"/>
     </g>
   </svg>
   <svg x="814">
     <defs>
       <mask id="K" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.62351 0 0 .5 14.434 29.059)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.62351 0 0 .5 14.434 29.059)"/>
+        <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.62351 0 0 .5 14.434 29.059)"/>
       </mask>
     </defs>
-    <path d="M8.064 22.746c-0.688 0 -1.247 0.448 -1.247 1v10c0 0.552 0.56 1 1.247 1 0.689 0 1.247 -0.448 1.247 -1v-10c0 -0.552 -0.558 -1 -1.247 -1zm3.741 -1c-0.688 0 -1.247 0.448 -1.247 1v11c0 0.552 0.56 1 1.247 1 0.689 0 1.247 -0.448 1.247 -1v-11c0 -0.552 -0.558 -1 -1.247 -1zm9.9 11.658l-4.988 -11c-0.223 -0.523 -0.931 -0.801 -1.583 -0.622 -0.651 0.178 -1 0.747 -0.776 1.27l0.016 0.036 4.988 11c0.224 0.523 0.932 0.8 1.584 0.622 0.651 -0.178 0.999 -0.747 0.776 -1.27a0.457 0.457 0 0 0 -0.016 -0.036zm-17.382 -12.658c-0.688 0 -1.247 0.448 -1.247 1v12c0 0.552 0.559 1 1.247 1 0.689 0 1.247 -0.448 1.247 -1v-12c0 -0.552 -0.558 -1 -1.247 -1z"/>
+    <path d="M8 22.7c-.6 0-1.2.5-1.2 1v10c0 .6.6 1 1.3 1 .7 0 1.2-.4 1.2-1v-10c0-.5-.5-1-1.2-1zm3.8-1c-.7 0-1.2.5-1.2 1v11c0 .6.5 1 1.2 1s1.3-.4 1.3-1v-11c0-.5-.6-1-1.3-1zm9.9 11.7l-5-11c-.2-.5-1-.8-1.6-.6-.6.2-1 .7-.7 1.3l5 11c.2.5.9.8 1.5.6.7-.2 1-.7.8-1.3zM4.3 20.7c-.7 0-1.2.5-1.2 1v12c0 .6.5 1 1.2 1s1.3-.4 1.3-1v-12c0-.5-.6-1-1.3-1z"/>
     <g mask="url(#K)">
-      <path fill="context-stroke" d="M8.248 23.608l2.606 1.885 1.1 0.796 1.296 -0.408 3.012 -0.95 -0.889 3.232 -0.345 1.25 0.761 1.053 1.933 2.67 -3.203 -0.043 -1.442 -0.018 -0.818 1.186 -1.772 2.568 -1.036 -3.107 -0.413 -1.24 -1.228 -0.445 -3.15 -1.143 2.575 -1.92 1.117 -0.834 -0.033 -1.394 -0.07 -3.136"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.248 23.608l2.606 1.885 1.1 0.796 1.296 -0.408 3.012 -0.95 -0.889 3.232 -0.345 1.25 0.761 1.053 1.933 2.67 -3.203 -0.043 -1.442 -0.018 -0.818 1.186 -1.772 2.568 -1.036 -3.107 -0.413 -1.24 -1.228 -0.445 -3.15 -1.143 2.575 -1.92 1.117 -0.834 -0.033 -1.394 -0.07 -3.136"/>
+      <path fill="context-stroke" stroke="none" d="M8.2 23.6l2.7 1.9 1 .8 1.3-.4 3-1-.8 3.3-.4 1.2.8 1 2 2.7H13l-.8 1.2-1.8 2.5-1-3-.5-1.3-1.2-.5-3-1 2.5-2 1.2-.8v-1.4l-.2-3"/>
+      <path fill="none" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.2 23.6l2.7 1.9 1 .8 1.3-.4 3-1-.8 3.3-.4 1.2.8 1 2 2.7H13l-.8 1.2-1.8 2.5-1-3-.5-1.3-1.2-.5-3-1 2.5-2 1.2-.8v-1.4l-.2-3"/>
     </g>
   </svg>
   <svg x="836">
     <defs>
       <mask id="L" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.62484 0 0 .5 14.423 28.531)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.62484 0 0 .5 14.423 28.531)"/>
-      </mask>
-    </defs>
-    <path d="M8.04 22.218c-0.69 0 -1.25 0.448 -1.25 1v10c0 0.552 0.56 1 1.25 1s1.249 -0.448 1.249 -1v-10c0 -0.552 -0.56 -1 -1.25 -1zm3.748 -1c-0.69 0 -1.25 0.448 -1.25 1v11c0 0.552 0.56 1 1.25 1s1.25 -0.448 1.25 -1v-11c0 -0.552 -0.56 -1 -1.25 -1zm9.922 11.658l-5 -11c-0.223 -0.523 -0.933 -0.801 -1.586 -0.622 -0.653 0.178 -1.001 0.747 -0.778 1.27a0.457 0.457 0 0 0 0.017 0.036l4.998 11c0.224 0.523 0.934 0.801 1.588 0.622 0.652 -0.178 1 -0.747 0.777 -1.27a0.457 0.457 0 0 0 -0.016 -0.036zm-17.42 -12.658c-0.69 0 -1.25 0.448 -1.25 1v12c0 0.552 0.56 1 1.25 1s1.25 -0.448 1.25 -1v-12c0 -0.552 -0.56 -1 -1.25 -1z"/>
-    <g mask="url(#L)">
-      <path fill="context-stroke" d="M8.16 24.7l2.63 1.85 1.112 0.78 1.29 -0.426 2.999 -0.99 -0.844 3.243 -0.328 1.256 0.775 1.041 1.97 2.644 -3.204 0.001 -1.442 0.001 -0.801 1.197 -1.737 2.593 -1.079 -3.093 -0.43 -1.233 -1.234 -0.43 -3.165 -1.099 2.548 -1.956 1.105 -0.848 -0.051 -1.394 -0.114 -3.134"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.16 24.7l2.63 1.85 1.112 0.78 1.29 -0.426 2.999 -0.99 -0.844 3.243 -0.328 1.256 0.775 1.041 1.97 2.644 -3.204 0.001 -1.442 0.001 -0.801 1.197 -1.737 2.593 -1.079 -3.093 -0.43 -1.233 -1.234 -0.43 -3.165 -1.099 2.548 -1.956 1.105 -0.848 -0.051 -1.394 -0.114 -3.134"/>
-    </g>
-  </svg>
-  <svg x="858">
-    <defs>
-      <mask id="M" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.625 0 0 .5 14.385 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.625 0 0 .5 14.385 28.313)"/>
-      </mask>
-    </defs>
-    <path d="M8 22c-0.69 0 -1.25 0.448 -1.25 1v10c0 0.552 0.56 1 1.25 1s1.25 -0.448 1.25 -1v-10c0 -0.552 -0.56 -1 -1.25 -1zm3.75 -1c-0.69 0 -1.25 0.448 -1.25 1v11c0 0.552 0.56 1 1.25 1s1.25 -0.448 1.25 -1v-11c0 -0.552 -0.56 -1 -1.25 -1zm9.924 11.658l-5 -11c-0.224 -0.523 -0.934 -0.801 -1.588 -0.622 -0.652 0.178 -1.001 0.747 -0.777 1.27l0.016 0.036 5 11c0.224 0.523 0.934 0.801 1.587 0.622 0.653 -0.178 1.002 -0.747 0.778 -1.27a0.457 0.457 0 0 0 -0.016 -0.036zm-17.424 -12.658c-0.69 0 -1.25 0.448 -1.25 1v12c0 0.552 0.56 1 1.25 1s1.25 -0.448 1.25 -1v-12c0 -0.552 -0.56 -1 -1.25 -1z"/>
-    <g mask="url(#M)">
-      <path fill="context-stroke" d="M8.083 25.355l2.654 1.815 1.121 0.768 1.284 -0.443 2.987 -1.028 -0.804 3.253 -0.312 1.26 0.789 1.032 2.002 2.618 -3.203 0.042 -1.442 0.02 -0.786 1.206 -1.705 2.614 -1.117 -3.079 -0.445 -1.228 -1.24 -0.413 -3.179 -1.06 2.524 -1.988 1.094 -0.862 -0.068 -1.392 -0.154 -3.133"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.083 25.355l2.654 1.815 1.121 0.768 1.284 -0.443 2.987 -1.028 -0.804 3.253 -0.312 1.26 0.789 1.032 2.002 2.618 -3.203 0.042 -1.442 0.02 -0.786 1.206 -1.705 2.614 -1.117 -3.079 -0.445 -1.228 -1.24 -0.413 -3.179 -1.06 2.524 -1.988 1.094 -0.862 -0.068 -1.392 -0.154 -3.133"/>
-    </g>
-  </svg>
-  <svg x="880">
-    <defs>
-      <mask id="N" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.61111 0 0 .5 14.298 28.255)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.61111 0 0 .5 14.298 28.255)"/>
-      </mask>
-    </defs>
-    <path d="M8.054 21.942c-0.674 0 -1.222 0.448 -1.222 1v10c0 0.552 0.548 1 1.222 1 0.675 0 1.223 -0.448 1.223 -1v-10c0 -0.552 -0.548 -1 -1.223 -1zm3.667 -1c-0.675 0 -1.222 0.448 -1.222 1v11c0 0.552 0.547 1 1.222 1 0.675 0 1.222 -0.448 1.222 -1v-11c0 -0.552 -0.547 -1 -1.222 -1zm9.703 11.658l-4.889 -11c-0.218 -0.523 -0.913 -0.8 -1.552 -0.622 -0.638 0.178 -0.979 0.747 -0.76 1.27l0.016 0.036 4.889 11c0.219 0.523 0.913 0.801 1.552 0.622 0.638 -0.178 0.979 -0.747 0.76 -1.27l-0.016 -0.036zm-17.036 -12.658c-0.675 0 -1.222 0.448 -1.222 1v12c0 0.552 0.547 1 1.222 1 0.674 0 1.222 -0.448 1.222 -1v-12c0 -0.552 -0.548 -1 -1.222 -1z"/>
-    <g mask="url(#N)">
-      <path fill="context-stroke" d="M8.02 25.74l2.672 1.787 1.13 0.755 1.28 -0.457 2.974 -1.06 -0.768 3.262 -0.298 1.263 0.8 1.023 2.03 2.597 -3.202 0.076 -1.442 0.035 -0.773 1.216 -1.676 2.632 -1.15 -3.067 -0.46 -1.222 -1.243 -0.4 -3.19 -1.026 2.502 -2.015 1.085 -0.874 -0.084 -1.392 -0.188 -3.13"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M8.02 25.74l2.672 1.787 1.13 0.755 1.28 -0.457 2.974 -1.06 -0.768 3.262 -0.298 1.263 0.8 1.023 2.03 2.597 -3.202 0.076 -1.442 0.035 -0.773 1.216 -1.676 2.632 -1.15 -3.067 -0.46 -1.222 -1.243 -0.4 -3.19 -1.026 2.502 -2.015 1.085 -0.874 -0.084 -1.392 -0.188 -3.13"/>
-    </g>
-  </svg>
-  <svg x="902">
-    <defs>
-      <mask id="O" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.59722 0 0 .5 14.154 28.183)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.59722 0 0 .5 14.154 28.183)"/>
-      </mask>
-    </defs>
-    <path d="M8.052 21.87c-0.659 0 -1.194 0.448 -1.194 1v10c0 0.552 0.535 1 1.194 1 0.66 0 1.195 -0.448 1.195 -1v-10c0 -0.552 -0.535 -1 -1.195 -1zm3.584 -1c-0.66 0 -1.195 0.448 -1.195 1v11c0 0.552 0.535 1 1.195 1 0.659 0 1.194 -0.448 1.194 -1v-11c0 -0.552 -0.535 -1 -1.194 -1zm9.482 11.658l-4.777 -11c-0.214 -0.523 -0.893 -0.801 -1.517 -0.622 -0.624 0.178 -0.957 0.747 -0.743 1.27a0.467 0.467 0 0 0 0.015 0.036l4.778 11c0.214 0.523 0.892 0.8 1.517 0.622 0.623 -0.178 0.957 -0.747 0.743 -1.27a0.467 0.467 0 0 0 -0.016 -0.036zm-16.649 -12.658c-0.66 0 -1.194 0.448 -1.194 1v12c0 0.552 0.535 1 1.194 1 0.66 0 1.194 -0.448 1.194 -1v-12c0 -0.552 -0.535 -1 -1.194 -1z"/>
-    <g mask="url(#O)">
-      <path fill="context-stroke" d="M7.971 25.945l2.688 1.764 1.136 0.746 1.276 -0.467 2.966 -1.085 -0.741 3.268 -0.288 1.265 0.808 1.017 2.052 2.58 -3.202 0.102 -1.441 0.047 -0.763 1.222 -1.654 2.647 -1.175 -3.057 -0.47 -1.22 -1.247 -0.39 -3.198 -0.998 2.485 -2.036 1.077 -0.883 -0.095 -1.39 -0.214 -3.13"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M7.971 25.945l2.688 1.764 1.136 0.746 1.276 -0.467 2.966 -1.085 -0.741 3.268 -0.288 1.265 0.808 1.017 2.052 2.58 -3.202 0.102 -1.441 0.047 -0.763 1.222 -1.654 2.647 -1.175 -3.057 -0.47 -1.22 -1.247 -0.39 -3.198 -0.998 2.485 -2.036 1.077 -0.883 -0.095 -1.39 -0.214 -3.13"/>
-    </g>
-  </svg>
-  <svg x="924">
-    <defs>
-      <mask id="P" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.58333 0 0 .5 13.973 28.156)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.58333 0 0 .5 13.973 28.156)"/>
-      </mask>
-    </defs>
-    <path d="M8.013 21.843c-0.644 0 -1.166 0.448 -1.166 1v10c0 0.552 0.522 1 1.166 1 0.644 0 1.167 -0.448 1.167 -1v-10c0 -0.552 -0.523 -1 -1.167 -1zm3.5 -1c-0.644 0 -1.166 0.448 -1.166 1v11c0 0.552 0.522 1 1.166 1 0.644 0 1.167 -0.448 1.167 -1v-11c0 -0.552 -0.523 -1 -1.167 -1zm9.262 11.658l-4.666 -11c-0.21 -0.523 -0.872 -0.801 -1.482 -0.622 -0.609 0.178 -0.934 0.747 -0.726 1.27a0.473 0.473 0 0 0 0.016 0.036l4.666 11c0.21 0.523 0.872 0.8 1.482 0.622 0.609 -0.178 0.934 -0.747 0.726 -1.27l-0.016 -0.036zm-16.262 -12.658c-0.644 0 -1.166 0.448 -1.166 1v12c0 0.552 0.522 1 1.166 1 0.644 0 1.167 -0.448 1.167 -1v-12c0 -0.552 -0.523 -1 -1.167 -1z"/>
-    <g mask="url(#P)">
-      <path fill="context-stroke" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.572 -3.201 0.115 -1.442 0.053 -0.758 1.224 -1.644 2.653 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.987 2.478 -2.045 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.572 -3.201 0.115 -1.442 0.053 -0.758 1.224 -1.644 2.653 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.987 2.478 -2.045 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-    </g>
-  </svg>
-  <svg x="946">
-    <defs>
-      <mask id="Q" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.56944 0 0 .5 13.787 28.166)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.56944 0 0 .5 13.787 28.166)"/>
+        <path d="M-29.1-76.9l-15.5 48.7 21.4 12 5.4-.8 3-.3 2.3 4.7 5.5.1.8-2.1h10L13 10.8l4.2-39.2 6-25.2-.8-22.3-51.6-1z" transform="matrix(.62484 0 0 .5 14.423 28.531)"/>
       </mask>
     </defs>
-    <path d="M7.97 21.853c-0.629 0 -1.139 0.448 -1.139 1v10c0 0.552 0.51 1 1.139 1s1.139 -0.448 1.139 -1v-10c0 -0.552 -0.51 -1 -1.139 -1zm3.417 -1c-0.629 0 -1.14 0.448 -1.14 1v11c0 0.552 0.511 1 1.14 1 0.628 0 1.139 -0.448 1.139 -1v-11c0 -0.552 -0.51 -1 -1.14 -1zm9.041 11.658l-4.555 -11c-0.204 -0.523 -0.851 -0.8 -1.447 -0.622 -0.594 0.178 -0.912 0.747 -0.708 1.27a0.48 0.48 0 0 0 0.015 0.036l4.555 11c0.204 0.523 0.851 0.801 1.447 0.622 0.594 -0.178 0.912 -0.747 0.708 -1.27a0.48 0.48 0 0 0 -0.015 -0.036zm-15.875 -12.658c-0.628 0 -1.139 0.448 -1.139 1v12c0 0.552 0.51 1 1.14 1 0.628 0 1.138 -0.448 1.138 -1v-12c0 -0.552 -0.51 -1 -1.139 -1z"/>
-    <g mask="url(#Q)">
-      <path fill="context-stroke" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.573 -3.201 0.115 -1.442 0.052 -0.758 1.225 -1.644 2.652 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.986 2.478 -2.046 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.573 -3.201 0.115 -1.442 0.052 -0.758 1.225 -1.644 2.652 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.986 2.478 -2.046 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-    </g>
+    <path d="M8 22.2c-.7 0-1.2.5-1.2 1v10c0 .6.5 1 1.2 1s1.3-.4 1.3-1v-10c0-.5-.6-1-1.3-1zm3.8-1c-.7 0-1.3.5-1.3 1v11c0 .6.6 1 1.3 1s1.2-.4 1.2-1v-11c0-.5-.5-1-1.2-1zm10 11.7l-5-11c-.3-.5-1-.8-1.7-.6-.6.1-1 .7-.8 1.2l5 11c.3.6 1 .9 1.6.7.7-.2 1-.8.8-1.3zM4.2 20.2c-.7 0-1.3.5-1.3 1v12c0 .6.6 1 1.3 1s1.2-.4 1.2-1v-12c0-.5-.5-1-1.2-1z"/>
+  </svg>
+  <svg x="858">
+    <path d="M8 22c-.7 0-1.3.4-1.3 1v10c0 .6.6 1 1.3 1s1.3-.4 1.3-1V23c0-.6-.6-1-1.3-1zm3.8-1c-.7 0-1.3.4-1.3 1v11c0 .6.6 1 1.3 1s1.2-.4 1.2-1V22c0-.6-.6-1-1.3-1zm9.9 11.7l-5-11c-.2-.6-1-.8-1.6-.7-.7.2-1 .8-.8 1.3l5 11c.2.6 1 .8 1.6.7.7-.2 1-.8.8-1.3zM4.3 20c-.7 0-1.3.4-1.3 1v12c0 .6.6 1 1.3 1s1.2-.4 1.2-1V21c0-.6-.6-1-1.3-1z"/>
+  </svg>
+  <svg x="880">
+    <path d="M8 22c-.6 0-1.2.4-1.2 1v10c0 .5.6 1 1.3 1 .6 0 1.2-.5 1.2-1V23c0-.6-.6-1-1.2-1zm3.7-1c-.7 0-1.2.4-1.2 1v11c0 .5.5 1 1.2 1s1.2-.5 1.2-1V22c0-.6-.5-1-1.2-1zm9.7 11.6l-4.9-11c-.2-.5-.9-.8-1.5-.6-.7.2-1 .7-.8 1.2l5 11c.1.6.8.9 1.5.7.6-.2 1-.7.7-1.3zm-17-12.7c-.7 0-1.2.5-1.2 1v12c0 .6.5 1 1.2 1s1.2-.4 1.2-1V21c0-.5-.5-1-1.2-1z"/>
+  </svg>
+  <svg x="902">
+    <path d="M8 21.9c-.6 0-1.1.4-1.1 1v10c0 .5.5 1 1.2 1 .6 0 1.1-.5 1.1-1v-10c0-.6-.5-1-1.1-1zm3.6-1c-.6 0-1.2.4-1.2 1v11c0 .5.6 1 1.2 1 .7 0 1.2-.5 1.2-1v-11c0-.6-.5-1-1.2-1zm9.5 11.6l-4.8-11c-.2-.5-.9-.8-1.5-.6-.6.2-1 .8-.7 1.3l4.8 11c.2.5.9.8 1.5.6.6-.1 1-.7.7-1.2zM4.5 20c-.7 0-1.2.4-1.2 1v12c0 .5.5 1 1.2 1 .6 0 1.2-.5 1.2-1V21c0-.6-.6-1-1.2-1z"/>
+  </svg>
+  <svg x="924">
+    <path d="M8 21.8c-.6 0-1.2.5-1.2 1v10c0 .6.6 1 1.2 1 .7 0 1.2-.4 1.2-1v-10c0-.5-.5-1-1.2-1zm3.5-1c-.6 0-1.2.5-1.2 1v11c0 .6.6 1 1.2 1 .7 0 1.2-.4 1.2-1v-11c0-.5-.5-1-1.2-1zm9.3 11.7l-4.7-11c-.2-.5-.9-.8-1.5-.6-.6.2-1 .7-.7 1.2l4.7 11c.2.6.9.9 1.5.7.6-.2.9-.7.7-1.3zM4.5 19.8c-.6 0-1.2.5-1.2 1v12c0 .6.6 1 1.2 1 .7 0 1.2-.4 1.2-1v-12c0-.5-.5-1-1.2-1z"/>
+  </svg>
+  <svg x="946">
+    <path d="M8 21.9c-.7 0-1.2.4-1.2 1v10c0 .5.5 1 1.2 1s1.1-.5 1.1-1v-10c0-.6-.5-1-1.1-1zm3.4-1c-.6 0-1.2.4-1.2 1v11c0 .5.6 1 1.2 1s1.1-.5 1.1-1v-11c0-.6-.5-1-1.1-1zm9 11.6l-4.5-11c-.2-.5-.9-.8-1.5-.6-.6.2-.9.7-.7 1.3l4.6 11c.2.5.8.8 1.4.6.6-.2 1-.7.7-1.3zM4.6 20c-.7 0-1.2.4-1.2 1v12c0 .5.5 1 1.2 1 .6 0 1-.5 1-1V21c0-.6-.4-1-1-1z"/>
   </svg>
   <svg x="968">
-    <defs>
-      <mask id="R" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.55556 0 0 .5 13.611 28.195)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.55556 0 0 .5 13.611 28.195)"/>
-      </mask>
-    </defs>
-    <path d="M7.936 21.882c-0.614 0 -1.112 0.448 -1.112 1v10c0 0.552 0.498 1 1.112 1 0.613 0 1.11 -0.448 1.11 -1v-10c0 -0.552 -0.497 -1 -1.11 -1zm3.333 -1c-0.613 0 -1.111 0.448 -1.111 1v11c0 0.552 0.498 1 1.11 1 0.614 0 1.112 -0.448 1.112 -1v-11c0 -0.552 -0.498 -1 -1.111 -1zm8.821 11.658l-4.444 -11c-0.2 -0.523 -0.83 -0.8 -1.412 -0.622 -0.58 0.178 -0.89 0.747 -0.69 1.27a0.487 0.487 0 0 0 0.014 0.036l4.444 11c0.2 0.523 0.83 0.801 1.411 0.622 0.58 -0.178 0.89 -0.747 0.691 -1.27a0.487 0.487 0 0 0 -0.014 -0.036zm-15.488 -12.658c-0.613 0 -1.11 0.448 -1.11 1v12c0 0.552 0.497 1 1.11 1 0.614 0 1.111 -0.448 1.111 -1v-12c0 -0.552 -0.497 -1 -1.11 -1z"/>
-    <g mask="url(#R)">
-      <path fill="context-stroke" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.573 -3.201 0.115 -1.442 0.052 -0.758 1.225 -1.644 2.652 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.986 2.478 -2.046 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.573 -3.201 0.115 -1.442 0.052 -0.758 1.225 -1.644 2.652 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.986 2.478 -2.046 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-    </g>
+    <path d="M8 21.9c-.7 0-1.2.4-1.2 1v10c0 .5.5 1 1.1 1 .6 0 1.1-.5 1.1-1v-10c0-.6-.5-1-1-1zm3.3-1c-.6 0-1.1.4-1.1 1v11c0 .5.5 1 1 1 .7 0 1.2-.5 1.2-1v-11c0-.6-.5-1-1.1-1zM20 32.5l-4.5-11c-.2-.5-.8-.8-1.4-.6-.5.2-.9.8-.7 1.3l4.5 11c.2.5.8.8 1.4.6.6-.1.9-.7.7-1.2zM4.6 20c-.6 0-1.1.4-1.1 1v12c0 .5.5 1 1.1 1 .6 0 1.1-.5 1.1-1V21c0-.6-.5-1-1.1-1z"/>
   </svg>
   <svg x="990">
-    <defs>
-      <mask id="S" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.54167 0 0 .5 13.449 28.232)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.54167 0 0 .5 13.449 28.232)"/>
-      </mask>
-    </defs>
-    <path d="M7.915 21.919c-0.598 0 -1.083 0.448 -1.083 1v10c0 0.552 0.485 1 1.083 1s1.084 -0.448 1.084 -1v-10c0 -0.552 -0.486 -1 -1.084 -1zm3.25 -1c-0.598 0 -1.083 0.448 -1.083 1v11c0 0.552 0.485 1 1.083 1s1.084 -0.448 1.084 -1v-11c0 -0.552 -0.486 -1 -1.084 -1zm8.6 11.658l-4.333 -11c-0.193 -0.523 -0.809 -0.801 -1.375 -0.622 -0.566 0.178 -0.868 0.747 -0.674 1.27a0.494 0.494 0 0 0 0.014 0.036l4.333 11c0.194 0.523 0.81 0.8 1.376 0.622 0.566 -0.178 0.868 -0.747 0.674 -1.27a0.494 0.494 0 0 0 -0.014 -0.036zm-15.1 -12.658c-0.598 0 -1.083 0.448 -1.083 1v12c0 0.552 0.485 1 1.083 1s1.084 -0.448 1.084 -1v-12c0 -0.552 -0.486 -1 -1.084 -1z"/>
-    <g mask="url(#S)">
-      <path fill="context-stroke" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.573 -3.201 0.115 -1.442 0.052 -0.758 1.225 -1.644 2.652 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.986 2.478 -2.046 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.573 -3.201 0.115 -1.442 0.052 -0.758 1.225 -1.644 2.652 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.986 2.478 -2.046 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-    </g>
+    <path d="M8 22c-.7 0-1.2.4-1.2 1v10c0 .5.5 1 1.1 1S9 33.4 9 33V23c0-.6-.5-1-1-1zm3.2-1c-.6 0-1.1.4-1.1 1v11c0 .5.5 1 1 1s1.1-.5 1.1-1V22c0-.6-.4-1-1-1zm8.6 11.6l-4.4-11c-.2-.5-.8-.8-1.3-.6-.6.1-1 .7-.7 1.2l4.3 11c.2.6.8.9 1.4.7.6-.2.9-.8.7-1.3zM4.7 19.9c-.6 0-1.1.5-1.1 1v12c0 .6.5 1 1 1s1.1-.4 1.1-1V21c0-.5-.4-1-1-1z"/>
   </svg>
   <svg x="1012">
-    <defs>
-      <mask id="T" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.52778 0 0 .5 13.306 28.269)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.52778 0 0 .5 13.306 28.269)"/>
-      </mask>
-    </defs>
-    <path d="M7.914 21.956c-0.583 0 -1.056 0.448 -1.056 1v10c0 0.552 0.473 1 1.056 1 0.583 0 1.056 -0.448 1.056 -1v-10c0 -0.552 -0.473 -1 -1.056 -1zm3.167 -1c-0.583 0 -1.056 0.448 -1.056 1v11c0 0.552 0.473 1 1.056 1 0.582 0 1.055 -0.448 1.055 -1v-11c0 -0.552 -0.473 -1 -1.055 -1zm8.38 11.658l-4.222 -11c-0.19 -0.523 -0.789 -0.801 -1.341 -0.622 -0.551 0.178 -0.846 0.747 -0.657 1.27l0.014 0.036 4.222 11c0.19 0.523 0.789 0.8 1.34 0.622 0.552 -0.178 0.846 -0.747 0.657 -1.27l-0.013 -0.036zm-14.714 -12.658c-0.582 0 -1.055 0.448 -1.055 1v12c0 0.552 0.473 1 1.055 1 0.583 0 1.056 -0.448 1.056 -1v-12c0 -0.552 -0.473 -1 -1.056 -1z"/>
-    <g mask="url(#T)">
-      <path fill="context-stroke" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.573 -3.201 0.115 -1.442 0.052 -0.758 1.225 -1.644 2.652 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.986 2.478 -2.046 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.573 -3.201 0.115 -1.442 0.052 -0.758 1.225 -1.644 2.652 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.986 2.478 -2.046 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-    </g>
+    <path d="M8 22a1 1 0 0 0-1.1 1v10c0 .5.4 1 1 1s1-.5 1-1V23c0-.6-.4-1-1-1zm3-1a1 1 0 0 0-1 1v11c0 .5.5 1 1 1 .7 0 1.1-.5 1.1-1V22c0-.6-.4-1-1-1zm8.5 11.6l-4.3-11A1 1 0 0 0 14 21a1 1 0 0 0-.7 1.3l4.3 11c.2.5.8.8 1.3.6.6-.2.9-.7.7-1.2zM4.7 20a1 1 0 0 0-1 1v12c0 .5.5 1 1 1 .6 0 1.1-.5 1.1-1V21c0-.6-.5-1-1-1z"/>
   </svg>
   <svg x="1034">
-    <defs>
-      <mask id="U" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.51389 0 0 .5 13.188 28.299)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.51389 0 0 .5 13.188 28.299)"/>
-      </mask>
-    </defs>
-    <path d="M7.938 21.986c-0.567 0 -1.027 0.448 -1.027 1v10c0 0.552 0.46 1 1.027 1 0.568 0 1.028 -0.448 1.028 -1v-10c0 -0.552 -0.46 -1 -1.028 -1zm3.084 -1c-0.568 0 -1.028 0.448 -1.028 1v11c0 0.552 0.46 1 1.028 1 0.567 0 1.028 -0.448 1.028 -1v-11c0 -0.552 -0.46 -1 -1.028 -1zm8.16 11.658l-4.112 -11c-0.184 -0.523 -0.768 -0.801 -1.305 -0.622 -0.537 0.178 -0.823 0.747 -0.64 1.27a0.51 0.51 0 0 0 0.014 0.036l4.111 11c0.184 0.523 0.768 0.8 1.305 0.622 0.537 -0.178 0.824 -0.747 0.64 -1.27l-0.014 -0.036zm-14.327 -12.658c-0.567 0 -1.028 0.448 -1.028 1v12c0 0.552 0.46 1 1.028 1 0.567 0 1.028 -0.448 1.028 -1v-12c0 -0.552 -0.46 -1 -1.028 -1z"/>
-    <g mask="url(#U)">
-      <path fill="context-stroke" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.573 -3.201 0.115 -1.442 0.052 -0.758 1.225 -1.644 2.652 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.986 2.478 -2.046 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.573 -3.201 0.115 -1.442 0.052 -0.758 1.225 -1.644 2.652 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.986 2.478 -2.046 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-    </g>
+    <path d="M8 22a1 1 0 0 0-1 1v10c0 .5.4 1 1 1 .5 0 1-.5 1-1V23c0-.6-.5-1-1-1zm3-1a1 1 0 0 0-1 1v11c0 .5.5 1 1 1 .6 0 1-.5 1-1V22c0-.6-.4-1-1-1zm8.2 11.6l-4.1-11a1 1 0 0 0-1.3-.6 1 1 0 0 0-.7 1.3l4.2 11c.1.6.7.8 1.3.7.5-.2.8-.8.6-1.3zM4.9 20a1 1 0 0 0-1 1v12c0 .5.4 1 1 1 .5 0 1-.5 1-1V21c0-.6-.5-1-1-1z"/>
   </svg>
   <svg x="1056">
-    <defs>
-      <mask id="V" mask-type="alpha">
-        <path fill="context-stroke" d="M-29.125 -76.875l-15.5 48.625 21.375 12 5.5 -0.75 3 -0.25 2.25 4.641 5.5 0.109 0.75 -2.141 3.25 -0.015 6.787 0.009 9.339 25.4 4.124 -39.128 6 -25.25 -0.75 -22.25 -51.625 -1z" transform="matrix(.5 0 0 .5 13.108 28.313)"/>
-        <path fill-opacity="0" stroke="rgb(135,17,17)" stroke-width="0" d="M-1.454 -10.124l-7.75 24.312 10.687 6 2.75 -0.375 1.5 -0.125 1.125 2.32 2.75 0.055 0.375 -1.07 1.625 -0.008 3.393 0.005 4.67 12.7 2.062 -19.564 3 -12.625 -0.375 -11.125 -25.813 -0.5z"/>
-      </mask>
-    </defs>
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
-    <g mask="url(#V)">
-      <path fill="context-stroke" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.573 -3.201 0.115 -1.442 0.052 -0.758 1.225 -1.644 2.652 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.986 2.478 -2.046 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-      <path fill="none" stroke="context-stroke" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M7.95 26.013l2.695 1.754 1.138 0.742 1.274 -0.472 2.962 -1.096 -0.729 3.27 -0.283 1.267 0.812 1.013 2.062 2.573 -3.201 0.115 -1.442 0.052 -0.758 1.225 -1.644 2.652 -1.187 -3.053 -0.474 -1.217 -1.248 -0.385 -3.203 -0.986 2.478 -2.046 1.074 -0.887 -0.1 -1.39 -0.226 -3.129"/>
-    </g>
+    <use href="#books"/>
   </svg>
   <svg x="1078">
-    <path d="M8 22a1 1 0 0 0 -1 1v10a1 1 0 0 0 2 0v-10a1 1 0 0 0 -1 -1zm3 -1a1 1 0 0 0 -1 1v11a1 1 0 0 0 2 0v-11a1 1 0 0 0 -1 -1zm7.939 11.658l-4 -11a1 1 0 1 0 -1.879 0.684l4 11a1 1 0 1 0 1.892 -0.648l-0.013 -0.036zm-13.939 -12.658a1 1 0 0 0 -1 1v12a1 1 0 0 0 2 0v-12a1 1 0 0 0 -1 -1z"/>
+    <use href="#books"/>
   </svg>
 </svg>
--- a/browser/themes/shared/urlbar-searchbar.inc.css
+++ b/browser/themes/shared/urlbar-searchbar.inc.css
@@ -181,21 +181,24 @@
   padding: 7px;
 }
 
 .urlbar-icon:hover,
 .urlbar-icon-wrapper:hover {
   background-color: hsla(0,0%,80%,.4);
 }
 
+.urlbar-icon[open],
+.urlbar-icon-wrapper[open],
 .urlbar-icon:hover:active,
 .urlbar-icon-wrapper:hover:active {
-  background-color: hsla(0,0%,80%,.45);
+  background-color: hsla(0,0%,80%,.6);
 }
 
+.urlbar-icon-wrapper[open] > .urlbar-icon,
 .urlbar-icon-wrapper > .urlbar-icon:hover,
 .urlbar-icon-wrapper > .urlbar-icon:hover:active {
   background-color: transparent;
 }
 
 .urlbar-go-button,
 .search-go-button {
   list-style-image: url("chrome://browser/skin/back.svg");
--- a/devtools/client/framework/ToolboxProcess.jsm
+++ b/devtools/client/framework/ToolboxProcess.jsm
@@ -244,28 +244,32 @@ BrowserToolboxProcess.prototype = {
   /**
    * Creates and initializes the profile & process for the remote debugger.
    */
   _create: function () {
     dumpn("Initializing chrome debugging process.");
 
     let command = Services.dirsvc.get("XREExeF", Ci.nsIFile).path;
 
-    let xulURI = `${DBG_XUL}?port=${this.port}`;
-    if (this._options.addonID) {
-      xulURI += `&addonID=${this._options.addonID}`;
-    }
-
     dumpn("Running chrome debugging process.");
     let args = [
       "-no-remote",
       "-foreground",
       "-profile", this._dbgProfilePath,
-      "-chrome", xulURI
+      "-chrome", DBG_XUL
     ];
+    let environment = {
+      // Disable safe mode for the new process in case this was opened via the
+      // keyboard shortcut.
+      MOZ_DISABLE_SAFE_MODE_KEY: "1",
+      MOZ_BROWSER_TOOLBOX_PORT: String(this.port),
+    };
+    if (this._options.addonID) {
+      environment.MOZ_BROWSER_TOOLBOX_ADDONID = String(this._options.addonID);
+    }
 
     // During local development, incremental builds can trigger the main process
     // to clear its startup cache with the "flag file" .purgecaches, but this
     // file is removed during app startup time, so we aren't able to know if it
     // was present in order to also clear the child profile's startup cache as
     // well.
     //
     // As an approximation of "isLocalBuild", check for an unofficial build.
@@ -273,21 +277,17 @@ BrowserToolboxProcess.prototype = {
       args.push("-purgecaches");
     }
 
     this._dbgProcessPromise = Subprocess.call({
       command,
       arguments: args,
       environmentAppend: true,
       stderr: "stdout",
-      environment: {
-        // Disable safe mode for the new process in case this was opened via the
-        // keyboard shortcut.
-        MOZ_DISABLE_SAFE_MODE_KEY: "1",
-      },
+      environment,
     }).then(proc => {
       this._dbgProcess = proc;
 
       this._telemetry.toolOpened("jsbrowserdebugger");
 
       dumpn("Chrome toolbox is now running...");
       this.emit("run", this);
 
--- a/devtools/client/framework/toolbox-process-window.js
+++ b/devtools/client/framework/toolbox-process-window.js
@@ -29,32 +29,35 @@ var Prefs = new PrefsHelper("devtools.de
 });
 
 var gToolbox, gClient;
 
 var connect = Task.async(function* () {
   window.removeEventListener("load", connect);
 
   // Initiate the connection
-  const params = new URLSearchParams(window.location.search);
+  let env = Components.classes["@mozilla.org/process/environment;1"]
+    .getService(Components.interfaces.nsIEnvironment);
+  let port = env.get("MOZ_BROWSER_TOOLBOX_PORT");
+  let addonID = env.get("MOZ_BROWSER_TOOLBOX_ADDONID");
 
-  // A port needs to be passed in from the query string, for instance:
-  // `./mach run -chrome chrome://devtools/content/framework/toolbox-process-window.xul?port=6080`
-  if (!params.get("port")) {
-    throw new Error("Must specify a port on the query string");
+  // A port needs to be passed in from the environment, for instance:
+  //    MOZ_BROWSER_TOOLBOX_PORT=6080 ./mach run -chrome \
+  //      chrome://devtools/content/framework/toolbox-process-window.xul
+  if (!port) {
+    throw new Error("Must pass a port in an env variable with MOZ_BROWSER_TOOLBOX_PORT");
   }
 
   let transport = yield DebuggerClient.socketConnect({
     host: Prefs.chromeDebuggingHost,
-    port: params.get("port"),
+    port,
     webSocket: Prefs.chromeDebuggingWebSocket,
   });
   gClient = new DebuggerClient(transport);
   yield gClient.connect();
-  let addonID = params.get("addonID");
 
   if (addonID) {
     let { addons } = yield gClient.listAddons();
     let addonActor = addons.filter(addon => addon.id === addonID).pop();
     let isTabActor = addonActor.isWebExtension;
     openToolbox({form: addonActor, chrome: true, isTabActor});
   } else {
     let response = yield gClient.getProcess();
--- a/devtools/client/inspector/test/browser_inspector_navigate_to_errors.js
+++ b/devtools/client/inspector/test/browser_inspector_navigate_to_errors.js
@@ -32,17 +32,17 @@ add_task(function* () {
                                              [domain], 1);
   is(yield getDisplayedNodeTextContent("#errorShortDescText", inspector), errorMsg,
      "Inpector really inspects the error page");
 
   info("Navigate to unknown domain");
   yield navigateTo(inspector, TEST_URL_3);
 
   domain = TEST_URL_3.match(/^http:\/\/(.*)\/$/)[1];
-  errorMsg = bundle.formatStringFromName("dnsNotFound",
+  errorMsg = bundle.formatStringFromName("dnsNotFound2",
                                          [domain], 1);
   is(yield getDisplayedNodeTextContent("#errorShortDescText", inspector), errorMsg,
      "Inspector really inspects the new error page");
 
   info("Navigate to a valid url");
   yield navigateTo(inspector, TEST_URL_4);
 
   is(yield getDisplayedNodeTextContent("body", inspector), "test-doc-4",
new file mode 100644
--- /dev/null
+++ b/devtools/client/netmonitor/src/connector/chrome-connector.js
@@ -0,0 +1,89 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+const { ACTIVITY_TYPE } = require("../constants");
+const { CDPConnector } = require("./chrome/events");
+
+class ChromeConnector {
+  constructor() {
+    // Internal properties
+    this.payloadQueue = [];
+    this.connector = undefined;
+
+    // Public methods
+    this.connect = this.connect.bind(this);
+    this.disconnect = this.disconnect.bind(this);
+    this.willNavigate = this.willNavigate.bind(this);
+    this.sendHTTPRequest = this.sendHTTPRequest.bind(this);
+    this.setPreferences = this.setPreferences.bind(this);
+    this.triggerActivity = this.triggerActivity.bind(this);
+    this.viewSourceInDebugger = this.viewSourceInDebugger.bind(this);
+  }
+
+  async connect(connection, actions, getState) {
+    const { tabConnection } = connection;
+    this.actions = actions;
+    this.connector = new CDPConnector();
+    this.connector.setup(tabConnection, this.actions);
+    this.connector.willNavigate(this.willNavigate);
+  }
+
+  async disconnect() {
+    this.connector.disconnect();
+  }
+
+  /**
+   * currently all events are about "navigation" is not support on CDP
+   */
+  willNavigate() {
+    this.actions.batchReset();
+    this.actions.clearRequests();
+  }
+
+  /**
+   * Triggers a specific "activity" to be performed by the frontend.
+   * This can be, for example, triggering reloads or enabling/disabling cache.
+   *
+   * @param {number} type The activity type. See the ACTIVITY_TYPE const.
+   * @return {object} A promise resolved once the activity finishes and the frontend
+   *                  is back into "standby" mode.
+   */
+  triggerActivity(type) {
+    switch (type) {
+      case ACTIVITY_TYPE.RELOAD.WITH_CACHE_ENABLED:
+      case ACTIVITY_TYPE.RELOAD.WITH_CACHE_DEFAULT:
+        return this.connector.reset().then(
+          () => this.connector.Page.reload().then(
+            () => {
+              this.currentActivity = ACTIVITY_TYPE.NONE;
+            }
+          )
+        );
+    }
+    this.currentActivity = ACTIVITY_TYPE.NONE;
+    return Promise.reject(new Error("Invalid activity type"));
+  }
+
+  /**
+   * Send a HTTP request data payload
+   *
+   * @param {object} data data payload would like to sent to backend
+   * @param {function} callback callback will be invoked after the request finished
+   */
+  sendHTTPRequest(data, callback) {
+    // TODO : not support. currently didn't provide this feature in CDP API.
+  }
+
+  setPreferences() {
+    // TODO : implement.
+  }
+
+  viewSourceInDebugger() {
+    // TODO : implement.
+  }
+}
+
+module.exports = new ChromeConnector();
new file mode 100644
--- /dev/null
+++ b/devtools/client/netmonitor/src/connector/chrome/bulk-loader.js
@@ -0,0 +1,126 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+let bulkLoader = undefined;
+
+let PriorityLevels = {Critical: 1, Major: 2, Normal: 3, None: 0};
+
+class Scheduler {
+  constructor() {
+    this.busy = false;
+    this.queue = [];
+  }
+
+  sync(task) {
+    this.queue.push(task);
+    if (!this.busy) {
+      return this.dequeue();
+    }
+    return null;
+  }
+
+  dequeue() {
+    let self = this;
+    let recursive = (resolve) => {
+      self.dequeue();
+    };
+    this.busy = true;
+    let next = this.queue.shift();
+    if (next) {
+      next().then(recursive, recursive);
+    } else {
+      this.busy = false;
+    }
+  }
+}
+// singleton class
+const getBulkLoader = () => {
+  const mappingPriority = (priority, options) => {
+    switch (priority) {
+      case PriorityLevels.Critical:
+        return options.Critical;
+      case PriorityLevels.Major:
+        return options.Major;
+      case PriorityLevels.Normal:
+        return options.Normal;
+      case PriorityLevels.None:
+      default:
+        break;
+    }
+    return options.None;
+  };
+
+  const getTimeoutMS = (priority) => {
+    const delay = {Critical: 3000, Major: 1000, Normal: 500, None: 100};
+    return mappingPriority(priority, delay);
+  };
+
+  const getDelayStartMS = (priority) => {
+    const delay = {Critical: 1, Major: 50, Normal: 100, None: 500};
+    return mappingPriority(priority, delay);
+  };
+
+  const LoaderPromise = (priority, callback) => {
+    return new Promise((resolve, reject) => {
+      const ms = getTimeoutMS(priority);
+      // Set up the real work
+      setTimeout(() => callback(resolve, reject), getDelayStartMS(priority));
+
+      // Set up the timeout
+      setTimeout(() => {
+        reject("Promise timed out after " + ms + " ms");
+      }, ms);
+    });
+  };
+
+    // TODO : recovery thread after all tasks finished.
+  class Thread {
+    constructor() {
+      this.scheduler = new Scheduler();
+    }
+
+    addTask(callback, priority) {
+      this.scheduler.sync(() => {
+        return LoaderPromise(
+          !priority ? PriorityLevels.None : priority,
+          (resolve, reject) => callback(resolve, reject)
+        );
+      });
+    }
+  }
+
+  class BulkLoader {
+    constructor() {
+      this.threads = new Map();
+      this.tasks = [];
+    }
+
+    add(id, callback, priority) {
+      let thread = this.threads.get(priority);
+      if (!this.threads.has(priority)) {
+        thread = new Thread();
+        this.threads.set(priority, thread);
+      }
+      this.tasks.push({id, priority, task: callback, isFinished: false});
+      return thread.addTask(callback, priority);
+    }
+
+    reset() {
+      this.threads.clear();
+    }
+  }
+
+  if (!bulkLoader) {
+    bulkLoader = new BulkLoader();
+  }
+
+  return bulkLoader;
+};
+
+module.exports = {
+  getBulkLoader,
+  PriorityLevels
+};
new file mode 100644
--- /dev/null
+++ b/devtools/client/netmonitor/src/connector/chrome/events.js
@@ -0,0 +1,235 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+const {EVENTS} = require("../../constants");
+const {Payloads} = require("./utils");
+const {getBulkLoader, PriorityLevels} = require("./bulk-loader");
+
+class CDPConnector {
+  constructor() {
+    this.payloads = new Payloads();
+    this.onNetworkUpdate = this.onNetworkUpdate.bind(this);
+    this.onResponseReceived = this.onResponseReceived.bind(this);
+    this.onDataReceived = this.onDataReceived.bind(this);
+    this.onLoadingFinished = this.onLoadingFinished.bind(this);
+    this.onLoadingFailed = this.onLoadingFailed.bind(this);
+    this.update = this.update.bind(this);
+  }
+
+  setup(connection, actions) {
+    let {Network, Page} = connection;
+    this.Network = Network;
+    this.Page = Page;
+    this.actions = actions;
+    Network.requestWillBeSent(this.onNetworkUpdate);
+    Network.responseReceived(this.onResponseReceived);
+    Network.dataReceived(this.onDataReceived);
+    Network.loadingFinished(this.onLoadingFinished);
+    Network.loadingFailed(this.onLoadingFailed);
+    Network.enable();
+    Page.enable();
+  }
+
+  disconnect() {
+    this.Network.disable();
+    this.Page.disable();
+    this.payloads.clear();
+  }
+
+  async reset() {
+    return Promise.all([
+      this.Network.disable(),
+      this.Page.disable(),
+      this.payloads.clear(),
+      this.Network.enable(),
+      this.Page.enable()
+    ]);
+  }
+
+  willNavigate(event) {
+    // not support
+  }
+
+  onNetworkUpdate(params) {
+    let {requestId} = params;
+    let payload = this.payloads.add(requestId);
+    return payload.update(params).then(
+      ([request, header, postData]) => {
+        let bulkloader = getBulkLoader();
+        bulkloader.add(
+          requestId,
+          (resolve, reject) =>
+            this.addRequest(requestId, request).then(() => {
+              this.updateRequestHeader(requestId, header);
+              this.updatePostData(requestId, postData);
+              resolve();
+            })
+          , PriorityLevels.Critical);
+      });
+  }
+
+  onResponseReceived(params) {
+    let {requestId} = params;
+    let payload = this.payloads.get(requestId);
+    return payload.update(params).then(
+      ([request, header, postData, state, timings]) => {
+        let loader = getBulkLoader();
+        loader.add(
+          requestId,
+          (resolve) => {
+            this.updateResponseHeader(requestId, header);
+            this.updateResponseState(requestId, state);
+            this.updateResponseTiming(requestId, timings);
+            this.getResponseContent(params);
+            resolve();
+          }
+          , PriorityLevels.Major);
+      });
+  }
+
+  onDataReceived(params) {
+    let {requestId} = params;
+    let payload = this.payloads.get(requestId);
+    payload.update(params);
+  }
+
+  onLoadingFinished(params) {
+    let {requestId} = params;
+    let payload = this.payloads.get(requestId);
+    if (payload) {
+      payload.log("LoadingFinished", params);
+    }
+    // TODO: verify getCookie method.
+    //
+  }
+
+  updateRequestHeader(requestId, header) {
+    if (!header) {
+      return;
+    }
+    this.update(requestId, {
+      requestHeaders: header
+    }).then(() => {
+      window.emit(EVENTS.RECEIVED_REQUEST_HEADERS, header);
+    });
+  }
+
+  updateResponseTiming(requestId, timings) {
+    if (!timings) {
+      return;
+    }
+    this.update(requestId, {
+      eventTimings: timings
+    }).then(() => {
+      window.emit(EVENTS.RECEIVED_EVENT_TIMINGS, requestId);
+    });
+  }
+
+  updateResponseState(requestId, state) {
+    this.update(requestId, state).then(() => {
+      window.emit(EVENTS.STARTED_RECEIVING_RESPONSE, requestId);
+    });
+  }
+
+  updateResponseHeader(requestId, header) {
+    if (!header) {
+      return;
+    }
+    this.update(requestId, {
+      responseHeaders: header
+    }).then(() => {
+      window.emit(EVENTS.RECEIVED_RESPONSE_HEADERS, header);
+    });
+  }
+
+  onLoadingFailed(params) {
+    let {requestId} = params;
+    let payload = this.payloads.get(requestId);
+    if (payload) {
+      payload.log("LoadingFailed", params);
+    }
+    // console.log(params.requestId);
+  }
+
+  async getResponseContent(params) {
+    let {requestId, response} = params;
+
+    return this.Network.getResponseBody({requestId}).then(
+      (content) => {
+        let payload = this.payloads.get(requestId);
+        return payload.update({requestId, response, content}).then(
+          ([request, header, postData, state, timings, responseContent]) => {
+            let loader = getBulkLoader();
+            loader.add(
+              requestId,
+              (resolve) => {
+                this.updateResponseContent(requestId, responseContent);
+                return resolve();
+              },
+              PriorityLevels.Normal
+            );
+          }
+        );
+      }
+    );
+  }
+
+  updateResponseContent(requestId, payload) {
+    if (!payload) {
+      return;
+    }
+    this.actions.updateRequest(requestId, payload, true).then(
+      () => {
+        window.emit(EVENTS.RECEIVED_RESPONSE_CONTENT, requestId);
+      }
+    );
+  }
+
+  updatePostData(requestId, postData) {
+    if (!postData) {
+      return;
+    }
+    this.update(requestId, {
+      requestPostData: postData,
+    }).then(() => {
+      window.emit(EVENTS.RECEIVED_REQUEST_POST_DATA, requestId);
+    });
+  }
+
+  async update(id, payload) {
+    return this.actions.updateRequest(id, payload, true);
+  }
+
+  async addRequest(id, data) {
+    let {
+      method,
+      url,
+      isXHR,
+      cause,
+      startedDateTime,
+      fromCache,
+      fromServiceWorker,
+    } = data;
+
+    this.actions.addRequest(
+      id,
+      {
+        startedMillis: startedDateTime,
+        method,
+        url,
+        isXHR,
+        cause,
+        fromCache,
+        fromServiceWorker,
+      },
+      true,
+    )
+      .then(() => window.emit(EVENTS.REQUEST_ADDED, id));
+  }
+}
+
+module.exports = {
+  CDPConnector
+};
new file mode 100644
--- /dev/null
+++ b/devtools/client/netmonitor/src/connector/chrome/request.js
@@ -0,0 +1,107 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+function mappingCallFrames(callFrames) {
+  let stacktrace = [];
+  callFrames.forEach(
+    (frame) => {
+      let {
+        functionName,
+        scriptId,
+        url,
+        lineNumber,
+        columnNumber
+      } = frame;
+      let stack = {
+        scriptId,
+        filename: url,
+        lineNumber,
+        columnNumber,
+        functionName,
+      };
+      stacktrace.push(stack);
+    }
+  );
+  return stacktrace;
+}
+
+function Cause(initiator) {
+  let {url, type, stack} = initiator;
+  let {callFrames} = stack || {};
+  if (!stack || !callFrames.length) {
+    return undefined;
+  }
+  let cause = {
+    type: type,
+    loadingDocumentUri: url,
+    stacktrace: mappingCallFrames(callFrames)
+  };
+  return cause;
+}
+
+function Header(id, headers) {
+  let header = [];
+  let headersSize = 0;
+  Object.keys(headers).map((value) => {
+    header.push(
+      {
+        name: value,
+        value: headers[value],
+      }
+    );
+    headersSize += value.length + headers[value].length;
+  });
+
+  return {
+    from: id,
+    headers: header,
+    headersSize: headersSize,
+    rawHeaders: undefined,
+  };
+}
+function PostData(id, postData, header) {
+  let {headers, headersSize} = header;
+  let payload = {},
+    requestPostData = {
+      from: id, postDataDiscarded: false, postData: {}
+    };
+  if (postData) {
+    requestPostData.postData.text = postData;
+    payload.requestPostData = Object.assign({}, requestPostData);
+    payload.requestHeadersFromUploadStream = {headers, headersSize};
+  }
+  return payload;
+}
+
+/**
+ * Not support on current version.
+ * unstable method: Network.getCookies
+ * cause: https://chromedevtools.github.io/devtools-protocol/tot/Network/#method-getCookies
+ */
+function Cookie(id, Network) {
+  // TODO: verify
+}
+
+function Request(id, requestData) {
+  let {request, initiator, timestamp} = requestData;
+  let {url, method} = request;
+  let cause = !initiator ? undefined : Cause(initiator);
+  return {
+    method, url, cause,
+    isXHR: false, // TODO: verify
+    startedDateTime: timestamp,
+    fromCache: undefined,
+    fromServiceWorker: undefined
+  };
+}
+
+module.exports = {
+  Cause,
+  Cookie,
+  Header,
+  Request,
+  PostData
+};
new file mode 100644
--- /dev/null
+++ b/devtools/client/netmonitor/src/connector/chrome/response.js
@@ -0,0 +1,102 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+const { formDataURI } = require("../../utils/request-utils");
+
+function ResponseInfo(id, response, content) {
+  let {
+    mimeType
+  } = response;
+  const {body, base64Encoded} = content;
+  return {
+    from: id,
+    content: {
+      mimeType: mimeType,
+      text: !body ? "" : body,
+      size: !body ? 0 : body.length,
+      encoding: base64Encoded ? "base64" : undefined
+    }
+  };
+}
+
+function ResponseContent(id, response, content) {
+  const {body, base64Encoded} = content;
+  let {mimeType, encodedDataLength} = response;
+  let responseContent = ResponseInfo(id, response, content);
+  let payload = Object.assign(
+    {
+      responseContent,
+      contentSize: !body ? 0 : body.length,
+      transferredSize: encodedDataLength, // TODO: verify
+      mimeType: mimeType
+    }, body);
+  if (mimeType.includes("image/")) {
+    payload.responseContentDataUri = formDataURI(mimeType, base64Encoded, response);
+  }
+  return payload;
+}
+
+/**
+ * Not support on current version.
+ * unstable method: Security
+ * cause: https://chromedevtools.github.io/devtools-protocol/tot/Security/
+ */
+function SecurityDetails(id, security) {
+  // TODO : verify
+
+  return {};
+}
+
+function Timings(id, timing) {
+  // TODO : implement
+  let {
+    dnsStart,
+    dnsEnd,
+    connectStart,
+    connectEnd,
+    sendStart,
+    sendEnd,
+    receiveHeadersEnd
+  } = timing;
+  let dns = parseInt(dnsEnd - dnsStart, 10);
+  let connect = parseInt(connectEnd - connectStart, 10);
+  let send = parseInt(sendEnd - sendStart, 10);
+  let total = parseInt(receiveHeadersEnd, 10);
+  return {
+    from: id,
+    timings: {
+      blocked: 0,
+      dns: dns,
+      connect: connect,
+      send: send,
+      wait: parseInt(receiveHeadersEnd - (send + connect + dns), 10),
+      receive: 0,
+    },
+    totalTime: total,
+  };
+}
+function State(response, headers) {
+  let { headersSize } = headers;
+  let {
+    status,
+    statusText,
+    remoteIPAddress,
+    remotePort
+  } = response;
+  return {
+    remoteAddress: remoteIPAddress,
+    remotePort,
+    status,
+    statusText,
+    headersSize
+  };
+}
+module.exports = {
+  State,
+  Timings,
+  ResponseContent,
+  SecurityDetails
+};
new file mode 100644
--- /dev/null
+++ b/devtools/client/netmonitor/src/connector/chrome/utils.js
@@ -0,0 +1,132 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+const { Request, Header, PostData } = require("./request");
+const { State, ResponseContent, Timings} = require("./response");
+const { getBulkLoader } = require("./bulk-loader");
+
+class Payload {
+  constructor() {
+    this.payload = {};
+    this.update = this.update.bind(this);
+  }
+  async update(payload) {
+    let { request, response, requestId, timestamp,
+          content, dataLength, encodedDataLength } = payload;
+    let {
+      headers,
+      postData,
+      timing
+    } = (request ? request : response) || {};
+
+    const header = await this.mappingHeader(requestId, headers);
+
+    this.requestId = requestId;
+
+    this.updateTimestamp(timestamp);
+    let data = await this.mappingAll(
+      requestId,
+      {
+        payload, response, postData,
+        header, content, timing,
+        dataLength, encodedDataLength
+      }
+    );
+    return data;
+  }
+
+  log(reason, info) {
+    this.updatePayload({
+      type: reason,
+      log: info
+    });
+  }
+
+  updateTimestamp(timestamp) {
+    let {request} = this.payload;
+    this.updatePayload(
+      request ? { response: timestamp } : { request: timestamp }
+    );
+  }
+
+  updatePayload(data) {
+    this.payload = Object.assign({}, this.payload, data);
+  }
+
+  async mappingAll(requestId, data) {
+    let {payload, response, postData,
+         header, content, timing,
+         dataLength, encodedDataLength } = data;
+    let [requests, headers, post,
+         status, timings, responses]
+        = await Promise.all(
+          [
+            this.mappingRequest(requestId, payload),
+            header,
+            this.mappingRequestPostData(requestId, postData, header),
+            this.mappingResponseStatus(requestId, response, header),
+            this.mappingTiming(requestId, timing),
+            this.mappingResponseContent(requestId, response, content)
+          ]);
+    this.updatePayload({
+      requests, headers, post, status, timings, responses, dataLength, encodedDataLength
+    });
+    return [ requests, headers, post, status, timings, responses ];
+  }
+
+  async mappingTiming(requestId, timing) {
+    return !timing ? undefined : Timings(requestId, timing);
+  }
+
+  async mappingRequest(requestId, payload) {
+    let {request} = payload;
+    return !request ? undefined : Request(requestId, payload);
+  }
+
+  async mappingHeader(requestId, headers) {
+    return !headers ? undefined : Header(requestId, headers);
+  }
+
+  async mappingRequestPostData(requestId, postData, headers) {
+    return !postData ? undefined : PostData(requestId, postData, headers);
+  }
+
+  async mappingResponseStatus(requestId, response, header) {
+    return !response ? undefined : State(response, header);
+  }
+
+  async mappingResponseContent(requestId, response, content) {
+    return !response || !content ?
+      undefined : ResponseContent(requestId, response, content);
+  }
+}
+class Payloads {
+  constructor() {
+    this.payloads = new Map();
+  }
+
+  add(id) {
+    if (!this.payloads.has(id)) {
+      this.payloads.set(id, new Payload());
+    }
+    return this.payloads.get(id);
+  }
+
+  get(id) {
+    return this.payloads.has(id) ?
+      this.payloads.get(id) : undefined;
+  }
+
+  clear() {
+    this.payloads.clear();
+    let loader = getBulkLoader();
+    loader.reset();
+  }
+}
+
+module.exports = {
+  Payload, Payloads
+};
--- a/devtools/client/netmonitor/src/connector/index.js
+++ b/devtools/client/netmonitor/src/connector/index.js
@@ -1,14 +1,13 @@
 /* This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 "use strict";
-
 let connector = {};
 
 function onConnect(connection, actions, getState) {
   if (!connection || !connection.tab) {
     return;
   }
 
   let { clientType } = connection.tab;
@@ -24,17 +23,18 @@ function onConnect(connection, actions, 
   }
 }
 
 function onDisconnect() {
   connector && connector.disconnect();
 }
 
 function onChromeConnect(connection, actions, getState) {
-  // TODO: support chrome debugging protocol
+  connector = require("./chrome-connector");
+  connector.connect(connection, actions, getState);
 }
 
 function onFirefoxConnect(connection, actions, getState) {
   connector = require("./firefox-connector");
   connector.connect(connection, actions, getState);
 }
 
 function inspectRequest() {
--- a/docshell/base/nsDocShell.cpp
+++ b/docshell/base/nsDocShell.cpp
@@ -5013,16 +5013,17 @@ nsDocShell::DisplayLoadError(nsresult aE
   } else if (NS_ERROR_UNKNOWN_HOST == aError) {
     NS_ENSURE_ARG_POINTER(aURI);
     // Get the host
     nsAutoCString host;
     nsCOMPtr<nsIURI> innermostURI = NS_GetInnermostURI(aURI);
     innermostURI->GetHost(host);
     CopyUTF8toUTF16(host, formatStrs[0]);
     formatStrCount = 1;
+    errorDescriptionID = "dnsNotFound2";
     error = "dnsNotFound";
   } else if (NS_ERROR_CONNECTION_REFUSED == aError) {
     NS_ENSURE_ARG_POINTER(aURI);
     addHostPort = true;
     error = "connectionFailure";
   } else if (NS_ERROR_NET_INTERRUPT == aError) {
     NS_ENSURE_ARG_POINTER(aURI);
     addHostPort = true;
--- a/dom/base/nsDocument.cpp
+++ b/dom/base/nsDocument.cpp
@@ -13460,30 +13460,25 @@ nsIDocument::UpdateStyleBackendType()
   MOZ_ASSERT(mStyleBackendType == StyleBackendType::None,
              "no need to call UpdateStyleBackendType now");
 
   // Assume Gecko by default.
   mStyleBackendType = StyleBackendType::Gecko;
 
 #ifdef MOZ_STYLO
   if (nsLayoutUtils::StyloEnabled()) {
-    if (IsBeingUsedAsImage()) {
-      // Enable stylo for SVG-as-image.
+    // Disable stylo only for system principal. Other principals aren't
+    // able to use XUL by default, and the back door to enable XUL is
+    // mostly just for testing, which means they don't matter, and we
+    // shouldn't respect them at the same time.
+    // Note that, since tests can have XUL support, we still need to
+    // explicitly exclude XUL documents here.
+    if (!nsContentUtils::IsSystemPrincipal(NodePrincipal()) &&
+        !IsXULDocument()) {
       mStyleBackendType = StyleBackendType::Servo;
-    } else if (!mDocumentContainer) {
-      // Not docshell, assume Gecko. Various callers can end up setting this
-      // explicitly afterwards to inherit it in various situations.
-    } else if (!IsXULDocument() && IsContentDocument()) {
-      // Disable stylo for about: pages other than about:blank, since
-      // they tend to use unsupported selectors like XUL tree pseudos.
-      bool isAbout = false;
-      mDocumentURI->SchemeIs("about", &isAbout);
-      if (!isAbout || NS_IsAboutBlank(mDocumentURI)) {
-        mStyleBackendType = StyleBackendType::Servo;
-      }
     }
   }
 #endif
 }
 
 /**
  * Retrieves the classification of the Flash plugins in the document based on
  * the classification lists. We perform AsyncInitFlashClassification on
--- a/dom/base/nsWindowMemoryReporter.cpp
+++ b/dom/base/nsWindowMemoryReporter.cpp
@@ -371,23 +371,16 @@ CollectWindowReports(nsGlobalWindow *aWi
 
   REPORT_SIZE("/layout/servo-style-sets/stylist/rule-tree",
               windowSizes.mLayoutServoStyleSetsStylistRuleTree,
               "Memory used by rule trees within Servo style sets within a "
               "window.");
   aWindowTotalSizes->mLayoutServoStyleSetsStylistRuleTree +=
     windowSizes.mLayoutServoStyleSetsStylistRuleTree;
 
-  REPORT_SIZE("/layout/servo-style-sets/stylist/precomputed-pseudos",
-              windowSizes.mLayoutServoStyleSetsStylistPrecomputedPseudos,
-              "Memory used by precomputed pseudo-element declarations within "
-              "Servo style sets within a window.");
-  aWindowTotalSizes->mLayoutServoStyleSetsStylistPrecomputedPseudos +=
-    windowSizes.mLayoutServoStyleSetsStylistPrecomputedPseudos;
-
   REPORT_SIZE("/layout/servo-style-sets/stylist/element-and-pseudos-maps",
               windowSizes.mLayoutServoStyleSetsStylistElementAndPseudosMaps,
               "Memory used by element and pseudos maps within Servo style "
               "sets within a window.");
   aWindowTotalSizes->mLayoutServoStyleSetsStylistElementAndPseudosMaps +=
     windowSizes.mLayoutServoStyleSetsStylistElementAndPseudosMaps;
 
   REPORT_SIZE("/layout/servo-style-sets/stylist/invalidation-map",
@@ -708,17 +701,16 @@ nsWindowMemoryReporter::CollectReports(n
          "This is the sum of all windows' 'layout/arenas' numbers.");
 
   REPORT("window-objects/layout/gecko-style-sets",
          windowTotalSizes.mLayoutGeckoStyleSets,
          "This is the sum of all windows' 'layout/gecko-style-sets' numbers.");
 
   REPORT("window-objects/layout/servo-style-sets",
          windowTotalSizes.mLayoutServoStyleSetsStylistRuleTree +
-         windowTotalSizes.mLayoutServoStyleSetsStylistPrecomputedPseudos +
          windowTotalSizes.mLayoutServoStyleSetsStylistElementAndPseudosMaps +
          windowTotalSizes.mLayoutServoStyleSetsStylistInvalidationMap +
          windowTotalSizes.mLayoutServoStyleSetsStylistRevalidationSelectors +
          windowTotalSizes.mLayoutServoStyleSetsStylistOther +
          windowTotalSizes.mLayoutServoStyleSetsOther,
          "This is the sum of all windows' 'layout/servo-style-sets/' numbers.");
 
   REPORT("window-objects/layout/servo-element-data-objects",
--- a/dom/base/nsWindowSizes.h
+++ b/dom/base/nsWindowSizes.h
@@ -172,17 +172,16 @@ class nsWindowSizes
   macro(DOM,   mDOMEventTargetsSize) \
   macro(DOM,   mDOMPerformanceUserEntries) \
   macro(DOM,   mDOMPerformanceResourceEntries) \
   macro(DOM,   mDOMOtherSize) \
   macro(Style, mLayoutStyleSheetsSize) \
   macro(Other, mLayoutPresShellSize) \
   macro(Style, mLayoutGeckoStyleSets) \
   macro(Style, mLayoutServoStyleSetsStylistRuleTree) \
-  macro(Style, mLayoutServoStyleSetsStylistPrecomputedPseudos) \
   macro(Style, mLayoutServoStyleSetsStylistElementAndPseudosMaps) \
   macro(Style, mLayoutServoStyleSetsStylistInvalidationMap) \
   macro(Style, mLayoutServoStyleSetsStylistRevalidationSelectors) \
   macro(Style, mLayoutServoStyleSetsStylistOther) \
   macro(Style, mLayoutServoStyleSetsOther) \
   macro(Style, mLayoutServoElementDataObjects) \
   macro(Other, mLayoutTextRunsSize) \
   macro(Other, mLayoutPresContextSize) \
--- a/dom/locales/en-US/chrome/appstrings.properties
+++ b/dom/locales/en-US/chrome/appstrings.properties
@@ -1,16 +1,16 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 malformedURI2=Please check that the URL is correct and try again.
 fileNotFound=The file %S cannot be found. Please check the location and try again.
 fileAccessDenied=The file at %S is not readable.
-dnsNotFound=%S could not be found. Please check the name and try again.
+dnsNotFound2=%S could not be found. Please check the name and try again.
 unknownProtocolFound=One of the following (%S) is not a registered protocol or is not allowed in this context.
 connectionFailure=The connection was refused when attempting to contact %S.
 netInterrupt=The connection to %S has terminated unexpectedly. Some data may have been transferred.
 netTimeout=The operation timed out when attempting to contact %S.
 redirectLoop=Redirection limit for this URL exceeded.  Unable to load the requested page.  This may be caused by cookies that are blocked.
 confirmRepostPrompt=To display this page, the application must send information that will repeat any action (such as a search or order confirmation) that was performed earlier.
 resendButton.label=Resend
 unknownSocketType=This document cannot be displayed unless you install the Personal Security Manager (PSM). Download and install PSM and try again, or contact your system administrator.
--- a/dom/media/ChannelMediaResource.cpp
+++ b/dom/media/ChannelMediaResource.cpp
@@ -87,17 +87,17 @@ nsresult
 ChannelMediaResource::Listener::OnDataAvailable(nsIRequest* aRequest,
                                                 nsISupports* aContext,
                                                 nsIInputStream* aStream,
                                                 uint64_t aOffset,
                                                 uint32_t aCount)
 {
   // This might happen off the main thread.
   MOZ_DIAGNOSTIC_ASSERT(mResource);
-  return mResource->OnDataAvailable(aRequest, aStream, aCount);
+  return mResource->OnDataAvailable(mLoadID, aStream, aCount);
 }
 
 nsresult
 ChannelMediaResource::Listener::AsyncOnChannelRedirect(
   nsIChannel* aOld,
   nsIChannel* aNew,
   uint32_t aFlags,
   nsIAsyncVerifyRedirectCallback* cb)
@@ -165,16 +165,18 @@ ChannelMediaResource::OnStartRequest(nsI
     if (status == NS_ERROR_DOM_BAD_URI) {
       mCallback->NotifyNetworkError();
       return NS_ERROR_DOM_BAD_URI;
     }
   }
 
   nsCOMPtr<nsIHttpChannel> hc = do_QueryInterface(aRequest);
   bool seekable = false;
+  int64_t startOffset = aRequestOffset;
+
   if (hc) {
     uint32_t responseStatus = 0;
     Unused << hc->GetResponseStatus(&responseStatus);
     bool succeeded = false;
     Unused << hc->GetRequestSucceeded(&succeeded);
 
     if (!succeeded && NS_SUCCEEDED(status)) {
       // HTTP-level error (e.g. 4xx); treat this as a fatal network-level error.
@@ -220,48 +222,54 @@ ChannelMediaResource::OnStartRequest(nsI
       int64_t rangeEnd = 0;
       int64_t rangeTotal = 0;
       rv = ParseContentRangeHeader(hc, rangeStart, rangeEnd, rangeTotal);
 
       // We received 'Content-Range', so the server accepts range requests.
       bool gotRangeHeader = NS_SUCCEEDED(rv);
 
       if (gotRangeHeader) {
+        startOffset = rangeStart;
         // We received 'Content-Range', so the server accepts range requests.
         // Notify media cache about the length and start offset of data received.
         // Note: If aRangeTotal == -1, then the total bytes is unknown at this stage.
         //       For now, tell the decoder that the stream is infinite.
         if (rangeTotal != -1) {
           contentLength = std::max(contentLength, rangeTotal);
         }
-        mCacheStream.NotifyDataStarted(rangeStart);
       }
       acceptsRanges = gotRangeHeader;
-    } else if (aRequestOffset > 0 && responseStatus == HTTP_OK_CODE) {
-      // If we get an OK response but we were seeking, or requesting a byte
-      // range, then we have to assume that seeking doesn't work. We also need
-      // to tell the cache that it's getting data for the start of the stream.
-      mCacheStream.NotifyDataStarted(0);
+    } else if (responseStatus == HTTP_OK_CODE) {
+      // HTTP_OK_CODE means data will be sent from the start of the stream.
+      startOffset = 0;
 
-      // The server claimed it supported range requests.  It lied.
-      acceptsRanges = false;
+      if (aRequestOffset > 0) {
+        // If HTTP_OK_CODE is responded for a non-zero range request, we have
+        // to assume seeking doesn't work.
+        acceptsRanges = false;
+      }
     }
     if (aRequestOffset == 0 && contentLength >= 0 &&
         (responseStatus == HTTP_OK_CODE ||
          responseStatus == HTTP_PARTIAL_RESPONSE_CODE)) {
       mCacheStream.NotifyDataLength(contentLength);
     }
     // XXX we probably should examine the Content-Range header in case
     // the server gave us a range which is not quite what we asked for
 
     // If we get an HTTP_OK_CODE response to our byte range request,
     // and the server isn't sending Accept-Ranges:bytes then we don't
     // support seeking. We also can't seek in compressed streams.
     seekable = !isCompressed && acceptsRanges;
+  } else {
+    // Not an HTTP channel. Assume data will be sent from position zero.
+    startOffset = 0;
   }
+
+  mCacheStream.NotifyDataStarted(mLoadID, startOffset);
   mCacheStream.SetTransportSeekable(seekable);
   mChannelStatistics.Start();
   mReopenOnError = false;
 
   mSuspendAgent.UpdateSuspendedStatusIfNeeded();
 
   // Fires an initial progress event.
   owner->DownloadProgressed();
@@ -377,61 +385,57 @@ ChannelMediaResource::OnChannelRedirect(
                                         int64_t aOffset)
 {
   mChannel = aNew;
   mSuspendAgent.NotifyChannelOpened(mChannel);
   return SetupChannelHeaders(aOffset);
 }
 
 nsresult
-ChannelMediaResource::CopySegmentToCache(const char* aFromSegment,
+ChannelMediaResource::CopySegmentToCache(nsIInputStream* aInStream,
+                                         void* aClosure,
+                                         const char* aFromSegment,
+                                         uint32_t aToOffset,
                                          uint32_t aCount,
                                          uint32_t* aWriteCount)
 {
-  mCacheStream.NotifyDataReceived(aCount, aFromSegment);
+  Closure* closure = static_cast<Closure*>(aClosure);
+  closure->mResource->mCacheStream.NotifyDataReceived(
+    closure->mLoadID, aCount, aFromSegment);
   *aWriteCount = aCount;
   return NS_OK;
 }
 
 nsresult
-ChannelMediaResource::CopySegmentToCache(nsIInputStream* aInStream,
-                                         void* aResource,
-                                         const char* aFromSegment,
-                                         uint32_t aToOffset,
-                                         uint32_t aCount,
-                                         uint32_t* aWriteCount)
-{
-  ChannelMediaResource* res = static_cast<ChannelMediaResource*>(aResource);
-  return res->CopySegmentToCache(aFromSegment, aCount, aWriteCount);
-}
-
-nsresult
-ChannelMediaResource::OnDataAvailable(nsIRequest* aRequest,
+ChannelMediaResource::OnDataAvailable(uint32_t aLoadID,
                                       nsIInputStream* aStream,
                                       uint32_t aCount)
 {
   // This might happen off the main thread.
-  NS_ASSERTION(mChannel.get() == aRequest, "Wrong channel!");
+  // Don't assert |mChannel.get() == aRequest| since reading mChannel here off
+  // the main thread is a data race.
 
   // Update principals before putting the data in the cache. This is important,
   // we want to make sure all principals are updated before any consumer can see
   // the new data.
   // TODO: Handle the case where OnDataAvailable() runs off the main thread.
   UpdatePrincipal();
 
   RefPtr<ChannelMediaResource> self = this;
   nsCOMPtr<nsIRunnable> r = NS_NewRunnableFunction(
     "ChannelMediaResource::OnDataAvailable",
     [self, aCount]() { self->mChannelStatistics.AddBytes(aCount); });
   mCallback->AbstractMainThread()->Dispatch(r.forget());
 
+  Closure closure{ aLoadID, this };
   uint32_t count = aCount;
   while (count > 0) {
     uint32_t read;
-    nsresult rv = aStream->ReadSegments(CopySegmentToCache, this, count, &read);
+    nsresult rv =
+      aStream->ReadSegments(CopySegmentToCache, &closure, count, &read);
     if (NS_FAILED(rv))
       return rv;
     NS_ASSERTION(read > 0, "Read 0 bytes while data was available?");
     count -= read;
   }
 
   return NS_OK;
 }
@@ -452,30 +456,30 @@ ChannelMediaResource::Open(nsIStreamList
   }
 
   nsresult rv = mCacheStream.Init(cl);
   if (NS_FAILED(rv)) {
     return rv;
   }
 
   MOZ_ASSERT(GetOffset() == 0, "Who set offset already?");
-  mListener = new Listener(this, 0);
+  mListener = new Listener(this, 0, ++mLoadID);
   *aStreamListener = mListener;
   NS_ADDREF(*aStreamListener);
   return NS_OK;
 }
 
 nsresult
 ChannelMediaResource::OpenChannel(int64_t aOffset)
 {
   MOZ_ASSERT(NS_IsMainThread());
   MOZ_ASSERT(mChannel);
   MOZ_ASSERT(!mListener, "Listener should have been removed by now");
 
-  mListener = new Listener(this, aOffset);
+  mListener = new Listener(this, aOffset, ++mLoadID);
   nsresult rv = mChannel->SetNotificationCallbacks(mListener.get());
   NS_ENSURE_SUCCESS(rv, rv);
 
   rv = SetupChannelHeaders(aOffset);
   NS_ENSURE_SUCCESS(rv, rv);
 
   rv = mChannel->AsyncOpen2(mListener);
   NS_ENSURE_SUCCESS(rv, rv);
--- a/dom/media/ChannelMediaResource.h
+++ b/dom/media/ChannelMediaResource.h
@@ -110,44 +110,46 @@ public:
   class Listener final
     : public nsIStreamListener
     , public nsIInterfaceRequestor
     , public nsIChannelEventSink
     , public nsIThreadRetargetableStreamListener
   {
     ~Listener() {}
   public:
-    Listener(ChannelMediaResource* aResource, int64_t aOffset)
+    Listener(ChannelMediaResource* aResource, int64_t aOffset, uint32_t aLoadID)
       : mResource(aResource)
       , mOffset(aOffset)
+      , mLoadID(aLoadID)
     {}
 
     NS_DECL_ISUPPORTS
     NS_DECL_NSIREQUESTOBSERVER
     NS_DECL_NSISTREAMLISTENER
     NS_DECL_NSICHANNELEVENTSINK
     NS_DECL_NSIINTERFACEREQUESTOR
     NS_DECL_NSITHREADRETARGETABLESTREAMLISTENER
 
     void Revoke() { mResource = nullptr; }
 
   private:
     RefPtr<ChannelMediaResource> mResource;
     const int64_t mOffset;
+    const uint32_t mLoadID;
   };
   friend class Listener;
 
   nsresult GetCachedRanges(MediaByteRangeSet& aRanges) override;
 
 protected:
   bool IsSuspendedByCache();
   // These are called on the main thread by Listener.
   nsresult OnStartRequest(nsIRequest* aRequest, int64_t aRequestOffset);
   nsresult OnStopRequest(nsIRequest* aRequest, nsresult aStatus);
-  nsresult OnDataAvailable(nsIRequest* aRequest,
+  nsresult OnDataAvailable(uint32_t aLoadID,
                            nsIInputStream* aStream,
                            uint32_t aCount);
   nsresult OnChannelRedirect(nsIChannel* aOld,
                              nsIChannel* aNew,
                              uint32_t aFlags,
                              int64_t aOffset);
 
   // Opens the channel, using an HTTP byte range request to start at aOffset
@@ -166,29 +168,33 @@ protected:
   // Parses 'Content-Range' header and returns results via parameters.
   // Returns error if header is not available, values are not parse-able or
   // values are out of range.
   nsresult ParseContentRangeHeader(nsIHttpChannel * aHttpChan,
                                    int64_t& aRangeStart,
                                    int64_t& aRangeEnd,
                                    int64_t& aRangeTotal);
 
+  struct Closure
+  {
+    uint32_t mLoadID;
+    ChannelMediaResource* mResource;
+  };
+
   static nsresult CopySegmentToCache(nsIInputStream* aInStream,
-                                     void* aResource,
+                                     void* aClosure,
                                      const char* aFromSegment,
                                      uint32_t aToOffset,
                                      uint32_t aCount,
                                      uint32_t* aWriteCount);
 
-  nsresult CopySegmentToCache(const char* aFromSegment,
-                              uint32_t aCount,
-                              uint32_t* aWriteCount);
-
   // Main thread access only
   RefPtr<Listener> mListener;
+  // A mono-increasing integer to uniquely identify the channel we are loading.
+  uint32_t mLoadID = 0;
   // When this flag is set, if we get a network error we should silently
   // reopen the stream.
   bool               mReopenOnError;
 
   // Any thread access
   MediaCacheStream mCacheStream;
 
   MediaChannelStatistics mChannelStatistics;
--- a/dom/media/MediaCache.cpp
+++ b/dom/media/MediaCache.cpp
@@ -1384,16 +1384,20 @@ MediaCache::Update()
         NS_ASSERTION(stream->mIsTransportSeekable || desiredOffset == 0,
                      "Trying to seek in a non-seekable stream!");
         // Round seek offset down to the start of the block. This is essential
         // because we don't want to think we have part of a block already
         // in mPartialBlockBuffer.
         stream->mChannelOffset =
           OffsetToBlockIndexUnchecked(desiredOffset) * BLOCK_SIZE;
         actions[i] = stream->mCacheSuspended ? SEEK_AND_RESUME : SEEK;
+        // mChannelOffset is updated to a new position. We don't want data from
+        // the old channel to be written to the wrong position. 0 is a sentinel
+        // value which will not match any ID passed to NotifyDataReceived().
+        stream->mLoadID = 0;
       } else if (enableReading && stream->mCacheSuspended) {
         actions[i] = RESUME;
       } else if (!enableReading && !stream->mCacheSuspended) {
         actions[i] = SUSPEND;
       }
     }
 #ifdef DEBUG
     mInUpdate = false;
@@ -1851,67 +1855,89 @@ MediaCache::NoteSeek(MediaCacheStream* a
     }
   }
 }
 
 void
 MediaCacheStream::NotifyDataLength(int64_t aLength)
 {
   NS_ASSERTION(NS_IsMainThread(), "Only call on main thread");
+  LOG("Stream %p DataLength: %" PRId64, this, aLength);
 
   ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor());
   mStreamLength = aLength;
 }
 
 void
-MediaCacheStream::NotifyDataStarted(int64_t aOffset)
+MediaCacheStream::NotifyDataStarted(uint32_t aLoadID, int64_t aOffset)
 {
   NS_ASSERTION(NS_IsMainThread(), "Only call on main thread");
+  MOZ_ASSERT(aLoadID > 0);
+  LOG("Stream %p DataStarted: %" PRId64 " aLoadID=%u", this, aOffset, aLoadID);
 
   ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor());
   NS_WARNING_ASSERTION(aOffset == mChannelOffset,
                        "Server is giving us unexpected offset");
   MOZ_ASSERT(aOffset >= 0);
   mChannelOffset = aOffset;
   if (mStreamLength >= 0) {
     // If we started reading at a certain offset, then for sure
     // the stream is at least that long.
     mStreamLength = std::max(mStreamLength, mChannelOffset);
   }
+  mLoadID = aLoadID;
 }
 
 void
 MediaCacheStream::UpdatePrincipal(nsIPrincipal* aPrincipal)
 {
   MOZ_ASSERT(NS_IsMainThread());
   MediaCache::ResourceStreamIterator iter(mMediaCache, mResourceID);
   while (MediaCacheStream* stream = iter.Next()) {
     if (nsContentUtils::CombineResourcePrincipals(&stream->mPrincipal,
                                                   aPrincipal)) {
       stream->mClient->CacheClientNotifyPrincipalChanged();
     }
   }
 }
 
 void
-MediaCacheStream::NotifyDataReceived(int64_t aSize, const char* aData)
+MediaCacheStream::NotifyDataReceived(uint32_t aLoadID,
+                                     int64_t aSize,
+                                     const char* aData)
 {
+  MOZ_ASSERT(aLoadID > 0);
   // This might happen off the main thread.
 
-  // It is safe to read mClosed without holding the monitor because this
-  // function is guaranteed to happen before Close().
-  MOZ_DIAGNOSTIC_ASSERT(!mClosed);
+  ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor());
+  if (mClosed) {
+    // Nothing to do if the stream is closed.
+    return;
+  }
+
+  LOG("Stream %p DataReceived at %" PRId64 " count=%" PRId64 " aLoadID=%u",
+      this,
+      mChannelOffset,
+      aSize,
+      aLoadID);
 
-  ReentrantMonitorAutoEnter mon(mMediaCache->GetReentrantMonitor());
+  // TODO: For now NotifyDataReceived() always runs on the main thread. This
+  // assertion is to make sure our load ID algorithm doesn't go wrong. Remove it
+  // when OMT data delievery is enabled.
+  MOZ_DIAGNOSTIC_ASSERT(mLoadID == aLoadID);
+
+  if (mLoadID != aLoadID) {
+    // mChannelOffset is updated to a new position when loading a new channel.
+    // We should discard the data coming from the old channel so it won't be
+    // stored to the wrong positoin.
+    return;
+  }
   int64_t size = aSize;
   const char* data = aData;
 
-  LOG("Stream %p DataReceived at %" PRId64 " count=%" PRId64,
-      this, mChannelOffset, aSize);
-
   // We process the data one block (or part of a block) at a time
   while (size > 0) {
     uint32_t blockIndex = OffsetToBlockIndexUnchecked(mChannelOffset);
     int32_t blockOffset = int32_t(mChannelOffset - blockIndex*BLOCK_SIZE);
     int32_t chunkSize = std::min<int64_t>(BLOCK_SIZE - blockOffset, size);
 
     if (blockOffset == 0) {
       // We've just started filling this buffer so now is a good time
--- a/dom/media/MediaCache.h
+++ b/dom/media/MediaCache.h
@@ -251,23 +251,23 @@ public:
   void NotifyDataLength(int64_t aLength);
   // Notifies the cache that a load has begun. We pass the offset
   // because in some cases the offset might not be what the cache
   // requested. In particular we might unexpectedly start providing
   // data at offset 0. This need not be called if the offset is the
   // offset that the cache requested in
   // ChannelMediaResource::CacheClientSeek. This can be called at any
   // time by the client, not just after a CacheClientSeek.
-  void NotifyDataStarted(int64_t aOffset);
+  void NotifyDataStarted(uint32_t aLoadID, int64_t aOffset);
   // Notifies the cache that data has been received. The stream already
   // knows the offset because data is received in sequence and
   // the starting offset is known via NotifyDataStarted or because
   // the cache requested the offset in
   // ChannelMediaResource::CacheClientSeek, or because it defaulted to 0.
-  void NotifyDataReceived(int64_t aSize, const char* aData);
+  void NotifyDataReceived(uint32_t aLoadID, int64_t aSize, const char* aData);
   // Notifies the cache that the current bytes should be written to disk.
   // Called on the main thread.
   void FlushPartialBlock();
   // Notifies the cache that the channel has closed with the given status.
   void NotifyDataEnded(nsresult aStatus);
 
   // Notifies the stream that the channel is reopened. The stream should
   // reset variables such as |mDidNotifyDataEnded|.
@@ -489,16 +489,19 @@ private:
   uint32_t          mPinCount;
   // The status used when we did CacheClientNotifyDataEnded. Only valid
   // when mDidNotifyDataEnded is true.
   nsresult          mNotifyDataEndedStatus;
   // The last reported read mode
   ReadMode          mCurrentMode;
   // True if some data in mPartialBlockBuffer has been read as metadata
   bool              mMetadataInPartialBlockBuffer;
+  // The load ID of the current channel. Used to check whether the data is
+  // coming from an old channel and should be discarded.
+  uint32_t mLoadID = 0;
 
   // The following field is protected by the cache's monitor but are
   // only written on the main thread.
 
   // Data received for the block containing mChannelOffset. Data needs
   // to wait here so we can write back a complete block. The first
   // mChannelOffset%BLOCK_SIZE bytes have been filled in with good data,
   // the rest are garbage.
--- a/dom/media/gmp/GMPChild.cpp
+++ b/dom/media/gmp/GMPChild.cpp
@@ -68,33 +68,33 @@ GMPChild::~GMPChild()
 static bool
 GetFileBase(const nsAString& aPluginPath,
             nsCOMPtr<nsIFile>& aLibDirectory,
             nsCOMPtr<nsIFile>& aFileBase,
             nsAutoString& aBaseName)
 {
   nsresult rv = NS_NewLocalFile(aPluginPath,
                                 true, getter_AddRefs(aFileBase));
-  if (NS_FAILED(rv)) {
+  if (NS_WARN_IF(NS_FAILED(rv))) {
     return false;
   }
 
-  if (NS_FAILED(aFileBase->Clone(getter_AddRefs(aLibDirectory)))) {
+  if (NS_WARN_IF(NS_FAILED(aFileBase->Clone(getter_AddRefs(aLibDirectory))))) {
     return false;
   }
 
   nsCOMPtr<nsIFile> parent;
   rv = aFileBase->GetParent(getter_AddRefs(parent));
-  if (NS_FAILED(rv)) {
+  if (NS_WARN_IF(NS_FAILED(rv))) {
     return false;
   }
 
   nsAutoString parentLeafName;
   rv = parent->GetLeafName(parentLeafName);
-  if (NS_FAILED(rv)) {
+  if (NS_WARN_IF(NS_FAILED(rv))) {
     return false;
   }
 
   aBaseName = Substring(parentLeafName,
                         4,
                         parentLeafName.Length() - 1);
   return true;
 }
@@ -181,22 +181,22 @@ GetAppPaths(nsCString &aAppPath, nsCStri
     appPath.Assign(Substring(start, end));
   } else {
     return false;
   }
 
   nsCOMPtr<nsIFile> app, appBinary;
   nsresult rv = NS_NewLocalFile(NS_ConvertUTF8toUTF16(appPath),
                                 true, getter_AddRefs(app));
-  if (NS_FAILED(rv)) {
+  if (NS_WARN_IF(NS_FAILED(rv))) {
     return false;
   }
   rv = NS_NewLocalFile(NS_ConvertUTF8toUTF16(appBinaryPath),
                        true, getter_AddRefs(appBinary));
-  if (NS_FAILED(rv)) {
+  if (NS_WARN_IF(NS_FAILED(rv))) {
     return false;
   }
 
   // Mac sandbox rules expect paths to actual files and directories -- not
   // soft links.
   aAppPath = GetNativeTarget(app);
   appBinaryPath = GetNativeTarget(appBinary);
 
@@ -299,18 +299,18 @@ GMPChild::RecvPreloadLibs(const nsCStrin
 bool
 GMPChild::ResolveLinks(nsCOMPtr<nsIFile>& aPath)
 {
 #if defined(XP_WIN)
   return widget::WinUtils::ResolveJunctionPointsAndSymLinks(aPath);
 #elif defined(XP_MACOSX)
   nsCString targetPath = GetNativeTarget(aPath);
   nsCOMPtr<nsIFile> newFile;
-  if (NS_FAILED(
-        NS_NewNativeLocalFile(targetPath, true, getter_AddRefs(newFile)))) {
+  if (NS_WARN_IF(NS_FAILED(
+        NS_NewNativeLocalFile(targetPath, true, getter_AddRefs(newFile))))) {
     return false;
   }
   aPath = newFile;
   return true;
 #else
   return true;
 #endif
 }
@@ -361,17 +361,17 @@ GetFirefoxAppPath(nsCOMPtr<nsIFile> aPlu
                   nsCOMPtr<nsIFile>& aOutFirefoxAppPath)
 {
   // aPluginContainerPath will end with something like:
   // xxxx/NightlyDebug.app/Contents/MacOS/plugin-container.app/Contents/MacOS/plugin-container
   MOZ_ASSERT(aPluginContainerPath);
   nsCOMPtr<nsIFile> path = aPluginContainerPath;
   for (int i = 0; i < 4; i++) {
     nsCOMPtr<nsIFile> parent;
-    if (NS_FAILED(path->GetParent(getter_AddRefs(parent)))) {
+    if (NS_WARN_IF(NS_FAILED(path->GetParent(getter_AddRefs(parent))))) {
       return false;
     }
     path = parent;
   }
   MOZ_ASSERT(path);
   aOutFirefoxAppPath = path;
   return true;
 }
@@ -388,17 +388,17 @@ GetSigPath(const int aRelativeLayers,
   // xxxx/NightlyDebug.app/Contents/MacOS/plugin-container.app/Contents/Resources/plugin-container.sig
   // On MacOS the sig file is a few parent directories up from
   // its executable file.
   // Start to search the path from the path of the executable file we provided.
   MOZ_ASSERT(aExecutablePath);
   nsCOMPtr<nsIFile> path = aExecutablePath;
   for (int i = 0; i < aRelativeLayers; i++) {
     nsCOMPtr<nsIFile> parent;
-    if (NS_FAILED(path->GetParent(getter_AddRefs(parent)))) {
+    if (NS_WARN_IF(NS_FAILED(path->GetParent(getter_AddRefs(parent))))) {
       return false;
     }
     path = parent;
   }
   MOZ_ASSERT(path);
   aOutSigPath = path;
   return NS_SUCCEEDED(path->Append(NS_LITERAL_STRING("Resources"))) &&
          NS_SUCCEEDED(path->Append(aTargetSigFileName));
--- a/dom/media/gmp/GMPDiskStorage.cpp
+++ b/dom/media/gmp/GMPDiskStorage.cpp
@@ -122,33 +122,34 @@ public:
     nsresult rv = GetGMPStorageDir(getter_AddRefs(storageDir), mGMPName, mNodeId);
     if (NS_WARN_IF(NS_FAILED(rv))) {
       return NS_ERROR_FAILURE;
     }
 
     DirectoryEnumerator iter(storageDir, DirectoryEnumerator::FilesAndDirs);
     for (nsCOMPtr<nsIFile> dirEntry; (dirEntry = iter.Next()) != nullptr;) {
       PRFileDesc* fd = nullptr;
-      if (NS_FAILED(dirEntry->OpenNSPRFileDesc(PR_RDONLY, 0, &fd))) {
+      if (NS_WARN_IF(
+            NS_FAILED(dirEntry->OpenNSPRFileDesc(PR_RDONLY, 0, &fd)))) {
         continue;
       }
       int32_t recordLength = 0;
       nsCString recordName;
       nsresult err = ReadRecordMetadata(fd, recordLength, recordName);
       PR_Close(fd);
-      if (NS_FAILED(err)) {
+      if (NS_WARN_IF(NS_FAILED(err))) {
         // File is not a valid storage file. Don't index it. Delete the file,
         // to make our indexing faster in future.
         dirEntry->Remove(false);
         continue;
       }
 
       nsAutoString filename;
       rv = dirEntry->GetLeafName(filename);
-      if (NS_FAILED(rv)) {
+      if (NS_WARN_IF(NS_FAILED(rv))) {
         continue;
       }
 
       mRecords.Put(recordName, new Record(filename, recordName));
     }
 
     return NS_OK;
   }
@@ -208,17 +209,17 @@ public:
     // the GMPStorage API.
     aOutBytes.SetLength(0);
 
     int32_t recordLength = 0;
     nsCString recordName;
     nsresult err = ReadRecordMetadata(record->mFileDesc,
                                       recordLength,
                                       recordName);
-    if (NS_FAILED(err) || recordLength == 0) {
+    if (NS_WARN_IF(NS_FAILED(err) || recordLength == 0)) {
       // We failed to read the record metadata. Or the record is 0 length.
       // Treat damaged records as empty.
       // ReadRecordMetadata() could fail if the GMP opened a new record and
       // tried to read it before anything was written to it..
       return GMPNoErr;
     }
 
     if (!aRecordName.Equals(recordName)) {
@@ -260,19 +261,18 @@ public:
         // Could not delete file -> Continue with trying to erase the contents.
       } else {
         return GMPNoErr;
       }
     }
 
     // Write operations overwrite the entire record. So re-open the file
     // in truncate mode, to clear its contents.
-    if (NS_FAILED(OpenStorageFile(record->mFilename,
-                                  Truncate,
-                                  &record->mFileDesc))) {
+    if (NS_WARN_IF(NS_FAILED(
+          OpenStorageFile(record->mFilename, Truncate, &record->mFileDesc)))) {
       return GMPGenericErr;
     }
 
     // Store the length of the record name followed by the record name
     // at the start of the file.
     int32_t bytesWritten = 0;
     char buf[sizeof(uint32_t)] = {0};
     LittleEndian::writeUint32(buf, aRecordName.Length());
--- a/dom/media/gmp/GMPParent.cpp
+++ b/dom/media/gmp/GMPParent.cpp
@@ -113,22 +113,22 @@ GMPParent::Init(GeckoMediaPluginServiceP
 
   mService = aService;
   mDirectory = aPluginDir;
 
   // aPluginDir is <profile-dir>/<gmp-plugin-id>/<version>
   // where <gmp-plugin-id> should be gmp-gmpopenh264
   nsCOMPtr<nsIFile> parent;
   nsresult rv = aPluginDir->GetParent(getter_AddRefs(parent));
-  if (NS_FAILED(rv)) {
+  if (NS_WARN_IF(NS_FAILED(rv))) {
     return GenericPromise::CreateAndReject(rv, __func__);
   }
   nsAutoString parentLeafName;
   rv = parent->GetLeafName(parentLeafName);
-  if (NS_FAILED(rv)) {
+  if (NS_WARN_IF(NS_FAILED(rv))) {
     return GenericPromise::CreateAndReject(rv, __func__);
   }
   LOGD("%s: for %s", __FUNCTION__, NS_LossyConvertUTF16toASCII(parentLeafName).get());
 
   MOZ_ASSERT(parentLeafName.Length() > 4);
   mName = Substring(parentLeafName, 4);
 
   return ReadGMPMetaData();
@@ -145,17 +145,17 @@ GMPParent::Crash()
 nsresult
 GMPParent::LoadProcess()
 {
   MOZ_ASSERT(mDirectory, "Plugin directory cannot be NULL!");
   MOZ_ASSERT(GMPEventTarget()->IsOnCurrentThread());
   MOZ_ASSERT(mState == GMPStateNotLoaded);
 
   nsAutoString path;
-  if (NS_FAILED(mDirectory->GetPath(path))) {
+  if (NS_WARN_IF(NS_FAILED(mDirectory->GetPath(path)))) {
     return NS_ERROR_FAILURE;
   }
   LOGD("%s: for %s", __FUNCTION__, NS_ConvertUTF16toUTF8(path).get());